Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be 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/ToolButton"

(Replaced content with "The Scout documentation has been moved to https://eclipsescout.github.io/.")
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{ScoutPage|cat=Component Model}}
+
The Scout documentation has been moved to https://eclipsescout.github.io/.
 
+
Special type of {{ScoutLink|Concepts|Action|Action}} that is usually rendered as an element in a tool bar.
+
 
+
* implements: {{ScoutJavadoc|IToolButton|I}}
+
* extends: {{ScoutJavadoc|AbstractToolButton|C}}
+
 
+
== Description ==
+
Tool Button are used to proposed actions in a tool bar of the main windows of an {{ScoutLink|Concepts|Outline based application}}.
+
 
+
=== FormToolButton ===
+
The form tools buttons are used to open form. Usually these forms are displayed on the right part of the main windows. They can contain some fields to perform searches, or quick access to global functions (bookmarks, task list, action list...)
+
 
+
* implements: {{ScoutJavadoc|IFormToolButton<T>|I}}
+
* extends: {{ScoutJavadoc|AbstractFormToolButton<T>|C}}
+
 
+
The generic parameter <T> needs to extend {{ScoutLink|Concepts|Form}}.
+
 
+
 
+
== Screenshot ==
+
On the screenshot, you see the ToolButtons (in green) and the FormToolButtons (in red).
+
 
+
Swing Nimbus look and feel:
+
 
+
[[Image:Scout ToolButtons Nimbus.png]]
+
 
+
 
+
Same example with the {{ScoutLink|Concepts|Rayo|Swing Rayo}} look and feel:
+
 
+
[[Image:Scout ToolButtons Rayo.png]]
+
 
+
For the moment the normal ToolButtons are not rendered with the Rayo look and feel.
+
 
+
 
+
== SDK Support ==
+
Since the Kepler Release of Eclipse Scout, the SDK provide support for these buttons: A folder is located under the Desktop node:
+
 
+
[[Image:ScoutSdk New Tool item.png]]
+
 
+
== Example ==
+
ToolButton:
+
<source lang="java">
+
@Order(10.0)
+
public class DrawLineTool extends AbstractToolButton {
+
 
+
  @Override
+
  protected String getConfiguredIconId() {
+
    return Icons.DrawLine;
+
  }
+
 
+
  @Override
+
  protected String getConfiguredText() {
+
    return TEXTS.get("DrawLine");
+
  }
+
 
+
  @Override
+
  protected String getConfiguredTooltipText() {
+
    return TEXTS.get("DrawLineTooltip");
+
  }
+
 
+
  @Override
+
  protected void execAction() throws ProcessingException {
+
    MessageBox.showOkMessage(TEXTS.get("DrawLineTitle"), TEXTS.get("DrawLineInfo"), null);
+
  }
+
}
+
</source>
+
 
+
FormToolButton:
+
<source lang="java">
+
@Order(40.0)
+
public class GroupFormTool extends AbstractFormToolButton<GroupForm> {
+
 
+
  @Override
+
  protected String getConfiguredIconId() {
+
    return Icons.Group;
+
  }
+
 
+
  @Override
+
  protected String getConfiguredText() {
+
    return TEXTS.get("Group");
+
  }
+
 
+
  @Override
+
  protected void execAction() throws ProcessingException {
+
    GroupForm form = new GroupForm();
+
    decorateForm(form);
+
    form.startDisplay();
+
    setForm(form);
+
  }
+
}
+
</source>
+
 
+
== 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.}}
+
 
+
 
+
== See Also ==
+
* {{ScoutLink|Concepts|Client Plug-In|Client Plug-In}}
+
* {{ScoutLink|Concepts|ViewButton}}
+

Latest revision as of 04:22, 14 March 2024

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

Back to the top