ObjCryst++  1.5CVS
Public Member Functions | Private Attributes
ObjCryst::WXPowderPatternBackground Class Reference

Class to display a Powder Pattern Background. More...

Inheritance diagram for ObjCryst::WXPowderPatternBackground:
ObjCryst::WXRefinableObj ObjCryst::WXCrystObj ObjCryst::WXCrystObjBasic

List of all members.

Public Member Functions

 WXPowderPatternBackground (wxWindow *parent, PowderPatternBackground *)
void OnMenuImportUserBackground (wxCommandEvent &WXUNUSED(event))
void OnMenuOptimizeBayesianBackground (wxCommandEvent &WXUNUSED(event))
void OnMenuAutomaticBayesianBackground (wxCommandEvent &WXUNUSED(event))
void OnEditGridBackgroundPoint (wxGridEvent &e)
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.
- Public Member Functions inherited from ObjCryst::WXRefinableObj
 WXRefinableObj (wxWindow *parent, RefinableObj *)
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)
- Public Member Functions inherited from ObjCryst::WXCrystObj
 WXCrystObj (wxWindow *parent, int orient=wxHORIZONTAL, bool showName=true)
 Constructor, with a.
void OnToggleCollapse (wxCommandEvent &WXUNUSED(event))
 Only display the title, and collapse everything else.
virtual void OnEnable (wxUpdateUIEvent &event)
virtual bool Enable (bool enable)
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).
- Public Member Functions inherited from ObjCryst::WXCrystObjBasic
 WXCrystObjBasic (wxWindow *parent)
 Constructor.
virtual ~WXCrystObjBasic ()
 Destructor.
void AddedToList (WXCrystObjBasicList *list)
void RemovedFromList (WXCrystObjBasicList *list)
virtual bool Layout ()
virtual void SetToolTip (const wxString &tip)
 Set tooltip for this window.

Private Attributes

PowderPatternBackgroundmpPowderPatternBackground
wxGrid * mpGridBackgroundPoint
CrystVector_REAL mBackgroundInterpPointX
 Copy of the list of points and intensity.
CrystVector_REAL mBackgroundInterpPointIntensity
bool mNeedUpdateUI
 True if the list of points has changed since last displayed.
bool mIsSelfUpdating

Additional Inherited Members

- Protected Attributes inherited from ObjCryst::WXRefinableObj
WXCrystMenuBarmpMenuBar
- Protected Attributes inherited from ObjCryst::WXCrystObj
wxBoxSizer * mpTopSizer
 Top sizer including the title and WXCrystObj::mpSizer.
wxBoxSizer * mpSizer
 Sizer including all sub-objects.
WXFieldNamempWXTitle
 The title.
bool mIsExpanded
 To be used for collapsing the sub-objects.
WXCrystObjBasicList mList
 All windows but the title and collapse button are in this list.
wxButton * mpCollapseButton
 The collapse button.
- Protected Attributes inherited from ObjCryst::WXCrystObjBasic
WXCrystObjBasicmWXCrystParent
 Parent, if a WXCrystObjBasic itself.
bool mIsShown
 Is the the window currently shown ?
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

Class to display a Powder Pattern Background.

Still very limited ! Only allows to import a list of background points...

Todo:
Display the list of background points with the refinable intensity. Add th possibility to change the points.

Member Function Documentation

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

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


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