View Javadoc

1   /*
2    * Copyright 2004-2008 the Seasar Foundation and the Others.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 
13   * either express or implied. See the License for the specific language
14   * governing permissions and limitations under the License.
15   */
16  package org.seasar.uruma.rcp.configuration.elements;
17  
18  import org.seasar.uruma.annotation.ConfigurationAttribute;
19  import org.seasar.uruma.rcp.configuration.ConfigurationElement;
20  import org.seasar.uruma.util.AssertionUtil;
21  
22  /**
23   * <code>command</code> 要素のための {@link ConfigurationElement} です。<br />
24   * 
25   * @author y-komori <a
26   *         href="http://help.eclipse.org/help33/topic/org.eclipse.platform.doc.isv/reference/extension-points/org_eclipse_ui_menus.html#e.command">command</a>
27   */
28  public class MenuCommandElement extends AbstractConfigurationElementContainer {
29      /**
30       * 要素名です。<br />
31       */
32      public static final String ELEMENT_NAME = "command";
33  
34      /**
35       * プッシュメニューを表すスタイル文字列です。<br />
36       */
37      public static final String STYLE_PUSH = "push";
38  
39      /**
40       * ラジオメニューを表すスタイル文字列です。<br />
41       */
42      public static final String STYLE_RADIO = "radio";
43  
44      /**
45       * トグルメニューを表すスタイル文字列です。<br />
46       */
47      public static final String STYLE_TOGGLE = "toggle";
48  
49      /**
50       * プルダウンメニューを表すスタイル文字列です。<br />
51       */
52      public static final String STYLE_PULLDOWN = "pulldown";
53  
54      /**
55       * 対応するコマンドの ID です。<br />
56       */
57      @ConfigurationAttribute(required = true)
58      public String commandId;
59  
60      /**
61       * コマンド ID です。<br />
62       */
63      @ConfigurationAttribute
64      public String id;
65  
66      /**
67       * ニーモニックです。<br />
68       */
69      @ConfigurationAttribute
70      public String mnemonic;
71  
72      /**
73       * アイコンのパスです。<br />
74       */
75      @ConfigurationAttribute
76      public String icon;
77  
78      /**
79       * ディスエーブル状態のアイコンパスです。<br />
80       */
81      @ConfigurationAttribute
82      public String disabledIcon;
83  
84      /**
85       * ホバー状態のアイコンパスです。<br />
86       */
87      @ConfigurationAttribute
88      public String hoverIcon;
89  
90      /**
91       * ラベルです。<br />
92       */
93      @ConfigurationAttribute
94      public String label;
95  
96      /**
97       * ツールチップテキストです。<br />
98       */
99      @ConfigurationAttribute
100     public String tooltip;
101 
102     /**
103      * ヘルプコンテクスト ID です。<br />
104      */
105     @ConfigurationAttribute
106     public String helpContextId;
107 
108     /**
109      * スタイルです。<br />
110      */
111     @ConfigurationAttribute
112     public String style;
113 
114     /**
115      * {@link MenuCommandElement} を構築します。<br />
116      * 
117      * @param commandId
118      *            コマンド ID
119      */
120     public MenuCommandElement(final String commandId) {
121         super();
122         AssertionUtil.assertNotNull("commandId", commandId);
123         this.commandId = commandId;
124     }
125 }