FOX/ObjCryst++
1.10.X (development)
|
Abstract base class for all objects in wxCryst. More...
Public Member Functions | |
WXCrystObjBasic (wxWindow *parent) | |
Constructor. | |
virtual | ~WXCrystObjBasic () |
Destructor. | |
virtual void | CrystUpdate (const bool updateUI=false, const bool mutexlock=false)=0 |
Get new values to be displayed from the underlying object, and raise flag if an UI update is necessary. More... | |
virtual void | UpdateUI (const bool mutexlock=false)=0 |
Update the User Interface, if necessary. More... | |
wxDEPRECATED (virtual void BottomLayout(WXCrystObjBasic *pChild)) | |
Redo the Layout for the object and ask parent to take it into account. More... | |
virtual void | AddChild (WXCrystObjBasic *pChild, bool doBottomLayout=true) |
Notify that a new children has been added, also adding it to the correct sizer (which can be the top sizer or not). More... | |
void | AddedToList (WXCrystObjBasicList *list) |
void | RemovedFromList (WXCrystObjBasicList *list) |
virtual bool | Layout () |
virtual void | SetToolTip (const wxString &tip) |
Set tooltip for this window. More... | |
Protected Attributes | |
WXCrystObjBasic * | mWXCrystParent |
Parent, if a WXCrystObjBasic itself. | |
bool | mIsShown |
Is the the window currently shown ? | |
bool | mNeedUpdateUI |
Do we need to update the display ? | |
CrystMutex | mMutex |
Mutex used to lock data when preparing to update the UI in non-main thread. | |
std::set< WXCrystObjBasicList * > | mvpList |
WXCrystObjBasicList which are aware of this object, and which should be told on destruction. More... | |
|
virtual |
Notify that a new children has been added, also adding it to the correct sizer (which can be the top sizer or not).
doBottomLayout | ask for a new Layout of the window and of its parents. |
Reimplemented in ObjCryst::WXCrystObj.
Definition at line 159 of file wxCryst.cpp.
void ObjCryst::WXCrystObjBasic::AddedToList | ( | WXCrystObjBasicList * | list | ) |
Tell the object it has been added to a list
Definition at line 171 of file wxCryst.cpp.
|
pure 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.
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. |
Implemented in ObjCryst::WXCrystMenuBar, ObjCryst::WXFieldChoice, ObjCryst::WXFieldPar< T >, ObjCryst::WXFieldPar< long >, ObjCryst::WXFieldParBase, ObjCryst::WXFieldName, ObjCryst::WXFieldString, ObjCryst::WXCrystObj, ObjCryst::WXPowderPatternDiffraction, ObjCryst::WXTexturePhaseMarchDollase, ObjCryst::WXPowderPatternBackground, ObjCryst::WXMolecule, ObjCryst::WXRefinableObj, ObjCryst::WXFieldOption, ObjCryst::WXMolDihedralAngle, ObjCryst::WXMolBondAngle, ObjCryst::WXCrystal, ObjCryst::WXFieldRefPar, ObjCryst::WXMolBond, ObjCryst::WXMolAtom, ObjCryst::WXOptimizationObj, ObjCryst::WXPowderPattern, ObjCryst::WXDiffractionSingleCrystal, ObjCryst::WXRadiation, and ObjCryst::WXZAtom.
void ObjCryst::WXCrystObjBasic::RemovedFromList | ( | WXCrystObjBasicList * | list | ) |
Tell the object it has been removed from a list
Definition at line 172 of file wxCryst.cpp.
|
virtual |
Set tooltip for this window.
The WXCrystObjBasicList::SetToolTip() will just call wxWindow::SetToolTip(), but is virtual and will correctly call specialized derived function. This is needed to avoid settin a tooltip on widgets not receiving motion events (e.g. static text under windows).
Reimplemented in ObjCryst::WXFieldParBase, ObjCryst::WXFieldName, ObjCryst::WXFieldString, ObjCryst::WXFieldOption, and ObjCryst::WXFieldRefPar.
Definition at line 179 of file wxCryst.cpp.
|
pure virtual |
Update the User Interface, if necessary.
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.
Implemented in ObjCryst::WXFieldPar< T >, ObjCryst::WXFieldPar< T >, ObjCryst::WXCrystMenuBar, ObjCryst::WXFieldChoice, ObjCryst::WXFieldPar< T >, ObjCryst::WXFieldPar< long >, ObjCryst::WXFieldName, ObjCryst::WXFieldString, ObjCryst::WXCrystObj, ObjCryst::WXPowderPatternDiffraction, ObjCryst::WXTexturePhaseMarchDollase, ObjCryst::WXPowderPatternBackground, ObjCryst::WXMolecule, ObjCryst::WXRefinableObj, ObjCryst::WXFieldOption, ObjCryst::WXCrystal, ObjCryst::WXMolDihedralAngle, ObjCryst::WXMolBondAngle, ObjCryst::WXFieldRefPar, ObjCryst::WXMolBond, ObjCryst::WXPowderPattern, ObjCryst::WXOptimizationObj, ObjCryst::WXMolAtom, ObjCryst::WXAtom, ObjCryst::WXDiffractionSingleCrystal, ObjCryst::WXRadiation, ObjCryst::WXScatteringPowerAtom, ObjCryst::WXScatteringPowerSphere, and ObjCryst::WXZAtom.
ObjCryst::WXCrystObjBasic::wxDEPRECATED | ( | virtual void | BottomLayoutWXCrystObjBasic *pChild | ) |
Redo the Layout for the object and ask parent to take it into account.
|
protected |
WXCrystObjBasicList which are aware of this object, and which should be told on destruction.