Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Rev: 1377850930704
Wiki Markup
{div:style=display:none}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY (EXCEPT INSIDE THE DIV BELOW WITH ID=DESCRIPTION), UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO AUTO UPDATE THE CONTENT THROUGH THE DOC GENERATOR.\\		\\		Enter additional information related to this 'class' inside the \{div} macro with 'id=description'{div}
{div:id=description}{div}\\ 

{table:id=|class=servoy sReturnTypes}{tr:style=height: 30px;}{th}Return Types{th}{tr}{tr}{td}{span:class=sWordList}[CheckBox]{span}{span:class=sWordList}[Menu]{span}{span:class=sWordList}[MenuBar]{span}{span:class=sWordList}[MenuItem]{span}{span:class=sWordList}[Popup]{span}{span:class=sWordList}[RadioButton]{span}{span:class=sWordList}[ToolBar]{span}{td}{tr}{table}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[ToolBar]{td}{td}[#addToolBar]\(window, name)
Creates and returns a toolbar for a specific window.{td}{tr}{tbody}{tbody}{tr}{td}[ToolBar]{td}{td}[#addToolBar]\(window, name, row)
Creates and returns a toolbar for a specific window.{td}{tr}{tbody}{tbody}{tr}{td}[ToolBar]{td}{td}[#addToolBar]\(window, name, displayname)
Creates and returns a toolbar for a specific window.{td}{tr}{tbody}{tbody}{tr}{td}[ToolBar]{td}{td}[#addToolBar]\(window, name, displayname, row)
Creates and returns a toolbar for a specific window.{td}{tr}{tbody}{tbody}{tr}{td}[ToolBar]{td}{td}[#addToolBar]\(name)
Add a toolbar.{td}{tr}{tbody}{tbody}{tr}{td}[ToolBar]{td}{td}[#addToolBar]\(name, row)
Add a toolbar.{td}{tr}{tbody}{tbody}{tr}{td}[ToolBar]{td}{td}[#addToolBar]\(name, displayname)
Add a toolbar.{td}{tr}{tbody}{tbody}{tr}{td}[ToolBar]{td}{td}[#addToolBar]\(name, displayname, row)
Add a toolbar.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#cancelFormPopup]\()
Close the current form popup panel without assigning a value to the configured data provider.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#closeFormPopup]\(retval)
Close the current form popup panel and assign the value to the configured data provider.{td}{tr}{tbody}{tbody}{tr}{td}[Popup]{td}{td}[#createPopupMenu]\()
Creates a new popup menu that can be populated with items and displayed.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#createShortcut]\(shortcut, methodName)
Create a shortcut.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#createShortcut]\(shortcut, methodName, arguments)
Create a shortcut.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#createShortcut]\(shortcut, methodName, contextFilter)
Create a shortcut.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#createShortcut]\(shortcut, methodName, contextFilter, arguments)
Create a shortcut.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#createShortcut]\(shortcut, method)
Create a shortcut.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#createShortcut]\(shortcut, method, arguments)
Create a shortcut.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#createShortcut]\(shortcut, method, contextFilter)
Create a shortcut.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#createShortcut]\(shortcut, method, contextFilter, arguments)
Create a shortcut.{td}{tr}{tbody}{tbody}{tr}{td}[MenuBar]{td}{td}[#getMenuBar]\()
Get the menubar of the main window, or of a named window.{td}{tr}{tbody}{tbody}{tr}{td}[MenuBar]{td}{td}[#getMenuBar]\(windowName)
Get the menubar of the main window, or of a named window.{td}{tr}{tbody}{tbody}{tr}{td}[ToolBar]{td}{td}[#getToolBar]\(window, name)
Get the toolbar of a specific window from the toolbar panel by name.{td}{tr}{tbody}{tbody}{tr}{td}[ToolBar]{td}{td}[#getToolBar]\(name)
Get the toolbar from the toolbar panel by name.{td}{tr}{tbody}{tbody}{tr}{td}[String]\[]{td}{td}[#getToolbarNames]\()
Get all toolbar names from the toolbar panel.{td}{tr}{tbody}{tbody}{tr}{td}[String]\[]{td}{td}[#getToolbarNames]\(window)
Get all toolbar names from the toolbar panel of a specific window.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#maximize]\()
Maximize the current window or the window with the specified name (Smart client only).{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#maximize]\(windowName)
Maximize the current window or the window with the specified name (Smart client only).{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeShortcut]\(shortcut)
Remove a shortcut.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeShortcut]\(shortcut, contextFilter)
Remove a shortcut.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#removeToolBar]\(window, name)
Remove the toolbar from the toolbar panel of a specific window.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#removeToolBar]\(name)
Remove the toolbar from the toolbar panel.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#setFullScreen]\(full)
Bring the window into/out of fullsceen mode.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#setStatusBarVisible]\(visible)
Show or hide the statusbar.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#setToolBarAreaVisible]\(visible)
Show or hide the toolbar area.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#showFormPopup]\(elementToShowRelatedTo, form, scope, dataproviderID)
Show a form as popup panel, where the closeFormPopup can pass return a value to a dataprovider in the specified scope.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#showFormPopup]\(elementToShowRelatedTo, form, scope, dataproviderID, width, height)
Show a form as popup panel, where the closeFormPopup can pass return a value to a dataprovider in the specified scope.{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=addToolBar-JSWindow_String}{tr:id=name}{td}h6.addToolBar{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[ToolBar]{span}{span:style=font-weight: bold;}addToolBar{span}{span}\(window, name){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Creates and returns a toolbar for a specific window.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[JSWindow]} window
\{[String]} name -- the name by which this toolbar is identified in code. If display name is missing, name will be used as displayName as well.
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[ToolBar]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Note: method addToolBar only works in the smart client.

// create a window
var win = application.createWindow("myWindow", JSWindow.WINDOW);

// add a toolbar with only a name
var toolbar0 = plugins.window.addToolBar(win,"toolbar_0");
toolbar0.addButton("click me 0", callback_function);

// add a toolbar with a name and the row you want it to show at
// row number starts at 0
var toolbar1 = plugins.window.addToolBar(win,"toolbar_1", 2);
toolbar1.addButton("click me 1", callback_function);

// add a toolbar with a name and display name
var toolbar2 = plugins.window.addToolBar(win,"toolbar_2", "toolbar_2_internal_name");
toolbar2.addButton("click me 2", callback_function);

// add a toolbar with a name, display name and the row you want the
// toolbar to show at. row number starts at 0 
var toolbar3 = plugins.window.addToolBar(win,"toolbar_3", "toolbar_3_internal_name", 3);
toolbar3.addButton("click me 3", callback_function);

win.show(forms.Myform)
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addToolBar-JSWindow_String_Number}{tr:id=name}{td}h6.addToolBar{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[ToolBar]{span}{span:style=font-weight: bold;}addToolBar{span}{span}\(window, name, row){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Creates and returns a toolbar for a specific window.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[JSWindow]} window
\{[String]} name -- the name by which this toolbar is identified in code. If display name is missing, name will be used as displayName as well.
\{[Number]} row -- the row inside the toolbar panel where this toolbar is to be added.
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[ToolBar]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Note: method addToolBar only works in the smart client.

// create a window
var win = application.createWindow("myWindow", JSWindow.WINDOW);

// add a toolbar with only a name
var toolbar0 = plugins.window.addToolBar(win,"toolbar_0");
toolbar0.addButton("click me 0", callback_function);

// add a toolbar with a name and the row you want it to show at
// row number starts at 0
var toolbar1 = plugins.window.addToolBar(win,"toolbar_1", 2);
toolbar1.addButton("click me 1", callback_function);

// add a toolbar with a name and display name
var toolbar2 = plugins.window.addToolBar(win,"toolbar_2", "toolbar_2_internal_name");
toolbar2.addButton("click me 2", callback_function);

// add a toolbar with a name, display name and the row you want the
// toolbar to show at. row number starts at 0 
var toolbar3 = plugins.window.addToolBar(win,"toolbar_3", "toolbar_3_internal_name", 3);
toolbar3.addButton("click me 3", callback_function);

win.show(forms.Myform)
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addToolBar-JSWindow_String_String}{tr:id=name}{td}h6.addToolBar{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[ToolBar]{span}{span:style=font-weight: bold;}addToolBar{span}{span}\(window, name, displayname){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Creates and returns a toolbar for a specific window.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[JSWindow]} window
\{[String]} name -- the name by which this toolbar is identified in code
\{[String]} displayname -- the name by which this toolbar will be identified in the UI. (for example in the toolbar panel's context menu)
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[ToolBar]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Note: method addToolBar only works in the smart client.

// create a window
var win = application.createWindow("myWindow", JSWindow.WINDOW);

// add a toolbar with only a name
var toolbar0 = plugins.window.addToolBar(win,"toolbar_0");
toolbar0.addButton("click me 0", callback_function);

// add a toolbar with a name and the row you want it to show at
// row number starts at 0
var toolbar1 = plugins.window.addToolBar(win,"toolbar_1", 2);
toolbar1.addButton("click me 1", callback_function);

// add a toolbar with a name and display name
var toolbar2 = plugins.window.addToolBar(win,"toolbar_2", "toolbar_2_internal_name");
toolbar2.addButton("click me 2", callback_function);

// add a toolbar with a name, display name and the row you want the
// toolbar to show at. row number starts at 0 
var toolbar3 = plugins.window.addToolBar(win,"toolbar_3", "toolbar_3_internal_name", 3);
toolbar3.addButton("click me 3", callback_function);

win.show(forms.Myform)
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addToolBar-JSWindow_String_String_Number}{tr:id=name}{td}h6.addToolBar{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[ToolBar]{span}{span:style=font-weight: bold;}addToolBar{span}{span}\(window, name, displayname, row){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Creates and returns a toolbar for a specific window.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[JSWindow]} window
\{[String]} name -- the name by which this toolbar is identified in code.
\{[String]} displayname -- the name by which this toolbar will be identified in the UI. (for example in the toolbar panel's context menu)
\{[Number]} row -- the row inside the toolbar panel where this toolbar is to be added.
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[ToolBar]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Note: method addToolBar only works in the smart client.

// create a window
var win = application.createWindow("myWindow", JSWindow.WINDOW);

// add a toolbar with only a name
var toolbar0 = plugins.window.addToolBar(win,"toolbar_0");
toolbar0.addButton("click me 0", callback_function);

// add a toolbar with a name and the row you want it to show at
// row number starts at 0
var toolbar1 = plugins.window.addToolBar(win,"toolbar_1", 2);
toolbar1.addButton("click me 1", callback_function);

// add a toolbar with a name and display name
var toolbar2 = plugins.window.addToolBar(win,"toolbar_2", "toolbar_2_internal_name");
toolbar2.addButton("click me 2", callback_function);

// add a toolbar with a name, display name and the row you want the
// toolbar to show at. row number starts at 0 
var toolbar3 = plugins.window.addToolBar(win,"toolbar_3", "toolbar_3_internal_name", 3);
toolbar3.addButton("click me 3", callback_function);

win.show(forms.Myform)
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addToolBar-String}{tr:id=name}{td}h6.addToolBar{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[ToolBar]{span}{span:style=font-weight: bold;}addToolBar{span}{span}\(name){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Add a toolbar.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the name by which this toolbar is identified in code. If display name is missing, name will be used as displayName as well.
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[ToolBar]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Note: method addToolBar only works in the smart client.

// add a toolbar with only a name
var toolbar0 = plugins.window.addToolBar("toolbar_0");
toolbar0.addButton("click me 0", feedback_button);

// add a toolbar with a name and the row you want it to show at
// row number starts at 0
var toolbar1 = plugins.window.addToolBar("toolbar_1", 2);
toolbar1.addButton("click me 1", feedback_button);

// add a toolbar with a name and display name
var toolbar2 = plugins.window.addToolBar("toolbar_2", "toolbar_2_internal_name");
toolbar2.addButton("click me 2", feedback_button);

// add a toolbar with a name, display name and the row you want the
// toolbar to show at. row number starts at 0 
var toolbar3 = plugins.window.addToolBar("toolbar_3", "toolbar_3_internal_name", 3);
toolbar3.addButton("click me 3", feedback_button);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addToolBar-String_Number}{tr:id=name}{td}h6.addToolBar{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[ToolBar]{span}{span:style=font-weight: bold;}addToolBar{span}{span}\(name, row){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Add a toolbar.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the name by which this toolbar is identified in code. If display name is missing, name will be used as displayName as well.
\{[Number]} row -- the row inside the toolbar panel where this toolbar is to be added.
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[ToolBar]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Note: method addToolBar only works in the smart client.

// add a toolbar with only a name
var toolbar0 = plugins.window.addToolBar("toolbar_0");
toolbar0.addButton("click me 0", feedback_button);

// add a toolbar with a name and the row you want it to show at
// row number starts at 0
var toolbar1 = plugins.window.addToolBar("toolbar_1", 2);
toolbar1.addButton("click me 1", feedback_button);

// add a toolbar with a name and display name
var toolbar2 = plugins.window.addToolBar("toolbar_2", "toolbar_2_internal_name");
toolbar2.addButton("click me 2", feedback_button);

// add a toolbar with a name, display name and the row you want the
// toolbar to show at. row number starts at 0 
var toolbar3 = plugins.window.addToolBar("toolbar_3", "toolbar_3_internal_name", 3);
toolbar3.addButton("click me 3", feedback_button);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addToolBar-String_String}{tr:id=name}{td}h6.addToolBar{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[ToolBar]{span}{span:style=font-weight: bold;}addToolBar{span}{span}\(name, displayname){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Add a toolbar.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the name by which this toolbar is identified in code. If display name is missing, name will be used as displayName as well.
\{[String]} displayname -- the name by which this toolbar will be identified in the UI. (for example in the toolbar panel's context menu)
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[ToolBar]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Note: method addToolBar only works in the smart client.

// add a toolbar with only a name
var toolbar0 = plugins.window.addToolBar("toolbar_0");
toolbar0.addButton("click me 0", feedback_button);

// add a toolbar with a name and the row you want it to show at
// row number starts at 0
var toolbar1 = plugins.window.addToolBar("toolbar_1", 2);
toolbar1.addButton("click me 1", feedback_button);

// add a toolbar with a name and display name
var toolbar2 = plugins.window.addToolBar("toolbar_2", "toolbar_2_internal_name");
toolbar2.addButton("click me 2", feedback_button);

// add a toolbar with a name, display name and the row you want the
// toolbar to show at. row number starts at 0 
var toolbar3 = plugins.window.addToolBar("toolbar_3", "toolbar_3_internal_name", 3);
toolbar3.addButton("click me 3", feedback_button);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addToolBar-String_String_Number}{tr:id=name}{td}h6.addToolBar{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[ToolBar]{span}{span:style=font-weight: bold;}addToolBar{span}{span}\(name, displayname, row){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Add a toolbar.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the name by which this toolbar is identified in code. If display name is missing, name will be used as displayName as well.
\{[String]} displayname -- the name by which this toolbar will be identified in the UI. (for example in the toolbar panel's context menu)
\{[Number]} row -- the row inside the toolbar panel where this toolbar is to be added.
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[ToolBar]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Note: method addToolBar only works in the smart client.

// add a toolbar with only a name
var toolbar0 = plugins.window.addToolBar("toolbar_0");
toolbar0.addButton("click me 0", feedback_button);

// add a toolbar with a name and the row you want it to show at
// row number starts at 0
var toolbar1 = plugins.window.addToolBar("toolbar_1", 2);
toolbar1.addButton("click me 1", feedback_button);

// add a toolbar with a name and display name
var toolbar2 = plugins.window.addToolBar("toolbar_2", "toolbar_2_internal_name");
toolbar2.addButton("click me 2", feedback_button);

// add a toolbar with a name, display name and the row you want the
// toolbar to show at. row number starts at 0 
var toolbar3 = plugins.window.addToolBar("toolbar_3", "toolbar_3_internal_name", 3);
toolbar3.addButton("click me 3", feedback_button);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=cancelFormPopup}{tr:id=name}{td}h6.cancelFormPopup{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}void{span}{span:style=font-weight: bold;}cancelFormPopup{span}{span}\(){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Close the current form popup panel without assigning a value to the configured data provider.{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}void{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Show a form as popup panel, where the closeFormPopup can pass return a value to a dataprovider in the specified scope.
plugins.window.showFormPopup(null,forms.orderPicker,foundset.getSelectedRecord(),"order_id");
// do call closeFormPopup(ordervalue) from the orderPicker form
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=closeFormPopup-Object}{tr:id=name}{td}h6.closeFormPopup{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}void{span}{span:style=font-weight: bold;}closeFormPopup{span}{span}\(retval){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Close the current form popup panel and assign the value to the configured data provider.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Object]} retval -- return value for data provider
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}void{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Show a form as popup panel, where the closeFormPopup can pass return a value to a dataprovider in the specified scope.
plugins.window.showFormPopup(null,forms.orderPicker,foundset.getSelectedRecord(),"order_id");
// do call closeFormPopup(ordervalue) from the orderPicker form
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createPopupMenu}{tr:id=name}{td}h6.createPopupMenu{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Popup]{span}{span:style=font-weight: bold;}createPopupMenu{span}{span}\(){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Creates a new popup menu that can be populated with items and displayed.{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Popup]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// create a popup menu
var menu = plugins.window.createPopupMenu();
// add a menu item
menu.addMenuItem("an entry", feedback);

if (event.getSource()) {
	// display the popup over the component which is the source of the event
	menu.show(event.getSource());
	// display the popup over the components, at specified coordinates relative to the component
	//menu.show(event.getSource(), 10, 10);
	// display the popup at specified coordinates relative to the main window
	//menu.show(100, 100);
}
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createShortcut-String_String}{tr:id=name}{td}h6.createShortcut{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}createShortcut{span}{span}\(shortcut, methodName){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Create a shortcut.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} shortcut
\{[String]} methodName -- scopes.scopename.methodname or formname.methodname String to target the method to execute
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// this plugin uses the java keystroke parser
// see http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/KeyStroke.html#getKeyStroke(java.lang.String)
// global handler
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut);
// global handler with a form context filter
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut, 'frm_contacts');
// form method called when shortcut is used
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut);
// form method called when shortcut is used and arguments are passed to the method
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut, new Array(argument1, argument2));
// Passing the method argument as a string prevents unnecessary form loading
//plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', new Array(argument1, argument2));
// Passing the method as a name and the contextFilter set so that this shortcut only trigger on the form 'frm_contacts'.
plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', 'frm_contacts', new Array(argument1, argument2));
// remove global shortcut and form-level shortcut
plugins.window.removeShortcut('menu 1');
plugins.window.removeShortcut('control RIGHT', 'frm_contacts');
// shortcut handlers are called with an JSEvent argument
///* 
// * Handle keyboard shortcut.
// * 
// * @param {JSEvent} event the event that triggered the action
// */
//function handleShortcut(event)
//{
//  application.output(event.getType()) // returns 'menu 1'
//  application.output(event.getFormName()) // returns 'frm_contacts'
//  application.output(event.getElementName()) // returns 'contact_name_field' or null when no element is selected
//}
// NOTE: shortcuts will not override existing operating system or browser shortcuts,
// choose your shortcuts careful to make sure they work in all clients.
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createShortcut-String_String_ObjectArray}{tr:id=name}{td}h6.createShortcut{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}createShortcut{span}{span}\(shortcut, methodName, arguments){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Create a shortcut.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} shortcut
\{[String]} methodName -- scopes.scopename.methodname or formname.methodname String to target the method to execute
\{[Object]\[]} arguments
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// this plugin uses the java keystroke parser
// see http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/KeyStroke.html#getKeyStroke(java.lang.String)
// global handler
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut);
// global handler with a form context filter
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut, 'frm_contacts');
// form method called when shortcut is used
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut);
// form method called when shortcut is used and arguments are passed to the method
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut, new Array(argument1, argument2));
// Passing the method argument as a string prevents unnecessary form loading
//plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', new Array(argument1, argument2));
// Passing the method as a name and the contextFilter set so that this shortcut only trigger on the form 'frm_contacts'.
plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', 'frm_contacts', new Array(argument1, argument2));
// remove global shortcut and form-level shortcut
plugins.window.removeShortcut('menu 1');
plugins.window.removeShortcut('control RIGHT', 'frm_contacts');
// shortcut handlers are called with an JSEvent argument
///* 
// * Handle keyboard shortcut.
// * 
// * @param {JSEvent} event the event that triggered the action
// */
//function handleShortcut(event)
//{
//  application.output(event.getType()) // returns 'menu 1'
//  application.output(event.getFormName()) // returns 'frm_contacts'
//  application.output(event.getElementName()) // returns 'contact_name_field' or null when no element is selected
//}
// NOTE: shortcuts will not override existing operating system or browser shortcuts,
// choose your shortcuts careful to make sure they work in all clients.
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createShortcut-String_String_String}{tr:id=name}{td}h6.createShortcut{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}createShortcut{span}{span}\(shortcut, methodName, contextFilter){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Create a shortcut.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} shortcut
\{[String]} methodName -- scopes.scopename.methodname or formname.methodname String to target the method to execute
\{[String]} contextFilter -- only triggers the shortcut when on this form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// this plugin uses the java keystroke parser
// see http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/KeyStroke.html#getKeyStroke(java.lang.String)
// global handler
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut);
// global handler with a form context filter
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut, 'frm_contacts');
// form method called when shortcut is used
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut);
// form method called when shortcut is used and arguments are passed to the method
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut, new Array(argument1, argument2));
// Passing the method argument as a string prevents unnecessary form loading
//plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', new Array(argument1, argument2));
// Passing the method as a name and the contextFilter set so that this shortcut only trigger on the form 'frm_contacts'.
plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', 'frm_contacts', new Array(argument1, argument2));
// remove global shortcut and form-level shortcut
plugins.window.removeShortcut('menu 1');
plugins.window.removeShortcut('control RIGHT', 'frm_contacts');
// shortcut handlers are called with an JSEvent argument
///* 
// * Handle keyboard shortcut.
// * 
// * @param {JSEvent} event the event that triggered the action
// */
//function handleShortcut(event)
//{
//  application.output(event.getType()) // returns 'menu 1'
//  application.output(event.getFormName()) // returns 'frm_contacts'
//  application.output(event.getElementName()) // returns 'contact_name_field' or null when no element is selected
//}
// NOTE: shortcuts will not override existing operating system or browser shortcuts,
// choose your shortcuts careful to make sure they work in all clients.
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createShortcut-String_String_String_ObjectArray}{tr:id=name}{td}h6.createShortcut{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}createShortcut{span}{span}\(shortcut, methodName, contextFilter, arguments){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Create a shortcut.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} shortcut
\{[String]} methodName -- scopes.scopename.methodname or formname.methodname String to target the method to execute
\{[String]} contextFilter -- only triggers the shortcut when on this form
\{[Object]\[]} arguments
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// this plugin uses the java keystroke parser
// see http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/KeyStroke.html#getKeyStroke(java.lang.String)
// global handler
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut);
// global handler with a form context filter
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut, 'frm_contacts');
// form method called when shortcut is used
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut);
// form method called when shortcut is used and arguments are passed to the method
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut, new Array(argument1, argument2));
// Passing the method argument as a string prevents unnecessary form loading
//plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', new Array(argument1, argument2));
// Passing the method as a name and the contextFilter set so that this shortcut only trigger on the form 'frm_contacts'.
plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', 'frm_contacts', new Array(argument1, argument2));
// remove global shortcut and form-level shortcut
plugins.window.removeShortcut('menu 1');
plugins.window.removeShortcut('control RIGHT', 'frm_contacts');
// shortcut handlers are called with an JSEvent argument
///* 
// * Handle keyboard shortcut.
// * 
// * @param {JSEvent} event the event that triggered the action
// */
//function handleShortcut(event)
//{
//  application.output(event.getType()) // returns 'menu 1'
//  application.output(event.getFormName()) // returns 'frm_contacts'
//  application.output(event.getElementName()) // returns 'contact_name_field' or null when no element is selected
//}
// NOTE: shortcuts will not override existing operating system or browser shortcuts,
// choose your shortcuts careful to make sure they work in all clients.
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createShortcut-String_Function}{tr:id=name}{td}h6.createShortcut{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}createShortcut{span}{span}\(shortcut, method){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Create a shortcut.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} shortcut
\{[Function]} method -- the method/function that needs to be called when the shortcut is hit
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// this plugin uses the java keystroke parser
// see http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/KeyStroke.html#getKeyStroke(java.lang.String)
// global handler
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut);
// global handler with a form context filter
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut, 'frm_contacts');
// form method called when shortcut is used
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut);
// form method called when shortcut is used and arguments are passed to the method
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut, new Array(argument1, argument2));
// Passing the method argument as a string prevents unnecessary form loading
//plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', new Array(argument1, argument2));
// Passing the method as a name and the contextFilter set so that this shortcut only trigger on the form 'frm_contacts'.
plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', 'frm_contacts', new Array(argument1, argument2));
// remove global shortcut and form-level shortcut
plugins.window.removeShortcut('menu 1');
plugins.window.removeShortcut('control RIGHT', 'frm_contacts');
// shortcut handlers are called with an JSEvent argument
///* 
// * Handle keyboard shortcut.
// * 
// * @param {JSEvent} event the event that triggered the action
// */
//function handleShortcut(event)
//{
//  application.output(event.getType()) // returns 'menu 1'
//  application.output(event.getFormName()) // returns 'frm_contacts'
//  application.output(event.getElementName()) // returns 'contact_name_field' or null when no element is selected
//}
// NOTE: shortcuts will not override existing operating system or browser shortcuts,
// choose your shortcuts careful to make sure they work in all clients.
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createShortcut-String_Function_ObjectArray}{tr:id=name}{td}h6.createShortcut{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}createShortcut{span}{span}\(shortcut, method, arguments){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Create a shortcut.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} shortcut
\{[Function]} method -- the method/function that needs to be called when the shortcut is hit
\{[Object]\[]} arguments
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// this plugin uses the java keystroke parser
// see http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/KeyStroke.html#getKeyStroke(java.lang.String)
// global handler
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut);
// global handler with a form context filter
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut, 'frm_contacts');
// form method called when shortcut is used
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut);
// form method called when shortcut is used and arguments are passed to the method
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut, new Array(argument1, argument2));
// Passing the method argument as a string prevents unnecessary form loading
//plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', new Array(argument1, argument2));
// Passing the method as a name and the contextFilter set so that this shortcut only trigger on the form 'frm_contacts'.
plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', 'frm_contacts', new Array(argument1, argument2));
// remove global shortcut and form-level shortcut
plugins.window.removeShortcut('menu 1');
plugins.window.removeShortcut('control RIGHT', 'frm_contacts');
// shortcut handlers are called with an JSEvent argument
///* 
// * Handle keyboard shortcut.
// * 
// * @param {JSEvent} event the event that triggered the action
// */
//function handleShortcut(event)
//{
//  application.output(event.getType()) // returns 'menu 1'
//  application.output(event.getFormName()) // returns 'frm_contacts'
//  application.output(event.getElementName()) // returns 'contact_name_field' or null when no element is selected
//}
// NOTE: shortcuts will not override existing operating system or browser shortcuts,
// choose your shortcuts careful to make sure they work in all clients.
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createShortcut-String_Function_String}{tr:id=name}{td}h6.createShortcut{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}createShortcut{span}{span}\(shortcut, method, contextFilter){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Create a shortcut.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} shortcut
\{[Function]} method -- the method/function that needs to be called when the shortcut is hit
\{[String]} contextFilter -- only triggers the shortcut when on this form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// this plugin uses the java keystroke parser
// see http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/KeyStroke.html#getKeyStroke(java.lang.String)
// global handler
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut);
// global handler with a form context filter
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut, 'frm_contacts');
// form method called when shortcut is used
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut);
// form method called when shortcut is used and arguments are passed to the method
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut, new Array(argument1, argument2));
// Passing the method argument as a string prevents unnecessary form loading
//plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', new Array(argument1, argument2));
// Passing the method as a name and the contextFilter set so that this shortcut only trigger on the form 'frm_contacts'.
plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', 'frm_contacts', new Array(argument1, argument2));
// remove global shortcut and form-level shortcut
plugins.window.removeShortcut('menu 1');
plugins.window.removeShortcut('control RIGHT', 'frm_contacts');
// shortcut handlers are called with an JSEvent argument
///* 
// * Handle keyboard shortcut.
// * 
// * @param {JSEvent} event the event that triggered the action
// */
//function handleShortcut(event)
//{
//  application.output(event.getType()) // returns 'menu 1'
//  application.output(event.getFormName()) // returns 'frm_contacts'
//  application.output(event.getElementName()) // returns 'contact_name_field' or null when no element is selected
//}
// NOTE: shortcuts will not override existing operating system or browser shortcuts,
// choose your shortcuts careful to make sure they work in all clients.
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createShortcut-String_Function_String_ObjectArray}{tr:id=name}{td}h6.createShortcut{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}createShortcut{span}{span}\(shortcut, method, contextFilter, arguments){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Create a shortcut.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} shortcut
\{[Function]} method -- the method/function that needs to be called when the shortcut is hit
\{[String]} contextFilter -- only triggers the shortcut when on this form
\{[Object]\[]} arguments
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// this plugin uses the java keystroke parser
// see http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/KeyStroke.html#getKeyStroke(java.lang.String)
// global handler
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut);
// global handler with a form context filter
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut, 'frm_contacts');
// form method called when shortcut is used
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut);
// form method called when shortcut is used and arguments are passed to the method
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut, new Array(argument1, argument2));
// Passing the method argument as a string prevents unnecessary form loading
//plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', new Array(argument1, argument2));
// Passing the method as a name and the contextFilter set so that this shortcut only trigger on the form 'frm_contacts'.
plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', 'frm_contacts', new Array(argument1, argument2));
// remove global shortcut and form-level shortcut
plugins.window.removeShortcut('menu 1');
plugins.window.removeShortcut('control RIGHT', 'frm_contacts');
// shortcut handlers are called with an JSEvent argument
///* 
// * Handle keyboard shortcut.
// * 
// * @param {JSEvent} event the event that triggered the action
// */
//function handleShortcut(event)
//{
//  application.output(event.getType()) // returns 'menu 1'
//  application.output(event.getFormName()) // returns 'frm_contacts'
//  application.output(event.getElementName()) // returns 'contact_name_field' or null when no element is selected
//}
// NOTE: shortcuts will not override existing operating system or browser shortcuts,
// choose your shortcuts careful to make sure they work in all clients.
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getMenuBar}{tr:id=name}{td}h6.getMenuBar{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[MenuBar]{span}{span:style=font-weight: bold;}getMenuBar{span}{span}\(){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Get the menubar of the main window, or of a named window.{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[MenuBar]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// create a new window
var win = application.createWindow("windowName", JSWindow.WINDOW);
// show a form in the new window
forms.my_form.controller.show(win);
// retrieve the menubar of the new window
var menubar = plugins.window.getMenuBar("windowName");
// add a new menu to the menubar, with an item in it
var menu = menubar.addMenu();
menu.text = "New Menu";
menu.addMenuItem("an entry", feedback);
// retrieve the menubar of the main window
var mainMenubar = plugins.window.getMenuBar();
// add a new menu to the menubar of the main window
var menuMain = mainMenubar.addMenu();
menuMain.text = "New Menu in Main Menubar";
menuMain.addMenuItem("another entry", feedback);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getMenuBar-String}{tr:id=name}{td}h6.getMenuBar{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[MenuBar]{span}{span:style=font-weight: bold;}getMenuBar{span}{span}\(windowName){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Get the menubar of the main window, or of a named window.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} windowName -- the name of the window
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[MenuBar]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// create a new window
var win = application.createWindow("windowName", JSWindow.WINDOW);
// show a form in the new window
forms.my_form.controller.show(win);
// retrieve the menubar of the new window
var menubar = plugins.window.getMenuBar("windowName");
// add a new menu to the menubar, with an item in it
var menu = menubar.addMenu();
menu.text = "New Menu";
menu.addMenuItem("an entry", feedback);
// retrieve the menubar of the main window
var mainMenubar = plugins.window.getMenuBar();
// add a new menu to the menubar of the main window
var menuMain = mainMenubar.addMenu();
menuMain.text = "New Menu in Main Menubar";
menuMain.addMenuItem("another entry", feedback);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getToolBar-JSWindow_String}{tr:id=name}{td}h6.getToolBar{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[ToolBar]{span}{span:style=font-weight: bold;}getToolBar{span}{span}\(window, name){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Get the toolbar of a specific window from the toolbar panel by name.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[JSWindow]} window
\{[String]} name
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[ToolBar]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Note: method getToolBar only works in the smart client.

// create a window
	var win = application.createWindow("myWindow", JSWindow.WINDOW);
// the toolbar must first be created with a call to addToolbar
plugins.window.addToolBar(win,"toolbar_0");

// show the empty toolbar and wait 4 seconds  
win.show(forms.MyForm)
application.updateUI(4000)

// get the toolbar at the panel by name
var toolbar = plugins.window.getToolBar(win,"toolbar_0");
// add a button to the toolbar
toolbar.addButton("button", callback_function);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getToolBar-String}{tr:id=name}{td}h6.getToolBar{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[ToolBar]{span}{span:style=font-weight: bold;}getToolBar{span}{span}\(name){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Get the toolbar from the toolbar panel by name.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[ToolBar]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Note: method getToolBar only works in the smart client.

// the toolbar must first be created with a call to addToolbar
plugins.window.addToolBar("toolbar_0");

// get the toolbar at the panel by name
var toolbar = plugins.window.getToolBar("toolbar_0");
// add a button to the toolbar
toolbar.addButton("button", feedback_button);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getToolbarNames}{tr:id=name}{td}h6.getToolbarNames{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]\[]{span}{span:style=font-weight: bold;}getToolbarNames{span}{span}\(){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Get all toolbar names from the toolbar panel.{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]\[]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Note: method getToolbarNames only works in the smart client.

// create an array of toolbar names
var names = plugins.window.getToolbarNames();

// create an empty message variable
var message = "";

// loop through the array
for (var i = 0 ; i < names.length ; i++) {
	//add the name(s) to the message
	message += names[i] + "\n";
}

// show the message
plugins.dialogs.showInfoDialog("toolbar names", message);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getToolbarNames-JSWindow}{tr:id=name}{td}h6.getToolbarNames{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]\[]{span}{span:style=font-weight: bold;}getToolbarNames{span}{span}\(window){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Get all toolbar names from the toolbar panel of a specific window.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[JSWindow]} window
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]\[]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Note: method getToolbarNames only works in the smart client.
// create a window 
	var win = application.createWindow("myWindow", JSWindow.WINDOW);
// the toolbar must first be created with a call to addToolbar
	 plugins.window.addToolBar(win,"toolbar_0");
  plugins.window.addToolBar(win,"toolbar_1");
// create an array of toolbar names
var names = plugins.window.getToolbarNames(win);

// create an empty message variable
var message = "";

// loop through the array
for (var i = 0 ; i < names.length ; i++) {
	//add the name(s) to the message
	message += names[i] + "\n";
}

// show the message
plugins.dialogs.showInfoDialog("toolbar names", message);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=maximize}{tr:id=name}{td}h6.maximize{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}void{span}{span:style=font-weight: bold;}maximize{span}{span}\(){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Maximize the current window or the window with the specified name (Smart client only).{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}void{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// maximize the main window:
plugins.window.maximize();

// create a new window
var win = application.createWindow("windowName", JSWindow.WINDOW);
// show a form in the new window
forms.my_form.controller.show(win);
// maximize the window
plugins.window.maximize("windowName");
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=maximize-String}{tr:id=name}{td}h6.maximize{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}void{span}{span:style=font-weight: bold;}maximize{span}{span}\(windowName){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Maximize the current window or the window with the specified name (Smart client only).{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} windowName
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}void{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// maximize the main window:
plugins.window.maximize();

// create a new window
var win = application.createWindow("windowName", JSWindow.WINDOW);
// show a form in the new window
forms.my_form.controller.show(win);
// maximize the window
plugins.window.maximize("windowName");
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeShortcut-String}{tr:id=name}{td}h6.removeShortcut{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeShortcut{span}{span}\(shortcut){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Remove a shortcut.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} shortcut
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// this plugin uses the java keystroke parser
// see http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/KeyStroke.html#getKeyStroke(java.lang.String)
// global handler
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut);
// global handler with a form context filter
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut, 'frm_contacts');
// form method called when shortcut is used
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut);
// form method called when shortcut is used and arguments are passed to the method
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut, new Array(argument1, argument2));
// Passing the method argument as a string prevents unnecessary form loading
//plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', new Array(argument1, argument2));
// Passing the method as a name and the contextFilter set so that this shortcut only trigger on the form 'frm_contacts'.
plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', 'frm_contacts', new Array(argument1, argument2));
// remove global shortcut and form-level shortcut
plugins.window.removeShortcut('menu 1');
plugins.window.removeShortcut('control RIGHT', 'frm_contacts');
// shortcut handlers are called with an JSEvent argument
///* 
// * Handle keyboard shortcut.
// * 
// * @param {JSEvent} event the event that triggered the action
// */
//function handleShortcut(event)
//{
//  application.output(event.getType()) // returns 'menu 1'
//  application.output(event.getFormName()) // returns 'frm_contacts'
//  application.output(event.getElementName()) // returns 'contact_name_field' or null when no element is selected
//}
// NOTE: shortcuts will not override existing operating system or browser shortcuts,
// choose your shortcuts careful to make sure they work in all clients.
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeShortcut-String_String}{tr:id=name}{td}h6.removeShortcut{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeShortcut{span}{span}\(shortcut, contextFilter){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Remove a shortcut.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} shortcut
\{[String]} contextFilter -- only triggers the shortcut when on this form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// this plugin uses the java keystroke parser
// see http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/KeyStroke.html#getKeyStroke(java.lang.String)
// global handler
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut);
// global handler with a form context filter
plugins.window.createShortcut('control shift I', scopes.globals.handleOrdersShortcut, 'frm_contacts');
// form method called when shortcut is used
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut);
// form method called when shortcut is used and arguments are passed to the method
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut, new Array(argument1, argument2));
// Passing the method argument as a string prevents unnecessary form loading
//plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', new Array(argument1, argument2));
// Passing the method as a name and the contextFilter set so that this shortcut only trigger on the form 'frm_contacts'.
plugins.window.createShortcut('control RIGHT', 'frm_contacts.handleMyShortcut', 'frm_contacts', new Array(argument1, argument2));
// remove global shortcut and form-level shortcut
plugins.window.removeShortcut('menu 1');
plugins.window.removeShortcut('control RIGHT', 'frm_contacts');
// shortcut handlers are called with an JSEvent argument
///* 
// * Handle keyboard shortcut.
// * 
// * @param {JSEvent} event the event that triggered the action
// */
//function handleShortcut(event)
//{
//  application.output(event.getType()) // returns 'menu 1'
//  application.output(event.getFormName()) // returns 'frm_contacts'
//  application.output(event.getElementName()) // returns 'contact_name_field' or null when no element is selected
//}
// NOTE: shortcuts will not override existing operating system or browser shortcuts,
// choose your shortcuts careful to make sure they work in all clients.
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeToolBar-JSWindow_String}{tr:id=name}{td}h6.removeToolBar{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}void{span}{span:style=font-weight: bold;}removeToolBar{span}{span}\(window, name){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Remove the toolbar from the toolbar panel of a specific window.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[JSWindow]} window
\{[String]} name
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}void{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Note: method removeToolBar only works in the smart client.
// create a window 
	var win = application.createWindow("myWindow", JSWindow.WINDOW);
// the toolbar must first be created with a call to addToolbar
var toolbar = plugins.window.addToolBar(win,"toolbar_0");

// add a button to the toolbar
toolbar.addButton("button", callcbackMethod);

// show the toolbar with the button and wait 4 seconds, then remove it
win.show(forms.MyForm)
application.updateUI(4000)

// removing a toolbar from the toolbar panel is done by name
// the plugin checks the existence of the toolbar
// when the toolbar does not exist it will not throw an error though.
plugins.window.removeToolBar(win,"toolbar_0");
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeToolBar-String}{tr:id=name}{td}h6.removeToolBar{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}void{span}{span:style=font-weight: bold;}removeToolBar{span}{span}\(name){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Remove the toolbar from the toolbar panel.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}void{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Note: method removeToolBar only works in the smart client.

// the toolbar must first be created with a call to addToolbar
var toolbar = plugins.window.addToolBar("toolbar_0");

// add a button to the toolbar
toolbar.addButton("button", feedback_button);

// removing a toolbar from the toolbar panel is done by name
// the plugin checks the existence of the toolbar
// when the toolbar does not exist it will not throw an error though.
plugins.window.removeToolBar("toolbar_0");
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setFullScreen-Boolean}{tr:id=name}{td}h6.setFullScreen{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}void{span}{span:style=font-weight: bold;}setFullScreen{span}{span}\(full){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Bring the window into/out of fullsceen mode.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Boolean]} full
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}void{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// active fullscreen mode 
plugins.window.setFullScreen(true);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setStatusBarVisible-Boolean}{tr:id=name}{td}h6.setStatusBarVisible{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}void{span}{span:style=font-weight: bold;}setStatusBarVisible{span}{span}\(visible){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Show or hide the statusbar.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Boolean]} visible
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}void{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// hide the statusbar
plugins.window.setStatusBarVisible(false);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setToolBarAreaVisible-Boolean}{tr:id=name}{td}h6.setToolBarAreaVisible{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}void{span}{span:style=font-weight: bold;}setToolBarAreaVisible{span}{span}\(visible){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Show or hide the toolbar area.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Boolean]} visible
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}void{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// hide the toolbar area
plugins.window.setToolBarAreaVisible(false);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=showFormPopup-RuntimeComponent_RuntimeForm_Object_String}{tr:id=name}{td}h6.showFormPopup{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}void{span}{span:style=font-weight: bold;}showFormPopup{span}{span}\(elementToShowRelatedTo, form, scope, dataproviderID){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Show a form as popup panel, where the closeFormPopup can pass return a value to a dataprovider in the specified scope.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[RuntimeComponent]} elementToShowRelatedTo -- element to show related to or null to center in screen
\{[RuntimeForm]} form -- the form to show
\{[Object]} scope -- the scope to put retval into
\{[String]} dataproviderID -- the dataprovider of scope to fill
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}void{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Show a form as popup panel, where the closeFormPopup can pass return a value to a dataprovider in the specified scope.
plugins.window.showFormPopup(null,forms.orderPicker,foundset.getSelectedRecord(),"order_id");
// do call closeFormPopup(ordervalue) from the orderPicker form
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=showFormPopup-RuntimeComponent_RuntimeForm_Object_String_Number_Number}{tr:id=name}{td}h6.showFormPopup{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}void{span}{span:style=font-weight: bold;}showFormPopup{span}{span}\(elementToShowRelatedTo, form, scope, dataproviderID, width, height){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Show a form as popup panel, where the closeFormPopup can pass return a value to a dataprovider in the specified scope.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[RuntimeComponent]} elementToShowRelatedTo -- element to show related to or null to center in screen
\{[RuntimeForm]} form -- the form to show
\{[Object]} scope -- the scope to put retval into
\{[String]} dataproviderID -- the dataprovider of scope to fill
\{[Number]} width -- popup width
\{[Number]} height -- popup height
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}void{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Show a form as popup panel, where the closeFormPopup can pass return a value to a dataprovider in the specified scope.
plugins.window.showFormPopup(null,forms.orderPicker,foundset.getSelectedRecord(),"order_id");
// do call closeFormPopup(ordervalue) from the orderPicker form
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}