Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{hidden}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY, UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACT CHANGES FROM THE PAGE AND MERGE THEM BACK INTO SERVOY SOURCE{hidden}
{sub-section:description|text=}{sub-section}\\ 

{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:padding=0px|width=80px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[ToolBar]{td}{td}[#addToolBar]\(name, \[displayname\], \[row\])
Add a toolbar by name and optional displayname and row.{td}{tr}{tbody}{tbody}{tr}{td}[PopupToolBar]{td}{td}[#createPopupMenu#addToolBar]\(name, row)
Add a toolbar.{td}{tr}{tbody}{tbody}{tr}{td}[BooleanToolBar]{td}{td}[#createShortcut#addToolBar]\(shortcutname, method, \[form_name\]displayname)
CreateAdd a shortcuttoolbar.{td}{tr}{tbody}{tbody}{tr}{td}[MenuBarToolBar]{td}{td}[#getMenuBar#addToolBar]\(\[windowName\])
Get the menubar of a windowname, displayname, row)
Add a toolbar.{td}{tr}{tbody}{tbody}{tr}{td}[ToolBar]void{td}{td}[#getToolBar#cancelFormPopup]\(name)
GetClose the toolbar from current form popup panel without assigning a value to the toolbarconfigured paneldata by nameprovider.{td}{tr}{tbody}{tbody}{tr}{td}[String]\[]void{td}{td}[#getToolbarNames#closeFormPopup]\(retval)
Get all toolbar names fromClose the current form popup panel and assign the toolbar panelvalue to the configured data provider.{td}{tr}{tbody}{tbody}{tr}{td}void[Popup]{td}{td}[#maximize#createPopupMenu]\(\[windowName\])
MaximizeCreates thea currentnew windowpopup ormenu thethat windowcan withbe thepopulated namewith provideditems (Smart client only)and displayed.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeShortcut#createShortcut]\(shortcut, \[form_name\]methodName)
RemoveCreate a shortcut.{td}{tr}{tbody}{tbody}{tr}{td}void[Boolean]{td}{td}[#removeToolBar#createShortcut]\(name)
Remove the toolbar from the toolbar panelshortcut, methodName, arguments)
Create a shortcut.{td}{tr}{tbody}{tbody}{tr}{td}void[Boolean]{td}{td}[#setFullScreen#createShortcut]\(shortcut, methodName, contextFilter)
Create a shortcut.{td}{tr}{tbody}{tbody}{tr}{td}void[Boolean]{td}{td}[#setStatusBarVisible#createShortcut]\(shortcut, methodName, contextFilter, arguments)
Create a shortcut.{td}{tr}{tbody}{tbody}{tr}{td}void[Boolean]{td}{td}[#setToolBarAreaVisible#createShortcut]\(shortcut, method)
Create a shortcut.{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:padding=0px|width=100%}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=addToolBar|class=node}{tr:id=name}{td}h6.addToolBar{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[ToolBar]{span}{span:id=iets|style=float: left; font-weight: bold;}addToolBar{span}{span:id=iets|style=float: left;}\(name, \[displayname\], \[row\]){span}{td}{tr}{tr:id=des}{td}{sub-section:addToolBar_des|text=|trigger=button}{sub-section}{sub-section:addToolBar_des|trigger=none|class=sIndent}Add a toolbar by name and optional displayname and row.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:addToolBar_snc|text=|trigger=button}{sub-section}{sub-section:addToolBar_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:addToolBar_prs|text=|trigger=button}{sub-section}{sub-section:addToolBar_prs|trigger=none|class=sIndent}name
\[displayname\]
\[row\]
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:addToolBar_ret|text=|trigger=button}{sub-section}{sub-section:addToolBar_ret|trigger=none|class=sIndent}[ToolBar]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:addToolBar_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addToolBar_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:addToolBar_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addToolBar_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:addToolBar_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addToolBar_sam|trigger=none}{code:language=javascript}
// Note: method addToolBar only works in the smart client.

// Add a toolbar by name and optional displayname and row.
// add a toolbar with only a name
var toolbar = plugins.window.addToolBar("toolbar_0");

// add a toolbar with a name and internal name
// var toolbar = plugins.window.addToolBar("toolbar_1", "toolbar_1");

// add a toolbar with a name, internal name and the row you want the
// toolbar to show at. rownumber starts at 0 
// var toolbar = plugins.window.addToolBar("toolbar_2", "toolbar_2", 3);

// REMARK: normally you would add buttons, checkboxes etc in the same method
// this example will show no buttons for now!
// we will add them via the other methods on this form.
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createPopupMenutbody}{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]\(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}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]\(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}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:padding=0px|width=100%}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=addToolBar-String|class=node}{tr:id=name}{td}h6.createPopupMenuaddToolBar{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[PopupToolBar]{span}{span:id=iets|style=float: left; font-weight: bold;}createPopupMenuaddToolBar{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:createPopupMenuaddToolBar-String_des|text=|trigger=button}{sub-section}{sub-section:createPopupMenuaddToolBar-String_des|trigger=none|class=sIndent}ReplaceAdd witha descriptiontoolbar.{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createPopupMenuaddToolBar-String_snc|text=|trigger=button}{sub-section}{sub-section:createPopupMenuaddToolBar-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:createPopupMenuaddToolBar-String_prs|text=|trigger=button}{sub-section}{sub-section:createPopupMenuaddToolBar-String_prs|trigger=none|class=sIndent}\{[String]} name
{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:createPopupMenuaddToolBar-String_ret|text=|trigger=button}{sub-section}{sub-section:createPopupMenuaddToolBar-String_ret|trigger=none|class=sIndent}[PopupToolBar]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createPopupMenuaddToolBar-String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createPopupMenuaddToolBar-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createPopupMenuaddToolBar-String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createPopupMenuaddToolBar-String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createPopupMenuaddToolBar-String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createPopupMenuaddToolBar-String_sam|trigger=none}{code:language=javascript}
var popupmenu = plugins.window.createPopupMenu()

var menuitem1 = popupmenu.addMenuItem('A',myMethod)
var menuitem2 = popupmenu.addRadioButton('B',myMethod)
var menuitem3 = popupmenu.addRadioButton('C',myMethod)
var menuitem4 = popupmenu.addSeparator()
var menuitem5 = popupmenu.addMenuItem('<html><b>Hello</b></html>',myMethod)
var menuitem6 = popupmenu.addMenuItem('G', globals.myGlobalMethod)
//add arguments to the method call
menuitem6.methodArguments = ['arg1', 'another argument']

var submenu = popupmenu.addMenu('SubMenu')
var subitem1 = submenu.addCheckBox('i18n:bla_bla',myMethod)
var subitem2 = submenu.addCheckBox('he' , globals.myOtherGlobalMethod , 'media:///day_obj.gif')
var subitem3 = submenu.addCheckBox('more' , globals.myOtherGlobalMethod ,null, 'm') //last parameter is mnemonic-key

menuitem2.selected = true;
menuitem6.enabled = false
subitem2.selected = true;

var source = event.getSource()
if (source != null)
{
	popupmenu.show(source);
	//or you can set the coordinates popupmenu.show(10, 10);
}
{// 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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createShortcutaddToolBar-String_Number|class=node}{tr:id=name}{td}h6.createShortcutaddToolBar{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[BooleanToolBar]{span}{span:id=iets|style=float: left; font-weight: bold;}createShortcutaddToolBar{span}{span:id=iets|style=float: left;}\(shortcutname, method, \[form_name\]row){span}{td}{tr}{tr:id=des}{td}{sub-section:createShortcutaddToolBar-String_Number_des|text=|trigger=button}{sub-section}{sub-section:createShortcutaddToolBar-String_Number_des|trigger=none|class=sIndent}CreateAdd a shortcuttoolbar.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createShortcutaddToolBar-String_Number_snc|text=|trigger=button}{sub-section}{sub-section:createShortcutaddToolBar-String_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createShortcutaddToolBar-String_Number_prs|text=|trigger=button}{sub-section}{sub-section:createShortcutaddToolBar-String_Number_prs|trigger=none|class=sIndent}\{[String]}shortcut methodname
\{[form\_name\]Number]} row
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createShortcutaddToolBar-String_Number_ret|text=|trigger=button}{sub-section}{sub-section:createShortcutaddToolBar-String_Number_ret|trigger=none|class=sIndent}[BooleanToolBar]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createShortcutaddToolBar-String_Number_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcutaddToolBar-String_Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createShortcutaddToolBar-String_Number_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcutaddToolBar-String_Number_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createShortcutaddToolBar-String_Number_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcutaddToolBar-String_Number_sam|trigger=none}{code:language=javascript}
// Create a shortcut.
// 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 shortcut (on all forms) on  'apple 1' on a mac client and 'control 1' on other client platforms
plugins.window.createShortcut('menu 1', 'globals.handleShortcut');
// global handler, only triggered when on form frm_orders
plugins.window.createShortcut('control shift I', globals.handleOrdersShortcut, 'frm_orders');
// form method called when shortcut is used
plugins.window.createShortcut('control LEFT', 'frm_products.handleShortcut', 'frm_products');
// same, but use method in stead of string
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut, 'frm_contacts');

// remove global shortcut and form-level shortcut
plugins.window.createShortcut('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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getMenuBar|class=node}{tr:id=name}{td}h6.getMenuBar{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[MenuBar]{span}{span:id=iets|style=float: left; font-weight: bold;}getMenuBar{span}{span:id=iets|style=float: left;}\(\[windowName\]){span}{td}{tr}{tr:id=des}{td}{sub-section:getMenuBar_desNote: 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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addToolBar-String_String|class=node}{tr:id=name}{td}h6.addToolBar{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[ToolBar]{span}{span:id=iets|style=float: left; font-weight: bold;}addToolBar{span}{span:id=iets|style=float: left;}\(name, displayname){span}{td}{tr}{tr:id=des}{td}{sub-section:addToolBar-String_String_des|text=|trigger=button}{sub-section}{sub-section:addToolBar-String_String_des|trigger=none|class=sIndent}Add a toolbar.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:addToolBar-String_String_snc|text=|trigger=button}{sub-section}{sub-section:addToolBar-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:addToolBar-String_String_prs|text=|trigger=button}{sub-section}{sub-section:getMenuBar_desaddToolBar-String_String_prs|trigger=none|class=sIndent}Get the menubar of a window.\{[String]} name
\{[String]} displayname
{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=sncret}{td}*SinceReturns*\\{sub-section:getMenuBar_sncaddToolBar-String_String_ret|text=|trigger=button}{sub-section}{sub-section:getMenuBar_sncaddToolBar-String_String_ret|trigger=none|class=sIndent} Replace with version info[ToolBar]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssee}{td}*ParametersAlso see*\\{sub-section:getMenuBar_prsaddToolBar-String_String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getMenuBar_prsaddToolBar-String_String_see|trigger=none|class=sIndent}\[windowName\]
{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=retlink}{td}*ReturnsExternal links*\\{sub-section:getMenuBar_retaddToolBar-String_String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getMenuBar_retaddToolBar-String_String_link|trigger=none|class=sIndent}[MenuBar]{}{sub-section}{div}{td}{tr}{builder-show:permission=edit}{tr:id=seesam}{td}*Also seeSample*\\{sub-section:getMenuBar_seeaddToolBar-String_String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getMenuBar_seeaddToolBar-String_String_sam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getMenuBar_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getMenuBar_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getMenuBar_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getMenuBar_sam|trigger=none}{code:language=javascript}
// Get the menubar of a window.
// get the menubar of the main window
var mainMenubar = plugins.window.getMenuBar();

// get the menubar of a named window
application.showFormInWindow(forms.contacts,100,80,500,300,'my own window title',false,true,'mywindow');
var myWindowMenubarcode: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.getMenuBar('mywindow');
{code}{sub-section}{div}{td}{tr}{traddToolBar("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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getToolBaraddToolBar-String_String_Number|class=node}{tr:id=name}{td}h6.getToolBaraddToolBar{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[ToolBar]{span}{span:id=iets|style=float: left; font-weight: bold;}getToolBaraddToolBar{span}{span:id=iets|style=float: left;}\(name, displayname, row){span}{td}{tr}{tr:id=des}{td}{sub-section:getToolBar_addToolBar-String_String_Number_des|text=|trigger=button}{sub-section}{sub-section:getToolBaraddToolBar-String_String_Number_des|trigger=none|class=sIndent}Get the toolbar from the toolbar panel by nameAdd a toolbar.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getToolBaraddToolBar-String_String_Number_snc|text=|trigger=button}{sub-section}{sub-section:getToolBaraddToolBar-String_String_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getToolBaraddToolBar-String_String_Number_prs|text=|trigger=button}{sub-section}{sub-section:getToolBaraddToolBar-String_String_Number_prs|trigger=none|class=sIndent}\{[String]} name
\{[String]} displayname
\{[Number]} row
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getToolBaraddToolBar-String_String_Number_ret|text=|trigger=button}{sub-section}{sub-section:getToolBaraddToolBar-String_String_Number_ret|trigger=none|class=sIndent}[ToolBar]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getToolBaraddToolBar-String_String_Number_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getToolBaraddToolBar-String_String_Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getToolBaraddToolBar-String_String_Number_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getToolBaraddToolBar-String_String_Number_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getToolBaraddToolBar-String_String_Number_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getToolBaraddToolBar-String_String_Number_sam|trigger=none}{code:language=javascript}
// Note: method getToolBaraddToolBar only works in the smart client.

// Getadd thea toolbar fromwith the toolbar panel by name.
// get the toolbar at the panel by only a name
var toolbartoolbar0 = plugins.window.getToolBaraddToolBar("toolbar_0");
toolbar0.addButton("click me 0", feedback_button);

// add a buttontoolbar with a textname and athe method
toolbar.addButton("button", feedback_button);

// add an input array to the button for feedback in the selected method
toolbar.addButton("buttonrow 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, [1, "2", "three"]);

// add an icon to the button
toolbar.addButton("button", feedback_button, [1, "2", "three"], "media:///yourimage.gif"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 tooltiptoolbar towith thea button
toolbar.addButton("button", feedback_button, [1, "2", "three"], "media:///yourimage.gif", "tooltip.");

// show only an icon on the button and disable the button
toolbar.addButton(null, feedback_button, [1, "2", "three"], "media:///yourimage.gif", "tooltip.", false);

// add a separator
toolbar.addSeparator();

// make the button non visible
toolbar.addButton(null, feedback_button, [1, "2", "three"], "media:///yourimage.gif", "tooltip.",true, false);

// and validate the changes
// to make them know to the user interface)
toolbar.validate();
{code}{sub-section}{div}{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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getToolbarNamescancelFormPopup|class=node}{tr:id=name}{td}h6.getToolbarNamescancelFormPopup{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]\[]void{span}{span:id=iets|style=float: left; font-weight: bold;}getToolbarNamescancelFormPopup{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:getToolbarNamescancelFormPopup_des|text=|trigger=button}{sub-section}{sub-section:getToolbarNamescancelFormPopup_des|trigger=none|class=sIndent}Get all toolbar names from the toolbar panelClose the current form popup panel without assigning a value to the configured data provider.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getToolbarNamescancelFormPopup_snc|text=|trigger=button}{sub-section}{sub-section:getToolbarNamescancelFormPopup_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getToolbarNamescancelFormPopup_prs|text=|trigger=button}{sub-section}{sub-section:getToolbarNamescancelFormPopup_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getToolbarNamescancelFormPopup_ret|text=|trigger=button}{sub-section}{sub-section:getToolbarNamescancelFormPopup_ret|trigger=none|class=sIndent}[String]\[]void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getToolbarNamescancelFormPopup_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getToolbarNamescancelFormPopup_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getToolbarNamescancelFormPopup_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getToolbarNamescancelFormPopup_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getToolbarNamescancelFormPopup_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getToolbarNamescancelFormPopup_sam|trigger=none}{code:language=javascript}
//Show Note:a methodform getToolbarNamesas onlypopup workspanel, inwhere the smartcloseFormPopup client.can pass //return Geta allvalue toolbarto namesa fromdataprovider in the toolbarspecified panel.
// create an array of toolbar names
var names = scope.
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}{sub-section}{div}{showFormPopup(null,forms.orderPicker,foundset.getSelectedRecord(),"order_id");
//do call closeFormPopup(ordervalue) from the orderPicker form
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=maximizecloseFormPopup|class=node}{tr:id=name}{td}h6.maximizecloseFormPopup{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}maximizecloseFormPopup{span}{span:id=iets|style=float: left;}\(\[windowName\]retval){span}{td}{tr}{tr:id=des}{td}{sub-section:maximizecloseFormPopup_des|text=|trigger=button}{sub-section}{sub-section:maximizecloseFormPopup_des|trigger=none|class=sIndent}MaximizeClose the current windowform orpopup thepanel windowand withassign the value nameto providedthe (Smartconfigured clientdata only)provider.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:maximizecloseFormPopup_snc|text=|trigger=button}{sub-section}{sub-section:maximizecloseFormPopup_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:maximizecloseFormPopup_prs|text=|trigger=button}{sub-section}{sub-section:maximizecloseFormPopup_prs|trigger=none|class=sIndent}\{[windowName\]
Object]} retval -- return value for data provider
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:maximizecloseFormPopup_ret|text=|trigger=button}{sub-section}{sub-section:maximizecloseFormPopup_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:maximizecloseFormPopup_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:maximizecloseFormPopup_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:maximizecloseFormPopup_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:maximizecloseFormPopup_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:maximizecloseFormPopup_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:maximizecloseFormPopup_sam|trigger=none}{code:language=javascript}
//Show Maximizea form theas currentpopup windowpanel, orwhere the windowcloseFormPopup withcan thepass namereturn provideda (Smartvalue clientto only)a //dataprovider maximizein the mainspecified window:scope.
plugins.window.maximize().showFormPopup(null,forms.orderPicker,foundset.getSelectedRecord(),"order_id");
//do or a window constructed with the name 'test':
plugins.window.maximize('test');
call closeFormPopup(ordervalue) from the orderPicker form
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeShortcutcreatePopupMenu|class=node}{tr:id=name}{td}h6.removeShortcutcreatePopupMenu{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[BooleanPopup]{span}{span:id=iets|style=float: left; font-weight: bold;}removeShortcutcreatePopupMenu{span}{span:id=iets|style=float: left;}\(shortcut, \[form_name\]){span}{td}{tr}{tr:id=des}{td}{sub-section:removeShortcutcreatePopupMenu_des|text=|trigger=button}{sub-section}{sub-section:removeShortcutcreatePopupMenu_des|trigger=none|class=sIndent}RemoveCreates a shortcut new popup menu that can be populated with items and displayed.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:removeShortcutcreatePopupMenu_snc|text=|trigger=button}{sub-section}{sub-section:removeShortcutcreatePopupMenu_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:removeShortcutcreatePopupMenu_prs|text=|trigger=button}{sub-section}{sub-section:removeShortcutcreatePopupMenu_prs|trigger=none|class=sIndent}shortcut
\[form\_name\]
{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:removeShortcutcreatePopupMenu_ret|text=|trigger=button}{sub-section}{sub-section:removeShortcutcreatePopupMenu_ret|trigger=none|class=sIndent}[BooleanPopup]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:removeShortcutcreatePopupMenu_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeShortcutcreatePopupMenu_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:removeShortcutcreatePopupMenu_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeShortcutcreatePopupMenu_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:removeShortcutcreatePopupMenu_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeShortcutcreatePopupMenu_sam|trigger=none}{code:language=javascript}
// Removecreate a shortcut.popup //menu
thisvar pluginmenu 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 shortcut (on all forms) on  'apple 1' on a mac client and 'control 1' on other client platforms
plugins.window.createShortcut('menu 1', 'globals.handleShortcut');
// global handler, only triggered when on form frm_orders
plugins.window.createShortcut('control shift I', globals.handleOrdersShortcut, 'frm_orders');
// form method called when shortcut is used
plugins.window.createShortcut('control LEFT', 'frm_products.handleShortcut', 'frm_products');
// same, but use method in stead of string
plugins.window.createShortcut('control RIGHT', forms.frm_contacts.handleMyShortcut, 'frm_contacts');

// remove global shortcut and form-level shortcut
plugins.window.createShortcut('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.= 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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createShortcut-String_String|class=node}{tr:id=name}{td}h6.createShortcut{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}createShortcut{span}{span:id=iets|style=float: left;}\(shortcut, methodName){span}{td}{tr}{tr:id=des}{td}{sub-section:createShortcut-String_String_des|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_String_des|trigger=none|class=sIndent}Create a shortcut.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createShortcut-String_String_snc|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createShortcut-String_String_prs|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_String_prs|trigger=none|class=sIndent}\{[String]} shortcut
\{[String]} methodName -- scopes.scopename.methodname or formname.methodname String to target the method to execute
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createShortcut-String_String_ret|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_String_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createShortcut-String_String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createShortcut-String_String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createShortcut-String_String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_String_sam|trigger=none}{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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createShortcut-String_String_ObjectArray|class=node}{tr:id=name}{td}h6.createShortcut{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}createShortcut{span}{span:id=iets|style=float: left;}\(shortcut, methodName, arguments){span}{td}{tr}{tr:id=des}{td}{sub-section:createShortcut-String_String_ObjectArray_des|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_String_ObjectArray_des|trigger=none|class=sIndent}Create a shortcut.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createShortcut-String_String_ObjectArray_snc|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_String_ObjectArray_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createShortcut-String_String_ObjectArray_prs|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_String_ObjectArray_prs|trigger=none|class=sIndent}\{[String]} shortcut
\{[String]} methodName -- scopes.scopename.methodname or formname.methodname String to target the method to execute
\{[Object]\[]} arguments
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createShortcut-String_String_ObjectArray_ret|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_String_ObjectArray_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createShortcut-String_String_ObjectArray_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_String_ObjectArray_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createShortcut-String_String_ObjectArray_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_String_ObjectArray_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createShortcut-String_String_ObjectArray_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_String_ObjectArray_sam|trigger=none}{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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createShortcut-String_String_String|class=node}{tr:id=name}{td}h6.createShortcut{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}createShortcut{span}{span:id=iets|style=float: left;}\(shortcut, methodName, contextFilter){span}{td}{tr}{tr:id=des}{td}{sub-section:createShortcut-String_String_String_des|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_String_String_des|trigger=none|class=sIndent}Create a shortcut.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createShortcut-String_String_String_snc|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createShortcut-String_String_String_prs|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_String_String_prs|trigger=none|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
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createShortcut-String_String_String_ret|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_String_String_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createShortcut-String_String_String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createShortcut-String_String_String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createShortcut-String_String_String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_String_String_sam|trigger=none}{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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createShortcut-String_String_String_ObjectArray|class=node}{tr:id=name}{td}h6.createShortcut{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}createShortcut{span}{span:id=iets|style=float: left;}\(shortcut, methodName, contextFilter, arguments){span}{td}{tr}{tr:id=des}{td}{sub-section:createShortcut-String_String_String_ObjectArray_des|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_String_String_ObjectArray_des|trigger=none|class=sIndent}Create a shortcut.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createShortcut-String_String_String_ObjectArray_snc|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_String_String_ObjectArray_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createShortcut-String_String_String_ObjectArray_prs|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_String_String_ObjectArray_prs|trigger=none|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
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createShortcut-String_String_String_ObjectArray_ret|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_String_String_ObjectArray_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createShortcut-String_String_String_ObjectArray_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_String_String_ObjectArray_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createShortcut-String_String_String_ObjectArray_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_String_String_ObjectArray_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createShortcut-String_String_String_ObjectArray_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_String_String_ObjectArray_sam|trigger=none}{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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createShortcut-String_Function|class=node}{tr:id=name}{td}h6.createShortcut{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}createShortcut{span}{span:id=iets|style=float: left;}\(shortcut, method){span}{td}{tr}{tr:id=des}{td}{sub-section:createShortcut-String_Function_des|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_Function_des|trigger=none|class=sIndent}Create a shortcut.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createShortcut-String_Function_snc|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_Function_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createShortcut-String_Function_prs|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_Function_prs|trigger=none|class=sIndent}\{[String]} shortcut
\{[Function]} method -- the method/function that needs to be called when the shortcut is hit
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createShortcut-String_Function_ret|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_Function_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createShortcut-String_Function_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_Function_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createShortcut-String_Function_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_Function_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createShortcut-String_Function_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_Function_sam|trigger=none}{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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createShortcut-String_Function_ObjectArray|class=node}{tr:id=name}{td}h6.createShortcut{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}createShortcut{span}{span:id=iets|style=float: left;}\(shortcut, method, arguments){span}{td}{tr}{tr:id=des}{td}{sub-section:createShortcut-String_Function_ObjectArray_des|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_Function_ObjectArray_des|trigger=none|class=sIndent}Create a shortcut.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createShortcut-String_Function_ObjectArray_snc|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_Function_ObjectArray_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createShortcut-String_Function_ObjectArray_prs|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_Function_ObjectArray_prs|trigger=none|class=sIndent}\{[String]} shortcut
\{[Function]} method -- the method/function that needs to be called when the shortcut is hit
\{[Object]\[]} arguments
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createShortcut-String_Function_ObjectArray_ret|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_Function_ObjectArray_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createShortcut-String_Function_ObjectArray_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_Function_ObjectArray_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createShortcut-String_Function_ObjectArray_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_Function_ObjectArray_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createShortcut-String_Function_ObjectArray_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_Function_ObjectArray_sam|trigger=none}{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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createShortcut-String_Function_String|class=node}{tr:id=name}{td}h6.createShortcut{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}createShortcut{span}{span:id=iets|style=float: left;}\(shortcut, method, contextFilter){span}{td}{tr}{tr:id=des}{td}{sub-section:createShortcut-String_Function_String_des|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_Function_String_des|trigger=none|class=sIndent}Create a shortcut.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createShortcut-String_Function_String_snc|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_Function_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createShortcut-String_Function_String_prs|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_Function_String_prs|trigger=none|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
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createShortcut-String_Function_String_ret|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_Function_String_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createShortcut-String_Function_String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_Function_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createShortcut-String_Function_String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_Function_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createShortcut-String_Function_String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_Function_String_sam|trigger=none}{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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createShortcut-String_Function_String_ObjectArray|class=node}{tr:id=name}{td}h6.createShortcut{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}createShortcut{span}{span:id=iets|style=float: left;}\(shortcut, method, contextFilter, arguments){span}{td}{tr}{tr:id=des}{td}{sub-section:createShortcut-String_Function_String_ObjectArray_des|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_Function_String_ObjectArray_des|trigger=none|class=sIndent}Create a shortcut.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createShortcut-String_Function_String_ObjectArray_snc|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_Function_String_ObjectArray_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createShortcut-String_Function_String_ObjectArray_prs|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_Function_String_ObjectArray_prs|trigger=none|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
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createShortcut-String_Function_String_ObjectArray_ret|text=|trigger=button}{sub-section}{sub-section:createShortcut-String_Function_String_ObjectArray_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createShortcut-String_Function_String_ObjectArray_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_Function_String_ObjectArray_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createShortcut-String_Function_String_ObjectArray_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_Function_String_ObjectArray_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createShortcut-String_Function_String_ObjectArray_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createShortcut-String_Function_String_ObjectArray_sam|trigger=none}{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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getMenuBar|class=node}{tr:id=name}{td}h6.getMenuBar{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[MenuBar]{span}{span:id=iets|style=float: left; font-weight: bold;}getMenuBar{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:getMenuBar_des|text=|trigger=button}{sub-section}{sub-section:getMenuBar_des|trigger=none|class=sIndent}Get the menubar of the main window, or of a named window.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getMenuBar_snc|text=|trigger=button}{sub-section}{sub-section:getMenuBar_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getMenuBar_prs|text=|trigger=button}{sub-section}{sub-section:getMenuBar_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getMenuBar_ret|text=|trigger=button}{sub-section}{sub-section:getMenuBar_ret|trigger=none|class=sIndent}[MenuBar]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getMenuBar_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getMenuBar_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getMenuBar_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getMenuBar_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getMenuBar_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getMenuBar_sam|trigger=none}{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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getMenuBar-String|class=node}{tr:id=name}{td}h6.getMenuBar{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[MenuBar]{span}{span:id=iets|style=float: left; font-weight: bold;}getMenuBar{span}{span:id=iets|style=float: left;}\(windowName){span}{td}{tr}{tr:id=des}{td}{sub-section:getMenuBar-String_des|text=|trigger=button}{sub-section}{sub-section:getMenuBar-String_des|trigger=none|class=sIndent}Get the menubar of the main window, or of a named window.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getMenuBar-String_snc|text=|trigger=button}{sub-section}{sub-section:getMenuBar-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getMenuBar-String_prs|text=|trigger=button}{sub-section}{sub-section:getMenuBar-String_prs|trigger=none|class=sIndent}\{[String]} windowName -- the name of the window
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getMenuBar-String_ret|text=|trigger=button}{sub-section}{sub-section:getMenuBar-String_ret|trigger=none|class=sIndent}[MenuBar]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getMenuBar-String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getMenuBar-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getMenuBar-String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getMenuBar-String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getMenuBar-String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getMenuBar-String_sam|trigger=none}{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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getToolBar|class=node}{tr:id=name}{td}h6.getToolBar{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[ToolBar]{span}{span:id=iets|style=float: left; font-weight: bold;}getToolBar{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:getToolBar_des|text=|trigger=button}{sub-section}{sub-section:getToolBar_des|trigger=none|class=sIndent}Get the toolbar from the toolbar panel by name.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getToolBar_snc|text=|trigger=button}{sub-section}{sub-section:getToolBar_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getToolBar_prs|text=|trigger=button}{sub-section}{sub-section:getToolBar_prs|trigger=none|class=sIndent}\{[String]} name
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getToolBar_ret|text=|trigger=button}{sub-section}{sub-section:getToolBar_ret|trigger=none|class=sIndent}[ToolBar]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getToolBar_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getToolBar_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getToolBar_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getToolBar_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getToolBar_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getToolBar_sam|trigger=none}{code:language=javascript}
// Note: method getToolBar only works in the smart client.

// the toolbar must first be create 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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getToolbarNames|class=node}{tr:id=name}{td}h6.getToolbarNames{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getToolbarNames{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:getToolbarNames_des|text=|trigger=button}{sub-section}{sub-section:getToolbarNames_des|trigger=none|class=sIndent}Get all toolbar names from the toolbar panel.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getToolbarNames_snc|text=|trigger=button}{sub-section}{sub-section:getToolbarNames_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getToolbarNames_prs|text=|trigger=button}{sub-section}{sub-section:getToolbarNames_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getToolbarNames_ret|text=|trigger=button}{sub-section}{sub-section:getToolbarNames_ret|trigger=none|class=sIndent}[String]\[]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getToolbarNames_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getToolbarNames_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getToolbarNames_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getToolbarNames_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getToolbarNames_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getToolbarNames_sam|trigger=none}{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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=maximize|class=node}{tr:id=name}{td}h6.maximize{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}maximize{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:maximize_des|text=|trigger=button}{sub-section}{sub-section:maximize_des|trigger=none|class=sIndent}Maximize the current window or the window with the specified name (Smart client only).{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:maximize_snc|text=|trigger=button}{sub-section}{sub-section:maximize_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:maximize_prs|text=|trigger=button}{sub-section}{sub-section:maximize_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:maximize_ret|text=|trigger=button}{sub-section}{sub-section:maximize_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:maximize_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:maximize_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:maximize_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:maximize_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:maximize_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:maximize_sam|trigger=none}{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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=maximize-String|class=node}{tr:id=name}{td}h6.maximize{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}maximize{span}{span:id=iets|style=float: left;}\(windowName){span}{td}{tr}{tr:id=des}{td}{sub-section:maximize-String_des|text=|trigger=button}{sub-section}{sub-section:maximize-String_des|trigger=none|class=sIndent}Maximize the current window or the window with the specified name (Smart client only).{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:maximize-String_snc|text=|trigger=button}{sub-section}{sub-section:maximize-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:maximize-String_prs|text=|trigger=button}{sub-section}{sub-section:maximize-String_prs|trigger=none|class=sIndent}\{[String]} windowName
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:maximize-String_ret|text=|trigger=button}{sub-section}{sub-section:maximize-String_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:maximize-String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:maximize-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:maximize-String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:maximize-String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:maximize-String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:maximize-String_sam|trigger=none}{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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeShortcut-String|class=node}{tr:id=name}{td}h6.removeShortcut{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}removeShortcut{span}{span:id=iets|style=float: left;}\(shortcut){span}{td}{tr}{tr:id=des}{td}{sub-section:removeShortcut-String_des|text=|trigger=button}{sub-section}{sub-section:removeShortcut-String_des|trigger=none|class=sIndent}Remove a shortcut.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:removeShortcut-String_snc|text=|trigger=button}{sub-section}{sub-section:removeShortcut-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:removeShortcut-String_prs|text=|trigger=button}{sub-section}{sub-section:removeShortcut-String_prs|trigger=none|class=sIndent}\{[String]} shortcut
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:removeShortcut-String_ret|text=|trigger=button}{sub-section}{sub-section:removeShortcut-String_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:removeShortcut-String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeShortcut-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:removeShortcut-String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeShortcut-String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:removeShortcut-String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeShortcut-String_sam|trigger=none}{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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeShortcut-String_String|class=node}{tr:id=name}{td}h6.removeShortcut{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}removeShortcut{span}{span:id=iets|style=float: left;}\(shortcut, contextFilter){span}{td}{tr}{tr:id=des}{td}{sub-section:removeShortcut-String_String_des|text=|trigger=button}{sub-section}{sub-section:removeShortcut-String_String_des|trigger=none|class=sIndent}Remove a shortcut.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:removeShortcut-String_String_snc|text=|trigger=button}{sub-section}{sub-section:removeShortcut-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:removeShortcut-String_String_prs|text=|trigger=button}{sub-section}{sub-section:removeShortcut-String_String_prs|trigger=none|class=sIndent}\{[String]} shortcut
\{[String]} contextFilter -- only triggers the shortcut when on this form
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:removeShortcut-String_String_ret|text=|trigger=button}{sub-section}{sub-section:removeShortcut-String_String_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:removeShortcut-String_String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeShortcut-String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:removeShortcut-String_String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeShortcut-String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:removeShortcut-String_String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeShortcut-String_String_sam|trigger=none}{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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeToolBar|class=node}{tr:id=name}{td}h6.removeToolBar{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}removeToolBar{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:removeToolBar_des|text=|trigger=button}{sub-section}{sub-section:removeToolBar_des|trigger=none|class=sIndent}Remove the toolbar from the toolbar panel.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:removeToolBar_snc|text=|trigger=button}{sub-section}{sub-section:removeToolBar_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:removeToolBar_prs|text=|trigger=button}{sub-section}{sub-section:removeToolBar_prs|trigger=none|class=sIndent}\{[String]} name
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:removeToolBar_ret|text=|trigger=button}{sub-section}{sub-section:removeToolBar_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:removeToolBar_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeToolBar_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:removeToolBar_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeToolBar_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:removeToolBar_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeToolBar_sam|trigger=none}{code:language=javascript}
// Note: method removeToolBar only works in the smart client.

// the toolbar must first be create 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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeToolBarsetFullScreen|class=node}{tr:id=name}{td}h6.removeToolBarsetFullScreen{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}removeToolBarsetFullScreen{span}{span:id=iets|style=float: left;}\(namefull){span}{td}{tr}{tr:id=des}{td}{sub-section:removeToolBarsetFullScreen_des|text=|trigger=button}{sub-section}{sub-section:removeToolBarsetFullScreen_des|trigger=none|class=sIndent}RemoveBring the toolbarwindow frominto/out theof toolbarfullsceen panelmode.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:removeToolBarsetFullScreen_snc|text=|trigger=button}{sub-section}{sub-section:removeToolBarsetFullScreen_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:removeToolBarsetFullScreen_prs|text=|trigger=button}{sub-section}{sub-section:removeToolBarsetFullScreen_prs|trigger=none|class=sIndent}name}\{[Boolean]} full
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:removeToolBarsetFullScreen_ret|text=|trigger=button}{sub-section}{sub-section:removeToolBarsetFullScreen_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:removeToolBarsetFullScreen_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeToolBarsetFullScreen_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:removeToolBarsetFullScreen_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeToolBarsetFullScreen_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:removeToolBarsetFullScreen_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeToolBarsetFullScreen_sam|trigger=none}{code:language=javascript}
// Note: method removeToolBar only works in the smart client.

// Remove the toolbar from the toolbar panel.
// 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");
plugins.window.removeToolBar("toolbar_1");active fullscreen mode 
plugins.window.removeToolBar("toolbar_2"setFullScreen(true);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setFullScreensetStatusBarVisible|class=node}{tr:id=name}{td}h6.setFullScreensetStatusBarVisible{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}setFullScreensetStatusBarVisible{span}{span:id=iets|style=float: left;}\(visible){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:setFullScreensetStatusBarVisible_des|text=|trigger=button}{sub-section}{sub-section:setFullScreensetStatusBarVisible_des|trigger=none|class=sIndent}Replace with descriptionShow or hide the statusbar.{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:setFullScreensetStatusBarVisible_snc|text=|trigger=button}{sub-section}{sub-section:setFullScreensetStatusBarVisible_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:setFullScreensetStatusBarVisible_prs|text=|trigger=button}{sub-section}{sub-section:setFullScreensetStatusBarVisible_prs|trigger=none|class=sIndent}\{[Boolean]} visible
{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:setFullScreensetStatusBarVisible_ret|text=|trigger=button}{sub-section}{sub-section:setFullScreensetStatusBarVisible_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:setFullScreensetStatusBarVisible_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setFullScreensetStatusBarVisible_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:setFullScreensetStatusBarVisible_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setFullScreensetStatusBarVisible_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:setFullScreensetStatusBarVisible_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setFullScreensetStatusBarVisible_sam|trigger=none}{code:language=javascript}
// hide the statusbar
plugins.window.setFullScreensetStatusBarVisible(truefalse);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setStatusBarVisiblesetToolBarAreaVisible|class=node}{tr:id=name}{td}h6.setStatusBarVisiblesetToolBarAreaVisible{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}setStatusBarVisiblesetToolBarAreaVisible{span}{span:id=iets|style=float: left;}\(visible){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:setStatusBarVisiblesetToolBarAreaVisible_des|text=|trigger=button}{sub-section}{sub-section:setStatusBarVisiblesetToolBarAreaVisible_des|trigger=none|class=sIndent}Replace with descriptionShow or hide the toolbar area.{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:setStatusBarVisiblesetToolBarAreaVisible_snc|text=|trigger=button}{sub-section}{sub-section:setStatusBarVisiblesetToolBarAreaVisible_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:setStatusBarVisiblesetToolBarAreaVisible_prs|text=|trigger=button}{sub-section}{sub-section:setStatusBarVisiblesetToolBarAreaVisible_prs|trigger=none|class=sIndent}\{[Boolean]} visible
{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:setStatusBarVisiblesetToolBarAreaVisible_ret|text=|trigger=button}{sub-section}{sub-section:setStatusBarVisiblesetToolBarAreaVisible_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:setStatusBarVisiblesetToolBarAreaVisible_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setStatusBarVisiblesetToolBarAreaVisible_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:setStatusBarVisiblesetToolBarAreaVisible_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setStatusBarVisiblesetToolBarAreaVisible_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:setStatusBarVisiblesetToolBarAreaVisible_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setStatusBarVisiblesetToolBarAreaVisible_sam|trigger=none}{code:language=javascript}
// hide the toolbar area
plugins.window.setStatusBarVisiblesetToolBarAreaVisible(false);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setToolBarAreaVisibleshowFormPopup|class=node}{tr:id=name}{td}h6.setToolBarAreaVisibleshowFormPopup{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}setToolBarAreaVisibleshowFormPopup{span}{span:id=iets|style=float: left;}\(elementToShowRelatedTo, form, scope, dataproviderID){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:setToolBarAreaVisibleshowFormPopup_des|text=|trigger=button}{sub-section}{sub-section:setToolBarAreaVisible_des|trigger=none|class=sIndent}Replace with descriptionshowFormPopup_des|trigger=none|class=sIndent}Show a form as popup panel, where the closeFormPopup can pass return a value to a dataprovider in the specified scope.{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:setToolBarAreaVisibleshowFormPopup_snc|text=|trigger=button}{sub-section}{sub-section:setToolBarAreaVisibleshowFormPopup_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:setToolBarAreaVisibleshowFormPopup_prs|text=|trigger=button}{sub-section}{sub-section:setToolBarAreaVisible_prs|trigger=none|class=sIndent}trigger=button}{sub-section}{sub-section:showFormPopup_prs|trigger=none|class=sIndent}\{[RuntimeComponent]} elementToShowRelatedTo -- element to show related to or null to center in screen
\{[controller]} form -- the form to show
\{[Object]} scope -- the scope to put retval into
\{[String]} dataproviderID -- the dataprovider of scope to fill
{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:setToolBarAreaVisibleshowFormPopup_ret|text=|trigger=button}{sub-section}{sub-section:setToolBarAreaVisibleshowFormPopup_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:setToolBarAreaVisibleshowFormPopup_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setToolBarAreaVisibleshowFormPopup_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:setToolBarAreaVisibleshowFormPopup_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setToolBarAreaVisibleshowFormPopup_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:setToolBarAreaVisibleshowFormPopup_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setToolBarAreaVisibleshowFormPopup_sam|trigger=none}{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.setToolBarAreaVisible(false)showFormPopup(null,forms.orderPicker,foundset.getSelectedRecord(),"order_id");
//do call closeFormPopup(ordervalue) from the orderPicker form
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}