Project

General

Profile

« Previous | Next » 

Revision 0409a9a0

Added by Patrick Plitzner almost 9 years ago

Refresh view after media view has been switched

View differences:

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