Opening an external window: Difference between revisions

From m204wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
Although the Client's Watch Window is expandable (by dragging its left edge) and you can also view long values by hovering the mouse pointer, you still may find cases where you would like to have more room for the Watch Window than is available. Or you may have cases where you could take better advantage of your monitor screen real estate if the Audit Trail tab were separated from the Client. Or you may have dual monitor capability, and ideally would like to use one monitor for the Client main window and one monitor for the Web Buffer tab.  
Although the Client's Watch Window is expandable (by dragging its left edge) and you can also view long values by hovering the mouse pointer, you still may find cases where you would like to have more room for the Watch Window than is available. Or you may have cases where you could take better advantage of your monitor screen real estate if the Audit Trail tab were separated from the Client. Or you may have dual monitor capability, and ideally would like to use one monitor for the Client main window and one monitor for the Web Buffer tab.  


The "external window" feature lets you display any combination of the Client main areas (the Watch Window, Audit Trail tab, Execution Trace tab, Web Buffer tab) or the [[review_common_buttons.html|button bar]] in individual windows that are separate from each other and from the Client.
The "external window" feature lets you display any combination of the Client main areas (the Watch Window, Audit Trail tab, Execution Trace tab, Web Buffer tab) or the [[Button Bar|button bar]] in individual windows that are separate from each other and from the Client.


You invoke the feature by double clicking the name of the Client area, or by menu option or mapped button, key, or macro. Any of these actions instantly creates a separate independent window for the specified Client area. The contents and label of the former area are removed and transferred to the new window, which (except for an external button bar) is equipped with Print and Save options accessible by menu or button. Closing the external window returns its contents to the usual area on the Client.  
You invoke the feature by double clicking the name of the Client area, or by menu option or mapped button, key, or macro. Any of these actions instantly creates a separate independent window for the specified Client area. The contents and label of the former area are removed and transferred to the new window, which (except for an external button bar) is equipped with Print and Save options accessible by menu or button. Closing the external window returns its contents to the usual area on the Client.  
Line 14: Line 14:
: a) Select Open External Watch Window from the Client's Window menu.
: a) Select Open External Watch Window from the Client's Window menu.
:: For opening the Watch Window (but not for the other areas) you can also use the Data Display menu.  
:: For opening the Watch Window (but not for the other areas) you can also use the Data Display menu.  
: b) Invoke a button, key, or macro [[reconfiguring_gui_buttons.html|mapped]] to the [[openExternalWatchWindow command|openExternalWatchWindow]] command.  
: b) Invoke a button, key, or macro [[Reconfiguring GUI buttons and hot keys|mapped]] to the [[openExternalWatchWindow command|openExternalWatchWindow]] command.  
:: Unique open commands exist for each of the other areas. As described [[open_external_window.html#open_client_and_extwindow|below]], you may want to open the external window at Client startup.
:: Unique open commands exist for each of the other areas. As described [[Opening an external window#Opening the Client and external window(s) simultaneously|below]], you may want to open the external window at Client startup.


2. The external Watch Window window opens, displaying the current Watch Window items. The space formerly occupied by the Watch Window is vacated, including its label:
2. The external Watch Window window opens, displaying the current Watch Window items. The space formerly occupied by the Watch Window is vacated, including its label.


[[File:openwatch3c_zoom60.gif|679x450px|openwatch3c]]<span class="f_ListContinue"> </span>
: [[File:openwatch3c_zoom60.gif|679x450px|openwatch3c]]


<span class="f_ListContinue">In the external window:</span>
<span class="f_ListContinue">In the external window:</span>
Line 37: Line 37:


*The external window typically </span><span class="f_ListBul2">pops up when you click it or when new content is written to it. Clicking a Client control brings the Client window to the top.
*The external window typically </span><span class="f_ListBul2">pops up when you click it or when new content is written to it. Clicking a Client control brings the Client window to the top.
*External windows may be [[open_external_window.html#keep_window_on_top|pinned]]: you can specify one or more of them to keep in view at all times
*External windows may be [[Opening an external window#Keeping external window(s) constantly on top|pinned]]: you can specify one or more of them to keep in view at all times
*Only the external window has print and remove-all-items-at-once (Clear) capabilities.
*Only the external window has print and remove-all-items-at-once (Clear) capabilities.


If you close and restart the Client, the external window location will remain what it was when you closed the Client.  
If you close and restart the Client, the external window location will remain what it was when you closed the Client.  


You might want an external window simply to display more data, for example, data that is displayed in long lines. In the image below, which also shows the [[add_item_to_watch_window.html#view_long_items|show as tooltip feature]], the very long data is more fully displayed in the external Watch Window.
You might want an external window simply to display more data, for example, data that is displayed in long lines. In the image below, which also shows the [[Add item to watch window#Viewing long items|show as tooltip feature]], the very long data is more fully displayed in the external Watch Window.


Placing the external window below the Client also means both the Client and the external window remain in view as you step through the source code, even as variable value changes cause the external Watch Window to pop up in front of the Client window:
Placing the external window below the Client also means both the Client and the external window remain in view as you step through the source code, even as variable value changes cause the external Watch Window to pop up in front of the Client window.


[[File:openwatch4a_zoom60.gif|764x504px|openwatch4a]]<span class="f_Para"> </span>
[[File:openwatch4a_zoom60.gif|764x504px|openwatch4a]]


<span class="f_Para">The following subsection describes an additional tool for controlling the viewing of multiple windows.</span>
<span class="f_Para">The following subsection describes an additional tool for controlling the viewing of multiple windows.</span>
Line 52: Line 52:
=== Keeping external window(s) constantly on top  ===
=== Keeping external window(s) constantly on top  ===


<span class="f_Para">With a proliferation of external windows on your PC desktop, it is sometimes useful to mark a window to remain at the top of the window stack (often called &quot;pinning&quot; a window). For example, you may want an external </span><span class="f_GUIlabel">Web Buffer</span><span class="f_Para"> window to always be the &quot;topmost&quot; window, especially if you have large or multiple monitors. </span>
<span class="f_Para">With a proliferation of external windows on your PC desktop, it is sometimes useful to mark a window to remain at the top of the window stack (often called &quot;pinning&quot; a window). For example, you may want an external </span><var>Web Buffer</var><span class="f_Para"> window to always be the &quot;topmost&quot; window, especially if you have large or multiple monitors. </span>


<span class="f_Para">You can &quot;pin&quot; an external window by simply right clicking its title bar, then selecting the </span><span class="f_GUIlabel">Pin</span><span class="f_Para"> option from the context menu: </span>
<span class="f_Para">You can &quot;pin&quot; an external window by simply right clicking its title bar, then selecting the </span><var>Pin</var><span class="f_Para"> option from the context menu. </span>


[[File:extwebbuf0_zoom55.gif|361x184px|extWebBuf0]]<span class="f_Para"> </span>
[[File:extwebbuf0_zoom55.gif|361x184px|extWebBuf0]]


<span class="f_Para">Alternatively, you can issue the Client </span><span class="f_CodeExList">[[pin command|pin]]</span><span class="f_Para"> command (Build 56). For example, to pin an external </span><span class="f_GUIlabel">Web Buffer</span><span class="f_Para"> window, you issue the following command (from a [[setup_ui_xml_file.html|UI mapping]], the [[using_macro_console_cmdline.html|command line]], a [[creating_running_macro.html|macro]], or the [[using_debuggertools_obj.html#clientcommand_method|clientCommand]] method): </span>
<span class="f_Para">Alternatively, you can issue the Client </span><span class="f_CodeExList">[[pin command|pin]]</span><span class="f_Para"> command (Build 56). For example, to pin an external </span><var>Web Buffer</var><span class="f_Para"> window, you issue the following command (from a [[Setting up the ui.xml file|UI mapping]], the [[Using the console and command line|command line]], a [[Creating and running a macro|macro]], or the [[Using the DebuggerTools class methods#ClientCommand method|clientCommand]] method): </span>


<p class="syntax">pin web buffer </p>
<p class="syntax">pin web buffer </p>
Line 64: Line 64:
<span class="f_Para">The window identifier (</span><span class="f_Monospace">web buffer</span><span class="f_Para">, above) may be the title of any open external window, it may be a trailing-asterisk (*) wildcard pattern for any open external window, or it may be a single asterisk to pin all open external windows. </span>
<span class="f_Para">The window identifier (</span><span class="f_Monospace">web buffer</span><span class="f_Para">, above) may be the title of any open external window, it may be a trailing-asterisk (*) wildcard pattern for any open external window, or it may be a single asterisk to pin all open external windows. </span>


<span class="f_Para">A pinned window displays a pin icon in the title bar in place of the product icon: </span>
<span class="f_Para">A pinned window displays a pin icon in the title bar in place of the product icon. </span>


[[File:extwebbuf1a_zoom55.gif|361x184px|extWebBuf1a]]<span class="f_Para"> </span>
[[File:extwebbuf1a_zoom55.gif|361x184px|extWebBuf1a]]


<span class="f_Para">You can move pinned windows around on your screen, and close or minimize them as necessary. You can also remove their pinning by: </span>
<span class="f_Para">You can move pinned windows around on your screen, and close or minimize them as necessary. You can also remove their pinning by: </span>
Line 75: Line 75:
=== Opening the Client and external window(s) simultaneously  ===
=== Opening the Client and external window(s) simultaneously  ===


If you want an external window to open when the Client starts, the [[file_menu_opts.html#open_at_startup|Preferences]] dialog box has options in the Open at Startup area to specify which Client areas (Watch Window, Audit Trail, Web Buffer, Execution Trace) you want to open as an external window when the Client starts.
If you want an external window to open when the Client starts, the [[File menu options#Open at Startup:|Preferences]] dialog box has options in the Open at Startup area to specify which Client areas (Watch Window, Audit Trail, Web Buffer, Execution Trace) you want to open as an external window when the Client starts.


'''See Also'''
'''See Also'''
 
: [[Button Bar#Launching an external button bar|Launching an external button bar]]
<span class="f_SimpleList">[[review_common_buttons.html#launch_ext_but_bar|Launching an external button bar]] </span>
[[Category:Debugger Home]]
[[Category:Debugger Home]]

Latest revision as of 22:24, 21 April 2023

Although the Client's Watch Window is expandable (by dragging its left edge) and you can also view long values by hovering the mouse pointer, you still may find cases where you would like to have more room for the Watch Window than is available. Or you may have cases where you could take better advantage of your monitor screen real estate if the Audit Trail tab were separated from the Client. Or you may have dual monitor capability, and ideally would like to use one monitor for the Client main window and one monitor for the Web Buffer tab.

The "external window" feature lets you display any combination of the Client main areas (the Watch Window, Audit Trail tab, Execution Trace tab, Web Buffer tab) or the button bar in individual windows that are separate from each other and from the Client.

You invoke the feature by double clicking the name of the Client area, or by menu option or mapped button, key, or macro. Any of these actions instantly creates a separate independent window for the specified Client area. The contents and label of the former area are removed and transferred to the new window, which (except for an external button bar) is equipped with Print and Save options accessible by menu or button. Closing the external window returns its contents to the usual area on the Client.

The rest of this section describes the feature with a detailed example, considers ways to control the positioning of external windows, and shows how to open an external window automatically.  

Watch Window example 

To use an external Watch Window, for example:

1. Do either of the following:

a) Select Open External Watch Window from the Client's Window menu.
For opening the Watch Window (but not for the other areas) you can also use the Data Display menu.
b) Invoke a button, key, or macro mapped to the openExternalWatchWindow command.
Unique open commands exist for each of the other areas. As described below, you may want to open the external window at Client startup.

2. The external Watch Window window opens, displaying the current Watch Window items. The space formerly occupied by the Watch Window is vacated, including its label.

openwatch3c

In the external window:

  • Print and save options are on buttons and in the File menu.
  • The Clear button deletes all the items in the window.
  • The Close button closes the external window but repopulates the former Watch Window area on the Client with the items that were present at the time of the close.
The mappable command closeExternalWatchWindow performs the same action as the Close button.
Unique close commands exist for each of the other areas except for the button bar, and the closeExternalWindows command closes multiple windows at once.
  • A search bar provides a text box and control buttons for searching the window content. Top and Bottom buttons locate and highlight the first or last line of the content, while Search Down and Search Up activate backwards or forwards searching.
Pressing the Enter key after entering a search string in the search text box searches down, by default, and each subsequent key press searches for additional occurrences of the string, as long as the focus remains on the search text box.

3. Continue debugging. The external window functions the same as the normal one, except:

  • The external window typically pops up when you click it or when new content is written to it. Clicking a Client control brings the Client window to the top.
  • External windows may be pinned: you can specify one or more of them to keep in view at all times
  • Only the external window has print and remove-all-items-at-once (Clear) capabilities.

If you close and restart the Client, the external window location will remain what it was when you closed the Client.

You might want an external window simply to display more data, for example, data that is displayed in long lines. In the image below, which also shows the show as tooltip feature, the very long data is more fully displayed in the external Watch Window.

Placing the external window below the Client also means both the Client and the external window remain in view as you step through the source code, even as variable value changes cause the external Watch Window to pop up in front of the Client window.

openwatch4a

The following subsection describes an additional tool for controlling the viewing of multiple windows.

Keeping external window(s) constantly on top 

With a proliferation of external windows on your PC desktop, it is sometimes useful to mark a window to remain at the top of the window stack (often called "pinning" a window). For example, you may want an external Web Buffer window to always be the "topmost" window, especially if you have large or multiple monitors.

You can "pin" an external window by simply right clicking its title bar, then selecting the Pin option from the context menu.

extWebBuf0

Alternatively, you can issue the Client pin command (Build 56). For example, to pin an external Web Buffer window, you issue the following command (from a UI mapping, the command line, a macro, or the clientCommand method):

pin web buffer 

The window identifier (web buffer, above) may be the title of any open external window, it may be a trailing-asterisk (*) wildcard pattern for any open external window, or it may be a single asterisk to pin all open external windows.

A pinned window displays a pin icon in the title bar in place of the product icon.

extWebBuf1a

You can move pinned windows around on your screen, and close or minimize them as necessary. You can also remove their pinning by:

  • Selecting UnPin from the title bar context menu
  • Issuing an unPin command

Opening the Client and external window(s) simultaneously 

If you want an external window to open when the Client starts, the Preferences dialog box has options in the Open at Startup area to specify which Client areas (Watch Window, Audit Trail, Web Buffer, Execution Trace) you want to open as an external window when the Client starts.

See Also

Launching an external button bar