[JS] The event handler function is presented as the result in the ESTK

I have a ScriptUI tree, with a onExpand event, like this:

Window1.tvwTree.onExpand  = function (item){
    $.writeln(item.key + " is now expanded.");
}

Whenever the script is run, I get this in the console to ExtendScript Toolkit Javascript:

Execution finished. Result: onExpand()

First question is: why?

Second question: what is the best and cleanest way to take care of the event onExpand? I failed to assign a function to the event of onExpand, in the same way as I do for functions without parameters.

For simple events, without parameters, I did like this:

Window1.....DropDownList2.onChange = cboNewLanguage_onChange;

... but the onExpand event has its parameter to "point" to take care of, and I can't seem to assign the function in a similar way. Please enlighten me.

(It would be possible to use a prototype approach, events like this? Get a common function for all events of onExpand...?)

Thank you

Andreas

Hi Andreas,

First question: what is supposed to be item.key? Did extend you the ListItem properties?

How assign you the function of onExpand seems correct to me. The following code should work:

var myExpandHandler = function(/*ListItem*/ item)
{
     // this => TreeView
     // item => expanded ListItem
     alert( item.text + ' is now expanded.' );
};
myTree.onExpand = myExpandHandler;

Alternatively, you can create a generic handler in the prototype of TreeView :

TreeView.prototype.onExpand = function(/*ListItem*/ item)
{
     // this => TreeView
     // item => expanded ListItem
     alert( item.text + ' is now expanded.' );
};

Works for me in CS4 & CS5 +.

Note: the onExpand function has no equivalent event listener, you cannot use the form: .addEventListener ('expand', myEventListener).

I don't know why your script causes the ESTK console display "result: onExpand() '. Your code probably contains the corresponding $.writeln somewhere, isn't? In addition, consider that if your user interface code uses something like myListItem.expanded = true; then the onExpand handler is called before win.show (). This may explain the unexpected reactions in the console (?)

@+

Marc

Tags: InDesign

Similar Questions

  • How can I access the data associated with an event within the event handler function?

    Hello

    In my LabWindows code, I try to use a DLL that has been developed in .NET (c#).  I used the built-in labwindows Wizard that converts the DLL to a usable 'instrument'.  Almost everything seems to work, except that I have 1 problem.

    There is an event (defined in the DLL) that I am able to detect.  I know that the reminder of the event is called at the right time.  But the problem is that in this function, I can't access the data that is supposed to be attached to the event.  It worked fine in c#, but I don't know how to do in LabWindows.  Here's what looked like in c# event handler function:

    void AppLoaderEventCallback (CommonLib.CommandResult MyResults)

    {

    MyResults is used in the body of this function

    }

    But in LabWindows, I can't seem to access the MyResults data structure.  Here's what I do:

    public static int CVICALLBACK AppLoaderEventCallback (CommonLib_CommandResult MyResults)

    {

    I can't access MyResults here

    }

    Can you help me with this?  I'm doing something wrong?

    Thank you very much for your help.

    -Mike

    I think that your statement of callback function is perhaps not quite correct. Look using the parameter "callback function" function Panel of the generated __Create function associated with this event. This shows the declaration of the callback function - make sure that your callback function is declared in the same way.

  • pass data to the event handler function

    I'm trying to pass the value of the event handler function, but I get the following error. Can someone please tell me what I'm doing wrong?

    1067: constraint implied a Sub type value to a type unrelated function

    Here is the code

    private void myClickListener(myid:int):void {}
    Alert.Show ("button was clicked");
    }


    public void handleStringResult(event:ResultEvent):void {}
    catInfo = event.result as ArrayCollection collection;
    for each {(var o: Object in catInfo)
    var b:Button = new Button();
    b.label = o.FILLCOLOR;
    b.ID = o.CATID;
    b.setStyle("fillColors",['#'+o.FILLCOLOR,'#'+o.FILLCOLOR]);
    b.setStyle ("color", "#FFFFFF");
    b.setStyle ("fontFamily", "Arial");
    b.setStyle("fontSize",8);
    b.setStyle ("textRollOverColor", "red");
    b.addEventListener (MouseEvent.CLICK, myClickListener (o.CATID));
    myvbox.addChild (b);
    }
    }
    []] >

    "Merlyn MM" wrote in message
    News:gb901m$2QD$1@forums. Macromedia.com...
    > Of course, here's the code. I am very new to flex and if my code is not
    > sense
    > so please let me know the correct way to proceed. I really appreciate
    > you
    > take the time!
    >
    >
    ' > http://www.adobe.com/2006/mxml '.
    > layout = "absolute".
    > backgroundColor = "#FFFFFF."
    > initialize = "myService.getcategories.send ()" > "
    >
    > useProxy = "false".
    "" > wsdl = " http://devsite/rc/category.cfc?wsdl"
    > showBusyCursor = "true" >
    >
    > result = "handleStringResult (event)" "
    > fault = "Alert.show (event.fault.message)" / > "
    >
    > fault = "Alert.show (event.fault.message)" / > "
    > //Need CATID to pass the ID of category here
    >
    >
    >
    >
    > > import mx.collections.ArrayCollection;
    > import mx.rpc.events.ResultEvent;
    > import mx.rpc.events.FaultEvent;
    > import mx.controls.Alert;
    > import mx.controls.Button;
    >
    > [Bindable]
    > private var catInfo:ArrayCollection;
    >
    > private void myClickListener(myId:String):void {}
    >
    > myService.getcounties.send () / / I need to send the catid here to the
    > webservice
    > }
    >
    >
    > public void handleStringResult(event:ResultEvent):void {}
    > catInfo = event.result as ArrayCollection collection;
    > for each {(var o: Object in catInfo)
    > var b:Button = new Button();
    > b.label = o.FILLCOLOR;
    > b.id = 'btn' + o.CATID;
    >
    > b.setStyle("fillColors",['#'+o.FILLCOLOR,'#'+o.FILLCOLOR]);
    > b.setStyle ("color", "#FFFFFF");
    > b.setStyle ("fontFamily", "Arial");
    > b.setStyle("fontSize",8);
    > b.setStyle ("textRollOverColor", "red");
    > b.addEventListener ("click", myClickListener);
    > myvbox.addChild (b);
    > }
    > }
    > ]]>
    >

    I would like to change it to this:

    private void myClickListener(e:Event):void {}

    I do not see where you use the ID, but to do it,
    Use this code:
    var e.currentTarget.data = myID;

    myService.getcounties.send () / / I need to send the catid here to the
    WebService
    }

    public void handleStringResult(event:ResultEvent):void {}
    catInfo = event.result as ArrayCollection collection;
    for each {(var o: Object in catInfo)
    var b:Button = new Button();
    b.label = o.FILLCOLOR;
    Note that you could not have used your ID
    as a 'handle' to anything, so I replaced
    This logic with something you _could_ use
    b.Data = o.CATID;

    b.setStyle("fillColors",['#'+o.FILLCOLOR,'#'+o.FILLCOLOR]);
    b.setStyle ("color", "#FFFFFF");
    b.setStyle ("fontFamily", "Arial");
    b.setStyle("fontSize",8);
    b.setStyle ("textRollOverColor", "red");
    b.addEventListener ("click", myClickListener);
    myvbox.addChild (b);
    }
    }

    You could also use a Repeater and establish in MXML.

    HTH;

    Amy

  • Question on event management + functions

    Hello world. I hope you could help me with the following problem:

    I am trying to write a function that would load the XML file when I click on an object. Now, I want to have a function for all objects and just transfer the XML file name whenever I click on a different object.
    So, I think it should look like:

    Object1.addEventListener(MouseEvent.CLICK, LoadXML("XML1.xml"));
    Object2.addEventListener(MouseEvent.CLICK, LoadXML("XML2.xml"));
    
    

    I'm not sure about "LoadXML ("Xml1.xml") so.

    If I click Object1 - LoadXML with the parameter 'XML1.xml' is called.

    Now, the LoadXML function would look like:

    function LoadXML(evt:MouseEvent, urlXML:String):void{
    some code
    }

    The problem is, that LoadXML has two parameters - how I call?

    I wrote at the beginning

    evt var: MouseEvent

    and just call LoadXML as LoadXML (evt, "XML1.xml")

    but then I get the error message:

    "Implicit coercion of a value of type void to a type unrelated to function".

    How can I write this code?

    What I was suggesting, it is that you set a property (and not an object) named fileToLoad to the object (MovieClip) and that property would identify a string naming the file associated with this file to be loaded later.

    Later on when you set the listener you don't have to try and add in an argument, the way in which you (which won't work).  The object bears the name of the file with it through this property to fileToLoad, and you just need to use when you arrive at your event handler for the objects function.  You are able to use it because you can identify the object that has been activated using the event.currentTarget

    Insofar as...  Looks like I need to create their unique:

    Object1.fileToLoad1

    Object2.fileToLoad2

    No, you can have each object is assigned a fileToLoad property (this is what makes the event handler function can be used by all objects).  You need just to be sure to assign a different name to each object's fileToLoad property... see my initial response.

  • How to add an event handler (to the click or mouseover) symbol on the timeline of the scene

    Is it possible to add an event handler on the main stage anime who controls a symbol?  Thus, for example, if you had several symbols on the stage, each with their own unique name, then on the main stage you wanted to add a list of event handlers specific to these symbols to affect a change when you interacted with this symbol.

    For example when you click on the symbol a few things happen here...

    (1) for (name of the symbol) click starts the animation of the symbol

    2) roll (symbol name) the symbol animation stops

    (3) the symbols background image is set on the main timeline.

    All this can be done easily on the symbol itself, but those is possible since the main timeline (scene).  Anyone know a solution?

    Yes

    1. Add jquery min CDN (https://code.jquery.com/jquery-2.1.1.min.js) to the script library (from the "Add js to URL" option.

    2. in the compositionReady event handler try something like that - the "many event handlers section" located here: http://learn.jquery.com/events/handling-events/

    Code example

    item = sym.$("btn");

    Element.on ({}

    MouseEnter: function() {}

    Do something

    Alert ("gliding on a div");

    },

    MouseLeave: function() {}

    Do something

    Alert ("the mouse has left a div");

    },

    click on: function() {}

    Do something

    Alert ("clicked on a div");

    }

    });

    end of the sample code

    A way to do among many others. In the use above cases pay special attention to the point of separation between the "chained" events

    HTH

    Darrell

  • Help with the event handler.

    Hello
    We had two adapters entity IOM 10 g that fires when the user group memberships are changed. He was attached to the User Groups.User Members post insert and delete data object after.
    To have the same functionality in OIM 11 g, we try to create the event handler.

    I have doubts in this regard.
    1. how the event handler will fire in 11 g on change of group.
    2. we have event handlers that are registered using Ant plugin to check utility. Now, if I want to join this newly created event handler, do I need to implement the new code already a create a new pot and re-save the plugin or can we have several plugin.zip file.

    Thank you

    concerning
    Stone

    steps below:

    prepare the pot for the class as in 10g-> put the server (anywhere) IOM-> goto /Server/bin/now run below
    UploadJars.sh

    Select as a scheduled task
    provide the absolute path with name of the jar.
    If credentials requested provide IOM credential (xelsysadm)

    Once the pot is downloaded to remove the file system. subsequently if necessary change to use UpdateJars.sh instead of UploadJars.sh
    Once you do this PurgeCache.sh performance as well

    --

  • The onDeactivate event handler does not work in InDesign CC. Why?

    Hi guys.

    I'm working on a script in Javascript for InDesign CC.

    The big problem is that the onDeactivate event handler does not work.

    Here is an example that works in InDesign CSx, but not in InDesign CC:

    #target indesign
    var w = new Window ("dialog", "Test onDeactivate");
    var et_1 = w.add("edittext", [undefined, undefined, 300, 30], "Lorem ipsum");
    var et_2 = w.add("edittext", [undefined, undefined, 300, 30], "Dolor sit amet");
    var st = w.add("statictext", [undefined, undefined, 300, 30], "CONSOLE:\r\r", {multiline: true});
    et_1.onDeactivate = et_2.onDeactivate = function(){
         st.text = "CONSOLE: I left the field with this text:\r\t«" + this.text +"»"; }
    var b_ok = w.add("button", undefined, "OK");
    w.show();
    

    The script displays a dialog with text edit fields window 2: when a field loses focus (by clicking on the other), the "CONSOLE" shows the text of the old domain.

    Adobe, please, solve this problem as soon as possible.

    Thank you.

    Giorgio

    This is a bug, and it has been reported. Please report it to yourself, more the better reports. It's no good Adobe invite you in this forum to fix something.

    Peter

  • Error in the post process event handler

    We should write a process post event handler that updates the field Manager. So, I used the following code to update the Manager field when a user is created:

    Code:

    public EventResult run (long processId, long eventId,
    Orchestration of the orchestration) {}
    System.out.println ("Test for the event handler");
    Try
    {
    Take string = getUserKey (processId, orchestration);
    System.out.println ("USERKEY1" + take);
    UserManager userMgmt = Platform.getService (UserManager.class);
    System.out.println ("USERMANAGEMENT" + userMgmt);
    System.out.println (userMgmt.modify (User (take))) of new;
    userMgmt.modify ("usr_mgr_key", "28", new User (take));
    System.out.println ("USERKEY2" + take);


    } catch (ValidationFailedException e) {}
    System.out.println ("Exception1");
    } catch (AccessDeniedException e) {}
    System.out.println ("Exception2") ;} {} catch (UserModifyException e)
    System.out.println ("Exception3") ;} {} catch (NoSuchUserException e)
    System.out.println ("Exception4") ;} {} catch (SearchKeyNotUniqueException e)
    }
    return new EventResult();
    }


    private String getUserKey (long processID, orchestration of the Orchestration) {}
    Take string;
    String entityType = orchestration.getTarget () .getType ();
    Result of the EventResult;
    result = new EventResult();
    System.out.println ("Feature Type" + entityType);
    System.out.println ("PID" + processID);

    If (! orchestration.getOperation () .equals ("CREATE")) {}
    Take = orchestration.getTarget () .getEntityId ();
    System.out.println ("UserKEY0" + take);
    } else {}
    OrchestrationEngine orchEngine = (OrchestrationEngine.class) Platform.getService;
    Take = (String) orchEngine.getActionResult (processID);
    System.out.println ("Take-1" + take);
    }
    Return take;

    }

    It compiles very well, and when we try to create a user, the user is created successfully. But the expected behaviours of the upadting field Manager with the key to the user '28' are not the case. My highest approach: is it good or is there another method that will make it work?

    The output message I see is:

    Test for the event handler
    TypeUser entity
    Process ID140343
    Take-1613
    USERKEY1613
    USERMANAGEMENToracle.iam.identity.usermgmt.api.UserManagerDelegate@75ecf9ed
    < 27 February 2012 10:56:41 hours GMT > < WARNING > < oracle.iam.callbacks.common > < ARA-2030146 > < [CALLBACKMSG] are present for this eventhandler async to policies? : false >
    oracle.iam.identity.usermgmt.vo.UserManagerResult@14da2ada
    < 27 February 2012 10:56:44 hours GMT > < error > < oracle.iam.identity.usermgmt.impl > < ARA-3051212 > < an error occurred when searching for users -: [usr_mgr_key]. >
    Licence4


    Thank you
    Krish

    I hope that the incorrect coding.
    Use this code.

    UserManager userMgmt = oimClient.getService (UserManager.class);
    Attribute to change
    HashMap atrrMap = new HashMap ();
    atrrMap.put ("usr_manager_key", Long.valueOf("1")); the user will be updated with key Manager 1 (xelsysadm) make sure usr_key 1 (Manager) are in IOM.
              
    get the user you want to change
    User user = userMgmt.getDetails ("usr_key", "41", null);
    User = new User (String.valueOf (user.getId ()), atrrMap);
    Result UserManagerResult = userMgmt.modify ("usr_key", String.valueOf("41"), user);
    UserManagerResult str = userMgmt.modify ("usr_mgr_key", "111", new User ("41"));
    System.out.println ("UserUpdate.Process ()" + result.getStatus ());

    Also do not use the UserManager class, he can go for a loop.
    Use
    EntityManager entityManager = Platform.getService (EntityManager.class);
    entityManager.modifyEntity (orchestrationTarget.getType (), take, mapAttrs);

    I assume you want to use the manager associated with use of the user cases.

    Thank you
    Kuldeep

  • [JS CS5] problem with memory leak possible with the dialog box in the event handler

    Hello

    I'm having a very difficult problem.

    I am attaching a script in a handler for a menu item, by using an installation script menu that I wrote based on one by Marc Autret. My version of the script menu installation attach a bunch of event handlers at the same time, to the actions of different menu.

    What is the event handler, with that I have a problem is to prompt the user for a URL and then applies the URL as a hyperlink to the text selection, with our house style for the way in which the URL should look like.

    The problem is the following:

    1. all other installed menu actions work very well, except for this one.

    2. the addition of URL script works fine, when you run it directly from the script menu.

    3. the combination of #1 and #2 (using the script to add URL by function as an event handler in the Edit menu) blocks to InDesign. But it is only after the addition of URL script has finished and done what it was supposed to do!

    4. when I comment on the section of the script URL adding user input, so that instead of saying

    userInput = myDisplayDialog();
    

    It is said

    userInput = "http://thisworks.com";   // userInput = myDisplayDialog();
    

    It works well as an event handler.

    So obviously a problem with the dialog box, but only when adding URL script is executed as an event handler. My first guess is that this is some kind of memory leak, but I think I am following the model of. destroy() the way I saw it elsewhere.

    Someone knows something like that before?

    I can provide all relevant if necessary scripts, but they are quite complicated. The most important of them is the input of the user function. Here it is:

    var myDisplayDialog = function( defaultText ) {
      
        var defaultText = defaultText || "";
        
        var myDialog = app.dialogs.add({
            name: "Type in a URL"
        });
        
        var myOuterColumns = [];
        var myInnerColumns = [];
        var myOuterRows = [];
        var myBorderPanels = [];
        var myTextEditboxes = [];
        var myInput;
        
        myOuterColumns[0] = myDialog.dialogColumns.add();
        myOuterRows[0] = myOuterColumns[0].dialogRows.add();
    
    
        myBorderPanels[0] = myOuterRows[0].borderPanels.add();
        myInnerColumns[0] = myBorderPanels[0].dialogColumns.add();
        myInnerColumns[0].staticTexts.add({
            staticLabel: "URL:"
        });
        
        myInnerColumns[1] = myBorderPanels[0].dialogColumns.add();
            
        myTextEditboxes[0] = myInnerColumns[1].textEditboxes.add({
             minWidth: 300,
             editContents: defaultText ? defaultText : "http://"
        });
        
        var myResult = myDialog.show();
        var myInput = myTextEditboxes[0].editContents;
        
        myDialog.destroy();
    
        if (myResult == false) {
              exit();
        }
        
        return myInput;
    
    }
    
    

    Hi Richard,

    Unfortunately, there is no guarantee that the ScriptUI longer work.

    Thake a peek here: http://forums.adobe.com/message/2881364

    --

    Marijan (tomaxxi)

    http://tomaxxi.com

  • Question of the order of events and functions

    Hello

    Sorry for the stupid question, but I'm working on something big and I would hate a small rock to thow me off in the end.

    So here it is:

    I not know how to operate the functions-> if you have:

    function function1() {}

    function3();

    }

    function function2() {}

    }

    function function3() {}

    }

    function1();

    function2();

    First runs function1 and function2 and function3. Is simple baptisms the function1 + everything it has nested functions again from the top to the bottom, then function2 etc.

    OK, so now I have this situation:

    If you have an INTERNAL component that is in the MAIN component. If you addEventListener (FlexEvent.CREATION_COMPLETE, test) inside of the INSIDE (class of the function of construction in my case) and also add the same event listener once again inside but the MAIN ingredient such as:

    public void main_creationCompleteHandler(event:FlexEvent):void {}

    inner.addEventListener (FlexEvent.CREATION_COMPLETE, test);

    addElement (inner);

    }

    Then you will have 2 event for the same event listeners. First one written to the INNER component will run, and then it will run in the MAIN component.

    Now if I set many many functions in INNER creationCompleteHandler, will all 100% complete before the creationCompleteHandler to HAND work?

    As I tested it, it looks like each treatment must be 100% made to the INNER creationCompleteHandler before it passes to the creationCompleteHandler of HAND.

    Can someone confirm that flash/flex works like that? Thank you!

    FM_Flame wrote:

    Hi Alex, guys,.

    so, I would like to summarize the question and if we can just say Yes or I guided even what is Yes, then there is no confusion

    Here are 2 scenarios:

    1) 2 headphones are added to the same same thing e.g. CREATION_COMPLETE - one for the component and the other to the container.

    It works like this:

    un) pane-> creationCompleteHandler starts to perform its functions/activities

    b) containing-> creationCompleteHandler starts to perform its functions/activities

    The question here is: will a) be 100% full before before flash moves to b) or b) could happen sometimes some time one) is running?

    Note: Yes this means a) will be 100% complete bofore b) occurs.

    2) for the second scenario allows to take 2 different events INITIALIZE and the FlexEvent CREATION_COMPLETE and add the listener both in the component only this time, so we do not complicate things.

    It works like this:

    un) pane-> initializeHandler starts to perform its functions/activities

    b) pane-> creationCompleteHandler starts to perform its functions/activities

    The question here is the same: will a) be 100% full before before flash moves to b) or b) could happen sometimes some time one) is running?

    Note: Yes this means a) will be 100% complete bofore b) occurs.

    Thank you very much

    (1) flash is currently single-threaded, so a Manager will end before the end of another Manager for the event itself. The processing order is not guaranteed and since your handlers are listening for the event attached to the same object, that it is imprudent to write code that depends on the order in which these handlers are called. Adobe are working to multi-threading the flash plugin, in the future any order that may now exist differrent in the future and any treatment that depends on a single completion handler until the other is called can also fail in the future because a multi-threaded player could activate the two managers simultaneously.

    It's nice to have answers Yes/No, but only if you want to write poor code that can work, by accident, until something changes that you have no control over.

    Do not write code that depends on the order this event handler is called for the same event.

    (2) initialize occurs before the complete creation. The answer is Yes.

  • Event handler on the selectedItem of a ComboBox?

    You can run actionscript as an event handler using the "selectedItem" of a ComboBox?  I prefer to do this by using the XML file, but at this point I'll know any ideas.

    Thank you.

    I am not 100% sure what you mean... but...

    Try this and see your options:

    var x: ComboBox;
    () x.addEventListener

    ^ You can add events to your handle and combobox controls with AS functions... what precisely you trying to do?

    Let me start with this:

    var x: ComboBox;
    x.addEventListener (ListEvent.CHANGE, myListEventChangedFunction, false, 1);

    and according to myListEventChanged, I would like to use the selectedItem object to do your job in there.

  • Cannot find the appropriate event handler

    In the following code, I create 5 paintings where each canvas behaves like a button. Each canvas contains a text field and each canvas is movable. I want to trigger an event when the user drags on the side of the canvas, but on the contrary it is triggered as soon as I roll on the text field. You will see what I mean if you click on the text, and then drag the text to the side. It will trigger a trace.

    It is very important that I have only to raise an event when I drag the canvas, not the text. Is there an event handler that will make thios for me?

    Thank you!

    <? XML version = "1.0" encoding = "utf-8"? >
    " < = xmlns:mx mx:Application ' http://www.Adobe.com/2006/MXML "layout ="absolute"creationComplete =" init () "> "
    < mx:Script >
    <! [CDATA]
    Import mx.controls.Button;
    Import mx.controls.Image;
    Import mx.controls.Text;
    private var canvas2:Canvas;
    private var imageText:Text;
    [Bindable] private var thisButtonNumber:Number
    [Bindable] private var dragRectangle:Rectangle = new Rectangle (0, 0, 0, 300)
    private function init (): void {}
    for (var i: int = 0; i < 5; i ++) {}
    Canvas2 = new canvas;
    Canvas2.addEventListener (MouseEvent.MOUSE_DOWN, allowDrag)
    Canvas2. Width = 300;
    Canvas2.y = i * 30;
    imageText = new text;
    imageText.selectable = false;
    imageText.text = "Button" + (i) String;
    imageText.x = 130
    imageText.y = 5;
    Canvas2. AddChild (imageText);
    Canvas1. AddChild (canvas2);
    }
    function allowDrag(e:MouseEvent):void {}
    Canvas1. AddChild (DisplayObject (e.currentTarget));
    e.currentTarget.startDrag (false, dragRectangle);
    e.currentTarget.addEventListener (MouseEvent.MOUSE_MOVE, checkPosition)
    }
    function ROLL_OUTtest(e:MouseEvent):void {}
    trace ("ROLL_OUTtest =" + e.currentTarget)
    e.currentTarget.stopDrag ();
    }
    function checkPosition(e:MouseEvent):void {}
    e.currentTarget.addEventListener (MouseEvent.MOUSE_OUT, ROLL_OUTtest)
    }
    }
    []] >
    < / mx:Script >
    < mx:Canvas id = "canvas1" x = "400" y = "25" backgroundColor = "0xdddddd" buttonMode = "true" useHandCursor = "true" / >
    < / mx:Application >

    Try ROLL_OUT, MOUSE_OUT not

  • Bug: RichTextEditor 'Initialize' not classified as the event handler

    I'm trying to load the RichTextEditor control in a pop-up window. Here is my code:

    var rte:RichTextEditor = new RichTextEditor();
    
    rte.width   =  600;
    rte.height  =  500;
    rte.title   =  'Edit Text';
    

    I have to add the initialize event handler, so I can add a button to the toolbar (as on the model on the Adobe Web site).

    However, when I type:

    rte.initialize  =  "addSaveButton()";
    

    Flash Builder says this isn't valid as "initialize" is in fact a function that accepts no parameters.

    Compare this with:

    <mx:RichTextEditor initialize="addSaveButton()"/>
    

    Flash Builder recongises "initialize" as an event handler and therefore accepts the addSaveButton() function.

    Can anyone else confirm if this is a bug with the SDK or not? I can simply add the button outside the RTE for now, but then I wrap the RTE in a separate panel for the button, which is not ideal.

    Thanks in advance.

    Hello

    This is how to add the event listener

    rte.addEventListener (FlexEvent.INITIALIZE, addSaveButton);

    David.

  • Help with the scripts of "event handler".

    Ok. I am new to using event handler and the Listener Script for I have not every little thing down yet.

    What I'm trying to do is set up an event handler to activate a script when I select a layer. As I have now, the active script no matter what I choose and I'm unable to limit it to only activate when I select a layer. The ScriptListener output was:

    var idslct = charIDToTypeID ("TPCV");
    var desc10 = new ActionDescriptor();
    var idnull = charIDToTypeID ("null");
    ref19 var = new ActionReference();
    var idLyr = charIDToTypeID ("Lyr");
    ref19.putName (idLyr, 'Face');
    desc10.putReference (idnull, ref19);
    var idMkVs = charIDToTypeID ("MKV");
    desc10.putBoolean (idMkVs, false);
    executeAction (idslct, desc10, DialogModes.NO);

    I used TPCV under the name of the event during the creation of the new event in the event handler. However, this same ID is used when a tool is selected. This isn't a huge problem, but for the fact that my reason for setting this up is so that when I select a layer, first I want to implement a predefined specific tool to use on it. If I can change the tools (select another tool) and have always the same layer selected in the script automatically selects the initial tool to the layer which is always selected this layer is always the active layer.

    Example: Suppose I have the following layers...

    Texture

    Heal

    Tones

    Eyes

    Lips

    Face

    These are not my normal layers, but for example when I select the layer "Cure" I would like to start with the Healing Brush tool. However, sometimes I want to use clone on this layer as well. Using the event at this time, Heal would still be the active layer when I make the choice to the clone tool so the script would then return the selected tool, Healing Brush tool.

    So, is it possible to limit the selection event ID to activate only when a layer is selected? I noticed that the line above in bold/red is the event ID of layer. I don't know how to do this in the event handler or the script.

    Thanks for any help.

    Mike

    Here ya go...

    //
    // SelectLayerHandler.jsx
    //
    
    function _selectLayerHandler(desc) {
      // do whatever when a layer is selected
      var doc = app.activeDocument;
      var layer = doc.activeLayer;
      alert("Layer " + layer.name + " selected");
    };
    
    cTID = function(s) { return app.charIDToTypeID(s); };
    sTID = function(s) { return app.stringIDToTypeID(s); };
    
    try {
      if (arguments.length >= 2) {
        var desc = arguments[0];
        var event = arguments[1];
        if (event == cTID('slct')) {
          var ref = desc.getReference(cTID('null'));
          var cls = ref.getDesiredClass();
          if (cls == cTID('Lyr ')) {
            _selectLayerHandler(desc);
          }
        }
      }
    } catch (e) {
      alert( "Error: " + e + ":" + e.line );
    }
    
    "SelectLayerHandler.jsx";
    // EOF
    
  • Is there a c# example to use the event handler ExpressionEdit Custom Button control

    TestStand 4.1

    VISUAL C# 2008

    I've added the event handler for ExpressionEdit events as I would any event handler:

    exprEdit.ButtonClick += new NationalInstruments.TestStand.Interop.UI.Ax._ExpressionEditEvents_ButtonClickEventHandler (_ExpressionEditEvents_ButtonClickEvent);

    Then, I create the event handler using the syntax

    public void _ExpressionEditEvents_ButtonClickEvent(NationalInstruments.TestStand.Interop.UI.ExpressionEditButton btn)

    {

    }

    I get the following error when I compile Isaiah:

    Error 1 no overload for delegate matches '_ExpressionEditEvents_ButtonClickEvent' 'NationalInstruments.TestStand.Interop.UI.Ax._ExpressionEditEvents_ButtonClickEventHandler '.

    I guess that means that I don't have the right parameters or types in my statement of event handler, but it corresponds to the object browser.  Any ideas on what I'm missing?

    See my last edition but I think you want your handler to look like this:

    Public Sub exprEdit_ButtonClick (ByVal sender,
    NationalInstruments.TestStand.Interop.UI.Ax._ExpressionEditEvents_ButtonClickEvent
    (e)

Maybe you are looking for

  • New i - pod Touch restrictions - will be deferred?

    My daughter has a 5th gen ipod touch with restrictions imposed by me.  The ipod is dead so we bought him a new one, to be received today.  Restrictions that I put in place on the 5th generation automatically will be the 6th gen or what I put up again

  • Screenshot "oddity".

    Come accidentally, I noticed this when reading a post. I opened the 'Go' menu Finder and I noticed mine was closer I watched one displayed in the post. I put a screenshot and as soon as I pressed command-shift, my menu has grown wider. I had to use t

  • I'm using Labview TDS3000 Tektronix pilot measures the delay between pulses on two different channels

    I use the driver for Tektronix TDS3000 Labview to configure an TDS3034B oscilloscope and I try to measure the gap between the falling edge of a pulse on channel 1 and the edge failling from an impulse on channel 2. It seems that the TDS3034 can measu

  • Cut-off for the 6008 analog input voltage

    I am using the analog inputs NI USB-6008.  The specification says they have a 144 k ohms input impedance.  But it does not say what is the cut-off voltage.  If you leave a disconnected and measure the voltage you will get 1.4 volts.  So I guess it's

  • How can I get rid of the problem of TrayApp.msi?

    I get a dialog box, to try to load TrayApp whenever I start my PC.  How can I get rid of him?