GiD - The personal pre and post processor
Managing toolbars
Overview
GiD provides a public API to customize toolbars. You can add, remove, or modify toolbar buttons and dropdown sub-items without directly modifying internal toolbar arrays.
Supported toolbars
ToolbarGeometryToolbarStandardToolbarResults
Namespace
GiDToolbar
Update control
GiDToolbar::Update {toolbar}
Applies pending changes for a specific toolbar.
Main item API
GiDToolbar::InsertOption {toolbar icon command tooltip position prepost {ins_repl "insert"} {translationfunc _}}
Inserts/replaces a toolbar button.GiDToolbar::RemoveOption {toolbar option_name prepost {translationfunc _}}
Removes a button by icon name, or separator by ---N notation.GiDToolbar::ModifyOption {toolbar old_option_name prepost {new_icon -default-} {new_command -default-} {new_tooltip -default-} {translationfunc _}}
Modifies an existing button.GiDToolbar::GetOptionIndex {toolbar option_name prepost {translationfunc _}}
Returns button index, or -1 if not found.GiDToolbar::GetNumItems {toolbar prepost}
Returns number of main toolbar items.
Sub-item API (dropdown buttons)
GiDToolbar::InsertSubOption {toolbar parent_option icon command position prepost {ins_repl "insert"} {translationfunc _}}
Inserts/replaces a dropdown sub-item.GiDToolbar::RemoveSubOption {toolbar parent_option sub_option_name prepost {translationfunc _}}
Removes a dropdown sub-item.GiDToolbar::ModifySubOption {toolbar parent_option sub_option_name prepost {new_icon -default-} {new_command -default-} {translationfunc _}}
Modifies a dropdown sub-item.GiDToolbar::GetSubOptionIndex {toolbar parent_option sub_option_name prepost {translationfunc _}}
Returns sub-item index, or -1 if not found.GiDToolbar::GetNumSubItems {toolbar parent_option prepost {translationfunc _}}
Returns number of sub-items for a parent button.
Argument reference
toolbar:
ToolbarGeometry, ToolbarStandard, ToolbarResultsicon / option_name:
icon filename (for example zoomin.png)parent_option:
icon of the parent button that owns sub-itemsposition:
0-based index or endprepost:
PRE, POST, PREPOST (toolbars with pre/post split)ins_repl:
insert, insertafter, replacetranslationfunc:
_ for GiD strings, = for module/problemtype stringsseparator notation:
---N where N starts at 0
Return values
0: success
1: not found / not applied
error: unknown toolbar or invalid arguments
Example
Remove some buttons from ToolbarGeometry , ToolbarStandard and ToolbarResults , modify the “surface.png” button of the ToolbarGeometry to call my own code and update toolbars.
# pre
foreach item {line.png arc.png spline.png ---1} {
GiDToolbar::RemoveOption ToolbarGeometry $item PRE
}
GiDToolbar::ModifyOption ToolbarGeometry "surface.png" PRE -default- {W "my own procedure"} [= "Surface custom"]
foreach item {layers.png "-np- CreateWidgetComboboxLayers %W"} {
GiDToolbar::RemoveOption ToolbarStandard $item PRE
}
# post
GiDToolbar::RemoveOption ToolbarGeometry meshes.png POST
foreach item {reload.png save.png WinResAnim.png tool-animator.png play.png "-np- CreateWidgetComboboxSimulation %W"} {
GiDToolbar::RemoveOption ToolbarStandard $item POST
}
foreach item {graphs.png PostFilling.png ---2} {
GiDToolbar::RemoveOption ToolbarResults $item POST
}
GiDToolbar::Update ToolbarGeometry
GiDToolbar::Update ToolbarStandard
GiDToolbar::Update ToolbarResultsRecommended workflow
Apply multiple insert/modify/remove operations.
Call Update with target toolbar.