class MINDUI



MINDUI is the main class of the MIND project. MINDUI contains the main GUI in which the user may make queries, open DICOM files and transfer objects. All other GUI classes are included into this class such that they are accessible from the main program.



Screenshots

MINDUI


Constructors

MINDUI()
Creates an instance of MINDUI and all contained classes. Nothing is shown to the user until show() is called.

Functionality

public open( char* )
Takes a filename as a parameter and opens the file as a DCM_OBJECT. Contained information will be displayed to the user as per configuration.
public open( DCM_OBJECT* )
Takes an already opened DCM_OBJECT and displays contained information to the user as per configuration.
public open( PATIENT_QUERY_MODULE* )
Takes a PATIENT_QUERY_MODULE and displays information contained within to the user. All data is displayed as this class contains very little information.
public open( STUDY_QUERY_MODULE* )
Takes a STUDY_QUERY_MODULE and displays information contained within to the user. Again, very little information is stored in this class so all of it can be displayed.
public show()
Calls FLTK functions to actually open the window.
public quit()
Closes MINDUI. If the preferences dialog is open, it is closed without saving changes. All alert windows are closed, and all internal data is destroyed.
protected openIE()
Calls ieBr->show().
protected saveMeta( char* )
Not currently implemented. Opens alert with text explaining so.
protected savePrefs()
Reads the status of saveOnQuit and stores it in prefs. Then saves preferences by calling prefs->write( MINDCFG ), opening alert if an error occurs.
protected getElements()
Calls getElementString to retrieve information stored within our currently open DCM_OBJECT. The elements which are read are specified in mainElements.
protected makeConMod()
Copies server information from prefs to a CONNECTION_MODULE for use in query_interface.
protected findPatients()
Copies information in query inputs to a new PATIENT_QUERY_MODULE which is sent to query_interface to send our query. Returned data is put in patientBrowser.
protected findStudies()
Calls query_interface with selectedPatient to create a list of studies relating to the selected patient. These studies are placed in studyBrowser.
protected sendObjects()
Takes each selected item in studyBrowser and calls moveRequest to send it to the storage server specfied in prefs->storageAP.

Private Members

Fl_Menuitem openMenuItem
First opens a fileselector using fl_file_chooser, then calls open( char* ) with the filename returned.
Fl_Menuitem closeMenuItem
Calls close(). This item is deactivated unless an object is open.
Fl_Menuitem saveMenuItem
First opens a fileselector using fl_file_chooser, then calls saveMeta( char* ) with the filename returned.
Fl_Menuitem quitMenuItem
Calls quit().
Fl_Menuitem queryMenuItem
Calls findPatients().
Fl_Menuitem sendMenuItem
Calls sendObjects().
Fl_Menuitem refreshMenuItem
Calls getElements(). This item is deactivated unless an item is open.
Fl_Menuitem saveOnQuit
This is a toggle item whose status is used when saving preferences.
Fl_MenuItem prefsMenuItem().
Calls prefsUI->show() to open the window.
Fl_MenuItem savePrefsMenuItem
Calls savePrefs().
Fl_Browser patientInfo
Browser window used as output for opening objects. Patient information is put in this pane.
Fl_Browser studyInfo
Browser window used as output for opening objects. Study information is put in this pane.
Fl_Input nameInput
Allows user to input patient name query information. Used in findPatients().
Fl_Input IDInput
Used in findPatients() for making a query.
Fl_Input birthInput
Used in findPatients() for making a query.
Fl_Input studyDateInput
Not used at this time, will be used for queries at a later date.
Fl_Round_Button CTButton
Not used at this time, will be used in limiting the series returned to those with a modality of CT.
Fl_Round_Button MRIButton
Not used at this time, will be used in limiting the series returned to those with a modality of MRI.
Fl_Button queryButton
Calls findPatients().
Fl_Input_Browser patientBrowser
Output from findPatients() is put here. Selecting an element calls open( patientBrowser->data( patientBrowser->value() ), thus putting information stored within the selected PATIENT_QUERY_MODULE within patientInfo. It then calls findStudies on the same selected element.
Fl_Multiline_Browser studyBrowser
Output from findStudies is put here. Selecting an element calls open( STUDY_QUERY_MODULE* ) on that element, putting information about the study in studyInfo.
ObjectViewer* obj
Pointer to an ObjectViewer class that is used to help parse our DCM_OBJECT.
MINDPrefs* prefs
Pointer to our preferences.
MINDPrefsUI* prefsUI
Pointer to our MINDPrefsUI class. This class is show()'n by prefsMenuItem.
IEBrowser
Pointer to our IEBrowser which can be show()'n by openIE().
MINDAlert
Pointer to an instance of class MINDAlert which can be modified and opened by any function to produce an alert.
LST_HEAD* patientList
Pointer to the list of patients created by findPatients().
LST_HEAD* studyList
Pointer to the list of studies returned by findStudies().
CONNECTION_MODULE* conMod
Used in query_interface for storing server settings and making connections. This is created by makeConMod().
PATIENT_QUERY_MODULE* selectedPatient
Points to the currently selected patient in patientBrowser. Set by the callback in patientBrowser.