58450c7990fabeb68b9e43c60841d00b64d4186e
[taxeditor.git] / taxeditor-editor / src / main / java / eu / etaxonomy / taxeditor / editor / images / TaxonHasNoImagesComposite.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10
11 package eu.etaxonomy.taxeditor.editor.images;
12
13 import org.apache.log4j.Logger;
14 import org.eclipse.swt.SWT;
15 import org.eclipse.swt.events.MouseAdapter;
16 import org.eclipse.swt.events.MouseEvent;
17 import org.eclipse.swt.graphics.Color;
18 import org.eclipse.swt.graphics.Font;
19 import org.eclipse.swt.widgets.Event;
20 import org.eclipse.ui.handlers.IHandlerService;
21 import org.eclipse.ui.views.properties.IPropertySource;
22
23 import eu.etaxonomy.taxeditor.editor.GroupComposite;
24 import eu.etaxonomy.taxeditor.editor.GroupedComposite;
25 import eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin;
26 import eu.etaxonomy.taxeditor.editor.name.NameComposite;
27 import eu.etaxonomy.taxeditor.editor.name.NameViewer;
28
29 /**
30 * @author p.ciardelli
31 * @created 31.03.2009
32 * @version 1.0
33 */
34 public class TaxonHasNoImagesComposite extends GroupedComposite {
35 private static final Logger logger = Logger
36 .getLogger(TaxonHasNoImagesComposite.class);
37
38 /**
39 * @param groupComposite
40 * @param form
41 * @param taxon
42 */
43 public TaxonHasNoImagesComposite(TaxonImageEditor editor, GroupComposite parent) {
44 super(editor, parent);
45
46 createTextViewer();
47 setIsDraggable(false);
48 // setIcon(ACCEPTED_ICON);
49 setFont(getViewerFont());
50 // setIndent(ACCEPTED_INDENT);
51
52 initEmptyText();
53 }
54
55 protected void createControl() {
56 super.createControl();
57
58 Color groupBackgroundColor = getDisplay().getSystemColor(SWT.COLOR_WHITE);
59 setBackground(groupBackgroundColor);
60 }
61
62 protected void initEmptyText() {
63 super.initEmptyText();
64
65 getTextViewer().getTextWidget().setEditable(false);
66 getTextViewer().getTextWidget().addMouseListener(new MouseAdapter() {
67 public void mouseUp(MouseEvent e) {
68 createNewImage();
69 }
70 });
71
72 if (getTextViewer() instanceof NameViewer) {
73 Color groupBackgroundColor = getDisplay().getSystemColor(SWT.COLOR_WHITE);
74 ((NameViewer) getTextViewer()).setBackground(groupBackgroundColor);
75 }
76 }
77
78 protected String getEmptyTextPrompt() {
79 return "Click to add an image";
80 }
81
82 /**
83 *
84 */
85 private void createNewImage() {
86 IHandlerService handlerService = (IHandlerService) TaxeditorEditorPlugin.getDefault().getWorkbench().getService(IHandlerService.class);
87
88 String commandId = "eu.etaxonomy.taxeditor.editor.name.createImage";
89 Event event = new Event();
90 try {
91 handlerService.executeCommand(commandId, event);
92 } catch (Exception e) {
93 logger.error("Error executing CreateImageHandler", e);
94 }
95 }
96
97
98 /* (non-Javadoc)
99 * @see eu.etaxonomy.taxeditor.editor.GroupedComposite#getViewerFont()
100 */
101 @Override
102 protected Font getViewerFont() {
103 return NameComposite.ACCEPTED_FONT;
104 }
105
106 /* (non-Javadoc)
107 * @see eu.etaxonomy.taxeditor.editor.IHasPropertySource#getPropertySource()
108 */
109 public IPropertySource getPropertySource() {
110 return null;
111 }
112 }