FOX/ObjCryst++  1.10.X (development)
ObjCryst::WXFieldPar< T > Class Template Reference

A field for a parameter. More...

+ Inheritance diagram for ObjCryst::WXFieldPar< T >:
+ Collaboration diagram for ObjCryst::WXFieldPar< T >:

Public Member Functions

 WXFieldPar (wxWindow *parent, const string &label, const int field_id, T *par, const int hsize=65)
 Constructor.
 
virtual void CrystUpdate (const bool updateUI=false, const bool mutexlock=false)
 This gets a new value from the parameter.
 
virtual void UpdateUI (const bool mutexlock=false)
 Update the User Interface, if necessary. More...
 
virtual 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, ...)
 
void SetHumanValueScale (const T s)
 Set Coefficient between the value used by ObjCryst++ and the one to be displayed to the user. More...
 
template<>
 WXFieldPar (wxWindow *parent, const string &label, const int id, long *par, const int hsize)
 
template<>
void UpdateUI (const bool lock)
 Update the User Interface, if necessary. More...
 
template<>
void UpdateUI (const bool lock)
 Update the User Interface, if necessary. More...
 
- Public Member Functions inherited from ObjCryst::WXFieldParBase
 WXFieldParBase (wxWindow *parent, const string &label, const int field_id, const int hsize=65)
 Constructor.
 
void OnEnter (wxCommandEvent &WXUNUSED(event))
 When a new value is entered (must type it and then hit the 'enter' key). More...
 
void OnText (wxCommandEvent &WXUNUSED(event))
 Records when text is entered (either from self-updating or user input)
 
virtual void ValidateUserInput ()
 This function shall be called when a new value has been entered.
 
virtual void SetToolTip (const wxString &tip)
 Set tooltip for this window. It will be activated when going over the entry field.
 
void SetFormat (const wxString &format)
 Set Format.
 
- 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. More...
 
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.
 
 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 ()
 

Protected Member Functions

virtual void ReadNewValue ()
 Reads the new value when the Enter key is hit.
 
template<>
void ReadNewValue ()
 Reads the new value when the Enter key is hit.
 
template<>
void ReadNewValue ()
 Reads the new value when the Enter key is hit.
 

Protected Attributes

T * mpValue
 A pointer to the value displayed.
 
mValue
 The value displayed.
 
mValueOld
 Last value.
 
mHumanScale
 Coefficient between the value used by ObjCryst++ and the one to be displayed to the user. More...
 
- Protected Attributes inherited from ObjCryst::WXFieldParBase
wxTextCtrl * mpField
 The field in which the value is written.
 
bool mIsSelfUpdating
 Set to true if the Field is being updated, so that no 'EVT_TEXT' is understood as user input. More...
 
wxString mFormat
 Format to be used, default = _T("%8f")
 
- 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. More...
 

Detailed Description

template<class T>
class ObjCryst::WXFieldPar< T >

A field for a parameter.

Template version. If the parameter is a RefinablePar, use WXFieldRefPar instead.

Definition at line 452 of file wxCryst.h.

Member Function Documentation

template<class T>
void ObjCryst::WXFieldPar< T >::SetHumanValueScale ( const T  s)

Set Coefficient between the value used by ObjCryst++ and the one to be displayed to the user.

Typically, 180/pi

Definition at line 697 of file wxCryst.cpp.

template<class T>
virtual void ObjCryst::WXFieldPar< T >::UpdateUI ( const bool  mutexlock = false)
virtual

Update the User Interface, if necessary.

Parameters
mutexlockif 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.

template<>
void ObjCryst::WXFieldPar< REAL >::UpdateUI ( const bool  mutexlock)
virtual

Update the User Interface, if necessary.

Parameters
mutexlockif 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.

Definition at line 628 of file wxCryst.cpp.

template<>
void ObjCryst::WXFieldPar< long >::UpdateUI ( const bool  mutexlock)
virtual

Update the User Interface, if necessary.

Parameters
mutexlockif 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.

Definition at line 648 of file wxCryst.cpp.

Member Data Documentation

template<class T>
T ObjCryst::WXFieldPar< T >::mHumanScale
protected

Coefficient between the value used by ObjCryst++ and the one to be displayed to the user.

Typically, 180/pi

Definition at line 476 of file wxCryst.h.


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