de.cau.cs.kieler.sim.kiem.ui.views
Class KiemView

java.lang.Object
  extended by org.eclipse.core.commands.common.EventManager
      extended by org.eclipse.ui.part.WorkbenchPart
          extended by org.eclipse.ui.part.ViewPart
              extended by de.cau.cs.kieler.sim.kiem.ui.views.KiemView
All Implemented Interfaces:
IAdaptable, IExecutableExtension, IPersistable, ISaveablePart, ISaveablePart2, IViewPart, IWorkbenchPart, IWorkbenchPart2, IWorkbenchPart3, IWorkbenchPartOrientation

public class KiemView
extends ViewPart
implements ISaveablePart2

The Class KiemView is only instantiated once when the view part is registered in the Eclipse IDE. It holds the DataComponent table list view and buttons to control the execution.

Rating proposed yellow
(2009-01-15)

Field Summary
static int[] COLUMN_BOUNDS
          The Constant columnBounds - properties visible.
static int[] COLUMN_BOUNDS_COLLAPSED
          The Constant columnBoundsCollapsed - no properties visible.
static String[] COLUMN_TITLES
          The Constant columnTitles - properties visible.
static String[] COLUMN_TITLES_COLLAPSED
          The Constant columnTitlesCollapsed - properties not visible.
static String[] COLUMN_TOOLTIP
          The Constant columnToolTip - properties visible.
static String[] COLUMN_TOOLTIP_COLLAPSED
          The Constant columnToolTipCollapsed - properties not visible.
 
Fields inherited from interface org.eclipse.ui.ISaveablePart2
CANCEL, DEFAULT, NO, YES
 
Fields inherited from interface org.eclipse.ui.ISaveablePart
PROP_DIRTY
 
Fields inherited from interface org.eclipse.ui.IWorkbenchPart
PROP_TITLE
 
Constructor Summary
KiemView()
          The constructor of the Kiem View instance.
 
Method Summary
 void checkForSingleEnabledMaster(boolean silent)
          Check for single enabled master.
 void checkForSingleEnabledMaster(boolean silent, DataComponentWrapper dataComponentWrapper)
          Check the current selection (enabled DataComponentWrappers) for a just a single enabled master.
 void createPartControl(Composite parent)
           
 void doSave(IProgressMonitor monitor)
          
 void doSaveAs()
          
 String getActiveProjectName()
          Gets the file name (without possible extension) of the currently opened file, if any, or "noname" otherwise.
 AimedStepDurationTextField getAimedStepDurationTextField()
          Gets the aimed step duration text field.
 IPath getCurrentFile()
          Gets the current file.
 KiemPlugin getKIEMInstance()
          Gets the kIEM instance.
 boolean isDirty()
          
 boolean isSaveAsAllowed()
          
 boolean isSaveOnCloseNeeded()
          
 int promptToSaveOnClose()
          
 void setAllEnabled(boolean enabled)
          Sets the all actions (tool bar buttons and context menu entires) to enabled or disabled.
 void setCurrentFile(IPath currentFileParam)
          Sets the current file.
 void setDirty(boolean isDirtyParam)
          Sets the dirty flag to true or false.
 void setFocus()
          Passing the focus request to the viewer's control.
 void updateEnabledEnabledDisabledUpDownAddDelete()
          Updates the enabled disabled status of the following actions:
- up
- down
- add
- delete.
 void updateStepsAsync()
          Updates steps in the steps text field asynchronously from within another thread.
protected  void updateView(boolean deselect)
          Updates the table if it is not busy.
 void updateViewAsync()
          Updates the table view asynchronously from within another thread.
 void updateViewSync()
          Updates the table view synchronously from within another thread.
 
Methods inherited from class org.eclipse.ui.part.ViewPart
checkSite, getViewSite, init, init, saveState, setContentDescription, setInitializationData, setPartName
 
Methods inherited from class org.eclipse.ui.part.WorkbenchPart
addPartPropertyListener, addPropertyListener, dispose, firePartPropertyChanged, firePropertyChange, getAdapter, getConfigurationElement, getContentDescription, getDefaultImage, getOrientation, getPartName, getPartProperties, getPartProperty, getSite, getTitle, getTitleImage, getTitleToolTip, removePartPropertyListener, removePropertyListener, setPartProperty, setSite, setTitle, setTitleImage, setTitleToolTip, showBusy
 
Methods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.ui.IWorkbenchPart
addPropertyListener, dispose, getSite, getTitle, getTitleImage, getTitleToolTip, removePropertyListener
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 

Field Detail

COLUMN_BOUNDS_COLLAPSED

public static final int[] COLUMN_BOUNDS_COLLAPSED
The Constant columnBoundsCollapsed - no properties visible.


COLUMN_BOUNDS

public static final int[] COLUMN_BOUNDS
The Constant columnBounds - properties visible.


COLUMN_TITLES_COLLAPSED

public static final String[] COLUMN_TITLES_COLLAPSED
The Constant columnTitlesCollapsed - properties not visible.


COLUMN_TITLES

public static final String[] COLUMN_TITLES
The Constant columnTitles - properties visible.


COLUMN_TOOLTIP_COLLAPSED

public static final String[] COLUMN_TOOLTIP_COLLAPSED
The Constant columnToolTipCollapsed - properties not visible.


COLUMN_TOOLTIP

public static final String[] COLUMN_TOOLTIP
The Constant columnToolTip - properties visible.

Constructor Detail

KiemView

public KiemView()
The constructor of the Kiem View instance.

Method Detail

getKIEMInstance

public KiemPlugin getKIEMInstance()
Gets the kIEM instance.

Returns:
the kIEM instance

setCurrentFile

public void setCurrentFile(IPath currentFileParam)
Sets the current file.

Parameters:
currentFileParam - the new currently opened file

getCurrentFile

public IPath getCurrentFile()
Gets the current file.

Returns:
the current file

createPartControl

public void createPartControl(Composite parent)
Specified by:
createPartControl in interface IWorkbenchPart
Specified by:
createPartControl in class WorkbenchPart

setAllEnabled

public void setAllEnabled(boolean enabled)
Sets the all actions (tool bar buttons and context menu entires) to enabled or disabled. This method is used to block any user input during the initialization phase for example.

Parameters:
enabled - the new enabled status

updateEnabledEnabledDisabledUpDownAddDelete

public void updateEnabledEnabledDisabledUpDownAddDelete()
Updates the enabled disabled status of the following actions:
- up
- down
- add
- delete.


updateViewSync

public void updateViewSync()
Updates the table view synchronously from within another thread.

BE CAREFUL WITH USING THIS METHOD BECAUSE THIS COULD MORE EASILY PRODUCE DEADLOCKS


updateViewAsync

public void updateViewAsync()
Updates the table view asynchronously from within another thread.


updateStepsAsync

public void updateStepsAsync()
Updates steps in the steps text field asynchronously from within another thread.


updateView

protected void updateView(boolean deselect)
Updates the table if it is not busy.

Parameters:
deselect - a table entry

getAimedStepDurationTextField

public AimedStepDurationTextField getAimedStepDurationTextField()
Gets the aimed step duration text field.

Returns:
the aimed step duration text field

setFocus

public void setFocus()
Passing the focus request to the viewer's control. This is necessary be- cause KiemView extends the ViewPart class.

Specified by:
setFocus in interface IWorkbenchPart
Specified by:
setFocus in class WorkbenchPart

checkForSingleEnabledMaster

public void checkForSingleEnabledMaster(boolean silent)
Check for single enabled master. This is just a wrapper for the method checkForSingleEnabledMaster(boolean, DataComponentWrapper).

Parameters:
silent - if true, the warning dialog will be suppressed

checkForSingleEnabledMaster

public void checkForSingleEnabledMaster(boolean silent,
                                        DataComponentWrapper dataComponentWrapper)
Check the current selection (enabled DataComponentWrappers) for a just a single enabled master. If any second enabled master is found it will be disabled and the user is notified with a warning dialog - depending on the silent-flag.

Parameters:
silent - if true, the warning dialog will be suppressed
dataComponentWrapper - the DataComponentWrapper that is allowed to be the master or null

doSave

public void doSave(IProgressMonitor monitor)

Specified by:
doSave in interface ISaveablePart

getActiveProjectName

public String getActiveProjectName()
Gets the file name (without possible extension) of the currently opened file, if any, or "noname" otherwise.

Returns:
the active project name

doSaveAs

public void doSaveAs()

Specified by:
doSaveAs in interface ISaveablePart

isDirty

public boolean isDirty()

Specified by:
isDirty in interface ISaveablePart

setDirty

public void setDirty(boolean isDirtyParam)
Sets the dirty flag to true or false. It should be set to true whenever the view table is modified (add or delete a DataComponent) or a property of a DataComponent is changed. It should be reset to false whenever the user saves the execution.

Parameters:
isDirtyParam - the new dirty

isSaveAsAllowed

public boolean isSaveAsAllowed()

Specified by:
isSaveAsAllowed in interface ISaveablePart

isSaveOnCloseNeeded

public boolean isSaveOnCloseNeeded()

Specified by:
isSaveOnCloseNeeded in interface ISaveablePart

promptToSaveOnClose

public int promptToSaveOnClose()

Specified by:
promptToSaveOnClose in interface ISaveablePart2