Tab between numeric controls?

Hi there.
I have several numeric controls on my front panel. When my vi becomes an .exe application, can I control which controls the cursor will go to if I hit the tab button? Right now when I hit the tab button, it goes to some random control on the front panel. thanks in advance for any help!
Don't think twice.
Solved!
Go to Solution.

sorry i guess I didn't look well enough. I was looking for the tabbing order inside a tab which is just right clicking on the page tab and click "reorder controls in page". thanks.
Don't think twice.

Similar Messages

  • On certain web sites(with java applets embedded or rich content),sometimes browser hotkeys are beeing used with other functionality (eg.: youtube uses ctrl + tab for sliding between player controls).How can I prevent this?

    On certain web sites(with java applets embedded or rich content),sometimes browser hotkeys are beeing used with other functionality (eg.: youtube uses ctrl + tab for sliding between player controls).How can I prevent this ?

    Thanks for posting this!
    I would only mention that your definition is incomplete for this -
    Contextual selector A type of Style Sheet Selector that
    and that it's most often referred to now as a Descendent selector, not a contextual selector.  It's basically the same as the Compound selector that you have already defined....

  • [Problem] Updating Numeric Controls on a Tab Problem

    Using LabWindows CVI 8.0.1
    I have a UIR with a button on it and a tab control.  On the tab control there are 23 numeric controls.
    When the button is pressed the code reads a file and populates an array.  It then populates 23 controls on the tab.
    I have a constant array defined for the controls.  The button call back gets the panel handle and then loops through each control and populates it from the array of values.
    The problem I am seeing is if I click the button 22 of the controls update, the first one does not.  If I save the data (another button) it saves the values which are loaded (i.e. it knows the first control contains a value even though it is displaying 0.000). 
    If I click the button twice, then all 23 controls update.
    I added ProcessDrawEvents and ProcessSystemEvents but it made no difference.  However if, in my code I modified the callback to call the function that populates the tab controls twice it populates all 23 controls correctly first time. 
    Is this a known issue, or has anyone seen this before?
    Should mention that the code is compiled as a DLL and is called via TestStand 3.5.  It makes use of #include "tsutil.h" library.  There is also a ActiveX control on the UIR (not on the tab) which is a date picker.
    Christopher Povey
    Senior Test Systems Engineer for BAE Systems.

    Global:
    #define NumberOfCrosses 23
    const int CrossCtrlAzimuthHandles [NumberOfCrosses]   = { CROSSPOSN_X_CROSS_1,  CROSSPOSN_X_CROSS_2,  CROSSPOSN_X_CROSS_3,  CROSSPOSN_X_CROSS_4,  CROSSPOSN_X_CROSS_5, 
                                 CROSSPOSN_X_CROSS_6,  CROSSPOSN_X_CROSS_7,  CROSSPOSN_X_CROSS_8,  CROSSPOSN_X_CROSS_9,  CROSSPOSN_X_CROSS_10,
                                 CROSSPOSN_X_CROSS_11, CROSSPOSN_X_CROSS_12, CROSSPOSN_X_CROSS_13, CROSSPOSN_X_CROSS_14, CROSSPOSN_X_CROSS_15,
                                 CROSSPOSN_X_CROSS_16, CROSSPOSN_X_CROSS_17, CROSSPOSN_X_CROSS_18, CROSSPOSN_X_CROSS_19, CROSSPOSN_X_CROSS_20,
                                 CROSSPOSN_X_CROSS_21, CROSSPOSN_X_CROSS_22, CROSSPOSN_X_CROSS_23 };
    const int CrossCtrlElevationHandles [NumberOfCrosses] = { CROSSPOSN_Y_CROSS_1,  CROSSPOSN_Y_CROSS_2,  CROSSPOSN_Y_CROSS_3,  CROSSPOSN_Y_CROSS_4,  CROSSPOSN_Y_CROSS_5, 
                                 CROSSPOSN_Y_CROSS_6,  CROSSPOSN_Y_CROSS_7,  CROSSPOSN_Y_CROSS_8,  CROSSPOSN_Y_CROSS_9,  CROSSPOSN_Y_CROSS_10,
                                 CROSSPOSN_Y_CROSS_11, CROSSPOSN_Y_CROSS_12, CROSSPOSN_Y_CROSS_13, CROSSPOSN_Y_CROSS_14, CROSSPOSN_Y_CROSS_15,
                                 CROSSPOSN_Y_CROSS_16, CROSSPOSN_Y_CROSS_17, CROSSPOSN_Y_CROSS_18, CROSSPOSN_Y_CROSS_19, CROSSPOSN_Y_CROSS_20,
                                 CROSSPOSN_Y_CROSS_21, CROSSPOSN_Y_CROSS_22, CROSSPOSN_Y_CROSS_23  };
    const int CrossCtrlDistortionTolerancesHandles [NumberOfCrosses] = { DISTTOL_TOL_CROSS_1,  DISTTOL_TOL_CROSS_2,  DISTTOL_TOL_CROSS_3,  DISTTOL_TOL_CROSS_4,  DISTTOL_TOL_CROSS_5,
                                       DISTTOL_TOL_CROSS_6,  DISTTOL_TOL_CROSS_7,  DISTTOL_TOL_CROSS_8,  DISTTOL_TOL_CROSS_9,  DISTTOL_TOL_CROSS_10,
                                       DISTTOL_TOL_CROSS_11, DISTTOL_TOL_CROSS_12, DISTTOL_TOL_CROSS_13, DISTTOL_TOL_CROSS_14, DISTTOL_TOL_CROSS_15,
                                       DISTTOL_TOL_CROSS_16, DISTTOL_TOL_CROSS_17, DISTTOL_TOL_CROSS_18, DISTTOL_TOL_CROSS_19, DISTTOL_TOL_CROSS_20,
                                       DISTTOL_TOL_CROSS_21, DISTTOL_TOL_CROSS_22, DISTTOL_TOL_CROSS_23 };
    Function:
     // Get the panel handles.
     tsErrChk (GetPanelHandleFromTabPage (panelHandle, MAIN_PANEL_TAB, 0, &calibrationTabHandle));
     tsErrChk (GetPanelHandleFromTabPage (panelHandle, MAIN_PANEL_TAB, 1, &tolerancesTabHandle));
     // Get the cross positions.
     for (loop = 0; loop < NumberOfCrosses && error >= 0; loop++)
      tsErrChk (SetCtrlVal (calibrationTabHandle, CrossCtrlAzimuthHandles   [loop],            calibrationValues.crossAzimuthPosition      [loop]));
      tsErrChk (SetCtrlVal (calibrationTabHandle, CrossCtrlElevationHandles [loop],            calibrationValues.crossElevationPosition    [loop]));
      tsErrChk (SetCtrlVal (tolerancesTabHandle,  CrossCtrlDistortionTolerancesHandles [loop], calibrationValues.crossDistortionTolerances [loop]));
    No errors are returned to TestStand.
    Christopher Povey
    Senior Test Systems Engineer for BAE Systems.

  • How to Define Limit to Numeric Control

    Dear all,
    I am controlling a motor which is pressing to load cell. I am controlling the motor position with a numeric controller in the front panel, the question is when i  accidently enter a large value(undesired motor's new motor position), than it could damage the load cell.
    In this case : Can we arrange a numeric control in the front panel so that it can accept numbers only between "0" and "10".
    Also : Is it also possible to arrange this from block diagram with wiring reference element as maksimum limit to the numeric control ?
    Kind Regards,
    Best Wishes.

    Right click on your numerical control, go to properties, click the 'Data Entry' tab. Un-tick 'Use Default Limits'.
    You can now set Minimum, maximum, Increment etc.
    This can be done with a property node too if you want to change the values programatically.
    Attachments:
    dataentry.png ‏41 KB

  • Tabbing between xcontrols

    Dear all,
    I need to tab between multiple XControl controls on my UI front panel.
    The tab order has been set for each XControl on the front panel
    The XControls are of the same type and only have a single numeric control in the facade.
    Currently using the tab key just highlights the numeric control in the XControl facade and does not move the focus to the next XControl as specified by the tab order.
    Is there any way to tab between XControls?
    Thanks,
    P

    It might be behaving like a tab within a cluster.  If you have a control selected in a cluster then tabbing will just cycle through controls in that cluster.  You need to CTRL + Up Arrow or Down Arrow to go into or out of structures.  I assume the XControl is behaving like that.  You could try to do some fancy work detecting the tab button press, and then intercept it and press CTRL + Up, then CTRL + Tab if the keyfocus is in your XControl if this is the case.
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

  • How to stop text labels on numeric controls from disappeari​ng

    Got a nuisance problem I'd like to correct.  When I've got a previously defined numeric control (such as a slide or knob) with text labels, upon entering the control properties window and selecting the "text labels" tab, the first label defaults to clear/empty.  This is a nuisance because the text has to be retyped every time when modifying the text labels.  Is this a bug or a feature?  Is there any way to turn it off?  Thanks.

    "I've always wanted to be the first to discover a bug in a new LV release! "
    Thank you for sharing that with us. You are helping to make LV even beeter than it is.
    regarding your quote "I've always wanted to be the first to discover a bug in a new LV release! "
    Please see the LabVIEW Champions Blog titled "The Leaders Lead" that can be found here.
    http://forums.lavag.org/blog/champions/index.php?
    How is your nose?
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Tab between two textFields

    I have two text fields for entering numeric data and would like to touch the first and key in a number then hit the next key on the keyboard and go to the next text field to enter a number there also. As it is, when I type in the number on the first text field, i have "next" in the bottom right. When I touch "next" the keyboard disappears. If I go to the second text field and key in the number I have "done" in the bottom right that when touched makes the keyboard disappear.
    Is it possible to set this up that after the number is keyed in the first text field I can touch next and it send me to the second text field? And, after keying the number in the second text field I can click "go" or something that will trigger the "calculate" button i've implemented?
    I've searched for an hour and a half through all the developer section and didn't find anything other than "Enable Tabbing Between Text Fields" in a tutorial, but its for a desktop and not iphone.
    Any advice is appreciated!-)
    Also, is there a numeric keypad that can be called instead of the regular qwerty?
    Thanks sooo much,
    Jazmyn

    Anyone, please.

  • Cannot change precision of digital display of a numerical control

    Hi,
    This may be a stupid question. But in the attched slider control, I am unable to set the precision of the digital display. I can only set the precision of the scale. What do I need to do? Thanks.
    Peter
    Attachments:
    Horizontal Fill Slide (numeric control) question.vi ‏9 KB

    In the upper left of the display format tab of the properties dialog box, select digital display.
    I agree that it could be implemented better, for example if you right-click on the digital display ...display format. it should land on the dialog with the digital display selected. It currently does not.
    (as a general rule, you should avoid overlapping controls. It hurts redraw performance)
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    DigitalFormat.jpg ‏42 KB

  • Tab option in controls?

    Can anyone please tell me how to activate the tab control within the tables spo that I can run through the rows with the help of the tab key?

    Hi Spria!
    Which table are you referring to? There are tables available on the VIEW panel that allow you to tab between columns. There are also tables you can add to your reports. These tables do not allow you to change individual values but allow you to specify the channels to display. When you create a user dialog box (SUD) you can also add a table. With this table you can use the arrow keys to move between entries.
    I hope this helps!
    Sarah Miracle
    National Instruments

  • Resize numeric controls

    If I RIGHT CLICK on a Numeric COntrol and select 'Properties', the appearance tab show's the 'SIZE' as Height=23 & Width= 78. However, the Height is "grayed Out" and I cannot change it. I have investigated the "Custom" approach will does allow me to change the Font Size attribute, but the actual control still has the same 'height'.
    QUESTION:
    How can I change the height to a size that will allow me to use a 74pt font...a very large indicator.
    ...thanks everybody for the much anticipated reply.
    Solved!
    Go to Solution.

    Ciphertech,
    You cannot change the height of a numeric control or indicator directly.  Select the value displayed and then go to the font menu to select the size.  The indicator size will change to accomodate the font. If the exact size you want is not available on the menu, choose the closest available size and then use the Smaller or Larger keyboard shortcut to get what you want.
    Another way is to use the Numeric Text.Fontize property node.  Set it to the size you want.
    Lynn

  • Numeric Control - Text and Background Color changes when operating inc/dec arrows

    Hi,
    I'm developing an application that has a panel with black background and green or red numbers. I've added numeric controls and configured the text color and text background color attributes accordinglingy. I set the numeric control to hot or validate  control mode and show the inc/dec arrows, since I want to be able to incr/decr the numbers.
    The problem is that when I run the application and I hit the inc/dec arrows, then the colors inside the numeric control frame become inverted: the black background becomes white and the green number becomes cyan. I've created a callback function assosicated with the numeric control and tried forcing the text and background color, in the EVENT_VAL_CHANGED section, using the SetCtrlAttrribute() function, but to no avail. Also added ProcessDrawEvents didn't help.
    When I mouse click again outside the numeric control, then it reverts back to its original colors (green text, black background).
    Any suggestions as to how I can fix this ?
    I want it to keep its original colors at all times, even when I'm clicking the incr/decr arrows...
    Kind regards,
    pgriep
    Solved!
    Go to Solution.

    Ok, now I see what's happening.
    The effect you are seeing is a resul of standard numeric control behaviour combined with the black bcakground: when you use arrows to increment/decrement a numeric control its value will be automatically highlighted; on the default background you'll see the white area and figures highlighted in black (white numbers on balck background). If you set the background to black the system will automatically change the colors used to highlight the text, and that's what you're seeing.
    By the way, this does not happens if you use up and down keys on the keyboard: text is not highlighted so colors are not changing.
    Additionally, this is not only valid for numerics: see the behaviour of the string controls on the bottom of your panel when you tab up to them. This effect does not happen on controls set as indicator like the big clock in the upper part of the panel.
    The only way I can see to overcome this behaviour is to hide control built-in arrows and create your own up and down buttons with which you can manipulate the numeric control. I am attaching a modified version of your project with buttons on the left numeric; sorry for the poor aesthetic:  I have used some arrow icons I had on my disk, you may want to create your own arrows with the colors and shape you prefer.
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?
    Attachments:
    ModifiedApplication.zip ‏9 KB

  • Strange appearance of numeric control

    Hi....
    I encounter a strange appearance of a numeric control, see the two screen shots below.
    Background: on a tabpanel, two attributes of several numeric controls are changed programmatically if I set a flag using a check box located on a different tab panel:
    - the control mode is switched from indicator to hot
    - the precision is changed from 6 to 4 digits to compensate for the space of the numeric arrows
    These changes are applied to three controls, but only the first (top most) behaves unexpected, while the others are fine...
    A) If both attributes are changed, the two upper controls look like this:
    that is, the left most characters of the upper control are somehow overlapping, giving the impression of a fat O.
    B) If only the control mode of the upper control is changed to hot, the following result is obtained:
    This makes it more obvious that somehow the two left zeros of the upper control are squeezed together.
    Interestingly, if I operate the upper control by clicking on the up/down arrow, the resulting display (1.0000E-3) is ok.
    I was very much afraid of posting this mystery which could well be a stupid error of mine, but being unable locating a problem in the code I thought it might possibly be related to the tab panel problem reported here
    Comments, suggestions?
    Thanks, Wolfgang
    Solved!
    Go to Solution.

    Hi Markus,
    thanks for looking into it.
    I have slightly modified the example which now even shows the more dramatic case A.
    Concerning your reply: I disagree with your guess!
    1a) The control is large enough, actually I am setting a precision of 4 to have the number short enough
    1b) If a number is too long, the usual behavior of a control is that you see only part of the number (or text for string controls), while here digits overlap.
    2) The control behaves properly if you change the order of the function calls, i.e. reverse the order of precision and control mode
    3) The control behaves properly if no tabpanel switch is involved: if you put the checkbox on the same tabpanel as the numeric control, everything is fine. This is actually how I found out, because in my original code the checkmark was a menu item until I decided to change it.
    So my guess is that the visual update sequence of the control/tabpanel is flawed.
    Wolfgang
    Attachments:
    bug.zip ‏6 KB

  • CMD+Tab between apps does not bring fullscreen window into focus.

    I just upgraded to Mountain Lion from Snow Leopard and now I can't tab between fullscreen apps and regular screened apps.
    Let me clarify then that my Cmd-Tab function itself still works (the toolbar for whatever application I switch to appears at the top) but the window itself does not slide back into view (fullscreen apps).
    I can tab from fullscreen apps TO regular screen apps and the regular screen (and application) slides into view.  But when I tab back into a fullscreen app, only the toolbar changes.  The screen itself does NOT slide back into view.
    Another noteworthy observation is that I CAN tab between two fullscreen applications.  The toolbar and window both slide into view like normal.
    So the problem ONLY presents itself when I try to switch from regular screen to fullscreen apps.  I already restarted numerous times and also repaired disk permissions twice.
    I'm running ML 10.8.2 on a Mid 2010 15" Macbook Pro (2.66 GHz i7 with 4GB RAM).

    By the way, this interacts with the "order front" bug described here in a nasty way.  Fortunately, suggest it is fixed in Mountain Lion.

  • Keyboard entry numerical control application builder

    This is a very simple "settings" question but I can's seem to find the answer myself so I thought I would just ask.  I have an application that uses numerical controls (to set the time interval between scans for one).  Everything works great on systems with LV installed.  However, when made into an application using Application Builder and running it on a system that only has the LV runtime engine on it, manual keyboard entry of values into the controls no longer functions.  The incremental controls work but is awfully inconvenient if the user wants to change from a scan once per second to once every thirty seconds--those 29 clicks get tiring.  Soooo....what setting needs to be set before building the application that will allow keyboard entry (i.e highlight and type) of values to be possible once the VI is an executable.
    Sorry this is so simple...but be kind to one who is new at making stand-alone executables.
    Thanks!!

    Thanks for your help.  Sorry to be so long in responding but our the day after I submitted my question our client had the machine in question removed for an update by the Information Services guys for an upgrade from W2k to XP.  The machine just came back today and I reinstalled LV runtime and the application and the keypad entry works perfectly.  So I'm afraid that the true nature of the my origninal difficulty will never be known.  I appreciate your suggestion on the NUM LOCK key as I was 10 or 15 minutes into my own troubleshooting before I thought to check it myself, so I just as easily might have forgotten to check it--so no ducking is required (it should have been the first thing I checked).
    I do appreciate the time taken to respond.  Have a great day!

  • DIFFERENCE between Tabstrip control and tabstrin(with wizard)

    difference between table control and table control wizard.
    and what is all about custom control
    give simple examples

    Hi
    Table Control
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/d1/802338454211d189710000e8322d00/frameset.htm
    Table Control Wizard
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/d1/802338454211d189710000e8322d00/frameset.htm
    Tab Strip
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/04/10f2469e0811d1b4700000e8a52bed/frameset.htm
    Tab Strip wizard
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/04/10f2469e0811d1b4700000e8a52bed/frameset.htm
    http://www.sapmaterial.com/tablecontrol_sap.html
    Custom Controls
    A custom control is an area on a screen. You create them in the Screen Painter, and, like all other screen objects, they have a unique name. You use custom controls to embed controls. A control is a software component on the presentation server, which can be either an ActiveX control or a JavaBean, depending on the SAPgui you are using. They allow you to perform tasks, such as editing texts, locally on the presentation server. The control is driven by the application logic, which still runs on the application server.
    The SAP Control Framework
    The controls on the presentation server and the ABAP application programs on the application server communicate using the Structure link SAP Control Framework. This is programmed in ABAP Objects, and contains a set of global classes that you can find in the Class Browser under Basis ® Frontend services. These classes encapsulate the communication between the application server and presentation server, which is implemented using Remote Function Call.
    All application controls are encapsulated in a global class. You can find the SAP Basis controls in the Class Browser under Basis ® Frontend Services or Basis ® Component Integration. Programs that use controls on a screen work with the methods and events of the global classes that encapsulates them.
    Container Controls
    Before you can work with a custom control on a screen, you must assign a Structure link SAP Container Control to it. Container controls are instances of special global classes from the SAP Control Framework. The global class for custom controls is called CL_GUI_CUSTOM_CONTAINER. To link a custom control to a container control, pass the custom control name to the CONTAINER_NAME parameter of the container control constructor when you instantiate it.
    As well as using custom containers, you can link controls to a screen using a SAP Docking Container. This is encapsulated in the global class CL_GUI_DOCKING_CONTAINER. The SAP Docking Container does not place the control within a screen. Instead, it attaches it to one of the four edges. You can nest containers. For example, you can use the SAP Splitter Container (classes CL_GUI_EASY_SPLITTER_CONTAINER or CL_GUI_SPLITTER_CONTAINER) within other containers. This allows you to split a custom control or docking control into more than one area, allowing you to embed more than one control.
    One example,
    program z.
    Constants *
    constants: c_me like trdir-cnam value 'VNDOVV',
    c_myurl type scarr-url value
    'http://www.brainbench.com/transcript.jsp?pid=147699',
    c_width type i value 260,
    c_height type i value 130.
    Types *
    types: begin of t_pgm,
    year(4) type c,
    name like trdir-name,
    end of t_pgm,
    begin of t_pgmkey,
    id type i,
    name like trdir-name,
    end of t_pgmkey.
    Data *
    data: it_pgmkey type table of t_pgmkey.
    Classes *
    Definitions *
    class screen_init definition create private.
    public section.
    class-methods init_screen returning value(this)
    type ref to screen_init.
    methods constructor.
    private section.
    class-data a_id type i.
    data: splitter_h type ref to cl_gui_splitter_container,
    splitter_v type ref to cl_gui_splitter_container,
    picture type ref to cl_gui_picture,
    tree type ref to cl_gui_simple_tree.
    methods: fill_tree,
    fill_picture.
    endclass.
    class screen_handler definition.
    public section.
    methods: constructor importing container
    type ref to cl_gui_container,
    handle_node_double_click
    for event node_double_click
    of cl_gui_simple_tree
    importing node_key,
    handle_picture_double_click
    for event picture_dblclick
    of cl_gui_picture.
    private section.
    data: html_viewer type ref to cl_gui_html_viewer,
    editor type ref to cl_gui_textedit.
    methods: fill_html,
    fill_src importing programid type trdir-name.
    endclass.
    Implementations *
    class screen_init implementation.
    method init_screen.
    data screen type ref to screen_init.
    create object screen.
    this = screen.
    endmethod.
    method constructor.
    data: events type cntl_simple_events,
    event like line of events,
    event_handler type ref to screen_handler,
    container_left type ref to cl_gui_container,
    container_right type ref to cl_gui_container,
    container_top type ref to cl_gui_container,
    container_bottom type ref to cl_gui_container.
    create object splitter_h
    exporting
    parent = cl_gui_container=>screen0
    rows = 1
    columns = 2.
    call method splitter_h->set_border
    exporting border = cl_gui_cfw=>false.
    call method splitter_h->set_column_mode
    exporting mode = splitter_h->mode_absolute.
    call method splitter_h->set_column_width
    exporting id = 1
    width = c_width.
    container_left = splitter_h->get_container( row = 1 column = 1 ).
    container_right = splitter_h->get_container( row = 1 column = 2 ).
    create object splitter_v
    exporting
    parent = container_left
    rows = 2
    columns = 1.
    call method splitter_v->set_border
    exporting border = cl_gui_cfw=>false.
    call method splitter_v->set_row_mode
    exporting mode = splitter_v->mode_absolute.
    call method splitter_v->set_row_height
    exporting id = 1
    height = c_height.
    container_top = splitter_v->get_container( row = 1 column = 1 ).
    container_bottom = splitter_v->get_container( row = 2 column = 1 ).
    create object picture
    exporting parent = container_top.
    create object tree
    exporting parent = container_bottom
    node_selection_mode =
    cl_gui_simple_tree=>node_sel_mode_single.
    create object event_handler
    exporting container = container_right.
    event-eventid = cl_gui_simple_tree=>eventid_node_double_click.
    event-appl_event = ' '. "system event, does not trigger PAI
    append event to events.
    call method tree->set_registered_events
    exporting events = events.
    clear: event, events[].
    event-eventid = cl_gui_picture=>eventid_picture_dblclick.
    event-appl_event = ' '. "system event, does not trigger PAI
    append event to events.
    call method picture->set_registered_events
    exporting events = events.
    set handler: event_handler->handle_node_double_click for tree,
    event_handler->handle_picture_double_click for picture.
    call method: me->fill_picture,
    me->fill_tree.
    endmethod.
    method fill_picture.
    call method:
    picture->load_picture_from_sap_icons exporting icon = '@J4@',
    picture->set_display_mode
    exporting display_mode = picture->display_mode_fit_center.
    endmethod.
    method fill_tree.
    data: node_table type table of abdemonode,
    node type abdemonode,
    w_pgm type t_pgm,
    w_cdat type rdir_cdate,
    it_pgm type table of t_pgm,
    w_pgmkey type t_pgmkey.
    clear: a_id, it_pgmkey[].
    select distinct name cdat from trdir into (w_pgm-name, w_cdat)
    where cnam = c_me.
    w_pgm-year = w_cdat(4).
    append w_pgm to it_pgm.
    clear w_pgm.
    endselect.
    sort it_pgm.
    node-hidden = ' '. " All nodes are visible,
    node-disabled = ' '. " selectable,
    node-isfolder = 'X'. " a folder,
    node-expander = ' '. " have no '+' sign for expansion.
    loop at it_pgm into w_pgm.
    at new year.
    node-node_key = w_pgm-year.
    clear node-relatkey.
    clear node-relatship.
    node-text = w_pgm-year.
    node-n_image = ' '.
    node-exp_image = ' '.
    append node to node_table.
    endat.
    at new name.
    add 1 to a_id.
    node-node_key = w_pgmkey-id = a_id.
    w_pgmkey-name = w_pgm-name.
    node-relatkey = w_pgm-year.
    node-relatship = cl_gui_simple_tree=>relat_last_child.
    node-text = w_pgm-name.
    node-n_image = '@0P@'.
    node-exp_image = '@0P@'.
    append w_pgmkey to it_pgmkey.
    endat.
    append node to node_table.
    endloop.
    call method tree->add_nodes
    exporting table_structure_name = 'ABDEMONODE'
    node_table = node_table.
    endmethod.
    endclass.
    class screen_handler implementation.
    method constructor.
    create object: html_viewer exporting parent = container,
    editor exporting parent = container
    wordwrap_mode =
    cl_gui_textedit=>wordwrap_at_fixed_position
    wordwrap_position = 72.
    call method: fill_html,
    editor->set_readonly_mode exporting readonly_mode = 1.
    endmethod.
    method handle_node_double_click.
    data: w_name type programm,
    w_id type i,
    w_year(4) type c,
    w_pgmkey type t_pgmkey.
    w_name = node_key+4.
    w_id = w_name.
    clear w_name.
    read table it_pgmkey into w_pgmkey with key id = w_id
    binary search.
    if sy-subrc = 0.
    w_name = w_pgmkey-name.
    endif.
    w_year = node_key(4).
    if w_name is initial.
    call method: fill_html,
    html_viewer->set_visible exporting visible = 'X',
    editor->set_visible exporting visible = ' '.
    else.
    call method: fill_src exporting programid = w_name,
    editor->set_visible exporting visible = 'X',
    html_viewer->set_visible exporting visible = ' '.
    endif.
    call method cl_gui_cfw=>flush.
    endmethod.
    method handle_picture_double_click.
    call method: fill_html,
    html_viewer->set_visible exporting visible = 'X',
    editor->set_visible exporting visible = ' '.
    call method cl_gui_cfw=>flush.
    endmethod.
    method fill_html.
    call method html_viewer->show_url exporting url = c_myurl.
    endmethod.
    method fill_src.
    types t_line(72) type c.
    data src type table of t_line.
    read report programid into src.
    call method: editor->delete_text,
    editor->set_text_as_r3table exporting table = src[].
    endmethod.
    endclass.
    Data *
    data this_screen type ref to screen_init.
    Program execution *
    load-of-program.
    call screen 100.
    Dialog Modules PBO *
    module status_0100 output.
    set pf-status 'SCREEN_100'.
    set titlebar 'TIT_100'.
    this_screen = screen_init=>init_screen( ).
    endmodule.
    Dialog Modules PAI *
    module cancel input.
    leave program.
    endmodule.
    Reward if usefull

Maybe you are looking for

  • Getting the values of a form (JSP, JavaScript involved)

    Hi, basically I want to read the values from one page to another one, but I have found that when call the jsp from a javascript function it does not work!!! ... if I call the page "getValues.jsp" directly from the <form action>, everything works perf

  • Using Reflection on classes outside the classpath

    Hi all, Im writing a tool that takes a directory containing class files (from other internal projects) and returns information such as the Class name, package, parent, constructors and public methods. These projects will not be on the classpath and w

  • Forgot password - Email address changed

    Hi, I lost my password, and when I went to the "forgotten password" section I get a message telling me that a mail will be sent to the email address that was used to create the account.  Now, that email address was a previous work address, so I dont

  • 10.9 Installed, recovery is 10.8.4

    Hello. I am running 10.9 Mavericks, but my recovery partition shows 10.8.4. How can I upgrade it to 10.9? Is it possible without a disk wipe? What is the procedure? Thanks all.

  • No RFC destination is maintained for the port 'SAPERP'

    Hi! I am facing with a very strange thing. I am implementing a File_to_IDOC scenario. Therefore I created in XI system the appropriate Ports in tcode IDX1. I use one business system with two clients (SAPERB100 and SAPERB200). I defined there of cours