|
|
Line 1: |
Line 1: |
− | {{ScoutPage|cat=Component Model}}
| + | The Scout documentation has been moved to https://eclipsescout.github.io/. |
− | | + | |
− | The menu component include all links, functionalities, etc... available within the application. | + | |
− | | + | |
− | * implements: {{ScoutJavadoc|IMenu|I}}
| + | |
− | * extends: {{ScoutJavadoc|AbstractMenu|C}}
| + | |
− | | + | |
− | == Description ==
| + | |
− | {{note|TODO|Add a description}}
| + | |
− | | + | |
− | [[Image:HG_Menu.png]]
| + | |
− | | + | |
− | | + | |
− | == Screenshot ==
| + | |
− | [[Image:Scout ContextMenu SWT.png]]
| + | |
− | A context menu rendered in SWT.
| + | |
− | | + | |
− | == Properties ==
| + | |
− | ''Defined with {{ScoutLink|Concepts|GetConfigured Methods|getConfiguredXxxxxx()}} methods''.
| + | |
− | | + | |
− | {{note|TODO|Add a description of important properties. The idea is not to recreate the JavaDoc of the getConfiguredXxxxxx() methods but to provide explanations, best practice, example... Group the properties by domain.}}
| + | |
− | | + | |
− | | + | |
− | == Events ==
| + | |
− | ''Defined with {{ScoutLink|Concepts|Exec_Methods|execXxxxxx()}} methods''.
| + | |
− | | + | |
− | {{note|TODO|Add a description of important events. The idea is not to recreate the JavaDoc of the execXxxxxx() methods but to provide explanations, best practice, example... Group the events by domain.}}
| + | |
− | | + | |
− | == Advanced topics ==
| + | |
− | | + | |
− | === 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:
| + | |
− | # <code>AbstractMenu.execInitAciton</code>: add a property listener to the <code>CONTEXT_COLUMN</code> property of the table.
| + | |
− | # set the context column relative properties in the <code>propertyChange</code> 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 ==
| + | |
− | * {{ScoutLink|Concepts|Client Plug-In|Client Plug-In}}
| + | |