Renderer unscaledHeight in layoutContents
I'm creating my own renderer and wonder where the value for unscaledHeight (and width) comes from when updateDisplayList is called that in turn calls layoutContents for LabelItemRenderer.
I'm creating a grid item renderer (poor mans version of datagrid) for a mobile application. GridItemRenderer subclasses LabelItemRender. I've studied the code of LabelItemRenderer and IconItemRenderer and I think I understand the basics.
I'm currently using a DataGroup but could just as easily be using a List and my experimentation with list yields the same information. Why are the individual rows so tall? I set the font size smaller hoping that the vertical space each renderer would take would get smaller but it doesn't and I don't understand why.
In my measure() method, I've calculated the measuredHeight to be:
var verticalPadding:Number = getStyle("paddingTop") + getStyle("paddingBottom");
measuredHeight = getElementPreferredHeight(ld) + verticalPadding;
With the fontsize set to 16, the measured height comes back as 12. The top and bottom padding I have set to 0.
But when updateDisplayList is called which inturn calls layoutContents, unscaledHeight is set to 66. Even if the font size is set to 28, the unscaledHeight is set to 66. 66 is returned when I debug the application as an Andriod App (Droid 2) on the desktop. If I debug on an actual device like a Motorola Atrix, fontsize 16 yields a measuredHeight of 12 (just like the desktop debug) but the unscaledHeight is set to 44.
I've tried setting the gap in the vertical layout to 0 within the datagroup but that didn't work.
So how can I control that "row" height? What set of values is Flex looking at to come up with "66"?
Thanks!
Randy
I threw the following together using only spark components to hilight the issue. It is a mobile application. To reproduce, just debug the application on the desktop. I happen to use motorola droid 2 but the problem persists with other debug configurations. I'm using flex 4.5.1.
I don't know how else to more clearly describe the problem or how to more easily describe how to reproduce it. I await your explaination as to why the flex provided components seem to be ignoring the values in measure() or if it is working as designed, how one can override this behavior.
The below example shows 2 examples. The first example is a spark list using a spark iconitemrenderer. The 2nd example is using a spark datagroup using a spark labelitemrenderer. Just uncomment one and comment out the other to run the examples:
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="HomeView">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Style>
.iconItemRendererMessageStyle {
fontSize: 12;
</fx:Style>
<!-- EXAMPLE OF List with IconItemRenderer -->
<!--
<s:List id="taskList" height="100%" width="100%">
<s:dataProvider>
<mx:ArrayCollection>
<fx:String>one</fx:String>
<fx:String>two</fx:String>
<fx:String>three</fx:String>
<fx:String>four</fx:String>
</mx:ArrayCollection>
</s:dataProvider>
<s:itemRenderer>
<fx:Component>
<s:IconItemRenderer labelFunction="getLabel" messageFunction="getMessage" fontSize="12">
<fx:Script>
<![CDATA[
private function getLabel(item:Object):String {
return "myLabel";
private function getMessage(item:Object):String {
return "myMessage";
]]>
</fx:Script>
</s:IconItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:List>
-->
<!-- EXAMPLE OF DATAGROUP with LableItemRenderer -->
<s:Scroller width="100%" height="100%">
<s:DataGroup id="detailsDataGroup" height="100%" width="100%" >
<s:layout>
<s:VerticalLayout useVirtualLayout="false" variableRowHeight="true" rowHeight="12" gap="0"/>
<!--
doesn't matter which vertical layout you use
<s:VerticalLayout useVirtualLayout="false" variableRowHeight="false"/>
-->
</s:layout>
<s:dataProvider>
<mx:ArrayCollection>
<fx:String>one</fx:String>
<fx:String>two</fx:String>
<fx:String>three</fx:String>
<fx:String>four</fx:String>
</mx:ArrayCollection>
</s:dataProvider>
<s:itemRenderer>
<fx:Component>
<!--
by setting the fontsize to 12 and padding to 0, when you put a break point in LableItemRenderer, the measure
method sets measured height to 9 (debugging on the desktop as a droid 2). measure is called 4 times.
layoutContents is called 8 times. twice for each record in array collection. The first time it is called for
each array element, the unscaledHeight is 0. The 2nd time it is called for each array element,
the unscaledHeight is 66 even though the measuredHeight is set to 9.
-->
<s:LabelItemRenderer fontSize="12" paddingTop="0" paddingBottom="0"/>
</fx:Component>
</s:itemRenderer>
</s:DataGroup>
</s:Scroller>
</s:View>
Similar Messages
-
What exactly are unscaledWidth and unscaledHeight in mobile item renderers?
Hello,
What exactly are unscaledWidth and unscaledHeight that get passed to the measure() method for a mobile item renderer?
I am guessing renderers start at "default" width and height (so unscaled) which get scaled based on DPI. Is that it?
Thank you.measure() doesn't take any parameters so I assume you mean the layoutContents() and/or drawBackground() methods.
If you look at the code in LabelItemRenderer (and MobileSkin) for updateDisplayList() you'll see that it just delegates the work to the drawBackground() and layoutContents() methods:
override protected function updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void
// clear the graphics before calling super.updateDisplayList()
graphics.clear();
super.updateDisplayList(unscaledWidth, unscaledHeight);
drawBackground(unscaledWidth, unscaledHeight);
layoutContents(unscaledWidth, unscaledHeight);
This was done to make it a little bit easier for people to subclass LabelItemRenderer/IconItemRenderer by breaking the positioning logic apart from drawing the background visuals. Check out the documentation for UIComponent.updateDisplayList and look around on Google for more information on how updateDisplayList fits into the Flex component life cycle. -
Header renderer click handler not working
Hi All
Below is code of my header renderer which copied code from default headerrenderer and created new one, I added textinput with down arrow and close button,
But when i click on close button, I am making filter box invisible, If i put a break point inside griditemrenderer1_mouseOutHandler() function then filter box becomes invisible, but while running in debug mode without break point filter box shows visible only,
Please let me know where i am doing wrong.
<?xml version="1.0" encoding="utf-8"?>
<s:GridItemRenderer minWidth="21" minHeight="21"
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
mouseOver="griditemrenderer1_mouseOverHandler(event)"
creationComplete="griditemrenderer1_creationCompleteHandler(event)">
<fx:Declarations>
<s:Label id="labelDisplay"
verticalCenter="1"
textAlign="start"
fontWeight="bold"
verticalAlign="middle"
maxDisplayedLines="1"
showTruncationTip="true" />
</fx:Declarations>
<fx:Script>
<![CDATA[
import com.db.view.components.FilterPopup;
import mx.managers.PopUpManager;
import mx.controls.Menu;
import mx.events.FlexEvent;
import spark.components.gridClasses.IGridVisualElement;
import mx.core.IVisualElement;
import spark.components.DataGrid;
import spark.components.GridColumnHeaderGroup;
import spark.components.gridClasses.GridColumn;
import spark.primitives.supportClasses.GraphicElement;
// chrome color constants and variables
private static const DEFAULT_COLOR_VALUE:uint = 0xCC;
private static const DEFAULT_COLOR:uint = 0xCCCCCC;
private static const DEFAULT_SYMBOL_COLOR:uint = 0x000000;
private static var colorTransform:ColorTransform = new ColorTransform();
* @private
private function dispatchChangeEvent(type:String):void
if (hasEventListener(type))
dispatchEvent(new Event(type));
// maxDisplayedLines
private var _maxDisplayedLines:int = 1;
[Bindable("maxDisplayedLinesChanged")]
[Inspectable(minValue="-1")]
* The value of this property is used to initialize the
* <code>maxDisplayedLines</code> property of this renderer's
* <code>labelDisplay</code> element.
* @copy spark.components.supportClasses.TextBase#maxDisplayedLines
* @default 1
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.5
public function get maxDisplayedLines():int
return _maxDisplayedLines;
* @private
public function set maxDisplayedLines(value:int):void
if (value == _maxDisplayedLines)
return;
_maxDisplayedLines = value;
if (labelDisplay)
labelDisplay.maxDisplayedLines = value;
invalidateSize();
invalidateDisplayList();
dispatchChangeEvent("maxDisplayedLinesChanged");
* @private
* Create and add the sortIndicator to the sortIndicatorGroup and the
* labelDisplay into the labelDisplayGroup.
override public function prepare(hasBeenRecycled:Boolean):void
super.prepare(hasBeenRecycled);
if (labelDisplay && labelDisplayGroup && (labelDisplay.parent != labelDisplayGroup))
labelDisplayGroup.removeAllElements();
labelDisplayGroup.addElement(labelDisplay);
private var chromeColorChanged:Boolean = false;
private var colorized:Boolean = false;
[Bindable]
private var _filterVisibility:Boolean = false;
* @private
* Apply chromeColor style.
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
// Apply chrome color
if (chromeColorChanged)
var chromeColor:uint = getStyle("chromeColor");
if (chromeColor != DEFAULT_COLOR || colorized)
colorTransform.redOffset = ((chromeColor & (0xFF << 16)) >> 16) - DEFAULT_COLOR_VALUE;
colorTransform.greenOffset = ((chromeColor & (0xFF << 8)) >> 8) - DEFAULT_COLOR_VALUE;
colorTransform.blueOffset = (chromeColor & 0xFF) - DEFAULT_COLOR_VALUE;
colorTransform.alphaMultiplier = alpha;
transform.colorTransform = colorTransform;
var exclusions:Array = [labelDisplay];
// Apply inverse colorizing to exclusions
if (exclusions && exclusions.length > 0)
colorTransform.redOffset = -colorTransform.redOffset;
colorTransform.greenOffset = -colorTransform.greenOffset;
colorTransform.blueOffset = -colorTransform.blueOffset;
for (var i:int = 0; i < exclusions.length; i++)
var exclusionObject:Object = exclusions[i];
if (exclusionObject &&
(exclusionObject is DisplayObject ||
exclusionObject is GraphicElement))
colorTransform.alphaMultiplier = exclusionObject.alpha;
exclusionObject.transform.colorTransform = colorTransform;
colorized = true;
chromeColorChanged = false;
super.updateDisplayList(unscaledWidth, unscaledHeight);
* @private
override public function styleChanged(styleProp:String):void
var allStyles:Boolean = !styleProp || styleProp == "styleName";
super.styleChanged(styleProp);
if (allStyles || styleProp == "chromeColor")
chromeColorChanged = true;
invalidateDisplayList();
protected function griditemrenderer1_mouseOverHandler(event:MouseEvent):void
_filterVisibility = true;
protected function griditemrenderer1_mouseOutHandler():void
_filterVisibility = false;
protected function griditemrenderer1_creationCompleteHandler(event:FlexEvent):void
trace(label);
protected function textinput1_clickHandler(event:MouseEvent):void
var filterpopUp:FilterPopup = new FilterPopup();
filterpopUp.filterColumn = label;
PopUpManager.addPopUp(filterpopUp,this,false);
filterpopUp.addEventListener("test",testHandler);
filterpopUp.x = event.stageX - 50;
filterpopUp.y = event.stageY + 10;
protected function testHandler(event:Event):void
owner.dispatchEvent(new Event("test"));
]]>
</fx:Script>
<s:VGroup left="7" right="7" top="5" bottom="5" gap="2" verticalAlign="bottom">
<s:HGroup id="tiFilter" width="100%" gap="3" verticalAlign="middle" visible="{_filterVisibility}">
<s:TextInput width="{labelDisplay.width + 20}" height="16" skinClass="com.db.view.skins.FilterTextInputSkin"
text="{label}" click="textinput1_clickHandler(event)"/>
<s:HGroup id="closeBtn" width="15" height="15" click="griditemrenderer1_mouseOutHandler()"
buttonMode="true" useHandCursor="true" mouseChildren="false" keyDown="griditemrenderer1_mouseOutHandler()">
<s:Image source="@Embed('/assets/images/icon_close.gif')"/>
</s:HGroup>
</s:HGroup>
<s:Group id="labelDisplayGroup" width="100%"/>
<s:Group id="sortIndicatorGroup" includeInLayout="false" />
</s:VGroup>
</s:GridItemRenderer>Hi Sudhir,
Thanks for posting your issue, Kindly find the code snnipet below to Add a new item in Custom list
public override void ItemAdded(SPItemEventProperties properties)
base.ItemAdded(properties);
if (properties.List.Title
== "Test")
Get Properties
string ABC=
properties.ListItem["Column"].ToString();
string DEF=
properties.ListItem["Column"].ToString();
DateTime XYZ=
(DateTime)properties.ListItem["Start Column"];
DateTime WSD=
(DateTime)properties.ListItem["End Column"];
Create sub site
SPWeb web
= properties.Site.AllWebs.Add(name.Replace(" ", string.Empty),
name,
description, 0, SPWebTemplate.WebTemplateSTS, false, false);
web.Update();
Also, browse the below mentioned URL to implementation your custom list step by step. and how you can debug your custom code.
http://www.c-sharpcorner.com/UploadFile/40e97e/create-site-automatically-when-a-list-item-is-added/
http://msdn.microsoft.com/en-us/library/ee231550.aspx
I hope this is helpful to you, mark it as Helpful.
If this works, Please mark it as Answered.
Regards,
Dharmendra Singh (MCPD-EA | MCTS)
Blog : http://sharepoint-community.net/profile/DharmendraSingh -
Can Line Chart charts base renderer by category
I have done some Googling on this, but frankly I'm not sure
what to even search for. Here is what my boss wants:
A month by month chart of sales showing revenue trends as
well as projections for then next two months. He wants a solid line
for actual data in existing months which turns into a dotted line
with projection data for future months.
I have downloaded and played with the code from quietly
scheming (
http://www.quietlyscheming.com/blog/charts/dashed-lines/)
but it seems to apply to the entire line.
I'm not sure if the direction I should be taking is two
different line renders based on the category axis, or a way to make
the renderer smart enough to change the line at the appropriate
time.
Thoughts please?
Thanks.I'm still playing with this solution, but for what it's worth
this is what I am doing:
I downloaded the source from quietly scheming for the dashed
line renderer. (
http://www.quietlyscheming.com/blog/charts/dashed-lines/)
I changed the DashedLineSeries to a ProjectionLineSeries and
changed the DashedLineRenderer to be ProjectionLineRenderer. Then
in the renderer, I changed the updateDisplayList method to loop
over the LineSeriesItems (_lineSegment.items array) and find where
past meets future. Note: in doing this, I made an assumption that
your xValue would be a date to use this series. I then used a
combination of the drawPolyLine and drawDashedPolyLine methods from
their respective graphics utility classes to draw the applicable
portions of the line.
Here is the contents of the
ProjectionLineRenderer.updateDisplayList method as I have it now.
override protected function
updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void
var stroke:IStroke = getStyle("lineStroke");
var form:String = getStyle("form");
var pattern:Array = getStyle("dashingPattern");
pattern = (pattern == null) ? _pattern : pattern;
graphics.clear();
var current_date:Date = new Date();
var beginning_of_month:Date = new
Date(current_date.getMonth(),1,current_date.getFullYear());
var projected_items:Array = new Array();
// Loop over the lineseriesitems
for(var i:int = 1;i<_lineSegment.items.length;i++)
// Grab the items whose dates are in the future
if(LineSeriesItem(_lineSegment.items
).xValue = beginning_of_month)
// If this is the first item that is in the future, back
// up and grab the previous one so our dotted has a starting
point
if(projected_items.length == 0 && i > 0)
projected_items.push(_lineSegment.items[i-1]);
// Add the future data points into the projected array
projected_items.push(_lineSegment.items);
// Draw the solid portion of the line. Notice the end point
is the size of the entire array, minus the future points.
// Adjusted by two because they overlap one point and the
array starts at 0.
GraphicsUtilities.drawPolyLine(graphics,_lineSegment.items,_lineSegment.start,_lineSegmen t.end,"x","y",stroke,form);
// Draw the dashed portion with the projected_items array
DashedGraphicUtilities.drawDashedPolyLine(graphics, stroke,
pattern, projected_items);
Technically, I am also assuming that the last data point is
the current month, and therefore the projected one. Based on that,
the date math is probably unnecessary, but maybe I'll change that
later. -
Flex SDK 3.4 Tree Item Renderer Root Folder displays Tooltip for Child
I have a Flex Tree that uses a custom item renderer. The item renderer extends Tree Item Renderer and I add my button in commit properties (since the data is dynamic) and I use update displaylist to move it to the right position. I set the button to be visible on rollover and make the icon invisible. On rollout I reverse that logic.
When I have my item renderer add the button, it causes only one problem and it seems to be under certain conditions:
- Single root folder for the tree
- Upon opening the tree, the root folder displays the tool tip for the last child in the tree
Any idea why the tooltip comes up?
public function AssetTreeItemRenderer ()
super();
addEventListener(MouseEvent.ROLL_OVER, onItemRollover);
addEventListener(MouseEvent.ROLL_OUT, onItemRollout);
addEventListener(ToolTipEvent.TOOL_TIP_SHOWN, toolTipShown);
addEventListener(ToolTipEvent.TOOL_TIP_CREATE, onCreateToolTip);
// OVERRIDEN FUNCTIONS
* override createChildren
override protected function commitProperties():void {
super.commitProperties();
if(data is IAsset) {
if(playBtn === null) {
playBtn = new Button();
playBtn.styleName = "previewPlayButton";
playBtn.toolTip = "Play";
playBtn.width = icon.width + 2;
playBtn.height = icon.height + 2;
playBtn.visible = false;
playBtn.addEventListener(MouseEvent.CLICK, onPlayBtnClick);
addChild(playBtn);
} else {
if(playBtn !== null) {
removeChild(playBtn);
playBtn = null;
* override updateDisplayList
* @param Number unscaledWidth
* @param Number unscaledHeight
override protected function updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void
super.updateDisplayList(unscaledWidth, unscaledHeight);
//Move our play button to the correct place
if(super.data && playBtn !== null)
playBtn.x = icon.x;
playBtn.y = icon.y;You are not clearing tooltip if data is not IAsset
-
I have an item renderer that adds a checkbox to my tree and
checks it. My problem is that when i uncheck the box and scroll
down the tree there are random boxes that are unchecked. Does
anyone know how to get around this? Here is the renderer, and any
help would be greatly appreciated!!
package components
import mx.core.Container;
import mx.core.IDataRenderer;
import mx.controls.CheckBox;
import mx.controls.treeClasses.*;
import mx.collections.*;
import flash.xml.*;
import flash.events.Event;
import flash.events.MouseEvent;
import mx.controls.Alert;
import mx.controls.listClasses.*;
public class myTreeItemRenderer extends TreeItemRenderer
private var nodeType:String;
// myCheckBox: holds the CheckBox we are adding to the tree
nodes
protected var myCheckBox:CheckBox;
// set the margin between the image we are adding, and the
label
private var cbToLabelMargin:Number = 2;
// show default branch icon?
private var showDefaultBranchIcon:Boolean = false;
// show default leaf icon?
private var showDefaultLeafIcon:Boolean = false;
public function myTreeItemRenderer()
super();
// InteractiveObject variables.
mouseEnabled = false;
public function openBranch(evt:Event):void
// get the TreeListData
var myListData:TreeListData = TreeListData(this.listData);
// get the selected node
// var selectedNode:Object = myListData.node;
var selectedNode:Object = myListData.item;
var selectedNodeXML:XMLList = new XMLList(selectedNode);
// get the tree that owns us
var theTree:Tree = Tree(myListData.owner);
// find out if the selected branch is already open
//var isBranchOpen:Boolean = theTree.getIsOpen( selectedNode
//mx.controls.Alert.show(selectedNode.toString());
// if the selected branch is open, let's close it
// and if it's closed, let's open it
//var isBranchOpen:Boolean = isBranchOpen ? false : true;
//theTree.setIsOpen( selectedNode, isBranchOpen, true, false
if(theTree.id=="soTree")
this.parentApplication.soCheckBoxChanged(evt,selectedNodeXML);
//mx.controls.Alert.show(selectedNodeXML.attribute('id')+"
"+selectedNodeXML.attribute('type')+" False");
else if(theTree.id=="ntaTree")
override protected function createChildren():void
// create a new CheckBox() to hold the CheckBox we'll add to
the tree item
myCheckBox = new CheckBox();
myCheckBox.setStyle( "verticalAlign", "middle" );
myCheckBox.selected=true
// and apply it to the tree item
addChild(myCheckBox);
// add the event listener to the whole tree item
// this will let us click anywhere on the branch item to
expose the children of this branch
myCheckBox.addEventListener( MouseEvent.CLICK, openBranch );
super.createChildren();
override public function set data(value:Object):void
if(value==null)
return;
else
super.data = value;
// get the tree that owns us
var _tree:Tree = Tree(this.parent.parent);
// if the current node is a branch node
if(TreeListData(super.listData).hasChildren)
// set styles...
setStyle("color", 0x000000);
setStyle("fontWeight", 'bold');
// if we don't want to show the default branch icons, let's
empty them
if( !showDefaultBranchIcon )
_tree.setStyle("folderClosedIcon", null);
_tree.setStyle("folderOpenIcon", null);
else
// if we are in here, then the current node is a leaf node
// set styles...
setStyle("color", 0x000000);
setStyle("fontWeight", 'normal');
// if we don't want to show the default leaf icons, let's
empty them
if( !showDefaultLeafIcon )
_tree.setStyle("defaultLeafIcon", null);
override protected function
updateDisplayList(unscaledWidth:Number,unscaledHeight:Number):void
super.updateDisplayList(unscaledWidth, unscaledHeight);
if(super.data)
// if the current node is a branch
if(TreeListData(super.listData).hasChildren)
// get the current node and it's children as XMLList
// var currentNodeXMLList:XMLList = new
XMLList(TreeListData(super.listData).node);
var currentNodeXMLList:XMLList = new
XMLList(TreeListData(super.listData).item);
nodeType= currentNodeXMLList.attribute('type');
// get the number of children under the current node
var numOfImmediateChildren:int =
currentNodeXMLList[0].children().length();
// set the image to be displayed in the branches
//myImage.source = branchImage;
// set the label text
super.label.text = TreeListData(super.listData).text + "(" +
numOfImmediateChildren + ")";
else
// if we are in here, then the current node is a leaf node
//myImage.source = leafImage;
// reset the position of the image to be before the label
myCheckBox.x = super.label.x;
// reset the position of the label to be after the image,
plus give it a margin
super.label.x = myCheckBox.x + 10 + cbToLabelMargin;
}Hi,
The links you have refered are really useful. Unfortunatelly, my environment is just flex sdk 3.
So I have to find some other solution to finish this logic.
Nith -
Hi
i have a data grid with one of its column having check box as
renderer.
check box is visible for only some rows based on a
condition.and this condition is in a function which is called from
updateDiaplayList() function.
but,the checkbox some how appears twice only for the first
row in the data grid.
the condition function is
public function checkDelPermission():void{
var checkpermissioninstance:CheckPermission = new
CheckPermission();
checkpermissioninstance.permissions = [8];
if(data.hasOwnProperty("permission")){
checkpermissioninstance.permBit = data.permission;
var delpermission:ArrayCollection =
checkpermissioninstance.getPermissions()
if(delpermission!=null){
this.logmessage("==== "+data.id+" =========del permisison
=="+ delpermission[0]);
if(delpermission[0]==true){
this.visible = true;
else{
this.visible = false;
else
this.visible = false;
and updatedisplaylist() is
override protected function
updateDisplayList(unscaledWidth:Number,unscaledHeight:Number):void
super.updateDisplayList(unscaledWidth,unscaledHeight);
checkDelPermission();
var n:int = numChildren;
for (var i:int = 0; i < n; i++)
var c:DisplayObject = getChildAt(i);
if (!(c is TextField))
c.x = (unscaledWidth - c.width) / 2;
c.y = 0;
the log message is printed twice for the first row data..and
for all other rows in a datagrid,every thing appears as expected.
and this happens randomly and not alwayss..
Thanks
chandanathank u very much..
in set data method,i added the following
override public function set data(value:Object):void{
if(value != null){
super.data = value;
if((data.chkselected==null) ||
(data.chkselected=="undefined")){
data.chkselected = false;
this.selected = data.chkselected;
this works when i change checkbox selection in each row..
i have another problem..can u please help me in solving this
i have a checkbox as header renderer..
On click, it is selectiing/deselecting only the checkboxes of
rows which are visible and when i scroll the datagrid,other
checkboxes are not selected/deselected
thanks -
is there anyone who knows or can point me to some explanation
on how to place a background image inside the tree??
i'm trying to place different images for in behind the text
and icons for each state, open and close.
any info would be appreciated.
thanks...You will need to specify an itemRenderer for your tree.
Probably the easiest thing to do is to create an Actionscript
itemRenderer that extends the current TreeItemRenderer. In your
renderer, you can override the updateDisplayList function to allow
for a background image depending on your data.
Here is a skeleton of what your itemRenderer might look like:
package
import mx.controls.treeClasses.*;
import mx.collections.*;
public class MyTreeItemRenderer extends TreeItemRenderer
public function MyTreeItemRenderer()
super();
override protected function
updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void
super.updateDisplayList(unscaledWidth, unscaledHeight);
if(super.data)
//Add your code here to add an image to the background of
this item -
Datgrid and Item Renderer scrollling problem
Hello,
I have a Datgrid containign item rendrer as follows :
<mx:DataGrid width="800" id="gridSecondaire" styleName="dataGridStyle" verticalScrollPolicy="off" headerHeight="30" >
<mx:columns>
<mx:DataGridColumn rendererIsEditor="true"
editorDataField="result"
itemRenderer="com.cdf.intra_cmmi.view.advancedTree.BodyDetailDocumentRenderer" />
</mx:columns>
</mx:DataGrid>
The problem is I when i scroll the datagrid the rows do not stay in the same position how to solve this please ?Here the item Renderer
===================ITEM RENDRER==========================
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" height="28" width="388" creationComplete="init(event)" click="clickTexte(event);">
<mx:Script>
<![CDATA[
[Embed(source="images/icon/tree_defaultLeafIcon.png")]
public static const tree_defaultLeafIcon:Class;
[Embed(source="images/icon/tree_pptLeafIcon.png")]
public static const tree_pptLeafIcon:Class;
[Embed(source="images/icon/tree_xlsLeafIcon.png")]
public static const tree_xlsLeafIcon:Class;
[Embed(source="images/icon/anglais.png")]
private var anglaisIcon:Class;
import com.sqli.intra_cmmi.constants.ConstantAssets;
private function clickTexte(event:MouseEvent):void {
var fileReference:FileReference = new FileReference();
fileReference.download(new URLRequest(data.chemin_document));
private function init(event:Event):void {
import com.sqli.intra_cmmi.vo.DocumentVO;
import mx.controls.Alert;
import mx.collections.ArrayCollection;
var nom_document:String =data.nom_document as String;
var description_document:String = data.description_document as String;
var language_document:String =data.language_document as String;
var ext:String = data.ext as String;
var type:String = data.type_document as String;
var chemin_document:String = data.chemin_document as String;
switch (type)
case "Modèle":
imageTypeDoc.source = ConstantAssets.modele;
break;
case "Guide":
imageTypeDoc.source = ConstantAssets.guide;
break;
case "Document":
imageTypeDoc.source = ConstantAssets.document;
break;
case "Outils":
imageTypeDoc.source = ConstantAssets.outils;
break;
case "Check-liste":
imageTypeDoc.source = ConstantAssets.checklist;
break;
default:
imageTypeDoc.source = ConstantAssets.document;
nom.text=nom_document+' ('+ext+')';
if(language_document!='1036'){
imageAnglais.source=anglaisIcon;
if(description_document!=""){
imageDescription.source=anglaisIcon;
]]>
</mx:Script>
<mx:Image id="imageTypeDoc" x="5" y="5" height="15" width="15" />
<mx:Text x="23" y="3" width="326" id="nom"/>
<mx:Image x="351" y="5" height="15" width="15" id="imageAnglais"/>
<mx:Image x="370" y="5" height="15" width="15" id="imageDescription"/>
</mx:Canvas>
======================Main.MXLM (Blue Code part) ===============================
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"
width="830" creationComplete="init()">
<mx:Script>
<![CDATA[
import com.sqli.intra_cmmi.services.MainService;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import com.sqli.intra_cmmi.controller.ProduitController;
import com.sqli.intra_cmmi.services.VerticalMenuService;
//import com.sqli.intra_cmmi.services.MainService;
import com.sqli.intra_cmmi.vo.ProduitVO;
import mx.controls.Alert;
public var objectList : Array = new Array();
public function init():void
myProc.listeDomaineProcessus();
if(VerticalMenuService.getInstance().produitVerticalMenu.getChildren().length > 0)
// On positionne l'accordion des produits sous l'accordion commun
VerticalMenuService.getInstance().produitVerticalMenu.y = VerticalMenuService.getInstance().verticalMenu.height - 49;
MainService.getInstance().lefter.addChild(VerticalMenuService.getInstance().produitVertic alMenu);
var id:String;
id=ProduitController.getInstance().currentProduitId;
if(id!=null)
myProd.getProduitDescription(id);
myProd.getDocumentPrincipauxByProduit(id,1);
myProd.getDocumentSecondaireByProduit(id,0);
myProd.getRolesProduit(id);
myProd.getAjustementProduitByID(id);
private function getDataListener_listeDomaineProcessus(event:ResultEvent):void
//refPhase= new ArrayCollection();
this.objectList = event.result as Array;
// Peupler l'accordion
ProduitController.getInstance().populateVerticalMenu(this.objectList);
private function getDataListener_getDocumentSecondaireByProduit(event:ResultEvent):void
var obje:Array = event.result as Array;
if(obje.length>0)
gridSecondaire.dataProvider = event.result as Array;
gridSecondaire.rowHeight = 33;
gridSecondaire.height = obje.length*33+30;
var maximumHeight : int = 228;
if ( gridSecondaire.height > maximumHeight){
gridSecondaire.verticalScrollPolicy = "on";
gridSecondaire.height = maximumHeight;
else
gridSecondaire.visible=false;
gridSecondaire.includeInLayout=false;
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
super.updateDisplayList(unscaledWidth, unscaledHeight);
// Peupler l'accordion (rafraichissement lors du passage d'une rubrique à une autre)
ProduitController.getInstance().populateVerticalMenu(this.objectList);
private function getDataListener_getProduitDescription(event:ResultEvent):void{
description.title=ProduitVO(event.result).nom_produit;
idPanelDescription.htmlText=ProduitVO(event.result).description_produit;
private function faultListener(event:FaultEvent):void {
Alert.show(event.fault.message, "Error");
]]>
</mx:Script>
<mx:VBox verticalGap="20" horizontalCenter="0" top="10" bottom="10">
<mx:Panel width="800" height="121" id="description" styleName="stylePanel" >
<mx:Label paddingLeft="5" paddingRight="5" paddingTop="40" width="100%" id="idPanelDescription"/>
</mx:Panel>
<mx:DataGrid width="800" id="gridSecondaire" styleName="dataGridStyle" verticalScrollPolicy="off" headerHeight="30" >
<mx:columns>
<mx:DataGridColumn rendererIsEditor="true" editorDataField="result"
itemRenderer="com.sqli.intra_cmmi.view.advancedTree.BodyDetailDocumentRenderer"
headerText="Documents secondaires"/>
<mx:DataGridColumn rendererIsEditor="true" editorDataField="result" dataField="livrable_document" headerText="Livrables" width="100"/>
</mx:columns>
</mx:DataGrid>
</mx:VBox>
<mx:RemoteObject id="myProc" destination="zend" source="ProcessusService" showBusyCursor="true" fault="faultListener(event)">
<mx:method name="listeDomaineProcessus" result="getDataListener_listeDomaineProcessus(event);" />
</mx:RemoteObject>
<mx:RemoteObject id="myProd" destination="zend" source="ProduitsService" showBusyCursor="true" fault="faultListener(event)">
<mx:method name="getRolesProduit" result="getDataListener_getRolesProduit(event);" />
<mx:method name="getDocumentPrincipauxByProduit" result="getDataListener_getDocumentPrincipauxByProduit(event);" />
<mx:method name="getDocumentSecondaireByProduit" result="getDataListener_getDocumentSecondaireByProduit(event);" />
<mx:method name="getAjustementProduitByID" result="getDataListener_getAjustementProduit(event);" />
<mx:method name="getProduitDescription" result="getDataListener_getProduitDescription(event);" />
</mx:RemoteObject>
</mx:Canvas> -
Hi,
My current application contains a <mx:tree>
his dataprovider is an xml file loaded from a httpservice
this tree have a renderer extends TreeItemRenderer that allow me to add checkbox when node doesn't have childs.
When user check or uncheck a node, i put some information in a datagrid.
This datagrid is finally export to a file.
Now the question is how can i initialize the tree using the two file (the original and this saved) ?
See below my renderer code :
package manageCheckBox
import flash.events.Event;
import flash.events.MouseEvent;
import mx.collections.IViewCursor;
import mx.controls.Alert;
import mx.controls.CheckBox;
import mx.controls.DataGrid;
import mx.controls.treeClasses.*;
import mx.controls.treeClasses.TreeItemRenderer;
public class DisplayCheckBox extends TreeItemRenderer{
public var chk:CheckBox;
public var itemXml:XML; // original xml file
public var dg:DataGrid; // datagrid to put information on
public var myFields:XML; // saving file
public function DisplayCheckBox(){
super();
mouseEnabled = false;
override public function set data(value:Object):void{
if(value != null){
super.data = value;
this.itemXml = XML(value);
if(this.itemXml.@checked == "1"){
this.chk.selected = true;
}else{
this.chk.selected = false;
override protected function createChildren():void{
super.createChildren();
chk = new CheckBox();
chk.addEventListener(MouseEvent.CLICK, handleChkClick);
addChild(chk);
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
super.updateDisplayList(unscaledWidth,unscaledHeight);
if(super.data){
var tld:TreeListData = TreeListData(super.listData);
if(tld.hasChildren){
this.chk.visible = false;
}else{
this.chk.visible = true;
if(chk.visible){
this.chk.x = super.label.x
super.label.x = this.chk.x + 17;
this.chk.y = super.label.y+8;
private function handleChkClick(evt:MouseEvent):void{
if(this.chk.selected){
this.itemXml.@checked = "1";
// put information on the datagrid
dg.dataProvider.addItem(
"col1": this.itemXml.@label,
"col2": this.itemXml.@label,
"col3": this.itemXml.@resourceId
}else{
//this.checked = false;
this.itemXml.@checked = "0";
var vObject:Object = dg.dataProvider ;
var cursor:IViewCursor=vObject.createCursor();
while( !cursor.afterLast )
if(cursor.current.col1 == this.itemXml.@label) {
cursor.remove() ;
cursor.moveNext();
Thanks in advanc for your reply,
Regards,
HadanMarvA) The tree region is not refresh-enabled. If you want it to act on any change in session state the page will always have to be submitted/reloaded to reflect those changes.
B) Providing a where-clause to the tree query is not done. There is nothing to achieve by doing so because of the nature of the query: the connect by occurs before the where clause filtering. You will break any and all metadata for the whole tree construct to use.
Consider nodes which are from a different department than the one you filter on: how would the tree have to be constructed? What if a parent node misses because of that? How would it's child nodes match up? Worse: what if you select a dept which does not belong to the root node? The root node would not be displayed and subsequently no child nodes would be shown. Simply because the generated meta-data does not match up.
Eg if "BLAKE" would be "SALES" and "JAMES" would be "ACCOUNTING", and you filter on dept = "ACCOUNTING", then "BLAKE" would be gone... But "JAMES" too. Just to illustrate how the represented data would be wrong.
There is a reason the tree query requires the addition of the LEVEL pseudo-column, as this is used to iterate over the data to provide to the tree. You can see how horribly a where clause breaks that mechanism by simply running the query in sql developer or the sql workshop.
tldr; Don't. -
How do I use my third computer with cloud. I am rendering a project in Avid Media composer
How do I get my third computer to work with when I am rendering Avid project on the other two computers computers
Hi,
Running creative cloud on third machine will prompt you for the deactivation from last 2 machines. As per EULA for Creative cloud you can only install and work on 2 machines only, be it MAC-MAC, MAC-windows and windows-windows.
working on third machine without deactivation from previous machines is not possible.
Hope this helps.
Thanks
Kapil Malik -
Is that a webkit rendering issue in Safari 5.1?
I add my voice to rendering issues encountered in Safari 5.1, here they are:
1) Fonts look pixelated on some websites. Here's an example drawn from weebly.
The font used here is OFL Sorts Mill Goudy, so I guess there must be a font rendering engine in weebly that allows non web safe fonts to be displayed properly. That works fine in Firefox 5 & 6, and until recently on Safari 5. Chrome 12 has exactly the same issue as Safari 5.1, so it could be a general rendering issue in webkit.
2) Videos on Vimeo show now a black rectangle instead of the video.
3) The "Insert image" feature in this forum takes forever to load, displaying a white rectangle during several seconds. Same issue with the Evernote clip bookmarklet.
Hope these issues will be fixed soon, any help is appreciated if something can be changed in Safari settings.
Note: resetting Safari (including cleaning cache) doesn't solve the described problems. I'm running Snow Leopard 10.6.8 on Mac Pro Quad 2.8 Ghz.Thanks for helping diagnose this.
However, my testing indicates that this is not a bug with border-collapse: collapse. Here is why:
If I change the value of border-collapse to "separate" and add "border-spacing: 0", the bug remains. To try this, request http://www.panlex.org/cgi-bin/plxu28-bug2.cgi .
If I leave the value of border-collapse unchanged but change the button elements in the cells to plain text, the bug disappears. To try this, request http://www.panlex.org/cgi-bin/plxu28-bug1.cgi .
On the basis of this testing, it would seem to me that the bug is dependent on the button elements and independent of the border-collapse CSS attribute.
This doesn't explain, however, why you have found border-collapse: collapse producing slow results with other large tables and it doesn't do so with my table in http://www.panlex.org/cgi-bin/plxu28-bug1.cgi . It also doesn't explain why you saw the bug disappear when you changed border-collapse on my page but I didn't see it disappear.
Any further diagnostic help would be welcome. -
Problem when rendering a report in BI Publisher deployed on Apache Tomcat
Hello for all.
First, I am going to tell you technical specifications about the software where I have deployed BI Publisher:
1. OS: Windows XP SP3
2. JDK and JRE: 1.6.0_24
3. Apache Tomcat: 5.5.33 (Set JVM Max Memory in 768MB)
4. BI Publisher EE: 10.1.3.4.1
I have deployed BI Publisher on Apache Tomcat without any problem, I uploaded Report files (both XDO and RTF), and I can see the reports in XML output format, but when I try to see the reports rendered by using the rtf file I have configured, BI Publisher shows me an Error; I checked the Apache Tomcat log and the following error is reported:
[042511_033325984][oracle.apps.xdo.common.xml.XSLTWrapper][ERROR] XSL error:
<Line 3, Column 123>: XML-22002: (Fatal Error) Error while processing include XSL file (rtf2xsl://http_//localhost:8080/xmlpserver/SubTemplates/sub-template-parameters.rtf?sid=1&eaf=3).
<Line 296, Column 18>: XML-22000: (Error) Error while parsing XSL file (null).
[042511_033325984][oracle.apps.xdo.template.FOProcessor][ERROR] End Memory: max=247MB, total=44MB, free=15MB
[042511_033325984][][EXCEPTION] java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at oracle.apps.xdo.common.xml.XSLT10gR1.invokeNewXSLStylesheet(Unknown Source)
at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
at oracle.apps.xdo.common.xml.XSLTWrapper.transform(Unknown Source)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
at oracle.apps.xdo.template.FOProcessor.createFO(Unknown Source)
at oracle.apps.xdo.template.FOProcessor.generate(Unknown Source)
at oracle.apps.xdo.servlet.RTFCoreProcessor.transform(RTFCoreProcessor.java:91)
at oracle.apps.xdo.servlet.CoreProcessor.process(CoreProcessor.java:276)
at oracle.apps.xdo.servlet.CoreProcessor.generateDocument(CoreProcessor.java:82)
at oracle.apps.xdo.servlet.ReportImpl.renderBodyHTTP(ReportImpl.java:552)
at oracle.apps.xdo.servlet.ReportImpl.renderReportBodyHTTP(ReportImpl.java:255)
at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:270)
at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:250)
at oracle.apps.xdo.servlet.XDOServlet.doGet(XDOServlet.java:178)
at oracle.apps.xdo.servlet.XDOServlet.doPost(XDOServlet.java:201)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
Caused by: java.util.EmptyStackException
at oracle.xdo.parser.v2.XSLProcessor.reportException(XSLProcessor.java:806)
at oracle.xdo.parser.v2.XSLProcessor.newXSLStylesheet(XSLProcessor.java:571)
... 39 more
[042511_033325984][][EXCEPTION] java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at oracle.apps.xdo.common.xml.XSLT10gR1.invokeNewXSLStylesheet(Unknown Source)
at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
at oracle.apps.xdo.common.xml.XSLTWrapper.transform(Unknown Source)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
at oracle.apps.xdo.template.FOProcessor.createFO(Unknown Source)
at oracle.apps.xdo.template.FOProcessor.generate(Unknown Source)
at oracle.apps.xdo.servlet.RTFCoreProcessor.transform(RTFCoreProcessor.java:91)
at oracle.apps.xdo.servlet.CoreProcessor.process(CoreProcessor.java:276)
at oracle.apps.xdo.servlet.CoreProcessor.generateDocument(CoreProcessor.java:82)
at oracle.apps.xdo.servlet.ReportImpl.renderBodyHTTP(ReportImpl.java:552)
at oracle.apps.xdo.servlet.ReportImpl.renderReportBodyHTTP(ReportImpl.java:255)
at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:270)
at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:250)
at oracle.apps.xdo.servlet.XDOServlet.doGet(XDOServlet.java:178)
at oracle.apps.xdo.servlet.XDOServlet.doPost(XDOServlet.java:201)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
Caused by: java.util.EmptyStackException
at oracle.xdo.parser.v2.XSLProcessor.reportException(XSLProcessor.java:806)
at oracle.xdo.parser.v2.XSLProcessor.newXSLStylesheet(XSLProcessor.java:571)
... 39 more
I checked that the url http://localhost:8080/xmlpserver/SubTemplates/sub-template-parameters.rtf would be accesible via Internet Explorer, and It is accesible.
I am glad if you can tell me what could be the cause of the error.
Thanks.Finally, I stop working in the implementation of BIP over Apache Tomcat; I installed OC4J 10.1.3.5.0 (standalone installation) and I deployed BIP on it.
It seems the error I wrote in last post has been fixed, but actually I am obtaining the following error with the deployment on OC4J:
[042711_055706687][][ERROR] Namespace 'http://www.oracle.com/XSL/Transform/java/
oracle.com.xmlpublisher.reports.BIPExtension' failed Secure Java Extensions chec
k.
[042711_055706687][oracle.apps.xdo.template.FOProcessor][ERROR] End Memory: max=
494MB, total=46MB, free=21MB
[042711_055706687][][EXCEPTION] oracle.apps.xdo.XDOException: XSLT10gR1: Failed
Secure Java Extensions check.
at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
at oracle.apps.xdo.common.xml.XSLTWrapper.transform(Unknown Source)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
at oracle.apps.xdo.template.FOProcessor.createFO(Unknown Source)
at oracle.apps.xdo.template.FOProcessor.generate(Unknown Source)
at oracle.apps.xdo.servlet.RTFCoreProcessor.transform(RTFCoreProcessor.j
ava:91)
at oracle.apps.xdo.servlet.CoreProcessor.process(CoreProcessor.java:276)
at oracle.apps.xdo.servlet.CoreProcessor.generateDocument(CoreProcessor.
java:82)
at oracle.apps.xdo.servlet.ReportImpl.renderBodyHTTP(ReportImpl.java:552
at oracle.apps.xdo.servlet.ReportImpl.renderReportBodyHTTP(ReportImpl.ja
va:255)
at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:270)
at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:250)
at oracle.apps.xdo.servlet.XDOServlet.doGet(XDOServlet.java:178)
at oracle.apps.xdo.servlet.XDOServlet.doPost(XDOServlet.java:201)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterC
hain.java:64)
at oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilt
er.java:94)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletReque
stDispatcher.java:644)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(Ser
vletRequestDispatcher.java:391)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequ
estHandler.java:908)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpReques
tHandler.java:458)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpReque
stHandler.java:226)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
va:127)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
va:116)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSo
cketReadHandler.java:260)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Relea
sableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:662)
[042711_055706687][][EXCEPTION] oracle.apps.xdo.XDOException: XSLT10gR1: Failed
Secure Java Extensions check.
at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
at oracle.apps.xdo.common.xml.XSLTWrapper.transform(Unknown Source)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
at oracle.apps.xdo.template.FOProcessor.createFO(Unknown Source)
at oracle.apps.xdo.template.FOProcessor.generate(Unknown Source)
at oracle.apps.xdo.servlet.RTFCoreProcessor.transform(RTFCoreProcessor.j
ava:91)
at oracle.apps.xdo.servlet.CoreProcessor.process(CoreProcessor.java:276)
at oracle.apps.xdo.servlet.CoreProcessor.generateDocument(CoreProcessor.
java:82)
at oracle.apps.xdo.servlet.ReportImpl.renderBodyHTTP(ReportImpl.java:552
at oracle.apps.xdo.servlet.ReportImpl.renderReportBodyHTTP(ReportImpl.ja
va:255)
at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:270)
at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:250)
at oracle.apps.xdo.servlet.XDOServlet.doGet(XDOServlet.java:178)
at oracle.apps.xdo.servlet.XDOServlet.doPost(XDOServlet.java:201)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterC
hain.java:64)
at oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilt
er.java:94)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletReque
stDispatcher.java:644)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(Ser
vletRequestDispatcher.java:391)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequ
estHandler.java:908)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpReques
tHandler.java:458)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpReque
stHandler.java:226)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
va:127)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
va:116)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSo
cketReadHandler.java:260)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Relea
sableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:662)
May you know the cause of the error above?
Thanks, -
Rendering problem in output of Pages 5.1
Has anyone else seen a print rendering problem when trying to print a table in Pages 5.1?
All my text in tables is jagged and lower-resolution than other text:
(Printed from Pages 5.1 (1769) on a HP Color LaserJet CP2025 from a retina MacBook Pro original model running Mavericks 10.9.1.)
To see the problem, you must look at the full size image. Right-click to open it in a new tab.
The type is set to Helvetica 12 pt black.
The borders are set to 0.5 pt black. The top two lines have a border on all sides.
The top line's border is nearly invisible; on the full size image you should see a faint blueish line.
The middle line's box box is supposed to be
 a full box, but it is missing two sides. But at least this hairline renders properly.
The pdf of the same file looks fine on screen, even at high magnification. The problem only shows up in print.
The same problem exists in Numbers (where I first experienced it):
https://discussions.apple.com/message/24695801#24695801I see you followed Jerry's advice to post over here, and haven't got any responces, so I'll at least try to get a little more information into the discussion.
Since the document prints to pdf correctly, but not to the actual printer, it seems likely that it is a print driver issue. In the Numbers discussion on the issue, the original person with the issue was using a HP printer with a postscript driver. Since the HP support site was not very clear about whether a driver for that printer on Mavericks even existed, and the recommendation for a generic driver was for a PCL driver, not postscript, I suspect that they were not using a recommended configuration. It would probably be helpful to know the details about your printer and print driver.
Do you have access to more than one printer to test this on?
The new versions of Numbers and Pages are doing something strange in terms of how they copy tables to the system clipboard; the pdf version is no longer available, only bitmap images. Print to pdf, however seems to still get the pdf data. I don't think this should have anything to do with the data getting to the print driver, but it does seem consistent with your results. -
JSF Pages are not rendering correctly when loaded using Non JSF actions
Hi All,
This problem is irritating me and I am posting the same query for the third time here.
When I come from non jsf actions such as page submitting using Javascript, clicking anchor link, clicking normal Html submit button and so on my page is not rendering correctlly .
In other words, My first GET method/Post method works perfectly for the first time when the page is loaded.
But when we try to access the page for the second time, although logical work is perfect in bean, I am getting same old page.
How to resolve this issue?
or
Is this Bug of Sun's Implementation of JSF Framework.
Thanks,
SudhakarHi Sudhakar,
There is a discussion about refreshing a page, Take a look at the below thread
http://swforum.sun.com/jive/thread.jspa?threadID=55660
Hope this what you are looking for
MJ
Maybe you are looking for
-
How do I bring music back from iPod to iTunes after upgrading my computer
Unfortunately, my computer have crashed totally and all my data, music, pictures disappeared up in the blue sky. Anyway, the computer is now reestablished with XP and iTunes. But how do I get all the music from my iPod back to my computer..?? Do I ha
-
How do I get iTunes to NOT download TV shows and movies automatically?
I currently have auto download deselected in the preferences panel, but everytime I launch iTunes it starts downlaoding all the shows I purchased on my AppleTV. Is there any way to get this stop?
-
What to do
-
Need to understand how system time is computed by mpstat
Hi! i've got difficulties analyzing system utilization. Linux utilities (vmstat, iosat, mpstat) report system utilization on level of 3-6%, but when it's 6% system slows down in a visible way. Generally speaking spikes up to 6% are visible in applica
-
MSN messenger telling me I have the wrong password
All forms of msn messenger and Im+ and IMO. Facebook will sign in on the latter two but msn tells me I have the wrong password( I don't)