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

ObjCryst::WXRefinableObj Class Reference

The base wxCryst class for all RefinableObj objects. More...

Inheritance diagram for ObjCryst::WXRefinableObj:

Inheritance graph
[legend]
Collaboration diagram for ObjCryst::WXRefinableObj:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 WXRefinableObj (wxWindow *parent, RefinableObj *)
 ~WXRefinableObj ()
virtual void CrystUpdate (const bool updateUI=false, const bool mutexlock=false)
 Get new values to be displayed from the underlying object, and raise flag if an UI update is necessary.

virtual void UpdateUI (const bool mutexlock=false)
 Update the User Interface, if necessary.

virtual bool OnChangeName (const int id)
 When a WXFieldName has been changed by the user, it is handled here.

void OnMenuSave (wxCommandEvent &WXUNUSED(event))
void OnMenuLoad (wxCommandEvent &WXUNUSED(event))
void OnMenuFixAllPar (wxCommandEvent &WXUNUSED(event))
void OnMenuUnFixAllPar (wxCommandEvent &WXUNUSED(event))
void OnMenuParRandomize (wxCommandEvent &WXUNUSED(event))
virtual void OnUpdateUI (wxUpdateUIEvent &event)

Protected Attributes

WXCrystMenuBarmpMenuBar

Private Attributes

RefinableObjmpRefinableObj

Detailed Description

The base wxCryst class for all RefinableObj objects.

This shows the title, a menu for XMLInput/XMLOutput, and all RefObjOpt.


Constructor & Destructor Documentation

ObjCryst::WXRefinableObj::WXRefinableObj wxWindow *  parent,
RefinableObj
 

ObjCryst::WXRefinableObj::~WXRefinableObj  ) 
 


Member Function Documentation

virtual void ObjCryst::WXRefinableObj::CrystUpdate const bool  updateUI = false,
const bool  mutexlock = false
[virtual]
 

Get new values to be displayed from the underlying object, and raise flag if an UI update is necessary.

The actual GUI update is not made here. UpdateUI() should be called separately, from the main thread.

Parameters:
updateUI: if true, this will call UpdateUI, either directly (if in the main thread), or by sending a message.
mutexlock: if true, a Mutex will be used to lock the data shared between main and background thread. The idea is to only use a few Mutexes to lock data from the top objects (wxRefinableObj,...), when calling CrystUpdate() and UpdateUI(). As sub-objects (WXField,...) are only updated from within a top object, the mutex lock in the top object will also lock the data in the sub-objects.

Reimplemented from ObjCryst::WXCrystObj.

Reimplemented in ObjCryst::WXCrystal, ObjCryst::WXDiffractionSingleCrystal, ObjCryst::WXMolecule, ObjCryst::WXPowderPattern, and ObjCryst::WXPowderPatternBackground.

virtual bool ObjCryst::WXRefinableObj::OnChangeName const int  id  )  [virtual]
 

When a WXFieldName has been changed by the user, it is handled here.

This returns true if the value has been handled (for inheritance purposes).

Implements ObjCryst::WXCrystObj.

Reimplemented in ObjCryst::WXCrystal, ObjCryst::WXScatteringPowerAtom, and ObjCryst::WXScatteringPowerSphere.

void ObjCryst::WXRefinableObj::OnMenuFixAllPar wxCommandEvent &  WXUNUSED(event)  ) 
 

void ObjCryst::WXRefinableObj::OnMenuLoad wxCommandEvent &  WXUNUSED(event)  ) 
 

void ObjCryst::WXRefinableObj::OnMenuParRandomize wxCommandEvent &  WXUNUSED(event)  ) 
 

void ObjCryst::WXRefinableObj::OnMenuSave wxCommandEvent &  WXUNUSED(event)  ) 
 

void ObjCryst::WXRefinableObj::OnMenuUnFixAllPar wxCommandEvent &  WXUNUSED(event)  ) 
 

virtual void ObjCryst::WXRefinableObj::OnUpdateUI wxUpdateUIEvent &  event  )  [virtual]
 

virtual void ObjCryst::WXRefinableObj::UpdateUI const bool  mutexlock = false  )  [virtual]
 

Update the User Interface, if necessary.

Parameters:
mutexlock: if true, a Mutex will be used to lock the data shared between main and background thread.
The idea is to only use a few Mutexes to lock data from the top objects (wxRefinableObj,...), when calling CrystUpdate() and UpdateUI(). As sub-objects (WXField,...) are only updated from within a top object, the mutex lock in the top object will also lock the data in the sub-objects.

Reimplemented from ObjCryst::WXCrystObj.

Reimplemented in ObjCryst::WXAtom, ObjCryst::WXCrystal, ObjCryst::WXDiffractionSingleCrystal, ObjCryst::WXMolecule, ObjCryst::WXPowderPattern, ObjCryst::WXPowderPatternBackground, ObjCryst::WXPowderPatternDiffraction, ObjCryst::WXScatteringPowerAtom, and ObjCryst::WXScatteringPowerSphere.


Member Data Documentation

WXCrystMenuBar* ObjCryst::WXRefinableObj::mpMenuBar [protected]
 

RefinableObj* ObjCryst::WXRefinableObj::mpRefinableObj [private]
 


The documentation for this class was generated from the following file:
Generated on Tue Nov 14 15:08:03 2006 for ObjCryst++ by doxygen 1.3.6