Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

vuUtilityWindow Class Reference

The interface for utility windows of the GUI Tool. It must be implemented by all the windows. More...

#include <vuUtilityWindow.h>

Inheritance diagram for vuUtilityWindow:

Inheritance graph
[legend]
Collaboration diagram for vuUtilityWindow:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual ~vuUtilityWindow ()
 A virtual destructor.
virtual bool init (vuMainWindow *main, const char *DataFile)=0
 The initialization method for the utility window.
virtual void close ()=0
 Closes the utility window, doing any necessary clean up.
virtual void notifyDataChanged ()=0
 Notifies the utility that the volume data has been changed and that it should update its view.

Detailed Description

The interface for utility windows of the GUI Tool. It must be implemented by all the windows.

This class defines the interface that all the utility windows in the GUI Tool must implement. At this level, this is just the architecture of the GUI Tool program. The utility windows must have a common way to be initialized and to have general windowing control. By making this a general interface, it keeps windows modular and makes it easy to add new windows to the GUI Tool.

The utility windows are implemented differently depending on the windowing system. In most systems, the utility windows are implemented as wxMDIChildWindows. This is because the main window is an MDI parent window, and it is important to ensure that all the utility windows can be created within it. In gtk, the wxWindow's implementation of the MDI architecture is not suitable to the gui tool, and so the main window and the utility windows are all implemented as separate windows, deriving from the wxFrame class. Again, this ensures common behaviour among the utility windows.

The utility window interface also defines the architecture for sharing the volume data within the GUI Tool. The volume data is the primary resource of the program, and the concept the program is built around. Because of this centrality, the volume data is owned by the main window, and the utility windows are given access to it. This interface defines how the volume data is shared between the two classes.

Definition at line 53 of file vuUtilityWindow.h.


Constructor & Destructor Documentation

virtual vuUtilityWindow::~vuUtilityWindow  )  [inline, virtual]
 

A virtual destructor.

Declare a virtual destructor for all utility windows to assure correct code for all windows.

Definition at line 60 of file vuUtilityWindow.h.


Member Function Documentation

virtual void vuUtilityWindow::close  )  [pure virtual]
 

Closes the utility window, doing any necessary clean up.

This method is called when the vuMasterWindow parent has to close the utility window. The UtilityWindow should do any clean up it wants to do here, such as saving any of its data.

Implemented in vuBasicUtility.

Referenced by vuMainWindow::close().

virtual bool vuUtilityWindow::init vuMainWindow main,
const char *  DataFile
[pure virtual]
 

The initialization method for the utility window.

It sets up all the user controls, sets their starting values and shows the window. The controls define the interface that the user will have to the utility and it's APIs.

The method is called by the vuMainWindow main window after the windowing API and main window have already been initialized, so the method can access windowing functions.

A pointer to the opened instance of volume data is given. This is the volume data that the utility will operate on.

Parameters:
main Pointer to the vuMainWindow parent that's creating the instance.
DataFile The name of the volume data file the utility will operate on.
Returns:
True if successful.

Implemented in vuBasicUtility.

Referenced by vuMainWindow::addUtility().

virtual void vuUtilityWindow::notifyDataChanged  )  [pure virtual]
 

Notifies the utility that the volume data has been changed and that it should update its view.

This is done when the volume data has been changed by another utility, and so any views of the data should be updated. The volume data can be changed by another utility so that other views of it will become outdated. This method allows the whole program to be synchronized to the change.

Implemented in vuBasicUtility, vuCellProjector, vuFVR, vuSpecFVR, vuSpecSplat, vuSpectral, and vuSplat.


The documentation for this class was generated from the following file:
Generated on Wed Dec 15 21:22:08 2004 for vuVolume by  doxygen 1.3.9.1