Revision 0409a9a0
Added by Patrick Plitzner almost 9 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmFormElement.java | ||
---|---|---|
14 | 14 |
import org.eclipse.swt.graphics.Color; |
15 | 15 |
import org.eclipse.swt.widgets.Composite; |
16 | 16 |
import org.eclipse.swt.widgets.Control; |
17 |
import org.eclipse.ui.forms.widgets.ScrolledForm; |
|
17 | 18 |
import org.eclipse.ui.forms.widgets.Section; |
18 | 19 |
|
19 | 20 |
import eu.etaxonomy.taxeditor.model.AbstractUtility; |
20 | 21 |
import eu.etaxonomy.taxeditor.model.MessagingUtils; |
21 | 22 |
|
22 | 23 |
/** |
23 |
* <p>Abstract AbstractCdmFormElement class.</p> |
|
24 |
* |
|
25 | 24 |
* @author n.hoffmann |
26 | 25 |
* @version $Id: $ |
27 | 26 |
*/ |
... | ... | |
41 | 40 |
private Color persistentBackgroundColor; |
42 | 41 |
|
43 | 42 |
|
44 |
/** |
|
45 |
* <p>Constructor for AbstractCdmFormElement.</p> |
|
46 |
* |
|
47 |
* @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object. |
|
48 |
* @param layoutComposite a {@link org.eclipse.swt.widgets.Composite} object. |
|
49 |
*/ |
|
50 | 43 |
protected AbstractCdmFormElement(CdmFormFactory formFactory, Composite layoutComposite){ |
51 | 44 |
this.layoutComposite = layoutComposite; |
52 | 45 |
this.formFactory = formFactory; |
53 | 46 |
} |
54 | 47 |
|
55 |
/** |
|
56 |
* <p>Constructor for AbstractCdmFormElement.</p> |
|
57 |
* |
|
58 |
* @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object. |
|
59 |
* @param formElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object. |
|
60 |
*/ |
|
61 | 48 |
public AbstractCdmFormElement(CdmFormFactory formFactory, ICdmFormElement formElement) { |
62 | 49 |
this(formFactory, formElement.getLayoutComposite()); |
63 | 50 |
this.parentElement = formElement; |
... | ... | |
95 | 82 |
controls.add(child); |
96 | 83 |
} |
97 | 84 |
|
98 |
/** |
|
99 |
* <p>removeControl</p> |
|
100 |
* |
|
101 |
* @param child a {@link org.eclipse.swt.widgets.Control} object. |
|
102 |
*/ |
|
103 | 85 |
protected void removeControl(Control child){ |
104 | 86 |
controls.remove(child); |
105 | 87 |
} |
... | ... | |
130 | 112 |
elements.add(element); |
131 | 113 |
} |
132 | 114 |
|
133 |
/** |
|
134 |
* <p>removeElement</p> |
|
135 |
* |
|
136 |
* @param element a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object. |
|
137 |
*/ |
|
138 | 115 |
protected void removeElement(ICdmFormElement element){ |
139 | 116 |
elements.remove(element); |
140 | 117 |
} |
... | ... | |
231 | 208 |
this.layoutComposite = layoutComposite; |
232 | 209 |
} |
233 | 210 |
|
234 |
/* (non-Javadoc) |
|
235 |
* @see eu.etaxonomy.taxeditor.forms.ICdmFormComposite#getPropertyChangeListeners() |
|
236 |
*/ |
|
237 | 211 |
/** |
238 | 212 |
* <p>Getter for the field <code>propertyChangeListeners</code>.</p> |
239 | 213 |
* |
... | ... | |
244 | 218 |
return propertyChangeListeners; |
245 | 219 |
} |
246 | 220 |
|
247 |
/* (non-Javadoc) |
|
248 |
* @see eu.etaxonomy.taxeditor.forms.ICdmFormComposite#setPropertyChangeListeners(org.eclipse.core.runtime.ListenerList) |
|
249 |
*/ |
|
250 | 221 |
/** {@inheritDoc} */ |
251 | 222 |
@Override |
252 | 223 |
public void setPropertyChangeListeners(List<IPropertyChangeListener> propertyChangeListeners){ |
... | ... | |
323 | 294 |
} |
324 | 295 |
} |
325 | 296 |
|
326 |
/* |
|
327 |
* (non-Javadoc) |
|
328 |
* @see eu.etaxonomy.taxeditor.forms.ICdmFormElement#refresh() |
|
329 |
*/ |
|
330 |
/** |
|
331 |
* <p>refresh</p> |
|
332 |
*/ |
|
297 |
protected void reflowParentScrolledForm(boolean flushCashes){ |
|
298 |
ScrolledForm scrolledForm = null; |
|
299 |
Composite parent = getLayoutComposite().getParent(); |
|
300 |
while(parent!=null && !(parent instanceof ScrolledForm)){ |
|
301 |
parent = parent.getParent(); |
|
302 |
} |
|
303 |
scrolledForm = (ScrolledForm)parent; |
|
304 |
if(scrolledForm!=null){ |
|
305 |
scrolledForm.reflow(flushCashes); |
|
306 |
} |
|
307 |
} |
|
308 |
|
|
333 | 309 |
@Override |
334 | 310 |
public void refresh() { |
335 | 311 |
// empty default implementation |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailElement.java | ||
---|---|---|
21 | 21 |
import org.eclipse.swt.events.DisposeEvent; |
22 | 22 |
import org.eclipse.swt.events.DisposeListener; |
23 | 23 |
import org.eclipse.swt.widgets.Composite; |
24 |
import org.eclipse.ui.forms.widgets.ScrolledForm; |
|
25 | 24 |
|
26 | 25 |
import eu.etaxonomy.cdm.api.conversation.ConversationHolder; |
27 | 26 |
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; |
... | ... | |
40 | 39 |
import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement; |
41 | 40 |
|
42 | 41 |
/** |
43 |
* <p> |
|
44 |
* Abstract AbstractCdmDetailElement class. |
|
45 |
* </p> |
|
46 | 42 |
* |
47 | 43 |
* @author n.hoffmann |
48 | 44 |
* @created Feb 26, 2010 |
... | ... | |
58 | 54 |
|
59 | 55 |
private EnumSet<CRUD> requiredCrud = null; |
60 | 56 |
|
61 |
/** |
|
62 |
* <p> |
|
63 |
* Constructor for AbstractCdmDetailElement. |
|
64 |
* </p> |
|
65 |
* |
|
66 |
* @param formFactory |
|
67 |
* a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} |
|
68 |
* object. |
|
69 |
* @param formElement |
|
70 |
* a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} |
|
71 |
* object. |
|
72 |
* @param <T> |
|
73 |
* a T object. |
|
74 |
*/ |
|
75 | 57 |
public AbstractCdmDetailElement(CdmFormFactory formFactory, |
76 | 58 |
ICdmFormElement formElement) { |
77 | 59 |
super(formFactory, formElement); |
... | ... | |
107 | 89 |
updateContent(); |
108 | 90 |
} |
109 | 91 |
|
110 |
/** |
|
111 |
* <p> |
|
112 |
* Getter for the field <code>entity</code>. |
|
113 |
* </p> |
|
114 |
* |
|
115 |
* @return a T object. |
|
116 |
*/ |
|
117 | 92 |
@Override |
118 | 93 |
public T getEntity() { |
119 | 94 |
return entity; |
... | ... | |
130 | 105 |
updateControlStates(); |
131 | 106 |
} |
132 | 107 |
|
133 |
protected void reflowParentScrolledForm(boolean flushCashes){ |
|
134 |
ScrolledForm scrolledForm = null; |
|
135 |
Composite parent = getLayoutComposite().getParent(); |
|
136 |
while(parent!=null && !(parent instanceof ScrolledForm)){ |
|
137 |
parent = parent.getParent(); |
|
138 |
} |
|
139 |
scrolledForm = (ScrolledForm)parent; |
|
140 |
if(scrolledForm!=null){ |
|
141 |
scrolledForm.reflow(flushCashes); |
|
142 |
} |
|
143 |
} |
|
144 |
|
|
145 |
/** {@inheritDoc} */ |
|
146 |
@Override |
|
108 |
@Override |
|
147 | 109 |
public void setSelected(boolean selected) { |
148 | 110 |
Composite section = getLayoutComposite().getParent(); |
149 | 111 |
section.setBackground(selected ? SELECTED : getPersistentBackground()); |
... | ... | |
294 | 256 |
*/ |
295 | 257 |
public abstract void handleEvent(Object eventSource); |
296 | 258 |
|
297 |
/** |
|
298 |
* <p> |
|
299 |
* handleException |
|
300 |
* </p> |
|
301 |
* |
|
302 |
* @param event |
|
303 |
* a |
|
304 |
* {@link eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent} |
|
305 |
* object. |
|
306 |
*/ |
|
307 | 259 |
public void handleException(CdmPropertyChangeEvent event) { |
308 | 260 |
// override this in subclasses if you want to deal with the error |
309 | 261 |
MessagingUtils.error(event.getSource().getClass(), event.getException()); |
310 | 262 |
} |
311 | 263 |
|
312 |
/** |
|
313 |
* <p> |
|
314 |
* isIrrelevant |
|
315 |
* </p> |
|
316 |
* |
|
317 |
* @return a boolean. |
|
318 |
*/ |
|
319 | 264 |
public boolean isIrrelevant() { |
320 | 265 |
return irrelevant; |
321 | 266 |
} |
322 | 267 |
|
323 |
/** |
|
324 |
* <p> |
|
325 |
* getConversationHolder |
|
326 |
* </p> |
|
327 |
* |
|
328 |
* @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} |
|
329 |
* object. |
|
330 |
*/ |
|
331 | 268 |
@Override |
332 | 269 |
public ConversationHolder getConversationHolder() { |
333 | 270 |
if (getParentElement() instanceof IConversationEnabled) { |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaDetailElement.java | ||
---|---|---|
76 | 76 |
public void toggleAdvancedMediaView(){ |
77 | 77 |
isAdvancedMediaView = !isAdvancedMediaView; |
78 | 78 |
showAdvancedView(); |
79 |
reflowParentScrolledForm(true); |
|
79 | 80 |
} |
80 | 81 |
|
81 | 82 |
private void showAdvancedView() { |
Also available in: Unified diff
Refresh view after media view has been switched