Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Scout/Concepts/Menu"
(→Events) |
(→Access the column context in a menu) |
||
Line 29: | Line 29: | ||
== Advanced topics == | == Advanced topics == | ||
− | === Access the column context in a menu === | + | === Table menus: Access the column context in a menu === |
+ | In some cases a menu should change its behavior depending on the table column where the menu gets requested. | ||
+ | |||
+ | Do the following steps to get there: | ||
+ | # {{{AbstractMenu.execInitAciton}}}: add a property listener to the {{{CONTEXT_COLUMN}}} property of the table. | ||
+ | # set the context column relative properties in the {{{propertyChange}}} method. | ||
+ | |||
+ | '''Example''' | ||
+ | |||
+ | <source lang="java"> | ||
+ | @Order(30.0) | ||
+ | public class ColumnContextSenitiveMenu extends AbstractExtensibleMenu { | ||
+ | |||
+ | @Override | ||
+ | protected void execInitAction() throws ProcessingException { | ||
+ | // add a property listener to the tables property CONTEXT_COLUMN. | ||
+ | getTable().addPropertyChangeListener(ITable.PROP_CONTEXT_COLUMN, new PropertyChangeListener() { | ||
+ | |||
+ | @Override | ||
+ | public void propertyChange(PropertyChangeEvent evt) { | ||
+ | // set here the column relative properties | ||
+ | // e.g. disable menu if the context menu is not opened over the tables name column | ||
+ | setEnabled(CompareUtility.equals(getTable().getNameColumn(), evt.getNewValue())); | ||
+ | } | ||
+ | }); | ||
+ | } | ||
+ | |||
+ | @Override | ||
+ | protected String getConfiguredText() { | ||
+ | return TEXTS.get("ContextSenitive"); | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
== See Also == | == See Also == | ||
* {{ScoutLink|Concepts|Client Plug-In|Client Plug-In}} | * {{ScoutLink|Concepts|Client Plug-In|Client Plug-In}} |
Revision as of 11:26, 4 September 2014
The Scout documentation has been moved to https://eclipsescout.github.io/.
The menu component include all links, functionalities, etc... available within the application.
- implements: The Scout documentation has been moved to https://eclipsescout.github.io/.
- extends: The Scout documentation has been moved to https://eclipsescout.github.io/.
Contents
Description
Screenshot
A context menu rendered in SWT.
Properties
Defined with The Scout documentation has been moved to https://eclipsescout.github.io/. methods.
Events
Defined with The Scout documentation has been moved to https://eclipsescout.github.io/. methods.
Advanced topics
In some cases a menu should change its behavior depending on the table column where the menu gets requested.
Do the following steps to get there:
- {{{AbstractMenu.execInitAciton}}}: add a property listener to the {{{CONTEXT_COLUMN}}} property of the table.
- set the context column relative properties in the {{{propertyChange}}} method.
Example
@Order(30.0) public class ColumnContextSenitiveMenu extends AbstractExtensibleMenu { @Override protected void execInitAction() throws ProcessingException { // add a property listener to the tables property CONTEXT_COLUMN. getTable().addPropertyChangeListener(ITable.PROP_CONTEXT_COLUMN, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { // set here the column relative properties // e.g. disable menu if the context menu is not opened over the tables name column setEnabled(CompareUtility.equals(getTable().getNameColumn(), evt.getNewValue())); } }); } @Override protected String getConfiguredText() { return TEXTS.get("ContextSenitive"); } }
See Also
- The Scout documentation has been moved to https://eclipsescout.github.io/.