ObjCryst++  1.5CVS
Public Member Functions | Protected Attributes
ObjCryst::WXFieldOption Class Reference

WX representation of a RefObj option. This displays the names of the different choices. More...

Inheritance diagram for ObjCryst::WXFieldOption:
ObjCryst::WXField ObjCryst::WXCrystObjBasic

List of all members.

Public Member Functions

 WXFieldOption (wxWindow *parent, const int field_id, RefObjOpt *option)
void OnUpdateUI (wxUpdateUIEvent &WXUNUSED(event))
void OnChoice (wxCommandEvent &WXUNUSED(event))
 When a new value is entered.
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.
void Revert ()
 After a user entry, this allows to go back to the last value, if for some reason the entry was rejected (because the object is currently busy, ...)
virtual void ValidateUserInput ()
 Does nothing. Any user input is directly validated (OnChoice).
virtual void SetToolTip (const wxString &tip)
 Set tooltip for this window. It will be activated when going over the choice field.
- Public Member Functions inherited from ObjCryst::WXField
 WXField (wxWindow *parent, const string &label, const int field_id)
 Constructor, specifying the label of the field.
void SetLabel (const string &)
 Change the field's label.
virtual bool SetForegroundColour (const wxColour &colour)
 Change the colour of the field's title.
virtual void SetSize (int width, int height)
 Change the size of the field (excluding the title)
- Public Member Functions inherited from ObjCryst::WXCrystObjBasic
 WXCrystObjBasic (wxWindow *parent)
 Constructor.
virtual ~WXCrystObjBasic ()
 Destructor.
virtual void BottomLayout (WXCrystObjBasic *pChild)
 Ask for a new Layout with recalculated size hints, because a child has been changed or added.
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).
void AddedToList (WXCrystObjBasicList *list)
void RemovedFromList (WXCrystObjBasicList *list)
virtual bool Layout ()

Protected Attributes

int mChoice
int mChoiceOld
RefObjOptmpOption
wxChoice * mpList
- Protected Attributes inherited from ObjCryst::WXField
wxBoxSizer * mpSizer
 The horizontal sizer in which the title, button, fields, are put.
wxStaticText * mpLabel
 The label.
const int mId
 The Id of this field.
- Protected Attributes inherited from ObjCryst::WXCrystObjBasic
WXCrystObjBasicmWXCrystParent
 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.

Detailed Description

WX representation of a RefObj option. This displays the names of the different choices.


Member Function Documentation

virtual void ObjCryst::WXFieldOption::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.

Implements ObjCryst::WXCrystObjBasic.

void ObjCryst::WXFieldOption::OnChoice ( wxCommandEvent &  WXUNUSEDevent)

When a new value is entered.

The Field reads the new value, then forwards the event to its owner, who will take care of anything that must be done.

virtual void ObjCryst::WXFieldOption::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.

Implements ObjCryst::WXCrystObjBasic.


The documentation for this class was generated from the following file: