/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
-*
+*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
* @version 1.0
*/
public class ImageResources {
-
+
private static ImageResources instance;
-
+
/**
* <p>Getter for the field <code>instance</code>.</p>
*
}
return instance;
}
-
-
+
+
/* ***************************************************************************************
ICONS
************************************************************************************** */
public static final String IMG_NOT_FOUND = "IMG_NOT_FOUND";
/** Constant <code>WARNING_ANNOTATION_ICON="warning"</code> */
public static final String WARNING_ANNOTATION_ICON = "warning";
+
+ /** Constant <code>LOCK_ICON="locked"</code> */
+ public static final String LOCK_ICON = "lock";
+
+ /** Constant <code>LOCK_OPEN_ICON="lock_open"</code> */
+ public static final String LOCK_OPEN_ICON = "lock_open";
+
/** Constant <code>THREE_PRONGED_EQUAL="3_pronged_equal"</code> */
public static final String THREE_PRONGED_EQUAL = "3_pronged_equal";
/** Constant <code>TWO_PRONGED_EQUAL="2_pronged_equal"</code> */
public static final String EXPAND_ALL = "expand_all";
/** Constant <code>COLLAPSE_ALL="collapse_all"</code> */
public static final String COLLAPSE_ALL = "collapse_all";
-
-
+
+
/***************************************************************************
* IMAGE REGISTRY
**************************************************************************/
private ImageRegistry imageRegistry;
-
+
/**
* <p>getImageDescriptor</p>
*
public static Image getImage(String key) {
return getInstance().getImageRegistry().get(key);
}
-
+
/**
* Gets an image for the given URL. Adds the image to the registry as needed.
*
* @param uri a {@link java.net.URI} object.
* @return a {@link org.eclipse.swt.graphics.Image} object.
*/
- public static Image getImage(URI uri) {
-
+ public static Image getImage(URI uri) {
+
String key = uri.toString();
ImageRegistry registry = getInstance().getImageRegistry();
Image image = registry.get(key);
-
+
if (image == null) {
ImageDescriptor desc;
try {
} catch (Exception e) {
StoreUtil.error(ImageResources.class, e);
}
-
+
// logger.warn(ImageDescriptor.getMissingImageDescriptor().getClass());
// logger.warn(desc.getClass());
-//
+//
// if (ImageDescriptor.getMissingImageDescriptor().equals(desc)) {
// logger.warn("img not found");
// }
-
+
}
-
+
return image;
}
-
+
/**
* <p>getImageNotFound</p>
*
* @param registry a {@link org.eclipse.jface.resource.ImageRegistry} object.
*/
protected void initializeImageRegistry(ImageRegistry registry) {
- registerImage(registry, ADD_ICON,
+ registerImage(registry, ADD_ICON,
"add_no_bg.gif");
- registerImage(registry, TRASH_ICON,
+ registerImage(registry, TRASH_ICON,
"trash.gif");
- registerImage(registry, EDIT_ICON,
+ registerImage(registry, EDIT_ICON,
"text.gif");
- registerImage(registry, EDIT_LOGO_ICON,
+ registerImage(registry, EDIT_LOGO_ICON,
"edit_16x16.ico");
registerImage(registry, WARNING_ICON,
"warn_tsk.gif");
"homosyn_original_no_bg.gif");
registerImage(registry, HETEROTYPIC_SYN_ICON,
"heterosyn_no_bg.gif");
- registerImage(registry, NOM_INVAL_NUD_SYN_ICON,
+ registerImage(registry, NOM_INVAL_NUD_SYN_ICON,
"nominval_nud_no_bg.gif");
registerImage(registry, HETEROTYPIC_SYN_ORIGINAL_ICON,
"heterosyn_original_no_bg.gif");
- registerImage(registry, HOMOTYPIC_SYNONYM_IN_HETEROTYPIC_GROUP_ICON,
+ registerImage(registry, HOMOTYPIC_SYNONYM_IN_HETEROTYPIC_GROUP_ICON,
"homotypic_syn_hetero_group.gif");
registerImage(registry, MISAPPLIED_NAME_ICON,
"misapplied_no_bg.gif");
"basionym_no_bg.gif");
registerImage(registry, ORTHOGRAPHIC_VARIANT_ICON,
"orthovariant_no_bg.gif");
- registerImage(registry, DB_ICON,
+ registerImage(registry, DB_ICON,
"db.gif");
registerImage(registry, MOVE_ICON,
"correction_change.gif");
"delete_edit.gif");
registerImage(registry, SYNONYM_TO_TAXON_ICON,
"change.gif");
- registerImage(registry, OPEN_TAXON_ICON,
+ registerImage(registry, OPEN_TAXON_ICON,
"open.gif");
registerImage(registry, ADD_CHILD_TAXON_ICON,
"new_child.gif");
"error_co.gif");
registerImage(registry, EDIT_BITMAP_ICON,
"256color_16x16.bmp");
- registerImage(registry, IMG_DATASOURCE_CONNECTED,
+ registerImage(registry, IMG_DATASOURCE_CONNECTED,
"prj_obj.gif");
- registerImage(registry, IMG_DATASOURCE_DISCONNECTED,
+ registerImage(registry, IMG_DATASOURCE_DISCONNECTED,
"cprj_obj.gif");
- registerImage(registry, IMG_NOT_FOUND,
+ registerImage(registry, IMG_NOT_FOUND,
"pic_not_found.PNG");
- registerImage(registry, WARNING_ANNOTATION_ICON,
+ registerImage(registry, WARNING_ANNOTATION_ICON,
"warning_co.gif");
- registerImage(registry, THREE_PRONGED_EQUAL,
+ registerImage(registry, THREE_PRONGED_EQUAL,
"3_pronged_equal_small.GIF");
- registerImage(registry, TWO_PRONGED_EQUAL,
- "2_pronged_equal_small.GIF");
- registerImage(registry, MISAPPLIED_NAME,
- "ma_12x12.gif");
- registerImage(registry, ORPHANED_TAXON,
- "orphaned.gif");
- registerImage(registry, EXPAND_ALL,
+ registerImage(registry, TWO_PRONGED_EQUAL,
+ "2_pronged_equal_small.GIF");
+ registerImage(registry, MISAPPLIED_NAME,
+ "ma_12x12.gif");
+ registerImage(registry, ORPHANED_TAXON,
+ "orphaned.gif");
+ registerImage(registry, EXPAND_ALL,
"expandAll.jpg");
- registerImage(registry, COLLAPSE_ALL,
+ registerImage(registry, COLLAPSE_ALL,
"collapseall.gif");
- registerImage(registry, BROWSE_ICON,
+ registerImage(registry, BROWSE_ICON,
"prj_obj.gif");
+ registerImage(registry, LOCK_ICON,
+ "lock.png");
+ registerImage(registry, LOCK_OPEN_ICON,
+ "lock_open.png");
}
private void registerImage(ImageRegistry registry, String key,
// $Id$
/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
-*
+*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
+import eu.etaxonomy.taxeditor.model.ImageResources;
import eu.etaxonomy.taxeditor.preference.Resources;
import eu.etaxonomy.taxeditor.store.StoreUtil;
*/
public class ToggleableTextElement extends AbstractCdmFormElement implements SelectionListener, ModifyListener, IEnableableFormElement, ISelectable {
- private Text text_cache;
- private Button button_toggle;
-
+ private final Text text_cache;
+ private final Button button_toggle;
+
private boolean state;
- private Set<SelectionListener> selectionListener = new HashSet<SelectionListener>();
- private Label label;
- private Composite container;
-
+ private final Set<SelectionListener> selectionListener = new HashSet<SelectionListener>();
+ private final Label label;
+ private final Composite container;
+
/**
* <p>Constructor for ToggleableTextElement.</p>
*
protected ToggleableTextElement(CdmFormFactory formFactory, ICdmFormElement parentElement,
String labelString, String initialText, boolean initialState, int style) {
super(formFactory, parentElement);
-
+
label = formFactory.createLabel(getLayoutComposite(), labelString, style);
addControl(label);
-
- container = formFactory.createComposite(getLayoutComposite(), SWT.WRAP);
+
+ container = formFactory.createComposite(getLayoutComposite(), SWT.WRAP);
container.setLayout(LayoutConstants.LAYOUT(2, false));
container.setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
addControl(container);
-
+
text_cache = formFactory.createText(container, initialText, SWT.WRAP | SWT.MULTI);
addControl(text_cache);
text_cache.addModifyListener(this);
text_cache.addKeyListener( new KeyAdapter(){
@Override
public void keyPressed(KeyEvent e) {
- if(e.character == SWT.CR)
- e.doit = false;
+ if(e.character == SWT.CR) {
+ e.doit = false;
+ }
}
});
-
+
button_toggle = formFactory.createButton(container, "Edit", SWT.TOGGLE);
+ button_toggle.setText("");
+ button_toggle.setImage(ImageResources.getImage(ImageResources.LOCK_ICON));
addControl(button_toggle);
button_toggle.addSelectionListener(this);
-
+
setState(initialState);
}
if(text != null){
// store current caret position
int caretPosition = text_cache.getCaretPosition();
-
+
text_cache.removeModifyListener(this);
text_cache.setText(text);
text_cache.addModifyListener(this);
public String getText(){
return text_cache.getText();
}
-
+
/**
* <p>Setter for the field <code>state</code>.</p>
*
this.state = state;
setEnabled(state);
}
-
+
/** {@inheritDoc} */
- public void setEnabled(boolean enabled) {
+ @Override
+ public void setEnabled(boolean enabled) {
text_cache.setEnabled(enabled);
String symbolicName = enabled ? Resources.COLOR_FONT_DEFAULT : Resources.COLOR_TEXT_DISABLED;
text_cache.setForeground(StoreUtil.getColor(symbolicName));
public boolean getState(){
return state;
}
-
+
/* (non-Javadoc)
* @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
*/
/** {@inheritDoc} */
- public void widgetSelected(SelectionEvent e) {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ if(button_toggle.getSelection()){
+ button_toggle.setImage(ImageResources.getImage(ImageResources.LOCK_OPEN_ICON));
+ }
+ else{
+ button_toggle.setImage(ImageResources.getImage(ImageResources.LOCK_ICON));
+ }
setState(button_toggle.getSelection());
for(SelectionListener listener : selectionListener){
listener.widgetSelected(e);
}
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
}
-
+
/**
* <p>addSelectionListener</p>
*
public void addSelectionListener(SelectionListener listener){
selectionListener.add(listener);
}
-
+
/**
* <p>removeSelectionListener</p>
*
public void removeSelectionListener(SelectionListener listener){
selectionListener.remove(listener);
}
-
+
/** {@inheritDoc} */
- public void widgetDefaultSelected(SelectionEvent e) {}
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {}
/** {@inheritDoc} */
- public void modifyText(ModifyEvent e) {
+ @Override
+ public void modifyText(ModifyEvent e) {
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
}
/** {@inheritDoc} */
- public void setIrrelevant(boolean irrelevant) {
+ @Override
+ public void setIrrelevant(boolean irrelevant) {
String colorId = irrelevant ? Resources.COLOR_COMPOSITE_IRRELEVANT : Resources.COLOR_COMPOSITE_BACKGROUND;
-
+
Color color = getColor(colorId);
text_cache.setBackground(color);
}
-
+
/** {@inheritDoc} */
@Override
public void setBackground(Color color) {
label.setBackground(color);
container.setBackground(color);
}
-
+
@Override
public void setSelected(boolean selected) {
setBackground(selected ? SELECTED : getPersistentBackground());