Cursor move events passing data to dialog

I have a graph where the user moves the cursor and then I pop up an easy to read dialog with the test number and test description in it.  I tried it with a regular dialog with reentrancy but it locks things up.  Is there a better way to do this?   

Hi Id,
I have made a quick example of how to have another window display data to a user using queues. Please let me know if this helps.
-N
National Instruments
Applications Engineer
Attachments:
Main2.vi ‏17 KB
Sub2.vi ‏17 KB

Similar Messages

  • Programmatically fire graph cursor move event

    Is it possible to programmatically fire the Graph Cursor Move Event ?  Assigning a value to the Cursor Index or Cursor Position property node does not seem to do it.
    Solved!
    Go to Solution.

    The graph cursor move event contains processing code for data on the graph along with front panel display of those results.  Data is put onto the graph during data acquisition which occurs in another event.  When that data acquisition event finishes I need to cause the processing code to execute once to update the front panel display so its results are shown for the new acquired data.
    I could put the processing code into a different event that fires on say a button value change.  Then the graph cursor move event would fire that button event change by setting its value change property.  The data acquisition event could also fire that button event.

  • How to avoid built-up for "cursor move" events?

    I have a rather complicated program where several graphs need to be interactively updated according to cursors using "cursor move" events. The problem is that the recalculation is relatively slow and the behavior is less than satisfactory. Since the cursor position needs to be "tweaked" until the result is as desired, I cannot recalculate only at the "Cursor Release" event.
    Lock front panel=enabled makes cursor movements tedious because the cursor movements is very
    jumpy and non-interactive. Not user friendly!
    Lock front panel=disabled queues up way too many move events and once the cursor is released
    the graph continues to jump and recalculate for ages.
    The attached demo (LabVIEW 8.20) shows one solution attempt that actually works pretty well: Skip the recalculation unless the cursor position from the event terminal is equal to the cursor position of the graph property node. This basically races through all unecessary intermediary recalculations on stale positions. However, the code can get complicated very quickly if there are multiple cursors.
    In my opinion, cursor move events should not get queued up! The event buffer should hold only exactly one entry:
    the most recent cursor position for each cursor. Can anyone think of a scenario where the extra cursor position trail is useful? The positions are pretty random anyway, right?
    Does anyone have other (better!) ideas how to work around this problem? I definitely want to keep it simple and not throw lots of code at it.
    The attached demo contains more details. It demonstrates the problem if "selective updates" is checked. If unchecked, it implements the above mentioned workaround.
    LabVIEW Champion . Do more with less code and in less time .
    Solved!
    Go to Solution.
    Attachments:
    CursorDelay.vi ‏29 KB

    Thanks for the example.
    The more I think about this, I strongly prefer my original method. It uses minimal code compare to the other solutions offered here. As a demo, I am attaching an implementation to a slide control.
    Fo those without LabVIEW 8.20.
    All slide events have "lock front panel" disabled.
    TIme delay is 500ms, simulating some complex calculation.
    As you can see, it works extremely well:
    NO shift registers, extra loops, queues, tuning parameters (min times, etc.), etc.etc.
    Just a deceptively simple "equal" followed by a case structure.
    The demo shows a typical recording if I quicky move the slide up and down, then release it. You can see that the raw event structure takes more than 40 seconds to stabilize while my selective solution follows the slider position almost perfectly despite the 500ms stall in each update.
    See for yourself! Can anyone think of a drawback of this method? Even if the slide terminal is not in the same loop, a comparison of a local variable with the newval should do the trick just fine.
    Message Edited by altenbach on 09-28-2006 12:43 PM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    SLIDEDelay.vi ‏26 KB
    SlideUpdate.png ‏21 KB

  • Cursor move event dicrease frequency

    Hello!
    A long time ago I remember I saw a forum post or a community doc, where it was explained how to decrease a certain Event to be triggered too frequently.
    I have a graph with a cursor, and when the user starts to move the cursor, I do some minor calculations and output some values into indicators. I would like to discard some of the "mouse move" events, so when the user pulls the cursor "too fast", I do not overload the CPU with processing. I know I could just use the "cursor release" event, but it is not that nice, the user does not get feedback about the values between the two locations.
    So I cannot really remember what was the trick to discard the too frequent triggering, it involved some time stamp comparison I think...
    Could someone help me out, how to properly solve this task?
    thanks!
    Solved!
    Go to Solution.

    In newer LabVIEW version you can limit the size of the event queue. Try this first. (See this completed idea).
    In earlier version I would compare the current cursor position with the position obtained from a property node and execute an empty case structure unless they are equal. The old discussion is here. (Also make sure to disable "lock front panel until event completes").
    The cursor idea in in this reply, see the right side of the following image.
    LabVIEW Champion . Do more with less code and in less time .

  • Event Precedence - Mouse Move or Cursor Move on Graph?

    Since LabVIEW 8+ introduced cursor events (grab, move, release), is there a conflict that would occur between a mouse move event and cursor move event since a cursor move involves a mouse move?  Or, since the cursor move requires the left mouse button to be down, does that allow LabVIEW to differentiate which event is occurring?  I have some code I am writing to draw a box on an intensity graph (using the new plot.images property for graphs) so as to extract a region of interest.  At first, I want a cursor to follow the mouse as it moves over the graph.  Then, I want to draw the box region when I grab the cursor (with left mouse key down) and drag it.  Differentiation of these two event types will allow me to unambiguously accomplish this task.
    Thanks,
    Don

    Moving a cursor will interleave mouse move and cursor move events.
    However, you can easily keep state of mouse up/down to distinguish what to do in this particular case. See attached draft (8.20).
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    eventqueue1.vi ‏29 KB

  • Problem with passing date parameters in cursor

    Is there any problem in passing date parameters and like clause as below
    CURSOR eftcursor(start_date DATE, end_date DATE, where_clause varchar2) IS
    select * from r_records
    where created_date between start_date and end_date and description like where_clause;
    and in the open statement
    select to_date('01/06/2010 00:00:00', 'dd/mm/yyyy hh24:mi:ss') into startDate from dual;
    select to_date('01/07/2010 00:00:00', 'dd/mm/yyyy hh24:mi:ss') into endDate from dual;
    str := '%something%aaaaa%';
    open eftcursor(startDate ,endDate , str);
    Do i need to do any kind of conversion in the cursor where clause or when i am passing the parameter in open statement.

    Almora wrote:
    Do i need to do any kind of conversion in the cursor where clause or when i am passing the parameter in open statement.No, your code looks correct -- ou're passing a date to the cursor.
    You might consider whether you really need an explicit cursor though. An implicit cursor is easier to code and performs better.

  • XY graph "mouse move" event stops generating when click on cursor

    Hello All
    When the mouse is moving freelly inside the XY graph control, the "mouse movement" event is fired.
    The same happens when muse clicks anywhere in the graph with the exception of cursors.
    hen mouse clicks on cursors the "mouse move" event is NOT generated even though the mouse is phisically moved.
    Is there any explanation to this.
    I enclose the example.
    regards
    Pawel

    Just today I had the same problem -> my solution:
    set event timeOut to some value(I have it at 1ms) then
    add to globalVariables some BOOL variable that will signal if mouse is down or up (set the flag in appropriate event),
    then add a case in the timeOut event which will read this
    global variable(flag) -> if it's TRUE then change the needed parameter.
    So even if the mouse move event isn't fired the main timeout event is.
    Not a perfect solution, but better than nothing.
    Peace
    Waldemar

  • How to load external swf and handle events of external swf by passing data .

    Hi all
    I have to laoad external swf (made in flash).On loading i have to pass data and hndle events which occurs on this swf.
    Can any one suggest me how can I achieve this.
    Regards
    Munira

    Here is one way:
    http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7f9c.html
    HTH,

  • In iMovies, can I arrange the events in date order, i.e. year and/or month that the movies relate to?

    In iMovies, can I arrange the events in the Events Library in date order, e.g. 1994 - Sports Day; 1991 - John's christening; 1993 - Christmas?

    If you import from a digital camera or camcorder, iMovie will automatically store your events in date order.
    However, if you imported clips from an analog camcorder, like VHS or 8MM or Hi8, iMovie does not have any metadata to work with.
    In this case, there are two ways to add back this metadata.
    The simplest way is to right click on your Event clip and select Adjust Clip Date And Time. Do this for all clips in the event.
    The other way is to name your clips before importing to imovie in this format:
    clip-yyyy-mm-dd hh;mm;ss.ext
    where hh is hours in 24 hour time, and ext is the current file extension. If you name your clips this way, and then import to iMovie through FILE/IMPORT MOVIE then the clips will sort into the proper year.

  • Passing data into event

    Simple Question: I have text controls that I wish to take values from when a button is pressed. Using Events, how do I get values and store them...

    Are the values needed in any other portion of the program other than when the button is pressed? If not, you could place the controls within the event structure so that their values are only read when the button controlling the event structure is read. Note, though, that if the values are passed from the event structure to other portions of the program you need to determine the best approach for passing data when the button is not pressed (perhaps passing through a value from the last event).
    In the event that the controls are needed in other parts of the program separate from the event structure you can use local variables to read the current value of the controls.
    I hope this helps.
    John

  • Passing data from a container to another

    Hi,
    Let's say I have two containers (Container1=application , Container2).  Container1 gets some data from user, perform some database lookup and displays Container2 with the results from database lookup.
    Container1 --(call and display)--> Container2
    Below shows  how I am using a bindable variable in Container1 to pass the data from Container1 to Container2.  Also shows how I display Container2 from Container1.
    <!-- Container1 -->
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
       [Bindable] public var foo:String = "bar";
       private function loginHandler(event:LoginEvent):void
          mycontainer2 = new Container2();
          mycontainer2.name = "mycontainer2";
          this.addChild(mycontainer2);
    </mx:Application>
    I am accessing the data in Container2 as follow:
    <!-- Container2 -->
    {mx.core.Application.application.foo}
    Q1) Is there a better way to pass data from one container to another and access the data?
    Q2) Is this the only way to call and display Container2 from Container1?
    Q3) How can I move back to Container1 from Container2, i.e. Container2 call and display Container1
           Container2 --(back to)--> Container1

    Best practices call for using custom events to share data between components. Here is my Flex 3 Cookbook post on the topic:
    http://cookbooks.adobe.com/index.cfm?event=showdetails&postId=15466
    To switch easily between containers 1 & 2 use a ViewStack, the gold standard for such interaction, and manipulate the selectedIndex or selectedChild property:
    http://livedocs.adobe.com/flex/3/html/help.html?content=navigators_3.html
    If this post answered your question or helped, please mark it as such.

  • Can not pass data after while loop

    Hello.
    I have created a VI for my experiment and am having problem passing data outside a while loop to save on an excel file. The VI needs to first move a probe radially, take data at 1mm increment, then move axially, take data radially at 1mm increment, then move to the next axial position and repeat. It would then export these data to an excel file. The VI is a little complicated but it's the only way I know how to make it for our experiment. I have tested it and all the motion works correctly, however I can not get it to pass the data after the last while loop on the far right of the VI where I have put the arrows (Please see the attached VI ). Is it because I'm using too many sequence, case, and while loops?  If so, what other ways can I use to make it export data to the excel file?
    Any help would be appreciated. 
    Thank you,
    Max
    Attachments:
    B.Dot.Probe.Exp.vi ‏66 KB

    Ummmm .... gee, I'm not even sure where to begin with this one. Your VI is well .... ummmm... You have straight wires! That's always nice to see. As for everything else. Well... Your fundamental problem is lack of understanding of dataflow programming. What you've created is a text program. It would look fantastic in C. In LabVIEW it makes my heart break. For a direct answer to your question: Data will not show up outside a while loop until the while loop has completed. This means your most likely problem is that the conditions to stop that specific loop are not being met. As for what the problem is, I don't even want to start debugging this code. Of course, one way to pass data outside of loops is with local variables, and hey, you seem to be having so much fun with those, what's one more?
    This may sound harsh, and perhaps be somewhat insulting, but the brutal truth is that what I would personally do is to throw it out and to start using a good architecture like a state machine. This kind of framework is easy to code, easy to modify, and easy to debug. All qualities that your code seems to lack.
    Message Edited by smercurio_fc on 08-17-2009 10:00 PM

  • Populating the screen field when the cursor moves to that field

    hi every one,
    I want to populate the screen field(MODULE POOL) When the cursor moves to that field.
    So can any one help me out with this.
    EXAMPLE..
    I want to populate 'S10_TOT_PRICE' (Total Price). When the fields like 'S10_PIECES' (Number of Pieces) will be entered. I want to populate 'S10_TOT_PRICE'  without pressing any button on the screen nor when enter is hit. When the field 'S10_PIECES''  will be entered with some value and the cursor moves to 'S10_TOT_PRICE' . The Total Price field should be populated. Please help me out with this.
    THANKS & REGARDS.
    Mahanta.
    POINTS WILL BE REWARDED.

    Sorry but look at this SAP documentation <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/54/0608162d0711d295520000e8353423/frameset.htm">User Actions on Screens</a>
    Extract :
    <i>User Actions on Screens
    There are various ways in which users can interact with screens.
    Filling Input Fields
    Users can enter values in any input field on the screen, or change the value using the mouse, in the case of radio buttons and checkboxes. The contents are placed in the corresponding screen field. Filling an input field does not normally trigger the PAI event. Exceptions to this are Checkboxes and Radio Buttons with Function Codes and input fields with Drop Down Boxes.</i>
    So, i fear that you cannot "take hand" when user fill a numerical field to perform calculations and update the screen.
    Regards

  • I can't delete in the search/address bar on my cursor moves out of the box

    When I try to delete after typing a word in the search bar after the cursor moves out of the box I can't i have to reload the page before i can start typing again. Also happens when i just click off the box does not let me type any more without refreshing. I get a beep sound when i try to type or reload

    Clear Safari and the reset the iPad again. Settings>Safari>Clear history and website data. Now reset the iPad by holding down on the sleep and home buttons at the same time until the Apple logo appears on the screen.
    I would also reset the router by unplugging it for 30 seconds and then plug it in again.

  • When I try to add a new event to iCal a dialog says "you can't add or change events in the Birthday Calendar". How do I cancel this?

    When I try to add a New Event to iCal a dialog box keeps saying "you can't add or change events in the Birthday Calendar". iCal is, however, receiving up-dates from my other devoces via iCloud. Can anyone help unblock this for me please?

    You can not add events to the birthday's calendar. To add birthday's to the birthday calendar you need to add the birthday to a contact in the Contacts app.
    You can set your default calendar here:
    iCal > Preferences > General  > Default Calendar and chose the calendar you want to default to.

Maybe you are looking for

  • IDVD 2 / OSX 10.4.5 - Now my MAC won't burn via iDVD

    I finally finished editing my project in iMovie (2.1.1) and exported it out to iDVD option. I then went into my iDVD (2.1) and set up my project. While adding a theme and a couple of buttons (one for slideshow, one to play the movie), iDVD started to

  • Validation for profit center accounting

    Hi while posting FI document without profit center end user should not post the document , for that i need create one validation in PCA pls help me how to create validation. and also i need to get pca balance sheet and profit and loss where business

  • Seeburger Mappings for ANSIX12 4030

    Hi,      Does any one know, whether seeburger will provide standard mappings for ANSI X12 4030 version. I could see mappings only for 4010, there are no mappings given for 4030. With Regards K.Varadharajan

  • Simple Question(i hope) regarding downloading photos to Video Ipod

    hey guys...im just having some trouble downloading photos from my mac into my ipod...i didnt have much luck with the manual...is there just a quick 5 step process i can do to make this happen...i have the brand new imac desktop(dual-core, 20'') and h

  • Sound Miss Match

    Hi All, Trying to work out a fix and a reason why the sound track somehow gets misaligned with the footage track, very frustrating when I have been working on a project for a few hours and then when I have clip of someone talking the sound is all out