Package com.iizigo.server
Class ServerConfigComposite
- java.lang.Object
- org.eclipse.swt.widgets.Widget
- org.eclipse.swt.widgets.Control
- org.eclipse.swt.widgets.Scrollable
- org.eclipse.swt.widgets.Composite
- com.iizigo.server.ServerConfigComposite
- All Implemented Interfaces:
IDraggingFix,IPropertyEditorController,IServerConfigFileListener,EventListener,IPropUndoRedo,org.eclipse.jface.viewers.ISelectionChangedListener,org.eclipse.swt.graphics.Drawable
public class ServerConfigComposite extends org.eclipse.swt.widgets.Composite implements IPropUndoRedo, org.eclipse.jface.viewers.ISelectionChangedListener, IDraggingFix, IPropertyEditorController, IServerConfigFileListener, EventListener
The Server Configuration composite displays a tree with the server configuration and a property editor for the properties.- Author:
- Christopher Mindus
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classServerConfigComposite.DragSourceDelegatorClass used to delegate DragSource events to the listener, making it possible to know when drag-drop is in effect.
Constructor Summary
Constructors Constructor Description ServerConfigComposite(org.eclipse.ui.IWorkbenchPart part, org.eclipse.swt.widgets.Composite parent, org.eclipse.ui.IMemento restoreMemento, java.lang.Runnable saveChangedCallback)Creates the Server configuration composite.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddErrorComposite(org.eclipse.swt.widgets.Composite errorComposite)Adds an error composite for presentation of the errors.voidcreateControls()Creates the view part.voiddispose()Disposes of this composite.voiddoSave(org.eclipse.core.runtime.IProgressMonitor monitor)Saves the contents if required.ModuleModelgetModuleModel()Gets the ModuleModel instance of the project.MultiSelectionProvidergetMultiSelectionProvider()Gets the multi-property selection provider.SelectionEnablergetSelectionEnabler()Gets the selection enabler instance.ServerConfigFilegetServerConfigFile()Gets the Server Configuration file instance.EditorServerSettingsgetSettings()Gets the settings.java.lang.ObjectgetTargetViewer()Gets the structured viewer (common, tree or table) used for the property operation (add, delete, etc).java.lang.ObjectgetUndoContext()Gets the undo context.IPropUndoRedogetUndoRedo()Gets the undo/redo instance.booleanisDirty()Gets the dirty state.booleanisDragging()Flag for dragging to postpone selection events until drag completes.protected voidonDragBegin()Drag started.protected voidonDragEnd()Drag finished.voidonEvent(GEvent event)Called to process an event.voidonServerConfigFileUpdated(ServerConfigFile serverConfigFile)Called when a change has been made somehow and/or the property tree has been verified for errors.voidremovePropertyValue(GProp<?> property)Removes a property when undefined in the editors.voidsaveState(org.eclipse.ui.IMemento memento)Saves the state.voidselectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)Notifies that the selection has changed.voidsetBlockViewerFocus(boolean block)Blocks the target viewer from focus.voidsetPropertyAttrFlag(GProp<?> property, int attr, boolean flag)Sets a property attribute flag.voidsetPropertyError(GProp<?> property, java.lang.String errorID, IPropErrorItem item)Sets a property error.voidsetPropertyValue(PropCnr parent, GProp<?> property, java.lang.Object value)Sets a property value.voidsetServerConfigFile(ServerConfigFile config, java.lang.Exception loadException)Sets or clears the Server configuration file to edit.voidsetTargetViewer(java.lang.Object viewer)Sets the structured viewer (common, tree or table) used for the property operation (add, delete, etc).voidupdateStates()Updates the states of menu items and tool bars.Methods inherited from class org.eclipse.swt.widgets.Composite
changed, checkSubclass, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList, toString
Methods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar
Methods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.iizigo.prop.IPropertyEditorController
isDisposed
Methods inherited from interface com.iizix.prop.IPropUndoRedo
getShell
Constructor Detail
ServerConfigComposite
public ServerConfigComposite(org.eclipse.ui.IWorkbenchPart part, org.eclipse.swt.widgets.Composite parent, org.eclipse.ui.IMemento restoreMemento, java.lang.Runnable saveChangedCallback)Creates the Server configuration composite.- Parameters:
part- The workbench part, or null for none.parent- The parent composite.restoreMemento- The restore memento, or null for none.saveChangedCallback- Callback when dirty changed and save is required.
Method Detail
dispose
public void dispose()
Disposes of this composite.- Overrides:
disposein classorg.eclipse.swt.widgets.Widget
getServerConfigFile
public ServerConfigFile getServerConfigFile()
Gets the Server Configuration file instance.- Returns:
- The current configuration file, or null for none.
getSettings
public EditorServerSettings getSettings()
Gets the settings.- Returns:
- The current Server settings, or null for none.
setServerConfigFile
public void setServerConfigFile(ServerConfigFile config, java.lang.Exception loadException)
Sets or clears the Server configuration file to edit.- Parameters:
config- The configuration, or null for none (loadExceptionmay indicate the error).loadException- The load exception that occurred, null whenconfigis non-null.
onServerConfigFileUpdated
public void onServerConfigFileUpdated(ServerConfigFile serverConfigFile)
Called when a change has been made somehow and/or the property tree has been verified for errors.- Specified by:
onServerConfigFileUpdatedin interfaceIServerConfigFileListener- Parameters:
serverConfigFile- The configuration file that was updated, changed or verified.
isDirty
public boolean isDirty()
Gets the dirty state.- Returns:
- true if file needs saving, false if not dirty.
saveState
public void saveState(org.eclipse.ui.IMemento memento)
Saves the state.
createControls
public void createControls()
Creates the view part.
updateStates
public void updateStates()
Updates the states of menu items and tool bars.- Specified by:
updateStatesin interfaceIPropUndoRedo
selectionChanged
public void selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
Notifies that the selection has changed.- Specified by:
selectionChangedin interfaceorg.eclipse.jface.viewers.ISelectionChangedListener- Parameters:
event- event object describing the change
getSelectionEnabler
public SelectionEnabler getSelectionEnabler()
Gets the selection enabler instance.
getUndoContext
public java.lang.Object getUndoContext()
Gets the undo context.- Specified by:
getUndoContextin interfaceIPropertyEditorController- Specified by:
getUndoContextin interfaceIPropUndoRedo- Returns:
- An object castable to org.eclipse.core.commands.operations.IUndoContext.
setTargetViewer
public void setTargetViewer(java.lang.Object viewer)
Sets the structured viewer (common, tree or table) used for the property operation (add, delete, etc).- Specified by:
setTargetViewerin interfaceIPropUndoRedo- Parameters:
viewer- The CommonViewer, TreeViewer or TableViewer, or null for none.
getUndoRedo
public IPropUndoRedo getUndoRedo()
Gets the undo/redo instance.- Specified by:
getUndoRedoin interfaceIPropertyEditorController
onDragBegin
protected void onDragBegin()
Drag started.
onDragEnd
protected void onDragEnd()
Drag finished.
isDragging
public boolean isDragging()
Flag for dragging to postpone selection events until drag completes.- Specified by:
isDraggingin interfaceIDraggingFix
getModuleModel
public ModuleModel getModuleModel()
Gets the ModuleModel instance of the project.- Specified by:
getModuleModelin interfaceIPropertyEditorController
getMultiSelectionProvider
public MultiSelectionProvider getMultiSelectionProvider()
Gets the multi-property selection provider.- Specified by:
getMultiSelectionProviderin interfaceIPropertyEditorController
getTargetViewer
public java.lang.Object getTargetViewer()
Gets the structured viewer (common, tree or table) used for the property operation (add, delete, etc).- Specified by:
getTargetViewerin interfaceIPropUndoRedo- Returns:
- The CommonViewer, TreeViewer or TableViewer, or null for none.
setBlockViewerFocus
public void setBlockViewerFocus(boolean block)
Blocks the target viewer from focus.- Specified by:
setBlockViewerFocusin interfaceIPropertyEditorController
setPropertyError
public void setPropertyError(GProp<?> property, java.lang.String errorID, IPropErrorItem item)
Sets a property error. The undo/redo functionality will wrap an undo/redo action for this function.- Specified by:
setPropertyErrorin interfaceIPropertyEditorController
removePropertyValue
public void removePropertyValue(GProp<?> property)
Removes a property when undefined in the editors. The undo/redo functionality will wrap an undo/redo action for this function.- Specified by:
removePropertyValuein interfaceIPropertyEditorController
setPropertyAttrFlag
public void setPropertyAttrFlag(GProp<?> property, int attr, boolean flag)
Sets a property attribute flag. The undo/redo functionality will wrap an undo/redo action for this function.- Specified by:
setPropertyAttrFlagin interfaceIPropertyEditorController
setPropertyValue
public void setPropertyValue(PropCnr parent, GProp<?> property, java.lang.Object value)
Sets a property value. The undo/redo functionality will wrap an undo/redo action for this function. This method handles setting a property value that is extended in the parent and the new property is to replace it in the parent.- Specified by:
setPropertyValuein interfaceIPropertyEditorController
doSave
public void doSave(org.eclipse.core.runtime.IProgressMonitor monitor)
Saves the contents if required.- Parameters:
monitor- the progress monitor
addErrorComposite
public void addErrorComposite(org.eclipse.swt.widgets.Composite errorComposite)
Adds an error composite for presentation of the errors. The layout is added to the composite. It is also assumed that the error composite has the GridData layout data.
onEvent
public void onEvent(GEvent event)
Called to process an event.- Specified by:
onEventin interfaceEventListener- Parameters:
event- The event.