Mouse events fires on invisible plot drawn in cwgraph

i have drawn a plot(which is invisible) on a cwgraph and set graph trackmode to cwgtrackallevents.Mouse events(plotmousedown/plotmouseup) are still fired for this invisible plot.

Hey Vishal,
What version of the cwgraph are you using? I tried the following program with CWGraph version 7.1 and I did not receive mouse events for the invisible plot.
CWGraph1.PlotY (y)
CWGraph1.Plots(1).Visible = False
CWGraph1.TrackMode = cwGTrackAllEvents
I also tried the PlotMouseMove event and I received this event if the plot was visible and didn't if it was invisible. This event was a lot easier to test. It's hard to click on an invisible plot. Did you see the same behavior with PlotMouseMove?
There are some known issues with invisible plots in earlier versions of Measurement Studio. Please see link below. If you are using an old version then I would assume this is the problem.
RHIVEID=101&RNAME=ViewQuestion&HOID=5065000000080000007A2B0000&ECategory=Measurement+Studio.For+Visu...
I hope this helps!
Regards,
Sarah Miracle
National Instruments

Similar Messages

  • Capture mouse event(s) on XYgraph plot legend

    I notice that when I move the mouse over the plot name portion of the plot legend, the mouse icon changes.  If I left-click in this portion, the entire plot name region is highlighted. What event(s) and/or properties do I use to capture this behavior.  I would like to know the size and/or location of the plot name region highlighted.  I'm using LV 2010.  I know about the Legend.Size and Legend.Position properties. 

    Faustina:
    Unfortunately, there isn't an event we can latch onto when the plot within the legend is clicked on. As a workaround, we can add a radio button control beside the legend to select various plots. The radio button indices match up to the plot indices, so we can still select the active plot and rename it.
    I've attached a small example that allows the user to select a plot, and rename it from a menu of presets. You'll probably want to adapt it to run in a state machine or event structure, but the logic for changing plot names is there.
    Caleb Harris
    National Instruments | Mechanical Engineer | http://www.ni.com/support
    Attachments:
    change plot names.vi ‏19 KB

  • Mouse events triggered on touch

    In a multi-touch application, looks like the mouse events are triggered also on touch, so there is no way to detect if it was a cursor mouse down or a touch screen touch begin. Is this the case?
    Thanks, chr

    Hey Vishal,
    What version of the cwgraph are you using? I tried the following program with CWGraph version 7.1 and I did not receive mouse events for the invisible plot.
    CWGraph1.PlotY (y)
    CWGraph1.Plots(1).Visible = False
    CWGraph1.TrackMode = cwGTrackAllEvents
    I also tried the PlotMouseMove event and I received this event if the plot was visible and didn't if it was invisible. This event was a lot easier to test. It's hard to click on an invisible plot. Did you see the same behavior with PlotMouseMove?
    There are some known issues with invisible plots in earlier versions of Measurement Studio. Please see link below. If you are using an old version then I would assume this is the problem.
    RHIVEID=101&RNAME=ViewQuestion&HOID=5065000000080000007A2B0000&ECategory=Measurement+Studio.For+Visu...
    I hope this helps!
    Regards,
    Sarah Miracle
    National Instruments

  • Mouse event not fires on drag and drop

    Please
    Can any one help and give any idea during draging(drag drop) mouse over of a button does not fires. I have a list of thumb in which I want to drag and drop the thumb at any location for reordering the thumb but due to  lot of item in list need to sscroll list.  I have my own custom scroll on button mouse over but when Item is dragging  mouse event does not fires.
    Thanks in advance,
    Premkant

    Hi there,
    Reject caption shows up when an unacceptable source is dropped on a Target. To configure the 'Accept criteria', select a drop target, Click on the 'Accept' button, Deselect the checkbox corresponding to the unacceptable source. (As shown below)
    Now whenever the user drops 'Unaccept' source on top of the target, the 'Reject' caption shows up.
    Thanks,
    Nimmy Sukumaran.

  • ItemEditEnd hell - event fires gazillion times

    Well I was making great progress with my first major flex app when I hit a wall. The last element I put in place was to enable user to edit one column in a datagrid. Before I send the changes back to a web service I thought I would confirm that it is firing correctly and passing correct values. To my surprise the event fires over and over again. I believe its something to do with the use of the accordian and multiple canvases. Sorry but this is happening on both flex 3 and 4 platforms (its worse in 4 for some reason). I have not had a chance to scale down the project and simply it so apologies if the code is lenghty.
    Any ideas how to solve this?
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                   xmlns:s="library://ns.adobe.com/flex/spark"
                   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
                   creationPolicy= "all">
        <fx:Declarations>
                <mx:WebService
                id="nwCL2"
                wsdl="http://finance-web/BannerWebServices/BannerService.asmx?WSDL">
                <mx:operation name="FetchRequestAsTableToArray"
                              resultFormat="object"
                              showBusyCursor="true"
                              result="resultHandler(event)"
                              fault="onFault(event)">
                    <mx:request>
                        <IncRecItems>{IncRecItems}</IncRecItems>
                        <PmyGUID>{myGUID}</PmyGUID>
                        <AgeItems>{AgeItems}</AgeItems>
                    </mx:request>
                </mx:operation>
            </mx:WebService>
            <mx:WebService
                id="nwCL3"
                wsdl="http://finance-web/BannerWebServices/BannerService.asmx?WSDL">
                <mx:operation name="FetchDirectPOAsTableToArray"
                              resultFormat="object"
                              showBusyCursor="true"
                              result="resultHandler3(event)"
                              fault="onFault(event)">
                    <mx:request>
                        <IncRecItems>{IncRecItems}</IncRecItems>
                        <AgeItems>{AgeItems2}</AgeItems>
                        <PmyGUID>{myGUID}</PmyGUID>
                    </mx:request>
                </mx:operation>
            </mx:WebService>
            <mx:WebService
                id="nwCL4"
                wsdl="http://finance-web/BannerWebServices/BannerService.asmx?WSDL">
                <mx:operation name="FetchDirectPODELAsTableToArray"
                              resultFormat="object"
                              showBusyCursor="true"
                              result="resultHandler4(event)"
                              fault="onFault(event)">
                    <mx:request>
                        <PmyGUID>{myGUID}</PmyGUID>
                    </mx:request>
                </mx:operation>
            </mx:WebService>
            <mx:WebService
                id="nwCL5"
                wsdl="http://finance-web/BannerWebServices/BannerService.asmx?WSDL">
                <mx:operation name="SendMailMessage"
                              resultFormat="object"
                              showBusyCursor="true"
                              result="resultHandler5(event)"
                              fault="onFault(event)">
                    <mx:request>
                        <PmyGUID>{myGUID}</PmyGUID>
                        <from>
                            {from}
                        </from>
                        <recepient>
                            {recepient}
                        </recepient>
                        <bcc>
                            {bcc}
                        </bcc>
                        <cc>
                            {cc}
                        </cc>
                        <subject>
                            {subject}
                        </subject>
                        <body>
                            {myEmailBody}
                        </body>
                        <CallProc>
                            {CallProc}
                        </CallProc>
                    </mx:request>
                </mx:operation>
            </mx:WebService>
            <mx:WebService
                id="nwCL6"
                wsdl="http://finance-web/BannerWebServices/BannerService.asmx?WSDL">
                <mx:operation name="InsRecordFYPOAUD"
                              resultFormat="object"
                              showBusyCursor="true"
                              result="resultHandler6(event)"
                              fault="onFault(event)">
                    <mx:request>
                        <PmyGUID>{myGUID}</PmyGUID>
                        <myuserID>{myuserID}</myuserID>
                        <DocCode>{DocCode}</DocCode>
                    </mx:request>
                </mx:operation>
                <mx:operation name="DelRecordFYPOAUD"
                              resultFormat="object"
                              showBusyCursor="true"
                              result="resultHandler6(event)"
                              fault="onFault(event)">
                    <mx:request>
                        <PmyGUID>{myGUID}</PmyGUID>
                        <DocCode>{DocCode}</DocCode>
                    </mx:request>
                </mx:operation>
                <mx:operation name="FetchUserID"
                              resultFormat="object"
                              showBusyCursor="true"
                              result="resultHandler7(event)"
                              fault="onFault(event)">
                    <mx:request>
                        <PmyGUID>{myGUID}</PmyGUID>
                    </mx:request>
                </mx:operation>
                <mx:operation name="InsGUIDAudit"
                              resultFormat="object"
                              showBusyCursor="true"
                              result="resultHandler8(event)"
                              fault="onFault(event)">
                    <mx:request>
                        <PmyGUID>{myGUID}</PmyGUID>
                    </mx:request>
                </mx:operation>
            </mx:WebService>
            </fx:Declarations>
        <fx:Script>
            <![CDATA[
                import mx.collections.ArrayCollection;
                import mx.collections.IViewCursor;
                import mx.controls.Alert;
                import mx.controls.ToolTip;
                import mx.controls.dataGridClasses.DataGridColumn;
                import mx.controls.dataGridClasses.DataGridItemRenderer;
                import mx.core.mx_internal;
                import mx.events.DataGridEvent;
                import mx.events.ListEvent;
                import mx.rpc.events.FaultEvent;
                import mx.rpc.events.ResultEvent;
                //added after upgrading to flex 4
                import mx.core.FlexGlobals;
                import mx.controls.RichTextEditor
                //import flash.events.Event;
                [Bindable] public var IncRecItems:String;
                [Bindable] public var myGUID:String;
                [Bindable] public var myData:ArrayCollection;
                [Bindable]public var serverData:ArrayCollection; 
                [Bindable]public var serverData3:ArrayCollection;
                [Bindable]public var serverData4:ArrayCollection;
                [Bindable]public var serverData5:ArrayCollection;    
                [Bindable] public var IncRecItems3:String;
                [Bindable] public var from:String;
                [Bindable] public var recepient:String;
                [Bindable] public var bcc:String;
                [Bindable] public var cc:String;
                [Bindable] public var subject:String;
                [Bindable] public var body:String;
                [Bindable] public var CallProc:String;
                [Bindable] public var myEmailBody:String;
                [Bindable] public var myuserID:String;
                [Bindable] public var DocCode:String;
                [Bindable] public var AgeItems:String;
                [Bindable] public var AgeItems2:String;
                [Bindable] public var DocItem:Number;
                [Bindable] public var DocText:String;
                //this adds event listener for mouse over event so I can display descriptive text about various columns values
                //POFromRequest.addEventListener(ListEvent.ITEM_ROLL_OVER, declarePosition);
                //USE ROLLOVER VERSUS MOUSEOVER EVENT AS THE LATTER CAUSES BLINKING
                private function createToolTip(event:ListEvent):void {
                //var col:DataGridColumn = POFromRequest.columns[event.columnIndex];
                //var newValue:String = ArrayCollection(POFromRequest.dataProvider).getItemAt(event.rowIndex)[col.dataField];
                //Alert.show("You are hovering over:" +newValue);
                if (event.columnIndex==13)
                var str:String =  "P-Y=Paid and Completed" + "\r"  + "O-Y=Open and Completed" + "\r"  + "O-R=Open and Unmatched" ;
                //this code works and will fetch active mouse over datagrid values!           
                var col:DataGridColumn = POFromRequest.columns[event.columnIndex];
                var newValue:String = ArrayCollection(POFromRequest.dataProvider).getItemAt(event.rowIndex)[col.dataField];
                //Alert.show("You are hovering over:" +newValue);
                else if (event.columnIndex==21||event.columnIndex==22)
                var col21:DataGridColumn = POFromRequest.columns[21];
                var col22:DataGridColumn = POFromRequest.columns[22];
                var Value21:Number = ArrayCollection(POFromRequest.dataProvider).getItemAt(event.rowIndex)[col21.dataField];
                var Value22:Number = ArrayCollection(POFromRequest.dataProvider).getItemAt(event.rowIndex)[col22.dataField];
                //21=Bal not Rec(BNR);22=Bal not Inv(BNI)
                //evaluate BNR/BNI and give approp message which represents
                //action required by end user (ie they don't have to think!)
                var str:String
                if (Value21>0 && Value22<=0)
                str = "Case1:All invoices sent to AP but we are missing a receiving. Please contact receiving.";
                else if(Value21>0 && Value22>0)
                str = "Case2:We are missing invoices and receiving. Please contact both departments ASAP.";
                else if(Value21<=0 && Value22>0)
                str = "Case3:All receiving completed but we are missing invoices. Please contact AP and forward any invoices to them ASAP.";
                else if(Value21==0 && Value22==0)
                str = "Case4:All documents received. No action required. You can hide these items by clicking/turning off the box:Include Balance of 0 Items? ";
                //var str:String = Value21.toString()+Value22.toString()
                else
                //var str:String = "Row :"  +event.rowIndex + "Column : " +event.columnIndex;
                POFromRequest.toolTip = str;
                private function deleteToolTip(obj:Object):void {
                POFromRequest.toolTip = null;
                //start mouse over code for directPO datagrid
                private function createToolTip2(event:ListEvent):void {
                //var col:DataGridColumn = DirectPOGrid.columns[event.columnIndex];
                //var newValue:String = ArrayCollection(DirectPOGrid.dataProvider).getItemAt(event.rowIndex)[col.dataField];
                //Alert.show("You are hovering over:" +newValue);
                if (event.columnIndex==1)
                var str:String =  "If you know for sure that this item is not yours then highlight item by left clicking, then hit the delete button below. Hold the ctrl key to select multiple items." ;               
                if (event.columnIndex==12)
                var str:String =  "P-Y=Paid and Completed" + "\r"  + "O-Y=Open and Completed" + "\r"  + "O-R=Open and Unmatched" ;
                //this code works and will fetch active mouse over datagrid values!           
                var col:DataGridColumn = DirectPOGrid.columns[event.columnIndex];
                var newValue:String = ArrayCollection(DirectPOGrid.dataProvider).getItemAt(event.rowIndex)[col.dataField];
                //Alert.show("You are hovering over:" +newValue);
                else if (event.columnIndex==20||event.columnIndex==21)
                var col20:DataGridColumn = DirectPOGrid.columns[20];
                var col21:DataGridColumn = DirectPOGrid.columns[21];
                var Value20:Number = ArrayCollection(DirectPOGrid.dataProvider).getItemAt(event.rowIndex)[col20.dataField];
                var Value21:Number = ArrayCollection(DirectPOGrid.dataProvider).getItemAt(event.rowIndex)[col21.dataField];
                //21=Bal not Rec(BNR);22=Bal not Inv(BNI)
                //evaluate BNR/BNI and give approp message which represents
                //action required by end user (ie they don't have to think!)
                var str:String
                if (Value20>0 && Value21<=0)
                str = "Case1:All invoices sent to AP but we are missing a receiving. Please contact receiving.";
                else if(Value20>0 && Value21>0)
                str = "Case2:We are missing invoices and receiving. Please contact both departments ASAP.";
                else if(Value20<=0 && Value21>0)
                str = "Case3:All receiving completed but we are missing invoices. Please contact AP and forward any invoices to them ASAP.";
                else if(Value20==0 && Value21==0)
                str = "Case4:All documents received. No action required. You can hide these items by clicking/turning off the box:Include Balance of 0 Items? ";
                //var str:String = Value21.toString()+Value22.toString()
                else
                //var str:String = "Row :"  +event.rowIndex + "Column : " +event.columnIndex;
                DirectPOGrid.toolTip = str;
                private function deleteToolTip2(obj:Object):void {
                DirectPOGrid.toolTip = null;
                //end tool tip code
                private function GetData():void
                //IncRecItems = "Y"
                //IncRecItems = "Y"
                //myGUID = "d5ef405a-d64a-489f-8583-38dd087de502"
                //var MyurlParams:Dictionary = new Dictionary();
                //MyurlParams = getUrlParamaters();
                //myGUID = MyurlParams['myGUID'];
                nwCL2.FetchRequestAsTableToArray.send();
                private function GetData3():void
                //IncRecItems = "Y"
                //IncRecItems = "Y"
                //myGUID = "d5ef405a-d64a-489f-8583-38dd087de502"
                var MyurlParams:Dictionary = new Dictionary();
                MyurlParams = getUrlParamaters();
                myGUID = MyurlParams['myGUID'];
                nwCL3.FetchDirectPOAsTableToArray.send();
                NotifyDel();
                private function GetData4():void
                //IncRecItems = "Y"
                //IncRecItems = "Y"
                //myGUID = "d5ef405a-d64a-489f-8583-38dd087de502"
                var MyurlParams:Dictionary = new Dictionary();
                MyurlParams = getUrlParamaters();
                myGUID = MyurlParams['myGUID'];
                nwCL4.FetchDirectPODELAsTableToArray.send();
                NotifyStatus();
                public function resultHandler(event:ResultEvent):void {
                serverData = new ArrayCollection(event.result.source);
                //             Alert.show("getdata fired");
                public function resultHandler3(event:ResultEvent):void {
                serverData3 = new ArrayCollection(event.result.source);
                //             Alert.show("getdata fired");
                public function resultHandler4(event:ResultEvent):void {
                serverData4 = new ArrayCollection(event.result.source);
                //             Alert.show("getdata fired");
                public function resultHandler5(event:ResultEvent):void {
                var FunctionResult:String=event.result.toString();
                var Response:String;
                if(FunctionResult != "Success")
                Alert.show("A problem has occurred. " + FunctionResult);
                else
                Alert.show("The email was sent successfully.");
                //             Alert.show("getdata fired");
                public function resultHandler6(event:ResultEvent):void {
                var FunctionResult:String=event.result.toString();
                var Response:String;
                if(FunctionResult != "Success")
                Alert.show("A problem has occurred. " + FunctionResult);
                else
                Alert.show("Item moved.");
                //refresh both datagrids for deleted/ins records
                //need to call diff proc which does the same but does not show the initial message box
                ReloadTables()
                public function resultHandler7(event:ResultEvent):void {
                var FunctionResult:String=event.result.toString();
                if(FunctionResult == "Invalid GUID")
                Alert.show("A problem has occurred. " + FunctionResult);
                else
                myuserID = FunctionResult;
                myGlobVar.globMyUserID = FunctionResult;
                public function resultHandler8(event:ResultEvent):void {
                //we don't really care about handling this event
                var FunctionResult:String=event.result.toString();
                if(FunctionResult == "Invalid GUID")
                Alert.show("A problem has occurred. " + FunctionResult);
                else
                //myuserID = FunctionResult;
                private function initApp():void
                //code for grabing guid passed from .net ldap authentication page
                //this file is located on finance-web box along with guid database.
                //the web service is also located on finance-web
                //and flex source code is on box fin-selement3 but is saved to U and published to finance-web
                //(this is because flex is installed on fin-selement3 only
                //GurfeedTbl = nwCL.FetchFTVACCTAsTable();
                flash.system.Security.allowDomain("*");flash.system.Security.allowInsecureDomain("*");
                //siteData.send();
                //trace("Hello from Flex Debugging!");
                //Alert.show("Init app fired");
                //first get focus of email tab (if we don't then a bug exists;error on object creation)
                //I have tried various techniques for some reason I can't load back to base 0
                //ac.selectedIndex = 3;
                //Alert.show("Please remember to audit documents on all tabssss!");
                //ac.selectedIndex = 1;
                Alert.show("HardCoded GUID in place. Remove after testing")
                myGUID = "c25ef14a-bff4-4e07-bfa5-f9c0725c3fd0";
                //need to set initial value
                AgeItems = "N";
                AgeItems2 = "N";
                myBody.text = "Body";
                //myGUID = "d5ef405a-d64a-489f-8583-38dd087de502"
                //var MyurlParams:Dictionary = new Dictionary();
                //MyurlParams = getUrlParamaters();
                //myGUID = MyurlParams['myGUID'];
                //Alert.show("HardCoded GUID in place. Remove after testing")
                //myGUID = "c25ef14a-bff4-4e07-bfa5-f9c0725c3fd0";
                //insert audit trail record
                nwCL6.InsGUIDAudit.send();
                nwCL6.FetchUserID.send(); //for some reason when this was located inside the proc it was called from it would not
                //set the global variable until after it was required resulting in null error
                //myGlobVar.globMyUserID = myUserID ;
                //Alert.show
                private function checkBoxZero_change(evt:Event):void {
                if(checkBoxZero.selected == true) IncRecItems = "Y" else IncRecItems ="N";
                //Alert.show(IncRecItems.toString())
                GetData() ;
                private function checkBoxAge_change(evt:Event):void {
                //if(checkBoxAge.selected == true) AgeItems = "Y" else AgeItems ="N";
                if(checkBoxAge.selected == true) AgeItems = "N" else AgeItems ="Y";
                GetData() ;
                private function checkBoxAge2_change(evt:Event):void {
                //if(checkBoxAge.selected == true) AgeItems = "Y" else AgeItems ="N";
                if(checkBoxAge2.selected == true) AgeItems2 = "N" else AgeItems2 ="Y";
                GetData3() ;
                private function checkBoxZero3_change(evt:Event):void {
                if(checkBoxZero3.selected == true) IncRecItems3 = "Y" else IncRecItems3 ="N";
                //Alert.show(IncRecItems.toString())
                GetData3() ;
                private function onFault(event:FaultEvent):void {
                Alert.show(event.fault.toString());
                private function RemoveItems():void {
                var selectedItems:Array = DirectPOGrid.selectedItems;
                var listItem:Object;
                if (selectedItems.length < 1)
                Alert.show("You did not highlight any items. Highlight items by left clicking the mouse. To select multiple items, hold the ctrl key down while left clicking.");
                //nwCL6.FetchUserID.send();
                for (var i:int = 0; i < selectedItems.length; i++)
                listItem = selectedItems[i];
                //DirectPOGrid.removeItem(listItem);
                //TargetList.addItem(listItem);
                //var newValue:String = ArrayCollection("selectedItems").getItemAt(i)["PO"];
                var newValue:String = listItem["PO"].toString()
                //Alert.show(newValue);
                DocCode = listItem["PO"].toString()
                //call proc to set userid was not working here as it was getting fired after so I moved it to initapp
                //nwCL6.FetchUserID.send();
                myuserID = myGlobVar.globMyUserID;
                //myUserID = 'testuser';
                nwCL6.InsRecordFYPOAUD.send();
                //Alert.show("doc:"+DocCode+" guid:"+myGUID+"user:"+myGlobVar.globMyUserID);
                //Alert.show(selectedItems[i][PO].toString());
                private function RemoveItems4():void {
                var selectedItems:Array = DirectPOGridNotMine.selectedItems;
                var listItem:Object;
                if (selectedItems.length < 1)
                Alert.show("You did not highlight any items. Highlight items by left clicking the mouse. To select multiple items, hold the ctrl key down while left clicking.");
                for (var i:int = 0; i < selectedItems.length; i++)
                listItem = selectedItems[i];
                //DirectPOGrid.removeItem(listItem);
                //TargetList.addItem(listItem);
                //var newValue:String = ArrayCollection("selectedItems").getItemAt(i)["PO"];
                var newValue:String = listItem["PO"].toString()
                //Alert.show(newValue);
                //Alert.show(selectedItems[i][PO].toString());
                DocCode = listItem["PO"].toString()
                //myGUID = "d5ef405a-d64a-489f-8583-38dd087de502"
                nwCL6.DelRecordFYPOAUD.send();
                private function NotifyDel():void {
                Alert.show("These PO's were not created from requests and we are only guessing that they might belong to you. If you don't want to see specific PO's then you can remove them. This is done by highlighting items (left clicking on row), then clicking the delete button below. Hold the ctrl key to select multiple items.") ;   
                private function NotifyStatus():void {
                Alert.show("These PO's were not created from requests and are displayed here because you have marked them as not belonging to you. If you have accidentally deleted these and they really belong to you then hit the delete button below to reactivate them.") ;   
                private function POSendEmailAP():void {
                var selectedItems:Array = POFromRequest.selectedItems;
                var listItem:Object;
                var newValue:String;
                var ValEmailTO:String = "[email protected],[email protected]";
                var myString:String;
                var txtBody:String;
                var num:int;
                if (selectedItems.length < 1)
                Alert.show("You did not highlight any items. Highlight items by left clicking the mouse. To select multiple items, hold the ctrl key down while left clicking.");
                // emailTO.text = ValEmailTO ;
                txtBody = myBody.text.toString()
                for (var i:int = 0; i < selectedItems.length; i++)
                listItem = selectedItems[i];
                //DirectPOGrid.removeItem(listItem);
                //TargetList.addItem(listItem);
                //var newValue:String = ArrayCollection("selectedItems").getItemAt(i)["PO"];
                newValue = listItem["PO"].toString();
                //Alert.show(newValue);
                emailTO.text = ValEmailTO;
                if (emailSUBJECT.text.toString()=="subject")
                emailSUBJECT.text = newValue ;   
                else
                if (emailSUBJECT.text.indexOf(newValue,0)<0)//this ensures that we only show distinct PO values
                emailSUBJECT.text = emailSUBJECT.text.toString()+"/"+newValue ;   
                //code for email body
                if (txtBody=="Body")
                txtBody = "Dear AP/Receiving:" + "\r" + "\r" + "Please note that I have received the following items directly from the vendor(s): " + "\r" + "\r" + listItem["PO"].toString() + " POItem:" + listItem["POItem"].toString() + " " + listItem["CMDDESC"].toString()  + " " + "QTYRCVD:" + listItem["BALNOTRECD"].toString() + " ";
                else
                txtBody = txtBody + "\r" + listItem["PO"].toString() + " POItem:" + listItem["POItem"].toString() + " " + listItem["CMDDESC"].toString()  + " " + "QTYRCVD:" + listItem["BALNOTRECD"].toString() + " ";   
                myBody.text = txtBody;
                //public variable for sending body text to email service in correct format
                //body = txtBody;
                Alert.show("Items copied to email tab.");
                POFromRequest.selectedIndex=-1;
                private function POSendEmailAPDirectStuff():void {
                var selectedItems:Array = DirectPOGrid.selectedItems;
                var listItem:Object;
                var newValue:String;
                var ValEmailTO:String = "[email protected],[email protected]";
                var myString:String;
                var txtBody:String;
                if (selectedItems.length < 1)
                Alert.show("You did not highlight any items. Highlight items by left clicking the mouse. To select multiple items, hold the ctrl key down while left clicking.");
                // emailTO.text = ValEmailTO ;
                txtBody = myBody.text.toString()
                for (var i:int = 0; i < selectedItems.length; i++)
                listItem = selectedItems[i];
                //DirectPOGrid.removeItem(listItem);
                //TargetList.addItem(listItem);
                //var newValue:String = ArrayCollection("selectedItems").getItemAt(i)["PO"];
                newValue = listItem["PO"].toString();
                //Alert.show(newValue);
                emailTO.text = ValEmailTO;
                if (emailSUBJECT.text.toString()=="subject")
                emailSUBJECT.text = newValue ;   
                else
                if (emailSUBJECT.text.indexOf(newValue,0)<0)//this ensures that we only show distinct PO values
                emailSUBJECT.text = emailSUBJECT.text.toString()+"/"+newValue ;   
                //code for email body
                if (txtBody=="Body")
                txtBody = "Dear AP/Receiving:" + "\r" + "\r" + "Please note that I have received the following items directly from the vendor(s): " + "\r" + "\r" + listItem["PO"].toString() + " POItem:" + listItem["POItem"].toString() + " " + listItem["CMDDESC"].toString()  + " " + "QTYRCVD:" + listItem["BALNOTRECD"].toString() + " ";
                else
                txtBody = txtBody + "\r" + listItem["PO"].toString() + " POItem:" + listItem["POItem"].toString() + " " + listItem["CMDDESC"].toString()  + " " + "QTYRCVD:" + listItem["BALNOTRECD"].toString() + " ";   
                myBody.text = txtBody;
                Alert.show("Items copied to email tab.");
                DirectPOGrid.selectedIndex=-1;
                private function ClearEmail():void {
                myBody.text = "Body";
                emailSUBJECT.text = "Subject";
                private function SEmail():void {
                //hardcode until we fetch via guid
                //Alert.show("Insert code to fetch username from guid. For now its hard coded.");
                CallProc = "FLEX"; //This notifies web service so it parses out \r to <p>
                //from = "[email protected]"
                var MyurlParams:Dictionary = new Dictionary();
                MyurlParams = getUrlParamaters();
                myGUID = MyurlParams['myGUID'];
                //myGUID = "c25ef14a-bff4-4e07-bfa5-f9c0725c3fd0";
                //from = myuserID+"@aus.edu";
                from = myGlobVar.globMyUserID+"@aus.edu";
                recepient =  emailTO.text.toString();
                cc = emailCC.text.toString();
                bcc = "[email protected]"
                subject = emailSUBJECT.text.toString();   
                //var stuffToReplace:RegExp = /\r\n|\n\r/g;
                //the key to this function is the /g means global and means to replace ALL instances of search variable!!!
                var stuffToReplace:RegExp = /\r/g;
                //myEmailBody = myEmailBody.replace("\r","*123");
                myEmailBody = myBody.text.replace(stuffToReplace,"*123*");
                //myEmailBody = myBody.text.replace("\r","*\r").toString();
                //myEmailBody = myBody.text ;
                //myEmailBody.replace("\r","*\r");
                //myGUID = "d5ef405a-d64a-489f-8583-38dd087de502"
                nwCL5.SendMailMessage.send();
                private function ReloadTables():void
                //myGUID = "d5ef405a-d64a-489f-8583-38dd087de502"
                nwCL4.FetchDirectPODELAsTableToArray.send();
                nwCL3.FetchDirectPOAsTableToArray.send();    
                private function getUrlParamaters():Dictionary
                var urlParams:Dictionary = new Dictionary();
                if (ExternalInterface.available)
                var fullUrl:String = ExternalInterface.call('eval', 'document.location.href');
                var paramStr:String = fullUrl.split('?')[1];
                if (paramStr != null)
                var params:Array = paramStr.split('&');
                for (var i:int=0; i < params.length; i++)
                var kv:Array = params[i].split('=');
                urlParams[kv[0]] = kv[1];
                else
                    urlParams = FlexGlobals.topLevelApplication.parameters;
                //urlParams = Application.application.parameters;
                    //urlParams = sparks.components.application.parameters;
                return urlParams;
                private function RefData(event:DataGridEvent):void {
                    var dataGrid:DataGrid = event.target as DataGrid;
                    var dsColumnIndex:Number = event.columnIndex;
                    var col:DataGridColumn = dataGrid.columns[dsColumnIndex];
                    var colPO:DataGridColumn = dataGrid.columns[1];
                    var colPOItem:DataGridColumn = dataGrid.columns[5];
                    var colNotes:DataGridColumn = dataGrid.columns[23];
                    var newValue:String = dataGrid.itemEditorInstance[col.editorDataField];
                    var newValue2:String = dataGrid.itemEditorInstance[colNotes.editorDataField];   
                    var dbval:String;
                    var dbvalLen:Number;
                    DocCode = ArrayCollection(POFromRequest.dataProvider).getItemAt(event.rowIndex)[colPO.dataField];
                    DocItem = ArrayCollection(POFromRequest.dataProvider).getItemAt(event.rowIndex)[colPOItem.dataField ];
                    dbval = ArrayCollection(POFromRequest.dataProvider).getItemAt(event.rowIndex)[col.dataField];
                    if (dbval.length != null)
                    dbvalLen = dbval.length;
                    else
                    dbvalLen = 0;
                    //Alert.show("key=" +myGlobVar.KeyPress)
                    if (newValue2.substr(0,3)!='P00') //this is silly code that is necessary until I sort the whole problem of audit note Dec 2010
                        //When the user hits the tab key the cursor goes to the next line and for some reason assigns PO field value to notes field value
                        //this line of code ignores in that case       
                        //if (dbval==null && newValue2!=null && newValue2!='')
                        //if (newValue2!=null || newValue2!='')
                        //if (newValue2!=null || dbvalLen>=1)
                        Alert.show("grid value" +DocCode+":"+DocItem+"Notes:"+newValue+"colNotes:"+newValue2+"dbvnotes:"+dbval);                
                    //nwCL6.UpdateFYPOAUD.send();
                    //tempCnt
                    //if datagrid edit is true then this will fire       
                    //all the code below is checking if value from datagrid has changed
                    //as compared to value stored in source data so we don't need this in this project
                    //var dsFieldName:String = event.dataField;
                    //var author:VOAuthor = event.itemRenderer.data as VOAuthor;
                    //if (newValue == author[dsFieldName])
                    //    return;
                    //get the new value for the first name or last name
                    //author[dsFieldName] = newValue;
                    //myRemote.saveData(author);
            ]]>
        </fx:Script>
        <mx:Panel title="Auditing of Purchase Order Delivery and Invoicing Status by User:" height="100%" width="100%"
                  creationComplete="initApp()" paddingTop="5" paddingBottom="5" paddingLeft="5" paddingRight="5" fontSize="15" horizontalAlign="left" color="#701193">
            <mx:Accordion id="ac"
                          width="100%"
                          height="100%"
                          selectedIndex="0"
                          historyManagementEnabled="false"  >
                <mx:Canvas width="100%" height="400"  label="Detailed Data for which a PO was issued from a Request" id="POfromReq" backgroundColor="#D2E9DA" color="#A60831">
                    <mx:Button click="GetData()" label="Press to load Data" width="305"></mx:Button>
                    <mx:FormItem label="HeaderWordWrap:" x="335">
                        <mx:CheckBox id="checkBox" selected="true" />
                    </mx:FormItem>
                    <mx:FormItem label="Include Balance of 0 Items?:" x="550">
                        <mx:CheckBox id="checkBoxZero" selected="false" change="checkBoxZero_change(event);"  />
                    </mx:FormItem>
                    <mx:FormItem label="Only Show Items > 30 Days?:" x="850">
                        <mx:CheckBox id="checkBoxAge" selected="true" change="checkBoxAge_change(event);"  />
                    </mx:FormItem>
                    <mx:DataGrid id="POFromRequest"  allowMultipleSelection="true" doubleClickEnabled="true" editable="True" horizontalScrollPolicy="auto" width="3500" height="300" dataProvider="{serverData}" y="36" itemRollOut="deleteToolTip(event)" itemRollOver="createToolTip(event)" itemEditEnd="RefData(event)">
                        <mx:columns>
                            <fx:Array>
                                <mx:DataGridColumn headerText="UserName"  editable="false" dataField="SOURCEREQUESTUSERID" width="100"/>
                                <mx:DataGridColumn headerText="PO" dataField="PO" width="100"/>
                                <mx:DataGridColumn headerText="Vendor" dataField="VENDOR" width="270"/>
                                <mx:DataGridColumn headerText="Po Date" dataField="PO_Date" width="120"/>
                                <mx:DataGridColumn headerText="Ordered QTY (A)" headerWordWrap="{checkBox.selected}" dataField="Ord_Qty" width="120" />
                                <mx:DataGridColumn headerText="PO Item" dataField="POItem" width="100" />
                                <mx:DataGridColumn headerText="Commodity Description" dataField="CMDDESC" width="300"/>
                                <mx:DataGridColumn headerText="PO Unit Price" dataField="POUNITPRICE" width="120"/>
                                <mx:DataGridColumn headerText="Org code" dataField="ACTGORG" width="100"/>
                                <mx:DataGridColumn headerText="Receiving Document" dataField="RECEIVE_DOC_NUM" headerWordWrap="{checkBox.selected}" width="120"/>
                                <mx:DataGridColumn headerText="Received Qty (B)" dataField="RECQTY" width="150"/>
                                <mx:DataGridColumn headerText="Inv Document #" dataField="INVCODE" width="150"/>
                                <mx:DataGridColumn headerText="Vendor Invoice #" dataField="VENDINV" width="150"/>
                                <mx:DataGridColumn headerText="Invoice Status" dataField="INVSTATUS" width="150"/>
                                <mx:DataGridColumn headerText="Invoice Due Date" dataField="DUEDATE" width="150"/>
                                <mx:DataGridColumn headerText="Invoice Date" dataField="VENDORINVDATE" width="120"/>
                                <mx:DataGridColumn headerText="Fund" dataField="FUNDCODE" width="80"/>
                                <mx:DataGridColumn headerText="Account" dataField="ACCT" width="80"/>
                                <mx:DataGridColumn headerText="Org" dataField="ORG" width="80"/>
                                <mx:DataGridColumn headerText="Prg" dataField="PROG" width="80"/>
                                <mx:DataGridColumn headerText="Net Invoiced (C)" headerWordWrap="{checkBox.selected}" dataField="NETINVD" width="130"/>
                                <mx:DataGridColumn headerText="Balance not Received (A-B)" headerWordWrap="{checkBox.selected}" dataField="BALNOTRECD" width="175"/>
                                <mx:DataGridColumn headerText="Balance not Invoiced (B-C)" headerWordWrap="{checkBox.selected}" dataField="BALNOTINVD" width="175"/>
                                <mx:DataGridColumn headerText="Notes" headerWordWrap="{checkBox.selected}" dataField="NOTES" width="300"/>
                            </fx:Array>
                        </mx:columns>
                    </mx:DataGrid>
                    <mx:List id="square"  visible="false" x="298" y="266"></mx:List>
                    <mx:Button click="POSendEmailAP()" label="Press to copy selected items to body of email template" width="478" y="344"></mx:Button>
                </mx:Canvas>
                <mx:Canvas width="100%" height="400"  label="Direct PO Details: PO not created from request" id="DirectPO" backgroundColor="#D2E9DA" color="#A60831">
                    <mx:Button click="GetData3()" label="Press to load Data" width="305"></mx:Button>
                    <mx:FormItem label="HeaderWordWrap:" x="335">
                        <mx:CheckBox id="checkBox3" selected="true" />
                    </mx:FormItem>
                    <mx:FormItem label="Include Balance of 0 Items?:" x="550">
                        <mx:CheckBox id="checkBoxZero3" selected="false" change="checkBoxZero3_change(event);"  />
                    </mx:FormItem>
                    <mx:FormItem label="Only Show Items > 30 Days?:" x="850">
                        <mx:CheckBox id="checkBoxAge2" selected="true" change="checkBoxAge2_change(event);"  />
                    </mx:FormItem>
                    <mx:DataGrid id="DirectPOGrid"  allowMultipleSelection="true" horizontalScrollPolicy="auto" width="3500" height="300" dataProvider="{serverData3}" y="36" itemRollOut="deleteToolTip2(event)" itemRollOver="createToolTip2(event)" itemEditEnd="RefData(event)">
                        <mx:columns>
                            <fx:Array>
                                <mx:DataGridColumn  headerText="PossibleUserName" dataField="PossibleSourceUserid" width="160"/>
                                <mx:DataGridColumn headerText="PO" dataField="PO" width="100"/>
                                <mx:DataGridColumn headerText="Vendor" dataField="VENDOR" width="270"/>
                                <mx:DataGridColumn headerText="Po Date" dataField="PO_Date" width="120"/>
                                <mx:DataGridColumn headerText="Ordered QTY (A)" headerWordWrap="{checkBox3.selected}" dataField="Ord_Qty" width="120" />
                                <mx:DataGridColumn headerText="PO Item" dataField="POItem" width="100" />
                                <mx:DataGridColumn headerText="Commodity Description" dataField="CMDDESC" width="300"/>
                                <mx:DataGridColumn headerText="PO Unit Price" dataField="POUNITPRICE" width="120"/>
                                <mx:DataGridColumn headerText="Org code" dataField="ACTGORG" width="100"/>
                                <mx:DataGridColumn headerText="Received Qty (B)" dataField="RECQTY" width="150"/>
                                <mx:DataGridColumn headerText="Inv Document #" dataField="INVCODE" width="150"/>
                                <mx:DataGridColumn headerText="Vendor Invoice #" dataField="VENDINV" width="150"/>
                                <mx:DataGridColumn headerText="Invoice Status" dataField="INVSTATUS" width="150"/>
                                <mx:DataGridColumn headerText="Invoice Due Date" dataField="DUEDATE" width="150"/>
                                <mx:DataGridColumn headerText="Invoice Date" dataField="VENDORINVDATE" width="120"/>
                                <mx:DataGridColumn headerText="Fund" dataField="FUNDCODE" width="80"/>
                                <mx:DataGridColumn headerText="Account" dataField="ACCT" width="80"/>
                                <mx:DataGridColumn headerText="Org" dataField="ORG

    Thanks...I was using Alert instead of trace to make sure events were firing along with correct parameter values before calling web service. I never thought in a million years that would be causing the problem. However, when user hits return it drops the focus to the next row which causes a second itemEditEnd to fire (so it still doesn't work smoothly). At any rate, I approached it another way by wiring up a pop up box.

  • Touch to Mouse events conversion

    Hi Everybody!
    Does anybody know how correctly fire mouse events to Oracle Maps in javascript?
    Default translation touch events in iPad Safari does not quite fit. It try zoom or pan browser window, not map. :(
    If catch touch events and disable default translation I can zoom and pan MVMapView object.
    But how fire "click","mousemove","mouseover" events on Map? I need dispatch event to ThemeBasedFOIs (InfoWindow Popup and other listeners)?

    Yes. The Oracle Maps tutorial contains examples (the tutorial can be found in your mapviewer deployment
    e.g. http://localhost:7001/mapviewer/fsmc/tutorial/index.html) and documentation in the API reference
    (e.g. http://localhost:7001/mapviewer/fsmc/apidoc/index.html). Look at MVEvent and the attachEventListener function of MVMapView, MVThemeBasedFOI, and MVFOI classes for example.

  • Using activex component in openGL app:  mouse event issues.....

    i'm trying to get the Flash ActiveX control to work in an
    OpenGL app. so far i've managed to get the bitmap data and map it
    to a texture succesfully. but i'm having problems getting the mouse
    interaction to work.
    i get an hWnd from IShockWaveFlash's IOleWindow. when i send
    mouse messages to it, the mouse is interpreted correctly by
    actionscript (for example, i have a custom mouse cursor tracking
    _xmouse, _ymouse which works fine).
    however, buttons do not behave correctly. rollover is
    erratic, and only in rare circumstances can i get a button's
    onPress handler to fire.
    am i sending the mouse events in correctly? any ideas of any
    other way to send them in?

    Thank you for you mail,
    After I read this article
    http://digital.ni.com/public.nsf/3efedde4322fef198​62567740067f3cc/610540bb3ea4ebdd862568960055e498?O​penDocument
    I realized that ActiveX events are not supported on CVI 5.01 at all since
    its introduced as a new feature of CVI 5.5
    "Azucena" wrote:
    >Daniel,>>Have you tried the function CA_RegisterEventCallback function?
    (I am using>CVI 5.5)>>This function is used by the functions generated by
    the Automation>Controller Instrument Driver Wizard.>It is not intended to
    be used directly.>>It basically registers a callback for an ActiveX Automation
    server object>event.>To register the callback, you must specify the CAObjHandle
    of the server>object from which you want to receive events.>>W
    ith CVI 5.5,
    there is an example for IE with Active X under the>samples/activeX directory.>>Hope
    this helps,>>Azucena>>"Daniel Bentolila" wrote in message>news:[email protected]..>>>>
    Has anybody tried to capture an ActiveX component event in a CVI>application>>
    ?>>>> for example I've created a new instance of the Internet Explorer>application>>
    from the CVI , using the ActiveX Automation controler I choosed the>Microsoft>>
    internet controls then I selected IWebBrowser2 and the IWebBrowserEvents2>>
    classes and generated the fp file for the CVI.>> Under the the IWebBrowserEvents2
    I see there are events fucntion for>example>> OnQuit, and I wanted my CVI
    app. to attach the quit event when the user>closes>> the IE window.>> Now
    at this point I expected to find some mechanism that let me to install>>
    some callback function where I can put my customised code to the quit>event,>>
    somehow I have to tell the IE to call my function whenever the OnQuit>callback>>
    fun
    ction is attached and I don't know how to do this.>>

  • Will "Value change" events fire when changed via ActiveX?

    I have a VI with an Event Structure defining several Value Changed events. These events are associated with various buttons on the control panel. When I work through the panel and press the buttons, the events fire correctly. However, if I connect via the COM/ActiveX control and change the control values, the button indicator light changes, but the Value Change event does not fire. Can we trigger value changed events remotely or must they be triggered via a mouse-click on the button?

    Hi Cyle,
    Please take a look at the document below. It explains why the events are not being fired.
    Event Structure Does Not Capture the Value Changed Event for Indicator Wired to Iteration Terminal
    I hope this helps.
    Sincerely,
    Feroz
    National Instruments

  • Having picked up a mouse event, pass it to parent component.

    This is further to my table cell hover, which is otherwise working.
    I track the mouse accross the table using an invisible child component, and when the mouse leaves it, move the child onto the new cell position.
    The problem is that, while the mouse is over the invisible component, that component is grabbing all the mouse events. My table also wants to detect mouse events (though it's interested in clicks).
    The obvious thing is, after they've been dealt with and the child component level, to transfer the events to the table (having mapped the mouse coordinates). However all the processEvents methods in components like JTable are protected.
    I suppose I could extend JTable and add a method to get arround protected, but that's nasty, especially since a lot of my JTables are already subclassed.

    I had to do just this. I have JLabel's in a JPanel. The JPanel is in a LayeredPane. When I mouse over the JLabels, they grab the mouse events... which I don't want. I want the LayeredPane to get it.
    So in the JLabel, I do:
          * Don't send to parent what you don't have to. Things like tooltips will
          * be broken if this is not handled carefully...
         public void mouseClicked(MouseEvent e) { }
         public void mouseMoved(MouseEvent e) { }
         public void mouseEntered(MouseEvent e) { }
         public void mouseExited(MouseEvent e) { }
         public void mouseReleased(MouseEvent e) { machine.dispatchToParent(e);}
         public void mouseDragged(MouseEvent e) { machine.dispatchToParent(e);}
         public void mousePressed(MouseEvent e) { machine.dispatchToParent(e);}(the "machine" above is a JPanel). Now in the JPanel, aka "machine", I do:
    Point point; int comp_x, comp_y; // for component with respect to this machine
    public void dispatchToParent(MouseEvent e) {
         point=((JComponent)e.getSource()).getLocation();
         //System.out.println("Dispatching: " + e.getX() + " " + e.getY());
         //System.out.println("Component position: " + ((JComponent)(e.getSource())).getLocation());
         if (e.getButton() > 0) MsgIFrame.println("ME at: " + comp_x + "," + comp_y + " button: " + e.getButton() );
         if (e.getButton() > 1) {
              popup(e);
              return;
         comp_x=(int)point.getX(); comp_y=(int)point.getY();
         comp_x+=this.getX(); comp_y+=this.getY();
         e.translatePoint(comp_x, comp_y);
         room.getLayeredPane().dispatchEvent(e);
    }Above, the "room" is a JInternalFrame with a LayeredPane inside it, as you can see. I do a little translating so the LayeredPane gets the event in its coordinate space, not those of its Components.

  • How to adjust mouse event with scaled DesktopPane

    Hi
    I am manjunatha, i am developing Data warehouse product, in this, i am showing inter-related Transforms in desktop pane, i given option to view the content of desktop pane with different scaled factor (ex 100%,50%,25%), when i will scale the content of desktop pane using Graphics class, only content will be scaled, but the events on the Internal frames will be referring 100% view only,(ie mouse event will not effected by scaled factor, so it will be point to 100% view points only, ex at first an Internal Frame will have bounds(10,10,200,200), after i will scale this to 10%, it will be drawn with (1,1,20,20) on the desktop pane, but internally its bounds will be (10,10,200,200) and mouse event will detect Internal Frame at (10,10,200,200) location , instead of scaled (1,1,20,20) location.
    My question is how can i scale the Internal Frames and adjust relevant events to it?
    (You can see screen shot of this page with (Mapplet View as screen name)
    At www.MyDataWarehousing.com)

    Did you ever find a solution to this? How did you scale all the components on resize?

  • When both plug-in objects and jQuery mouse events are present, Firefox re-starts the plug-in object (eg Flash movie) after a jQuery mouse event occurs. This doesn't happen in any other browser. How can I get around this?

    Please check http://www.syus.com for an example. There is a Flash movie underneath the main navigation. The main navigation has a jQuery mouse event, and when you mouse over a button in the main navigation, the Flash movie re-starts. I can confirm that this happens not only on Flash swf files, but on standard <object> YouTube embeds.

    Ok, I promise this is my last post without your help. I did some more troubleshooting and it only seems to happen when jQuery appends elements to the body that were previously invisible. In other words, I can simply change the css in jQuery from using element.css('display','inline'), but if I try to use something like slideDown or other jQuery tooltip functions that append and/or remove elements or style definitions it causes the "object restart" bug.
    It is impossible for any developer to eliminate this bug without changing the actual source of jQuery, which I can't do. My only other option is not to use sophisticated show/hide jQuery elements like drop-down menus and tooltips on the same page as an embedded object, but I don't want to do this since Safari, Chrome and even IE (dear God) users won't have a problem with this. I think this is a major major bug that should be fixed in Firefox 4 as more and more sites will be looking to use the latest jQuery plugins.

  • Mouse events don't work on a button from a panel ran in a DLL

    Hi.
    I have a DLL that loads a panel.
    Since it's a DLL I can't do the RunUserInterface() function, because the DLL would be stuck waiting for the panel events.
    I only do the LoadPanel().
    When I click with the mouse on one of the buttons, the pushing down event (simulating the button being pressed) doesn't happen and the callback doesn't run.
    But if I press the tab button until the focus reaches the button and press Enter, the callback of the button is executed.
    An even more interesting aspect is that this happens when I call the DLL on TestStand, but on an application of mine that calls the DLL just for debug everything works fine.
    How can I enable the mouse events?
    Thanks for your help.
    Daniel Coelho
    VISToolkit - http://www.vistoolkit.com - Your Real Virtual Instrument Solution
    Controlar - Electronica Industrial e Sistemas, Lda
    Solved!
    Go to Solution.

    Hello Daniel,
    I got surprised when I read your post, because I am experiencing something almost the same as you do.
    I have a DLL (generated by an .fp instrument driver I wrote) which performs continious TCP communication with the UUT.
    It starts 2 threads, each for reading from one of the 2 different IPs the UUT has.
    Another DLL tests this UUT (with the help of the communication DLL above) by exporting functions to be called by TestStand steps.
    If the second DLL wants to display a CVI panel in order to wait for the user response or displays a popup (MessagePopup, ConfirmPopup, etc), user cannot press the buttons.
    Actually, there is a point your program and mine differ. I call RunUserInterface and the button's callbacks call QuitUserInterface, so the execution continues after a button is pressed. The problem is buttons cannot be pressed. I also tried looping on GetUserEvent  but it did not solve the problem.
    There are 2 findings:
    1. I had a small exe to test my instrument driver DLL and the popups in it worked pretty well (this coincides with Daniel's findings).
    2. We workedaround the problem by shutting down the communication threads in the instrument driver DLL before the popup appears and restrating them afterwards. Although they are separate threads in another DLL, they were somehow blocking user events on another DLL running.
    S. Eren BALCI
    www.aselsan.com.tr

  • Not able to successfully subscribe to and see the TargetApplicationChosen event fire from Windows Phone 8.1

    Matt,
    Thanks for the reply.
    In my current experience, I am not able to successfully subscribe to and see the TargetApplicationChosen event fire from Windows Phone 8.1.
    In Windows Store 8.1 (Tablet), it works fine.
    Questions
    Is this event expected to fire in Window Phone 8.1 (Universal Apps, Not Silverlight 8.1) ?
    Does this event depend on the target application to supply AppName?
    Thanks for your help. Much appreciated.
    Example Code Block
    //From Page Contstructor or OnNavigatedTo Handler
    _dataTransferManager = DataTransferManager.GetForCurrentView();
    _dataTransferManager.TargetApplicationChosen += DataTransferManagerOnTargetApplicationChosen;
    private void DataTransferManagerOnTargetApplicationChosen(DataTransferManager sender, TargetApplicationChosenEventArgs args)
    //fires in tablet but not phone

    This is not an answer, Mr. Wong.  The link you referenced refers to the DataTransferManager class being supported only in Native apps, which includes Windows Phone 8.1 RT apps.  All aspects of the DataTransferManager work except for the TargetApplicationChosen
    event under a WP8.1 universal app.  This event does NOT fire in the Windows Phone 8.1 RT API implementation of DataTransferManager.
    You need to reopen this thread and address the issue, please.  The lack of support for this event is problematic for some phone scenarios, most notably supporting NFC Tap and Share.
    Mark Jones, Owner MJ App Factory

  • Mouse Events are slow

    Hello everyone,
    I'm currently working on an standard as3 (1024x768) app that
    is running inside a chromeless Air window to take advantage of the
    transparency.
    All my tests where done using windows XP professional and AIR
    1.0 (the same problem existed in beta3).
    The issue I'm having is related with Mouse Events. Somehow
    the events take a lot of time to reach the swf file when the user
    clicks inside the transparent window.
    It's natural that the app runs slower inside a transparent
    window (the framerate drops) but I wasn't expecting the clicks to
    suffer from such delay (it takes sometimes 2-5sec).
    The app is very CPU intensive and the transparencies make it
    worse. Something inside the AIR framework is not dispatching the
    events properly.
    I say this because I tried using the virtualMouse class from
    senocular together with a socket to simulate the mouse clicks and
    that did the trick.
    In conclusion:
    Something in the AIR framework for windows XP is messing up
    the dispatch of the Mouse events when the app is under heavy cpu
    usage inside a chromeless window. I click on the window and it
    takes 1-2sec to receive the click event.
    However when I dispatch the MouseEvent.CLICK myself using
    the virtual mouse class the application immediately receives the
    event.
    I know this is a strange bug and not many people will have
    this problem, but I would like to know from someone with knowledge
    of the runtime why this could be happening.
    Thank you
    Tiago Bilou

    Hello everyone,
    I'm currently working on an standard as3 (1024x768) app that
    is running inside a chromeless Air window to take advantage of the
    transparency.
    All my tests where done using windows XP professional and AIR
    1.0 (the same problem existed in beta3).
    The issue I'm having is related with Mouse Events. Somehow
    the events take a lot of time to reach the swf file when the user
    clicks inside the transparent window.
    It's natural that the app runs slower inside a transparent
    window (the framerate drops) but I wasn't expecting the clicks to
    suffer from such delay (it takes sometimes 2-5sec).
    The app is very CPU intensive and the transparencies make it
    worse. Something inside the AIR framework is not dispatching the
    events properly.
    I say this because I tried using the virtualMouse class from
    senocular together with a socket to simulate the mouse clicks and
    that did the trick.
    In conclusion:
    Something in the AIR framework for windows XP is messing up
    the dispatch of the Mouse events when the app is under heavy cpu
    usage inside a chromeless window. I click on the window and it
    takes 1-2sec to receive the click event.
    However when I dispatch the MouseEvent.CLICK myself using
    the virtual mouse class the application immediately receives the
    event.
    I know this is a strange bug and not many people will have
    this problem, but I would like to know from someone with knowledge
    of the runtime why this could be happening.
    Thank you
    Tiago Bilou

  • Firefox mouse event not behaving the same on PC and Mac computers

    I use the FCKEditor and having a very strange problem. When I click on the FCKEditor's editing area, the keyboard gets disabled untill I click the mouse somewhere outside of the editing window. The problem only happen on Firefox (3.6.10) on Mac computer (Snowleopard 10.6.4). Doing exactly the same steps on PC works without any problem.
    What I want to know:
    - Is it possible that the Firefox on Mac is different than the PC in handling mouse events? Or some other areas?

    Sounds more that Firefox is treating that editor area as read-only.
    Start Firefox in [[Safe Mode]] to check if one of your add-ons is causing your problem (switch to the DEFAULT theme: Tools > Add-ons > Themes).
    See [[Troubleshooting extensions and themes]] and [[Troubleshooting plugins]]

Maybe you are looking for