165 |
165 |
* @param toolBar
|
166 |
166 |
* @param groupTitle
|
167 |
167 |
* @param buttonToolTip
|
168 |
|
* @param iconFilePath
|
|
168 |
* @param openIconFilePath
|
169 |
169 |
* @return the Group widget created
|
170 |
170 |
*/
|
171 |
|
public Group installGroup(String groupTitle, String buttonToolTip, String iconFilePath, boolean showGroup) {
|
|
171 |
public Group installGroup(String groupTitle, String buttonToolTip, String openIconFilePath, String closeIconFilePath, boolean showGroup) {
|
172 |
172 |
|
173 |
173 |
if (this.groups.containsKey(groupTitle)) {
|
174 |
174 |
return (Group) this.groups.get(groupTitle);
|
... | ... | |
192 |
192 |
|
193 |
193 |
|
194 |
194 |
// add finally a button to the toolbar to show/hide the Group
|
195 |
|
|
196 |
|
final OpenCloseButton showParameters = new OpenCloseButton(this, groupTitle, iconFilePath);
|
197 |
|
// if (iconFilePath != null) {
|
198 |
|
// showParameters.setImage(IImageKeys.getImage(iconFilePath));
|
199 |
|
// }
|
200 |
|
// // if no icon specified, show the group title in the toolitem
|
201 |
|
// else {
|
202 |
|
// showParameters.setText(groupTitle);
|
203 |
|
// }
|
204 |
|
//
|
205 |
|
// if (buttonToolTip != null) {
|
206 |
|
// showParameters.setToolTipText(buttonToolTip);
|
207 |
|
// }
|
208 |
195 |
|
|
196 |
final OpenCloseButton showParameters = new OpenCloseButton(this, groupTitle, openIconFilePath, closeIconFilePath);
|
|
197 |
// if (iconFilePath != null) {
|
|
198 |
// showParameters.setImage(IImageKeys.getImage(iconFilePath));
|
|
199 |
// }
|
|
200 |
// // if no icon specified, show the group title in the toolitem
|
|
201 |
// else {
|
|
202 |
// showParameters.setText(groupTitle);
|
|
203 |
// }
|
|
204 |
//
|
|
205 |
// if (buttonToolTip != null) {
|
|
206 |
// showParameters.setToolTipText(buttonToolTip);
|
|
207 |
// }
|
|
208 |
|
209 |
209 |
this.setVisible(group, showParameters, showGroup); // default init
|
210 |
210 |
|
211 |
211 |
showParameters.addSelectionListener(new SelectionListener() {
|
... | ... | |
223 |
223 |
this.buttons.put(groupTitle, showParameters);
|
224 |
224 |
return group;
|
225 |
225 |
}
|
226 |
|
|
|
226 |
|
227 |
227 |
//failure of open/close decorator
|
228 |
228 |
public class OpenCloseButton {
|
229 |
|
// ToolItem sep;
|
|
229 |
// ToolItem sep;
|
230 |
230 |
ToolItem showParameters;
|
231 |
|
// ControlDecoration openCloseDeco;
|
232 |
|
|
233 |
|
public OpenCloseButton(TXMEditorToolBar toolbar, String groupTitle, String iconFilePath) {
|
234 |
|
|
235 |
|
// sep = new ToolItem(toolbar, SWT.SEPARATOR);
|
|
231 |
// ControlDecoration openCloseDeco;
|
|
232 |
protected Image openIcon;
|
|
233 |
protected Image closeIcon;
|
|
234 |
|
|
235 |
public OpenCloseButton(TXMEditorToolBar toolbar, String groupTitle, String openIconFilePath, String closeIconFilePath) {
|
|
236 |
|
|
237 |
// sep = new ToolItem(toolbar, SWT.SEPARATOR);
|
236 |
238 |
showParameters = new ToolItem(toolbar, SWT.CHECK);
|
237 |
|
if (iconFilePath != null) {
|
238 |
|
showParameters.setImage(IImageKeys.getImage(iconFilePath));
|
|
239 |
if (openIconFilePath != null) {
|
|
240 |
openIcon = IImageKeys.getImage(openIconFilePath);
|
|
241 |
showParameters.setImage(openIcon);
|
239 |
242 |
showParameters.setToolTipText(groupTitle);
|
|
243 |
if (closeIconFilePath != null) {
|
|
244 |
closeIcon = IImageKeys.getImage(closeIconFilePath);
|
|
245 |
}
|
240 |
246 |
} else {
|
241 |
247 |
showParameters.setText(groupTitle);
|
242 |
248 |
}
|
243 |
|
|
244 |
|
|
245 |
|
|
246 |
|
// showParameters.pack();
|
247 |
|
// sep.setWidth (showParameters.getSize ().x);
|
248 |
|
// sep.setControl (showParameters);
|
249 |
|
|
250 |
|
// openCloseDeco = new ControlDecoration(showParameters, SWT.RIGHT);
|
251 |
|
// openCloseDeco.setImage(IImageKeys.getImage(IImageKeys.CLOSE_DECORATOR));
|
|
249 |
|
|
250 |
|
|
251 |
|
|
252 |
// showParameters.pack();
|
|
253 |
// sep.setWidth (showParameters.getSize ().x);
|
|
254 |
// sep.setControl (showParameters);
|
|
255 |
|
|
256 |
// openCloseDeco = new ControlDecoration(showParameters, SWT.RIGHT);
|
|
257 |
// openCloseDeco.setImage(IImageKeys.getImage(IImageKeys.CLOSE_DECORATOR));
|
252 |
258 |
}
|
253 |
259 |
|
254 |
260 |
public void setSelection(boolean visible) {
|
255 |
261 |
showParameters.setSelection(visible);
|
256 |
|
// if (visible) {
|
257 |
|
// openCloseDeco.setImage(IImageKeys.getImage(IImageKeys.CLOSE_DECORATOR));
|
258 |
|
// } else {
|
259 |
|
// openCloseDeco.setImage(IImageKeys.getImage(IImageKeys.OPEN_DECORATOR));
|
260 |
|
// }
|
|
262 |
if (closeIcon != null) {
|
|
263 |
if (visible) {
|
|
264 |
showParameters.setImage(closeIcon);
|
|
265 |
} else {
|
|
266 |
showParameters.setImage(openIcon);
|
|
267 |
}
|
|
268 |
}
|
261 |
269 |
}
|
262 |
270 |
|
263 |
271 |
public void addSelectionListener(SelectionListener selectionListener) {
|