PANEL - v14


panel                        {on|off}, p=<i>, u=<i>, r=<i>, c=<i>,vr=<i>, vc=<i>, t=<text>, j=<n1>,<n2>, mod=<i>, pin=<i>, name=<i>, att=<i>, ob=<i>, ot=<i>, ol=<i>, or=<i>,dock, open, clos, dock=<i>
autohide,window=<id>,topmost

or

panel                         {on|off}, p=<i>, u=<i>, r=<i>, c=<i>,vr=<i>, vc=<i>, t=<text>, j=<n1>,<n2>, mod=<i>, pin=<i>, name=<i>, att=<i>,open, clos, container={tab|page},window=<id>

combined with

 

panel                         {on|off}, p=<i>, u=<i>, r=<i>, c=<i>,vr=<i>, vc=<i>, t=<text>, pageof=<i>, open, clos, tabbed, autohide

Function

Creates an control bar  (panel) including toolbar, statusbar, dialogbar, tabbed bar or paged bar which can contains menu control options.

The list of parameters below represents an overview of the command; Specific examples of various panel types including the ability to dock or undock, float or not, themes etc. the prototype syntax is detailed in the sections below and detailed in the UI Framework Guide  

Parameters

on

Create a new panel.

 

 

off

Remove a panel from the screen.  
Eagle sends a windows message when closing a panel defined by WM_PANEL=OFF="Eagle_Panel_Off"

 

 

p=<i>

To specify the panel index. A value between 1 and 96 Update from v12

 

P=96 was  reserved exclusively for creation of Tabbed panel object containers. In UI Framework V14 all panels can be tabbed containers using the container and tabbed primers.
 

u=<i>

Is the unit in pixel of the menu grid ( default is 16).

 

 

r=<i>

Number of rows. (maximum width/height for panels extended to the dimensions of Eagle frame)

 

 

c=<i>

Number of columns. (maximum width/height for panels extended to the dimensions of Eagle frame)

 

 

vr=<i>

Number of visible rows. (maximum width/height for panels extended to the dimensions of Eagle frame)

 

 

vc=<i>

Number of visible columns. (maximum width/height for panels extended to the dimensions of Eagle frame)

 

 

t=<text>

Panel title.
or
Tabbed Panel title and icon defined as t='title#path/icon.bmp'
 

j=<i>

Floating Control Bar (Standard or Tab Container):

Position (x, y) on the screen in normalized units between 0 and 1 or in pixel unit. If j is not specified the default values are the center of the application frame.

Docked Tool Bar:

Docking position (x, y) specified with J=<x_value>,<y_value>, defined in pixels. If j is not specified the default values are (-1, -1) = new row/column

Cascade toolbars:

Using J parameter there is the possibility of managing the layout on "pulldown" toolbars.  These are horizontal or vertical toolbars that appear attached the button from which they have been called. The n1 determinates if the pulldown perpendicular (-2) or parallel (-3) to the calling button. The n2 defines the number of rows/columns.

Not used in Tab Page.

 

 

mod=<i>

Standard Control Bar:

Is 0 if the panel widget is child of the non graphic widget hierarchy; this means that the panel widget is still present also after a DIALOG OFF command. It is 1 if the panel widget is child of the graphic widget hierarchy; this means that the panel widget is iconized when a DIALOG OFF command is executed and de-iconized as soon the graphic area is restored via a DIALOG ON command.

Tab Container :

Specifies the type of container; the value between 1 and 16.

Not used in Tab Page.

pin=<i>

To specify the type of panel, can be of one of the following types:

• floating dialog

• fixed dialog

• dockable/floating dialog

• dockable/floating toolbar

• status bar

• floating (only) toolbar

• floating (only) dialog

• pulldown toolbar

Permitted values are: 0,1,-2,-3,-4,-5,-6,-7,-8-,-9,-10,-11,-14,-17,-18-,19,-20,-21,-22,-23,-37,-38,-39,-40, and the differences between each possibility can be found below in the UI Framework documentation.

Not used in Tab Page.

 

 

name=<i>

If equal to 1 then the resource name is: panel_<i>

 

where i is the panel index, otherwise, equal to 0, the resource name is: panel

 

Not used in Tab Page.

 

The default is 1 to remain compatible with previous versions.

 

 

att=<i>

To link the current panel to an existing one.
If set to
-1 panel PIN option setting will define whether or not a panel is floating/dockable and to which extremity of the container windows it should be docked.
att=-999
If PIN= is the value for toolbars, to create the toolbar as floating from the start, but then dockable, you have to specify
ATT=-999 and J=x,y (the starting position). Introduced v12

Not used in Tab Page.

 

 

dock=<i>

This parameter, if specified, permits blocking vertical or horizontal docking when the docking mechanism is the same as  in the Tool Bar:

0 = no block for docking, docking everywhere

1 = block horizontal docking, only vertical docking permitted

2 = block vertical docking, only horizontal docking permitted

Usable only in Tool Bar and FixedSize Bar

 

 

pageof<i>

Represents the id of the Tab Container in which the Tab Page will be added.

 

Not used in Standard Panels and Tab Container.

 

 

ot=<i> ob=<i>

ol=<i> or=<i>

 

The offset of the current panel origin from the bottom (ob), top (ot), left (ol) or right (or) of the 'attached to' panel.

open

To 'show' a closed panel.  When using this primer the only other primer available is j= to reposition the panel.
 

clos

To close the panel without destroying it. The panel is held in memory for successive use. (This corresponds to an unmanaged widget call). When using this primer no other primers are available.

 

 

container=

To set a specific panel as “Tab Container”
container=tab  
or a "Page Container"
container=page
according to this setting , according with PIN value.

Not used in Standard Panels and Tab Pages  

 

 

tabbed=

To set a specific panel as “Tab Page”.

Not used in Standard Panels and Tab Containers

 

 

col1

Used when the Tab style is “OneNote” (mod=2,6,10,14), to set the first color for the background of the Tab Page (more details in the UI Framework documentation.)
Not used in Standard Panels and Tab Containers

 

 

col2

Used when the Tab style is “OneNote”(mod=2,6,10,14),, to set the second color for the background of the Tab Page (more details in the UI Framework documentation.)

Not used in Standard Panels and Tab Pages

 

 

autohide

Enable the auto-hiding feature. (Applicable only to PANEL of PIN= -7,-8,-9,-10,-17,-18,-19 or-20) Refer to Auto-hiding of Panels for detailed information.

 

 

window=<id>

Associate  a panel  (toolbar and dialogbar)  to a GWINDOW.  Note does not apply to status bar of type pin -6.  Default if unset is to attach to main Eagle window. Note also that some other panel primer options may not be relevant or available when using this option, refer to the GUI guide for detailed examples of usage.

 

 

topmost

The given panel is created  with the attribute of "always on top" status.

 

Specific Panel Types

StatusBar Panel (ControlBar)

panel                         {on|off}, p=<i>, u=<i>, r=<i>, c=<i>,vr=<i>, vc=<i>, pin=-6,
open, clos

 

Parameter

Description

on

Create a Statusbar  panel.
 

off

Remove the bar from the screen and restore the "empty" default statusbar.
 

p=<i>

To specify the panel index. A value between 1 and 96
 

u=<i>

Is the unit in pixel of the menu grid ( default is 16).
 

r=<i>

Width of the status bar. Value must be >0, but each values are adjusted with the  auto-fitting algorithm
 

c=<i>

Height of the status bar.
 

vr=<i>

Visible width of the status bar. Value must be >0, but each values are adjusted with the  auto-fitting algorithm
 

vc=<i>

Visible  height of the status bar.

pin=-6

To specify the type of panel, can be of one of the following types:

• status bar

The only permitted value for Statusbar is -6.  The other   possibilities and details  can be found in the UI Framework documentation.
 

open

To 'show' a closed panel.  When using this primer the only other primer available is j= to reposition the panel.
 

clos

To close the panel without destroying it. The panel is held in memory for successive use. (This corresponds to an unmanaged widget call). When using this primer no other primers are available.
 

EXAMPLES - Link to examples for Status Bar

 

Toolbar Panel (ControlBar)

panel                         {on|off}, p=<i>, u=<i>, r=<i>, c=<i>,vr=<i>, vc=<i>, t=<text>, j=<n1>,<n2>, mod=<i>, pin=<i>, name=<i>, att=<i>,dock, open, clos, topmost

 

Parameter

Description

on

Create a new Toolbar  panel.
 

off

Remove a toolbar panel from the screen.
 

p=<i>

To specify the panel index (ID). A value between 1 and 96
 

u=<i>

Is the unit in pixel of the menu grid ( default is 16).
 

r=<i>

Number of rows. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

c=<i>

Number of columns. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

vr=<i>

Floating Tool Bar:

Used to specify the number of rows defining the layout of a floating toolbar
 

vc=<i>

Floating Tool Bar:

Used to specify the number of columns defining the layout of a floating toolbar
 

t-<text>

Panel title.

j=<n1>,<n2>

Floating Tool Bar:

Position (x, y) on the screen in normalized units between 0 and 1 or in pixel unit. If j is not specified the default values are the center of the application frame.

Docked Tool Bar:

Docking position (x, y) specified with J=<x_value>,<y_value>, defined in pixels. If j is not specified the default values are (-1, -1) = new row/column

Cascade toolbars:

Using J parameter there is the possibility of managing the layout on "pulldown" toolbars.  These are horizontal or vertical toolbars that appear attached the button from which they have been called. The n1 determinates if the pulldown perpendicular (-2) or parallel (-3) to the calling button. The n2 defines the number of rows/columns.
 

mod=<i>

Is 0 if the panel widget is child of the non graphic widget hierarchy; this means that the panel widget is still present also after a DIALOG OFF command. It is 1 if the panel widget is child of the graphic widget hierarchy; this means that the panel widget is iconized when a DIALOG OFF command is executed and de-iconized as soon the graphic area is restored via a DIALOG ON command.

pin=<i>

Specify the type of panel, can be of one of the following types:

• dockable/floating toolbar

• floating (only) toolbar

• pulldown toolbar

Permitted values for toolbars are:,-2,-3,-4,-5,-14.
 

name=<i>

If equal to 1 then the resource name is, panel_<i>, where “i“ is the panel index, otherwise, equal to 0, the resource name is panel.
 

att=<i>

If set to -1 panel PIN option setting will define whether or not a panel is floating/dockable and to which extremity of the container windows it should be docked.
Else if equal to -999 and the panel is a toolbar, the bar will be created as floating from the start, but then dockable, you have to specify ATT=-999 and J=x,y (the starting position).
 

dock =<i>

This parameter, if specified, allow to block the vertical or the horizontal docking when the docking mechanism is the same of in Tool Bar:
0 = no block for docking, docking everywhere
1 = block horizontal docking, only vertical docking permitted
2 = block vertical docking, only horizontal docking permitted
 

open

To 'show' a hidden panel.
 

clos

Hide the panel without destroying it. The panel is held in memory for successive use. (This corresponds to an unmanaged widget call). When using this primer no other primers are available.
 

w=<gwindow_id>

Associate  a panel  (toolbar and dialogbar)  to a GWINDOW.

topmost

 The given panel is created  with the attribute of "always on top" status.

 

EXAMPLES - Link to examples for Tool Bar

 

Fixed Sized Dialog Panel (DialogBar)

panel                          {on|off}, p=<i>, u=<i>, r=<i>, c=<i>,vr=<i>, vc=<i>, t=<text>, j=<n1>,<n2>, mod=<i>, pin=<i>, name=<i>, att=<i>, open, clos, topmost

 

Parameter

Description

on

Create a new Dialog  panel.
 

off

Remove a Dialog panel from the screen.
 

p=<i>

To specify the panel index (ID). A value between 1 and 96
 

u=<i>

Is the unit in pixel of the menu grid ( default is 16).
 

r=<i>

Number of rows. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

c=<i>

Number of columns. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

vr=<i>

Number of visible rows. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

vc=<i>

Number of visible columns. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

t-<text>

Panel title.
 

j=<n1>,<n2>

Floating Fixed Size Bar:

Position (x, y) on the screen in normalized units between 0 and 1 or in pixel unit. If j is not specified the default values are the center of the application frame.
 

mod=<i>

Is 0 if the panel widget is child of the non graphic widget hierarchy; this means that the panel widget is still present also after a DIALOG OFF command. It is 1 if the panel widget is child of the graphic widget hierarchy; this means that the panel widget is iconized when a DIALOG OFF command is executed and de-iconized as soon the graphic area is restored via a DIALOG ON command.
 

pin=<i>

Specify the type of panel which can be only a dockable/floating fixedsize dialog bar.

Permitted values for this type of Panel are:-37,-38,-39,-40.
 

name=<i>

If equal to 1 then the resource name is, panel_<i>, where “i“ is the panel index, otherwise, equal to 0, the resource name is panel.
 

att=<i>

If set to -1 panel PIN option setting will define whether or not a panel is floating/dockable and to which extremity of the container windows it should be docked.
If equal to -999 and the panel is a bar, the bar will be created as floating from the start, but then dockable, you have to specify ATT=-999 and J=x,y (the starting position).
 

dock =<i>

This parameter, if specified, allow to block the vertical or the horizontal docking when the docking mechanism is the same as  FixedSize Bar:

0 = no block for docking, docking everywhere

1 = block horizontal docking, only vertical docking permitted

2 = block vertical docking, only horizontal docking permitted
 

open

To 'show' a hidden panel.
 

clos

 

Hide the panel without destroying it. The panel is held in memory for successive use. (This corresponds to an unmanaged widget call). When using this primer no other primers are available.
 

w=<gwindow_id>

 Associate  a panel  (toolbar and dialogbar)  to a GWINDOW.
 

topmost

 The given panel is created  with the attribute of "always on top" status.

 

EXAMPLES - Link to examples for Fixed Size Dialog

 

Tabbed Container Panel (DialogBar)

panel                         {on|off}, p=<i>, u=<i>, r=<i>, c=<i>, vr=<i>, vc=<i>, t=<text>, j=<n1>,<n2>, mod=<i>, pin=<i>, name=<i>, att=<i>, open, clos, container, topmost

 

Parameter

Description

on

Create a new Container  panel.
 

off

Remove a Container panel from the screen.
 

p=<i>

To specify the panel index (ID). A value between 1 and 96
 

u=<i>

Is the unit in pixel of the menu grid ( default is 16).
 

r=<i>

Number of rows. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

c=<i>

Number of columns. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

vr=<i>

Number of visible rows. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

vc=<i>

Number of visible columns. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

t-<text>

Panel title.
 

j=<n1>,<n2>

Floating Control Bar :

Position (x, y) on the screen in normalized units between 0 and 1 or in pixel unit. If j is not specified the default values are the center of the application frame.

mod=<i>

Specifies the type of container; the value between 1 and 16.
 

pin=<i>

To specify the type of panel, can be of one of the following types:

• floating dialog

• fixed dialog

• dockable/floating dialog

• floating (only) dialog

Permitted values are: 0,1,-7,-8-,-9,-10,-11,-17,-18-,19,-20,-21,-22, and the differences between each possibilities are detailed in the GUI Guide Documentation

name=<i>

If equal to 1 then the resource name is, panel_<i>, where “i“ is the panel index, otherwise, equal to 0, the resource name is panel.
 

att=<i>

If set to -1 panel PIN option setting will define whether or not a panel is floating/dockable and to which extremity of the container windows it should be docked.
If equal to -999 and the panel is a bar, the bar will be created as floating from the start, but then dockable, you have to specify ATT=-999 and J=x,y (the starting position).
 

open

To 'show' a hidden panel.

clos

Hide the panel without destroying it. The panel is held in memory for successive use. (This corresponds to an unmanaged widget call). When using this primer no other primers are available.
 

container

Set a specific panel as “Tab Container”, according with PIN value.
 

w=<gwindow_id>

Associate  a panel  (toolbar and dialogbar)  to a GWINDOW.
 

topmost

 The given panel is created  with the attribute of "always on top" status.

EXAMPLES - Link to examples for Tabbed Container

 

Tabbed Page Panel (TabbedBar)

panel                          {on|off}, p=<i>, u=<i>, r=<i>, c=<i>, vr=<i>, vc=<i>, t=<text>, pageof=<i>, open, tabbed

 

Parameter

Description

on

Create a new Container  panel.
 

off

Remove a Container panel from the screen.
 

p=<i>

To specify the panel index (ID). A value between 1 and 96
 

u=<i>

Is the unit in pixel of the menu grid ( default is 16).
 

r=<i>

Number of rows. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

c=<i>

Number of columns. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

vr=<i>

Number of visible rows. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

vc=<i>

Number of visible columns. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

t-<text>

Panel title and separated with a “#” the path name of an icon to insert in the tab; the complete syntax is : t=‘title#path/icon.bmp’
 

pageof=<i>

Represents the id of the Tab Container in which the Tab Page will be added.
 

open

To 'show' a hidden panel.
 

tabbed

Set a specific panel as “Tab Page”.

col2=r,g,b

Used when the Tab style is “OneNote”(mod=2,6,10,14),, to set the first color for the background of the Tab Page (more details below). In the form =(R, G, B), where R, G and B are three integer between 0 and 255.
 

col2=r,g,b

Used when the Tab style is “OneNote” (mod=2,6,10,14), to set the second color for the background of the Tab Page (more details below) . In the form =(R, G, B), where R, G and B are three integer between 0 and 255.

EXAMPLES - Link to examples for Tabbed Bar

 

Page Container Panel (PagedBar)

panel                         {on|off}, p=<i>, u=<i>, r=<i>, c=<i>, vr=<i>, vc=<i>, t=<text>, j=<n1>,<n2>, mod=<i>, pin=<i>, name=<i>, att=<i>, open, clos, container=page

 

Parameter

Description

on

Initiate a new panel.
 

off

Remove a panel from the screen.
 

p=<i>

To specify the panel index (ID). A value between 1 and 96.
 

u=<i>

Is the unit in pixel of the menu grid ( default is 16).
 

r=<i>

Number of rows. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

c=<i>

Number of columns. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

vr=<i>

Number of visible rows. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

vc=<i>

Number of visible columns. (Note, The maximum width/height for panels extended to the dimensions of the Eagle frame).
 

t=<text>

Panel title.
 

j=<n1>,<n2>

Position (x, y) on the screen in normalized units between 0 and 1 or in pixel unit. If j is not specified the default values are the center of the application frame.
 

pin=<i>

Specifies the style of container; the value between 1 and 6:

  •  Vertical alignment and default behavior.

  •  Vertical alignment and only one page opened.

  •  Vertical alignment and at least one page opened.

  •  Horizontal alignment and default behavior.

  •  Horizontal alignment and only one page opened.

  •  Horizontal alignment and at least one page opened.

pin=<i>

Specify the type of panel, can be of one of the following types:

  •  floating dialog

  •  fixed dialog

  •  dockable/floating dialog

  • floating (only) dialog

Permitted values are : 0,1,-7,-8-,-9,-10,-11,-17,-18-,19,-20,-21,-22
 

name

If equal to 1 then the resource name is, panel_<i>, where “i“ is the panel index, otherwise, equal to 0, the resource name is panel.
 

att=<i>

If set to -1 panel PIN option setting will define whether or not a panel is floating/dockable and to which extremity of the container windows it should be docked.
Else if equal to -999 and the panel is a toolbar, the bar will be created as floating from the start, but then dockable, you have to specify ATT=-999 and J=x,y (the starting position).
 

open

To SHOW an hidden panel.
 

clos

To HIDE the panel without destroying it. The panel is held in memory for successive use. (This corresponds to an unmanaged widget call). When using this primer no other primers are available.
 

container=page

Set a specific panel as “Page Container”, according to PIN value.

 

EXAMPLES - Link to examples for Page Bar

Notes

Update Note References

 

If the primer vr or vc or both are specified then vertical and/or horizontal scroll bars are defined on the right and bottom sides of the panel.

 

The ability to add external custom controls to standard Eagle panels (mixed mode) is possible.  This is enabled by a numeric function for the LET command, called PANEL(<i>,<j>), which returns the windows handle of the panel <i> or of the button <j> defined in the panel <i>.Update from 11.9.4 (b01)

 

Remembering the location of panels and restoring them to the same position at which they were closed is possible.   A panel can be repositioned in the same place that it was before it was last closed. This is possible for panels in which the name has been defined, that is, the primer NAME=<value>. <value> is an integer that represents the unique ID of the panel. If the programmer wants to overwrite this behaviour thereby resetting the volatile entries in the file named with the following rule:
PANEL_value_X=
PANEL_value_Y=
Where value is the one defined for the NAME= parameter. Example: PANEL P=1, .. .. .. , NAME=10007
this is the only change required in existing macros. To reset:
ENV PANEL_10007_X=’’
ENV PANEL_10007_Y=’’

Updates from 11.9.4 (b01)

 

 Warm restart When creating a toolbar or a dialog (negative PIN) it is possible to also specify the position with J=x,y where x and y are expressed in screen pixel coordinates. This is useful to precisely position a toolbar one after another on the same bar, or to insert a toolbar or a dialog in between already created toolbars and dialogs. Update from v12.2.0 

 

Note:This functionality is complimented by the (LET) INFOGUI and (LET) INFOPANEL functions which can be used to achieve a "warm" startup for the user interface, that is, display various toolbars and dialogs exactly as the user left them when Eagle previously exited previous. 

 

Example:
PANEL ON,P=1,U=1, .... PIN=-5,J=400,0, ....


differing from:

PANEL ON,P=1,U=1, .... PIN=-5, ....

 

Right-click on a toolbar executes the macro defined in the environment variable TOOLBAR_CONTEXT_ACTION and returns the correct MN, BN and VB. Update from v12.3.3 (b01)

 

The Panels can have a defined command file to execute when closing, refer to the graphics section of Eagle Customization. When a panel (toolbar, dialog or std panel) is closed (PANEL OFF), Eagle now fires a message whose value can be read from the INI file in the variable CLOSE_CUSTOM_MESSAGE. A variable in the INI/Registry CLOSE_CUSTOM_MESSAGE sets the value of the message to be fired when a panel, dialog  or toolbar is destroyed. The default value is 61210.Update from v12.0.1

 

The execution of the “close button” of a Panel event cause the polling to exit and returning a BN (button number) value set to – 1 to inform about the special event occurred. Update from v12.4.5

See also

NOTAT, options, polling, click, UI Framework, Eagle Customization.