Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "Scout/Concepts/Menu"

(Table menus: Access the column context in a menu)
(Replaced content with "The Scout documentation has been moved to https://eclipsescout.github.io/.")
 
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}}
+

Latest revision as of 04:21, 14 March 2024

The Scout documentation has been moved to https://eclipsescout.github.io/.

Back to the top