Errors in implementing Text Layout Framework text flow- selection event not found

please help me i have implemented the same project givan at adobe open source code site.
This is my code
<?xml version="1.0" encoding="utf-8"?>
<!--
ADOBE SYSTEMS INCORPORATED
Copyright 2008 Adobe Systems Incorporated
All Rights Reserved.
NOTICE:  Adobe permits you to use, modify, and distribute this file
in accordance with the terms of the Adobe license agreement
accompanying it.  If you have received this file from a source
other than Adobe, then your use, modification, or distribution
of it requires the prior written permission of Adobe.
-->
<!-- Demonstrate some example controls.  This example does not attempt to create a control for every property in the TextLayoutFramework -->
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" label="Text Editor Example" initialize="init()" backgroundColor="#FFFFFF" horizontalScrollPolicy="off" verticalScrollPolicy="off">
<mx:Script>
<![CDATA[
import flashx.textLayout.container.ContainerController;
import flashx.textLayout.conversion.TextConverter;
import flashx.textLayout.edit.EditManager;
import flashx.textLayout.edit.IEditManager;
import flashx.textLayout.edit.ElementRange;
import flashx.textLayout.edit.SelectionState;
import flashx.textLayout.elements.Configuration;
import flashx.textLayout.elements.TextFlow;
import flashx.textLayout.events.StatusChangeEvent;
import flashx.textLayout.events.SelectionEvent;
import flashx.textLayout.formats.ITextLayoutFormat;
import flashx.textLayout.formats.TextLayoutFormat;
import flashx.textLayout.formats.TextAlign;
import flashx.textLayout.formats.VerticalAlign;
import flashx.textLayout.formats.BlockProgression;
import flashx.textLayout.formats.Direction;
import flashx.textLayout.tlf_internal;
import flashx.undo.UndoManager;
import flash.display.Sprite;
import flash.system.Capabilities;
// the textFlow being worked on
private var _textFlow:TextFlow = null;
// container to hold the text
private var _container:Sprite = null;
// data providers for enumerated list boxes
static private const textAlignData:Array = [
{ label:"Justify", data:TextAlign.JUSTIFY},
{ label:"Left", data:TextAlign.LEFT},
{ label:"Right", data:TextAlign.RIGHT},
{ label:"Center", data:TextAlign.CENTER},
{ label:"End", data:TextAlign.END},
{ label:"Start", data:TextAlign.START}
static private const verticalAlignData:Array = [
{ label:"Bottom", data:VerticalAlign.BOTTOM },
{ label:"Justify", data:VerticalAlign.JUSTIFY },
{ label:"Middle", data:VerticalAlign.MIDDLE },
{ label:"Top", data:VerticalAlign.TOP }
static private const blockProgressionData:Array = [
{ label:"TopToBottom", data:BlockProgression.TB },
{ label:"RightToleft", data:BlockProgression.RL }
static private const directionData:Array = [
{ label:"LeftToRight", data:Direction.LTR },
{ label:"RightToleft", data:Direction.RTL }
* initialization
private function init():void
// create a sprite to hold the TextLines
_container = new Sprite();
textArea.rawChildren.addChild(_container);
fontFamily.dataProvider = populateFontFamily();
versionInfo.text = "Vellum: " + flashx.textLayout.BuildInfo.kBuildNumber + (Configuration.tlf_internal::debugCodeEnabled ? " Debug" : " Release")
+ ", Flex: " + mx_internal::VERSION
+ ", Player: " + Capabilities.version;
* Create an array of available font families
static private function populateFontFamily():Array
// really this returns an array of fonts - would be nice to strip it down to just the families
var fonts:Array = Font.enumerateFonts(true);
var fontfamily:Array = new Array();
fonts.sortOn("fontName", Array.CASEINSENSITIVE);
for(var i:int = 0; i< fonts.length; i++)
// trace(fonts[i].fontName);
fontfamily.push({label: fonts[i].fontName, data: fonts[i].fontName});
return fontfamily;
/** called to set the size of this panel */
public function setSize(w:int,h:int):void
this.width = w;
this.height = h;
textArea.width = width;
textArea.height = height > bottomTabs.height ? this.height-bottomTabs.height : 0;
if (_textFlow)
_textFlow.flowComposer.getControllerAt(0).setCompositionSize(textArea.width,textArea.heigh t);
_textFlow.flowComposer.updateAllControllers();
/** called when the bottom tabs finally gets sized. */
private function bottomTabsResize():void
setSize(width,height);
/** The TextFlow to edit. */
public function get textFlow():TextFlow
{ return _textFlow; }
public function set textFlow(newFlow:TextFlow):void
// clear any old flow if present
if (_textFlow)
_textFlow.flowComposer = null;
_textFlow = null;
_textFlow = newFlow;
if (_textFlow)
_textFlow.flowComposer.addController(new ContainerController(_container,textArea.width,textArea.height));
// setup event listeners for selection changed and ILG loaded
_textFlow.addEventListener(SelectionEvent.SELECTION_CHANGE,selectionChangeListener,false,0 ,true);
_textFlow.addEventListener(StatusChangeEvent.INLINE_GRAPHIC_STATUS_CHANGE,graphicStatusCha ngeEvent,false,0,true);
// make _textFlow editable with undo
_textFlow.interactionManager = new EditManager(new UndoManager());
// initialize with a selection before the first character
_textFlow.interactionManager.selectRange(0,0);
// compose the new textFlow and give it focus
_textFlow.flowComposer.updateAllControllers();
_textFlow.interactionManager.setFocus();
/** Receives an event any time an ILG with a computed size finishes loading. */
private function graphicStatusChangeEvent(evt:StatusChangeEvent):void
// recompose if the evt is from an element in this textFlow
if (_textFlow && evt.element.getTextFlow() == _textFlow)
_textFlow.flowComposer.updateAllControllers();
/** Receives an event any time the selection is changed.  Update the UI */
private function selectionChangeListener(e:SelectionEvent):void
var selectionState:SelectionState = e.selectionState;
var selectedElementRange:ElementRange = ElementRange.createElementRange(selectionState.textFlow, selectionState.absoluteStart, selectionState.absoluteEnd);
// set display according to the values at the beginning of the selection range.  For point selection/characterFormat use getCommonCharacterFormat as that tracks pending attributes waiting for the next character
var characterFormat:ITextLayoutFormat = _textFlow.interactionManager.activePosition == _textFlow.interactionManager.anchorPosition ? _textFlow.interactionManager.getCommonCharacterFormat() : selectedElementRange.characterFormat;
var paragraphFormat:ITextLayoutFormat = selectedElementRange.paragraphFormat;
var containerFormat:ITextLayoutFormat = selectedElementRange.containerFormat;
updateComboBox(fontFamily,characterFormat.fontFamily);
fontSize.text = characterFormat.fontSize.toString();
lineHeight.text = characterFormat.lineHeight.toString();
updateComboBox(textAlign,paragraphFormat.textAlign);
textIndent.text = paragraphFormat.textIndent.toString();
columnCount.text = containerFormat.columnCount.toString();
columnGap.text = containerFormat.columnGap.toString();
updateComboBox(verticalAlign,containerFormat.verticalAlign);
updateComboBox(blockProgression,_textFlow.computedFormat.blockProgression);
updateComboBox(directionBox,_textFlow.computedFormat.direction);
/** Helper function to update a comboBox in the UI */
private function updateComboBox(box:ComboBox,val:String):void
for (var i:int = 0; i < box.dataProvider.length; i++)
if (box.dataProvider[i].data == val)
box.selectedIndex = i;
return;
box.text = val;
* These functions are helpers for the various widgets to actually perform the operations on the TextFlow
private function changeFontFamily(newFontFamily:String):void
if (_textFlow && _textFlow.interactionManager is IEditManager)
var cf:TextLayoutFormat = new TextLayoutFormat();
cf.fontFamily = newFontFamily;
IEditManager(_textFlow.interactionManager).applyLeafFormat(cf);
_textFlow.interactionManager.setFocus();
private function changeFontSize(newFontSize:String):void
if (_textFlow && _textFlow.interactionManager is IEditManager)
var cf:TextLayoutFormat = new TextLayoutFormat();
cf.fontSize = newFontSize;
IEditManager(_textFlow.interactionManager).applyLeafFormat(cf);
_textFlow.interactionManager.setFocus();
private function changeLeading(newLeading:String):void
if (_textFlow && _textFlow.interactionManager is IEditManager)
var cf:TextLayoutFormat = new TextLayoutFormat();
cf.lineHeight = newLeading;
IEditManager(_textFlow.interactionManager).applyLeafFormat(cf);
_textFlow.interactionManager.setFocus();
private function changeTextAlign(newAlign:String):void
if (_textFlow && _textFlow.interactionManager is IEditManager)
var pf:TextLayoutFormat = new TextLayoutFormat();
pf.textAlign = newAlign;
IEditManager(_textFlow.interactionManager).applyParagraphFormat(pf);
_textFlow.interactionManager.setFocus();
private function changeTextIndent(newIndent:String):void
if (_textFlow && _textFlow.interactionManager is IEditManager)
var pf:TextLayoutFormat = new TextLayoutFormat();
pf.textIndent = newIndent;
IEditManager(_textFlow.interactionManager).applyParagraphFormat(pf);
_textFlow.interactionManager.setFocus();
private function changeColumnCount(newCount:String):void
if (_textFlow && _textFlow.interactionManager is IEditManager)
var cf:TextLayoutFormat = new TextLayoutFormat();
cf.columnCount = newCount;
IEditManager(_textFlow.interactionManager).applyContainerFormat(cf);
_textFlow.interactionManager.setFocus();
private function changeColumnGap(newGap:String):void
if (_textFlow && _textFlow.interactionManager is IEditManager)
var cf:TextLayoutFormat = new TextLayoutFormat();
cf.columnGap = newGap;
IEditManager(_textFlow.interactionManager).applyContainerFormat(cf);
_textFlow.interactionManager.setFocus();
private function changeVerticalAlign(newAlign:String):void
if (_textFlow && _textFlow.interactionManager is IEditManager)
var cf:TextLayoutFormat = new TextLayoutFormat();
cf.verticalAlign = newAlign;
IEditManager(_textFlow.interactionManager).applyContainerFormat(cf);
_textFlow.interactionManager.setFocus();
private function changeBlockProgression(newProgression:String):void
if (_textFlow && _textFlow.interactionManager is IEditManager)
var cf:TextLayoutFormat = new TextLayoutFormat();
cf.blockProgression = newProgression;
IEditManager(_textFlow.interactionManager).applyFormatToElement(_textFlow,cf);
_textFlow.interactionManager.setFocus();
/** Set direction on the rootElement.  This effects both columnDirection and default reading order. */
private function changeDirection(newDirection:String):void
if (_textFlow && _textFlow.interactionManager is IEditManager)
var pf:TextLayoutFormat = new TextLayoutFormat();
pf.direction = newDirection;
IEditManager(_textFlow.interactionManager).applyFormatToElement(_textFlow,pf);
_textFlow.interactionManager.setFocus();
]]>
</mx:Script>
<!-- <mx:VBox horizontalScrollPolicy="off" verticalScrollPolicy="off" width="100%" height="100%"> -->
<mx:Canvas id="textArea" width="520" height="400"/>
<mx:TabNavigator id="bottomTabs" width="100%" creationPolicy="all" paddingLeft="4" paddingBottom="8" backgroundColor="#D9D9D9" color="#202020" horizontalScrollPolicy="off" verticalScrollPolicy="off" resize="bottomTabsResize()">
<mx:HBox label="Text" backgroundColor="#D9D9D9" width="496" horizontalScrollPolicy="off" verticalScrollPolicy="off" >
<mx:Label text="Font:"/>
<mx:ComboBox id="fontFamily" editable="true" enter="changeFontFamily(fontFamily.text)"  close="changeFontFamily(fontFamily.text)" width="200"/>
<mx:Label text="Size:"/>
<mx:TextInput id="fontSize" enter="changeFontSize(fontSize.text)" width="40"/>
<mx:Label text="LineHeight:"/>
<mx:TextInput id="lineHeight" enter="changeLeading(lineHeight.text)" width="40"/>
</mx:HBox>
<mx:HBox label="Para" backgroundColor="#D9D9D9" width="496">
<mx:Label text="Alignment:"/>
<mx:ComboBox id="textAlign" close="changeTextAlign(textAlign.selectedItem.data)" dataProvider="{textAlignData}"/>
<mx:Label text="FirstLineIdent:"/>
<mx:TextInput id="textIndent" enter="changeTextIndent(textIndent.text)" width="40"/>
</mx:HBox>
<mx:HBox label="Container" backgroundColor="#D9D9D9" width="496">
<mx:Label text="Columns:"/>
<mx:TextInput id="columnCount" toolTip="auto or a number" enter="changeColumnCount(columnCount.text)" width="40"/>
<mx:Label text="Gap:"/>
<mx:TextInput id="columnGap" toolTip="a number" enter="changeColumnGap(columnGap.text)" width="40"/>
<mx:Label text="VerticalAlignment:"/>
<mx:ComboBox id="verticalAlign" close="changeVerticalAlign(verticalAlign.selectedItem.data)" dataProvider="{verticalAlignData}"/>
</mx:HBox>
<mx:HBox label="Flow" backgroundColor="#D9D9D9" width="496">
<mx:Label text="Progression:"/>
<mx:ComboBox id="blockProgression" close="changeBlockProgression(blockProgression.selectedItem.data)" dataProvider="{blockProgressionData}"/>
<mx:Label text="Direction:"/>
<mx:ComboBox id="directionBox" close="changeDirection(directionBox.selectedItem.data)" dataProvider="{directionData}"/>
</mx:HBox>
<mx:HBox label="Version" backgroundColor="#D9D9D9" width="496">
<mx:TextInput id="versionInfo" editable="false" width="100%"/>
</mx:HBox>
</mx:TabNavigator>
<!-- </mx:VBox> -->
</mx:VBox>

Probably something is going wrong when the application is being built, and textLayout.SWC is not found. Are you using Flex or Flash Pro to build it? What version? Does this error come up when you build the project, or when you run it?
Thanks,
- robin

Similar Messages

  • Problem in running Text Layout Framework online demo

    Hi
             I am running textlayout_example but while compile itself showing error
    1.1061: Call to a possibly undefined method selectRange through a reference with static type flashx.textLayout.edit:ISelectionManager
    2.1120: Access of undefined property TextConverter.
    3.Could not resolve <s:Application> to a component implementation
    4.1119: Access of possibly undefined property INLINE_GRAPHIC_STATUS_CHANGE through a reference with static type Class.
    Am using flexbuilder 3 with flexsdk4.0 and flashplayer 10.0.32. I dono what was d problem... Could anyone know about to fix.

    From a distance it sounds like there is more than one version of the textLayout swc in your compile path.  Looks like you have the spark components so there is one version included with the Flex SDK.
    Either that or your examples are out of date with respect to the textLayout swc you have.  The releasenotes have details on the API changes.
    The most recent examples are available here:
    http://opensource.adobe.com/wiki/display/tlf/Text+Layout+Framework
    Hope that helps,
    Richard

  • [svn] 4634: First part of glue code for allowing Halo components to use the new Text Layout Framework , in order to get functionality such as bidirectional text.

    Revision: 4634
    Author:   [email protected]
    Date:     2009-01-22 17:38:56 -0800 (Thu, 22 Jan 2009)
    Log Message:
    First part of glue code for allowing Halo components to use the new Text Layout Framework, in order to get functionality such as bidirectional text.
    Background:
    TLF is making this possible by implementing a TLFTextField class. It is a Sprite that uses TLF to implement the same properties and methods as the legacy TextField class in the Player. Thanks to the createInFontContext() bottleneck method in UIComponent, it can be used by a properly-written Halo component (such as those in Flex 3) without any modifications to the component.
    Note: Text should render similarly -- but is unlikely to render identically -- when a component uses TLFTextField vs. TextField. The width and height may be different, affecting layout; text could wrap differently; etc. This is a fact-of-life based on the fact that TLF/FTE and TextField are completely different text engines.
    Whether a Halo component uses TLF or not to render text will be determined in Flex 4 by a new style, textFieldClass. (Gumbo components always use TLF.)
    TLFTextField is currently only partially implemented. It does not yet support scrolling, selection, editing, multiple formats, or htmlText. Therefore it can only be used for simple display text, such as a Button label.
    Details:
    The TextStyles.as bucket 'o text styles now includes a non-inheriting textFieldClass style. It can be set to either mx.core.UITextField or mx.core.UITLFTextField. These are the Flex framework's wrapper classes around the lower-level classes flash.text.TextField (in the Player) and its TLF-based workalike, flashx.textLayout.controls.TLFTextField.
    The global selector in defaults.css currently sets it to mx.core.UITextField using a ClassReference directive. For the time being, all Halo components will continue to use the "real" TextField.
    The new UITLFTextField is a copy of UITextField, except that it extends TLFTextField instead of TextField. This class has been added to FrameworkClasses.as because no classes in framework.swc have a dependency on it. It will get soft-linked into applcations via the textFieldClass style.
    The TLFTextField class currently lives in a fourth TLF SWC, textLayout_textField.swc. This SWC has been added to various build scripts. The external-library-path for building framework.swc now includes all four TLF SWCs, because UITLFTextField can't be compiled and linked without them. However, since they are external they aren't linked into framework.swc.
    Properly-written Halo UIComponents access their text fields only through the IUITextField interface, and they create text fields like this:
    textField = IUITextField(createInFontContext(UITextField));
    (The reason for using createInFontContext() is to support embedded fonts that are embedded in a different SWF.)
    The createInFontContext() method of UIComponent has been modified to use the textFieldClass style to determine whether to create a UITextField or a UITLFTextField.
    With these changes, you can now write code like
    to get two Buttons, the first of which uses UITextField (because this is the value of textFieldClass in the global selector) and the second of which uses UITLFTextField. They look very similar, which is good!
    Currently, both Buttons are being measured by using an offscreen TextField. A subsequent checkin will make components rendering using UITLFTextField measure themselves using an offscreen TLFTextField so that measurement and rendering are consistent.
    QE Notes: None
    Doc Notes: None
    Bugs: None
    Reviewer: Deepa
    Modified Paths:
        flex/sdk/trunk/asdoc/build.xml
        flex/sdk/trunk/build.xml
        flex/sdk/trunk/frameworks/projects/framework/build.xml
        flex/sdk/trunk/frameworks/projects/framework/defaults.css
        flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as
        flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as
        flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/TextStyles.as
    Added Paths:
        flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITLFTextField.as

    Many of your points are totally legitimate.
    This one, however, is not:
    …To put it another way, the design of the site seems to be geared much more towards its regular users than those the site is supposedly trying to "help"…
    The design and management of the forums for more than five years have driven literally dozens of the most valuable contributors and "regulars" away from the forums—permanently.
    The only conclusion a prudent, reasonable person can draw from this state of affairs is that Adobe consciously and deliberately want to kill these forums by attrition—without a the PR hit they would otherwise take if they suddenly just shut them down.

  • Text Layout Framework columncount Undo problem

    Text Layout Framework columncount Undo problem ::
        The number of times columncount is changed it gets applied to textflow
    and those number of operation is stored in undoStack(UndoManger).But when i
    undo it, it comes back to intial state, without undoin step by step.
    I have given my source code..
    Y so or any other alternative to achieve this..
    Thanx in advance..  
    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="init()">
        <fx:Script>
            <![CDATA[
                import flashx.textLayout.container.ContainerController;
                import flashx.textLayout.conversion.ITextImporter;
                import flashx.textLayout.conversion.TextConverter;
                import flashx.textLayout.edit.EditManager;
                import flashx.textLayout.edit.IEditManager;
                import flashx.textLayout.edit.ISelectionManager;
                import flashx.textLayout.edit.SelectionState;
                import flashx.textLayout.elements.InlineGraphicElement;
                import flashx.textLayout.elements.ParagraphElement;
                import flashx.textLayout.elements.TextFlow;
                import flashx.textLayout.events.SelectionEvent;
                import flashx.textLayout.events.StatusChangeEvent;
                import flashx.textLayout.formats.Direction;
                import flashx.textLayout.formats.TextLayoutFormat;
                import flashx.undo.UndoManager;
                import mx.collections.ArrayCollection;
                import mx.controls.Alert;
                import mx.controls.CheckBox;
                import mx.events.FlexEvent;
                import mx.events.SliderEvent;
                import spark.components.Group;
                import spark.components.TextArea;
                import spark.core.SpriteVisualElement;
                public var directions:ArrayCollection = new
    ArrayCollection(
                        {label:"Left-to-Right",
    data:Direction.LTR},
                        {label:"Right-to-Left",
    data:Direction.RTL}
                private var _textContainer:SpriteVisualElement = null;
                private static const textInput:XML = <TextFlow
    xmlns="http://ns.adobe.com/textLayout/2008">
                    <div>
                        <p><span>The Text Layout Framework is
    an extensible library, built on the new text engine in Adobe Flash Player 10,
    which delivers advanced, easy-to-integrate typographic and text layout features
    for rich, sophisticated and innovative typography on the web.
                    Some benefits provided by this framework
    include: 1) rich typographical controls, including kerning, ligatures,
    typographic case, digit case, digit width and discretionary hyphens
                    2) cut, copy, paste, undo and standard keyboard
    and mouse gestures for editing 3) selection, editing and flowing text across
    multiple columns and linked containers
                    4) bidirectional text, vertical text and over
    30 writing scripts including Arabic, Hebrew, Chinese, Japanese, Korean, Thai,
    Lao, Vietnamese, and others
                    5) vertical text, Tate-Chu-Yoko (horizontal
    within vertical text) and justifier for East Asian typography. Try editing this
    text and playing with the options below! Notice an inline image is also
    included.</span></p>
                    </div>
                    </TextFlow>;
                private var _textFlow:TextFlow;
                private function init():void {
                    _textContainer = new SpriteVisualElement();
                    canvas.addElement(_textContainer);
                    var importer:ITextImporter =
    TextConverter.getImporter(TextConverter.TEXT_LAYOUT_FORMAT);
                    _textFlow = importer.importToFlow(textInput);
                    _textFlow.flowComposer.addController(new
    ContainerController(_textContainer, canvas.width-40, canvas.height));
                    _textFlow.interactionManager = new
    EditManager(new UndoManager());
                    _textFlow.flowComposer.updateAllControllers();
                private function changeNoColumns(event:Event):void {
                    var tlf:TextLayoutFormat = new
    TextLayoutFormat();
                    tlf.columnCount = cols.value;
                    tlf.columnGap = 15;
                    tlf.direction = direction.selectedItem.data;
                    var em:EditManager =
    _textFlow.interactionManager as EditManager;
                    em.selectAll();
                    (_textFlow.interactionManager as
    EditManager).applyFormat(tlf,tlf,tlf);
                    _textFlow.flowComposer.updateAllControllers();
                protected function
    undo_clickHandler(event:MouseEvent):void
                    var em:EditManager =
    _textFlow.interactionManager as EditManager;
                    trace("Can undo " + em.undoManager.canUndo() +
    " can redo " + em.undoManager.canRedo());
                    em.undo();
                protected function
    redo_clickHandler(event:MouseEvent):void
                    var em:EditManager =
    _textFlow.interactionManager as EditManager;
                    trace("Can undo " + em.undoManager.canUndo() +
    " can redo " + em.undoManager.canRedo());
                    em.redo();
            ]]>
        </fx:Script>
        <s:Panel title="Text Layout Framework Sample" width="100%"
    height="100%">
            <s:layout>
                <s:VerticalLayout paddingTop="8" paddingLeft="8"/>
            </s:layout>
            <s:VGroup>
                <s:Group id="canvas" width="600" height="200" />
                <s:HGroup width="100%" verticalAlign="middle">
                    <s:Label text="# Columns:"/>
                    <s:NumericStepper id="cols"  minimum="1"
    maximum="20" snapInterval="1" change="changeNoColumns(event)" />
                    <s:Label text="Text Direction:"/>
                    <s:DropDownList id="direction"
    change="changeTextDirection(event)" dataProvider="{directions}"
    selectedItem="{directions[0]}"/>
                    <s:Button label="Undo"
    click="undo_clickHandler(event)"/>
                    <s:Button label="Redo"
    click="redo_clickHandler(event)"/>
                </s:HGroup>
            </s:VGroup>
        </s:Panel>
    </s:WindowedApplication>

    It cannot be reproduced with TLF 3.0 + SDK 4.5.

  • Unable to apply embedded font swf to text in text layout framework

    Hello,
    We have created a swf for a given font (for e.g., Calibri.swf) which contains all the styles (Regular, Italic, Bold, BoldItalic).
    We have created a xml which lists the name of the font and the corresponding swf file path. The names from the xml are loaded into a combo box in the application.
    When we try to apply the selected font to a text in the text layout framework, it does not apply the same. It sets the font to default "Times" font.
    Following is a snippet of code to apply the font to the text:
    private function selectFont(fontXML:XML):void {               
                    var path:String = fontXML.@source;
                    var myEvent:IEventDispatcher = styleManager.loadStyleDeclarations(FlexGlobals.topLevelApplication.url.substring(0,FlexGl obals.topLevelApplication.url.lastIndexOf("/"))+"/"+path);
                    myEvent.addEventListener(StyleEvent.COMPLETE, function(event:StyleEvent):void{
                        var editManager:EditManager = textFlow.interactionManager as EditManager;
                        var itextLayout:TextLayoutFormat = new TextLayoutFormat();
                        itextLayout.fontSize = 20;
                        var fontName:String = fontXML.@name;
                        Alert.show(fontName);
                        itextLayout.fontFamily = fontName;   
                        Alert.show( "itext = " + itextLayout.fontFamily);
                        editManager.applyFormat(itextLayout,itextLayout,itextLayout);
                        var flowLeafElement:FlowElement = textFlow.findLeaf(editManager.anchorPosition) as FlowElement;
                        editManager.changeStyleName(fontName,flowLeafElement);
    Can anyone please let us know what is missing in the implementation?
    Thanks in advance.
    Vikram

    My recommendation: unless you really care about ISWFContext implementations and the application domain issues, ignore Alex's post about embedded fonts.
    It is a nice discussion about the inner workings of the domain and security of how this works but it is imho broken and is an insane concept to require an ISWFContext to just use an embedded font. It also breaks runtime CSS loading that has fonts embedded in it because the Flex compiler (last I checked) was also busted – it doesn't include the function necessary to create within context the font embed so that it may be applied. You can't create an ISWFContext with a compiled CSS file.
    These issues were introduced in the last Flex SDK beta before FB4 was released in final form. There are multiple bugs logged against the issue of applying loaded font files to TLF text (in short, SWFContext is broken and you have to override GlobalSettings.resolveFontLookupFunction to return embedded or null, all the time).
    Here's some more details to get you started - with links to at least one of the SDK bugs that were filed:
    http://forums.adobe.com/message/2656152
    For example:
    import flashx.textLayout.elements.GlobalSettings;
    import flash.text.engine.FontLookup;
    GlobalSettings.resolveFontLookupFunction = function makeValid():String { return FontLookup.EMBEDDED_CFF };
    And you may need to do this after your font is loaded:
    yourTextBlock.textFlow.invalidateAllFormats();
    Disclaimer: I haven't seen the latest Flex SDK release to see if this was fixed. I have an AIR application with native process that builds embedded font SWF files for use and stub code for FB4 usage but haven't updated to the latest SDK yet to see if it's working properly.
    Anyhow, your best bet is to look at the Flash Builder forums. I think this is/was a Flex team issue, not TLF.

  • Text Layout Framework Bold & Italic don't work on Linux

    Hi,
    The bold and Italic in Text Layout Framework is not working on Linux with Flash Player 10.1.85.3. Please verify at this link http://labs.adobe.com/technologies/textlayout/demos/ on Linux, by trying to do bold & italic to some text.
    is this a problem with Flash Player 10 ?
    Any help is appreciated.
    Thanks,
    Avi

    Thanks Richard,
    The Bold/Italic variant of the font should be present on the client's machine. Now I am finding solution to how to display the fonts which Bold/Italic variant are not present on the client's machine. One way can be embedding the fonts. Anythings else?
    Avi

  • InDesign export Text Layout Framework Markup

    hi there
    as described in title, i'm having troubles exporting an InDesign comp in a decent way
    my quesitons are:
    1 - It exists a DTD for Text Layout Framework Markup Language ?
    2 - Is there an export module that make me able to do it automatically? because tagging all the elements is a pain, and there is just a little documentation about the markup language
    If not, are there any plans to do it?
    I personally think that an export module will be very helpful and will score another goal on products' integration
    Thanx for your time

    Regarding a DTD see this post http://forums.adobe.com/message/2221283#2221283
    I can't comment on any plans for ID to export TLF markup.  Definitely a good idea.
    Thanks,
    Richard

  • Can I use Text Layout Framework with Flex 3 SDK?

    Greetings,
    I have to develop a complex custom widget, with custom text wrapping behaviour. Text Layout framework seem to offer fine level of control, but we are trying to keep our project in Flash player 9, and therefore we are using Flex 3 sdk.
    Can I use the framework with flex sdk 3 and therefore flash player 9?
    Best Regards
    Seref

    For that you need to install flex sdk 3.5 framework and choose your defauls framework to flex 3.5 it will work and as well instal flash player 10

  • Rotated ASCII characters overlap in Text Layout Framework with specific Japanese/Chinese fonts

    I am trying to layout rotated text with Text Layout Framework. Mostly okay, but when it comes to specific Japanese/Chinese fonts, problem happens - "hankaku" alphanumeric characters(in other words, ASCII characters) overlap in those fonts. (Full-width "zenkaku" characters have no problem, though)
    When "HG丸ゴシックM-PRO" or "HG正楷書体-PRO" are specified as fontFamily(both come with Office - common fonts in Japanese Windows environment), characters are wholly overlapped.
    When "SimSun", "NSimSun" or "SimHei" are specified as fontFamily(Chinese fonts, all come with Japanese Windows XP), characters are slightly overlapped.
    If anyone knows a solution or a workaround to this, please let me know.
    Sample code:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initapp();">
        <mx:Script>
            <![CDATA[
                import flashx.textLayout.container.ContainerController;
                import flashx.textLayout.elements.ParagraphElement;
                import flashx.textLayout.elements.SpanElement;
                import flashx.textLayout.elements.TextFlow;
                import flash.text.engine.TextRotation;
                import mx.core.UIComponent;
                private function initapp():void
                    var container:UIComponent           = new UIComponent();
                    var textflow:TextFlow               = new TextFlow();
                    var controller:ContainerController  = new ContainerController(container);
                    var paragraph:ParagraphElement      = new ParagraphElement();
                    var span:SpanElement                = new SpanElement();
                    textflow.fontFamily          = "HG丸ゴシックM-PRO";
                    textflow.textRotation        = TextRotation.ROTATE_270;
                    textflow.fontSize            = 72;
                    textflow.color               = 0;
                    span.text                    = "abcdefg";
                    controller.setCompositionSize(this.unscaledWidth, this.unscaledHeight);
                    paragraph.addChild(span);
                    textflow.addChild(paragraph);
                    textflow.flowComposer.addController(controller);
                    textflow.flowComposer.updateAllControllers();
                    this.addChild(container);
            ]]>
        </mx:Script>
    </mx:WindowedApplication>
    Warm regards,
    Yuushima

    malachite00 wrote:
    > Thanks David. So is there any way around having to embed
    the font when
    > rotating text?
    Not that I know of. Your problem is that you're loading the
    content
    dynamically, so you have no idea what it will contain.
    There's normally
    no need to embed Japanese fonts for a Japanese audience,
    because they
    already have the main fonts, such as Mincho, Gothic, or Osaka
    on their
    machine. Perhaps you'll just have to give up the idea of
    rotation.
    David Powers
    Adobe Community Expert
    Author, "Foundation PHP for Dreamweaver 8" (friends of ED)
    http://foundationphp.com/

  • How to create a table using Text Layout Framework?

    How to create a table using Text Layout Framework? I meen real tables - like in HTML.

    Cell as indipendant TLF should work, I have created my table using same approach and works fine for me ... this is where it is
    http://apps.live-documents.com/docs/openWebDoc.do?docId=1480607
    Regards
    Raf

  • Error: [129]: transaction rolled back by an internal error:  [129] transaction rolled back by an internal error: exception 141000274: exception 141000274: TRexUtils/ParallelDispatcher.cpp:275 message not found; $message$=

    Hello Gurus,
    I have a couple of calculation views in HANA and each of them has text fields (like Employee Name, Country Name etc.).
    As part of my project requirement, I have join those two views and get all the fields that exist in them.
    When I am doing so, I am getting a weird error as shown below.
    Error: [129]: transaction rolled back by an internal error:  [129] transaction rolled back by an internal error: exception 141000274: exception 141000274:
    TRexUtils/ParallelDispatcher.cpp:275
    message not found; $message$='TSR HTKD JFSDFM'
    Please check lines: 59,
    Upon, researching further, I could see that the value 'TSR HTKD JFSDFM' is the value in text field of Employee Name.
    I did try to increase the length of the field and change the data types but nothing has worked.
    Could you please help me in getting this one resolved.
    Thanks,
    Raviteja

    Hi,
    I am exactly facing the same issue:
    Error: [129]: transaction rolled back by an internal error:  [129] transaction rolled back by an internal error: exception 141000274:
    But i found a fix :-) .....
    This may be a very late reply but it would help people who desperately searching for an answer for this issue.
    I used CAST function .. The problem is, we are selecting data from table and of course we dont know the size of the data (attribute) @ runtime. We assign the length by looking at the table attr length or view op attr length. But what happens is the junk data which exceeds the limit of the allocated space hence we get this error.
    So i used CAST function to truncate the excess junk values (may be spaces).
    Example:
    I have a ATTR view of date in the format YYYY-MM-DD which means 10 char size.
    In my CALC view I have created date OP column of VARCHAR(10) but I get the above error for no reason. Eventhoug i am 100% sure about my ATTR date would be max of 10 char my CALC view is failing @ runtime.
    So i did a CAST on date as CAST(my_date as varchar(10)) and the magic happend. It works .......
    But you need to be careful in using this because if you use CAST you may lose data. Careful. In my case i dont.
    Somebody from HANA team should look at this issue from SAP and solve this. I am sure it is a serious bug from HANA (eventhough i am using SAP HANA SP09 Rev 92 the most latest as of today !!!!!!!!!! )
    Enjoy....
    Thanks & Regards
    Prakash K

  • Error in parsing: SAX2 driver class com.sun.xml.parser not found

    Hi I have this exception
    Error in parsing: SAX2 driver class com.sun.xml.parser not found
    when I try to run the examples from the book xml and java
    I have added the following jar files to the class path that i have download form java.sun.com
    xml.jar
    xalan.jar
    jaxp.jar
    crimson.jar
    Please can anyone tell me what is missing or wrong..the code must be right since written by oreilly... please have u any ideA
    XMLReaderFactory.createXMLReader(
    // "org.apache.xerces.parsers.SAXParser");
                        "com.sun.xml.parser");//
    I HAVE ONLY CHANGED THIS LINE FROM THE apache parser..to com.sun.xml.parser
    THIS IS THE ALL CODE
    import java.io.IOException;
    import org.xml.sax.Attributes;
    import org.xml.sax.ContentHandler;
    import org.xml.sax.ErrorHandler;
    import org.xml.sax.Locator;
    import org.xml.sax.SAXException;
    import org.xml.sax.SAXParseException;
    import org.xml.sax.XMLReader;
    import org.xml.sax.helpers.XMLReaderFactory;
    import org.xml.sax.*;
    * <b><code>SAXParserDemo</code></b> will take an XML file and parse it using SAX,
    * displaying the callbacks in the parsing lifecycle.
    * @author Brett McLaughlin
    * @version 1.0
    public class SAXParserDemo {
    * <p>
    * This parses the file, using registered SAX handlers, and output
    * the events in the parsing process cycle.
    * </p>
    * @param uri <code>String</code> URI of file to parse.
    public void performDemo(String uri) {
    System.out.println("Parsing XML File: " + uri + "\n\n");
    // Get instances of our handlers
    ContentHandler contentHandler = new MyContentHandler();
    ErrorHandler errorHandler = new MyErrorHandler();
    try {
    // Instantiate a parser
    XMLReader parser =
    XMLReaderFactory.createXMLReader(
    // "org.apache.xerces.parsers.SAXParser");
                        "com.sun.xml.parser");// I HAVE ONLY CHANGED THIS LINE FROM THE apache parser..
    // Register the content handler
    parser.setContentHandler(contentHandler);
    // Register the error handler
    parser.setErrorHandler(errorHandler);
    // Parse the document
    parser.parse(uri);
    } catch (IOException e) {
    System.out.println("Error reading URI: " + e.getMessage());
    } catch (SAXException e) {
    System.out.println("Error in parsing: " + e.getMessage());
    * <p>
    * This provides a command line entry point for this demo.
    * </p>
    public static void main(String[] args) {
    // if (args.length != 1) {
    // System.out.println("Usage: java SAXParserDemo [XML URI]");
    // System.exit(0);
    //String uri = args[0];
    SAXParserDemo parserDemo = new SAXParserDemo();
    parserDemo.performDemo("content.xml");
    * <b><code>MyContentHandler</code></b> implements the SAX
    * <code>ContentHandler</code> interface and defines callback
    * behavior for the SAX callbacks associated with an XML
    * document's content.
    class MyContentHandler implements ContentHandler {
    /** Hold onto the locator for location information */
    private Locator locator;
    * <p>
    * Provide reference to <code>Locator</code> which provides
    * information about where in a document callbacks occur.
    * </p>
    * @param locator <code>Locator</code> object tied to callback
    * process
    public void setDocumentLocator(Locator locator) {
    System.out.println(" * setDocumentLocator() called");
    // We save this for later use if desired.
    this.locator = locator;
    * <p>
    * This indicates the start of a Document parse - this precedes
    * all callbacks in all SAX Handlers with the sole exception
    * of <code>{@link #setDocumentLocator}</code>.
    * </p>
    * @throws <code>SAXException</code> when things go wrong
    public void startDocument() throws SAXException {
    System.out.println("Parsing begins...");
    * <p>
    * This indicates the end of a Document parse - this occurs after
    * all callbacks in all SAX Handlers.</code>.
    * </p>
    * @throws <code>SAXException</code> when things go wrong
    public void endDocument() throws SAXException {
    System.out.println("...Parsing ends.");
    * <p>
    * This will indicate that a processing instruction (other than
    * the XML declaration) has been encountered.
    * </p>
    * @param target <code>String</code> target of PI
    * @param data <code>String</code containing all data sent to the PI.
    * This typically looks like one or more attribute value
    * pairs.
    * @throws <code>SAXException</code> when things go wrong
    public void processingInstruction(String target, String data)
    throws SAXException {
    System.out.println("PI: Target:" + target + " and Data:" + data);
    * <p>
    * This will indicate the beginning of an XML Namespace prefix
    * mapping. Although this typically occur within the root element
    * of an XML document, it can occur at any point within the
    * document. Note that a prefix mapping on an element triggers
    * this callback <i>before</i> the callback for the actual element
    * itself (<code>{@link #startElement}</code>) occurs.
    * </p>
    * @param prefix <code>String</code> prefix used for the namespace
    * being reported
    * @param uri <code>String</code> URI for the namespace
    * being reported
    * @throws <code>SAXException</code> when things go wrong
    public void startPrefixMapping(String prefix, String uri) {
    System.out.println("Mapping starts for prefix " + prefix +
    " mapped to URI " + uri);
    * <p>
    * This indicates the end of a prefix mapping, when the namespace
    * reported in a <code>{@link #startPrefixMapping}</code> callback
    * is no longer available.
    * </p>
    * @param prefix <code>String</code> of namespace being reported
    * @throws <code>SAXException</code> when things go wrong
    public void endPrefixMapping(String prefix) {
    System.out.println("Mapping ends for prefix " + prefix);
    * <p>
    * This reports the occurrence of an actual element. It will include
    * the element's attributes, with the exception of XML vocabulary
    * specific attributes, such as
    * <code>xmlns:[namespace prefix]</code> and
    * <code>xsi:schemaLocation</code>.
    * </p>
    * @param namespaceURI <code>String</code> namespace URI this element
    * is associated with, or an empty
    * <code>String</code>
    * @param localName <code>String</code> name of element (with no
    * namespace prefix, if one is present)
    * @param rawName <code>String</code> XML 1.0 version of element name:
    * [namespace prefix]:[localName]
    * @param atts <code>Attributes</code> list for this element
    * @throws <code>SAXException</code> when things go wrong
    public void startElement(String namespaceURI, String localName,
    String rawName, Attributes atts)
    throws SAXException {
    System.out.print("startElement: " + localName);
    if (!namespaceURI.equals("")) {
    System.out.println(" in namespace " + namespaceURI +
    " (" + rawName + ")");
    } else {
    System.out.println(" has no associated namespace");
    for (int i=0; i<atts.getLength(); i++)
    System.out.println(" Attribute: " + atts.getLocalName(i) +
    "=" + atts.getValue(i));
    * <p>
    * Indicates the end of an element
    * (<code></[element name]></code>) is reached. Note that
    * the parser does not distinguish between empty
    * elements and non-empty elements, so this will occur uniformly.
    * </p>
    * @param namespaceURI <code>String</code> URI of namespace this
    * element is associated with
    * @param localName <code>String</code> name of element without prefix
    * @param rawName <code>String</code> name of element in XML 1.0 form
    * @throws <code>SAXException</code> when things go wrong
    public void endElement(String namespaceURI, String localName,
    String rawName)
    throws SAXException {
    System.out.println("endElement: " + localName + "\n");
    * <p>
    * This will report character data (within an element).
    * </p>
    * @param ch <code>char[]</code> character array with character data
    * @param start <code>int</code> index in array where data starts.
    * @param end <code>int</code> index in array where data ends.
    * @throws <code>SAXException</code> when things go wrong
    public void characters(char[] ch, int start, int end)
    throws SAXException {
    String s = new String(ch, start, end);
    System.out.println("characters: " + s);
    * <p>
    * This will report whitespace that can be ignored in the
    * originating document. This is typically only invoked when
    * validation is ocurring in the parsing process.
    * </p>
    * @param ch <code>char[]</code> character array with character data
    * @param start <code>int</code> index in array where data starts.
    * @param end <code>int</code> index in array where data ends.
    * @throws <code>SAXException</code> when things go wrong
    public void ignorableWhitespace(char[] ch, int start, int end)
    throws SAXException {
    String s = new String(ch, start, end);
    System.out.println("ignorableWhitespace: [" + s + "]");
    * <p>
    * This will report an entity that is skipped by the parser. This
    * should only occur for non-validating parsers, and then is still
    * implementation-dependent behavior.
    * </p>
    * @param name <code>String</code> name of entity being skipped
    * @throws <code>SAXException</code> when things go wrong
    public void skippedEntity(String name) throws SAXException {
    System.out.println("Skipping entity " + name);
    * <b><code>MyErrorHandler</code></b> implements the SAX
    * <code>ErrorHandler</code> interface and defines callback
    * behavior for the SAX callbacks associated with an XML
    * document's errors.
    class MyErrorHandler implements ErrorHandler {
    * <p>
    * This will report a warning that has occurred; this indicates
    * that while no XML rules were "broken", something appears
    * to be incorrect or missing.
    * </p>
    * @param exception <code>SAXParseException</code> that occurred.
    * @throws <code>SAXException</code> when things go wrong
    public void warning(SAXParseException exception)
    throws SAXException {
    System.out.println("**Parsing Warning**\n" +
    " Line: " +
    exception.getLineNumber() + "\n" +
    " URI: " +
    exception.getSystemId() + "\n" +
    " Message: " +
    exception.getMessage());
    throw new SAXException("Warning encountered");
    * <p>
    * This will report an error that has occurred; this indicates
    * that a rule was broken, typically in validation, but that
    * parsing can reasonably continue.
    * </p>
    * @param exception <code>SAXParseException</code> that occurred.
    * @throws <code>SAXException</code> when things go wrong
    public void error(SAXParseException exception)
    throws SAXException {
    System.out.println("**Parsing Error**\n" +
    " Line: " +
    exception.getLineNumber() + "\n" +
    " URI: " +
    exception.getSystemId() + "\n" +
    " Message: " +
    exception.getMessage());
    throw new SAXException("Error encountered");
    * <p>
    * This will report a fatal error that has occurred; this indicates
    * that a rule has been broken that makes continued parsing either
    * impossible or an almost certain waste of time.
    * </p>
    * @param exception <code>SAXParseException</code> that occurred.
    * @throws <code>SAXException</code> when things go wrong
    public void fatalError(SAXParseException exception)
    throws SAXException {
    System.out.println("**Parsing Fatal Error**\n" +
    " Line: " +
    exception.getLineNumber() + "\n" +
    " URI: " +
    exception.getSystemId() + "\n" +
    " Message: " +
    exception.getMessage());
    throw new SAXException("Fatal Error encountered");

    I have seen this error when I'm executing inside one of the (j2ee sun reference implementation) server containers (either web or ejb). I believe its caused by "something" having previously loaded the "sax 1 driver class". In my case, I think the container or server is loading the sax parser from a jar that contains a sax 1 version. If you can, ensure that nothing is loading the sax 1 parser from another jar on your system. Verify that you are loading the sax parser from a jar containing the latest version so that you get the sax 2 compliant parser. Good luck!

  • Getting error code 2 and also "selected driver not found (-10202)" when trying to change output/input in garage band. Driver issue?

    Garage band newbie here...Been trying to record using PreSonus as my interface..having nothing but problems when I try to bring up
    garageband. Multible restarts did help at first but now I can get no sound and cant seem to load the drivers at all in output/input...any help with this problem?

    YES!!! YES!!! YES!!!
    I got it!!! Yes!!!
    Guys, I've solved my problem about that error -10202 (Selected driver not found).
    I have installed in my Mac Pro (OS X 10.5.8) a document with an extension ".rsrc" to correct the position of the accents in my keyboard, like acute accent, tilde and circumflex.
    That file is called "U.S. - International.rsrc" and it's stored in the following path:
    "Macintosh HD/Library/Keyboard Layouts"
    So, when it's properly installed, I can choose 2 country flags on the right side of the menu bar (U.S. - International and Brazilian).
    That's the clue!
    When I pick up "U.S. - International", my keyboard works fine with the accents, >>>BUT<<< Logic Pro 9 doesn't recognize my audio driver; and when I pick up "Brazilian", my keyboard doesn't work with the accents exactly as it shows me on each key, BUT Logic Pro 9 DOES recognize my audio driver.
    So, when I want to write anything out, I will pick up the "US - International" and when I want to work on the Logic Pro 9, I will pick up "Brazilian".
    I hope I can help all of you.
    Regards,
    Renato Veiga.

  • HT1199 I updated Itunes on my PC and now when i try to open Itunes i get a error message saying "application failed to start because MSVCR80 was not found" then whenI close that pop up I get a error message saying "windows was not installed correctly Erro

    I updated my itunes the other day and now it won't open I get error message saying "application failed to start because MSVCR80 was not found"  When I close that window I get message stating Itunes was not installed correctly Error 7 Windows error 126.  My PC is a Acer and I'm running Windows Visa.  I tried to uninstall Itunes and reinstall it and get same message.  Can anyone help.

    Click here and follow the instructions. You may need to completely remove and reinstall iTunes and all related components, or run the process multiple times; this won't normally affect its library, but that should be backed up anyway.
    (99659)

  • Error:java.lang.Double:method parseDouble(Ljava/lang/String;)D not found.

    Hi ,
    oracle apps version : 11.5.10.2 and database version 11.2.0.2.
    OS version Solaris Sparc 64 Bit.
    We were performing a cloing activity on a new server and now while opening forms we are getting the following error :
    error:java.lang.Double:method parseDouble(Ljava/lang/String;)D not found.Please suggest what has to be done.
    Regards
    Kk

    Hi ,
    D:\Documents and Settings\800045916>java -version
    java version "1.6.0_29"
    Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
    Java HotSpot(TM) Client VM (build 20.4-b02, mixed mode, sharing)We have been struggling with the Solaris server for this. Is something needed from there also or just need to have the latest JRE in the windows client machine.
    Regards
    Kk

Maybe you are looking for

  • 3rd Party Sales::Create Automatic PO in Item Cat vs. in SL Catgy

    Hi All, I've a query regd the 3rd party sales order processing. There is an indicator at item category level, we've an indicator 'Create PO Automatic'. Also, at Schedule Line category level, for CS, we've indicators for Order Type as NB and Item cate

  • How do I return playback to the main stage timeline from a symbol?

    In trying to learn Edge, is there a way to return playback (play from) once an animation is complete within a symbol? For instance, I have the main timeline that shows a symbol animation on creationcomplete, but when the animation is finished in the

  • Export function is not working.

    Hello gurus, I am using the export function and I am unable to download the tsv file. We have 2 development instances (both R12) and it works on one of them but not the other. The file I am trying to export is under OM\Quick Order Organizer\Holds Inf

  • Month Column in Graphs

    Hi, I created new month column by using month function and Date. I created month by cost reports where some of the month having null value. If i create graph only data available months are displaying in the graph but my requirement is all months(Jan-

  • CSS question - could someone explain

    Morning all, Id really like to understand what is going on when IE 6 and less, drops the float under, seems to be adding in an extra pixel between the floats or something. I have sorted the issue previously, more by fluke than anything else, usually