FOX/ObjCryst++  2022
wxZScatterer.h
1 /* ObjCryst++ Object-Oriented Crystallographic Library
2  (c) 2000-2002 Vincent Favre-Nicolin vincefn@users.sourceforge.net
3  2000-2001 University of Geneva (Switzerland)
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program; if not, write to the Free Software
17  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 */
19 
20 #ifndef _VFN_WX_ZSCATTERER_H_
21 #define _VFN_WX_ZSCATTERER_H_
22 
23 #include "ObjCryst/wxCryst/wxScatterer.h"
24 #include "ObjCryst/ObjCryst/ZScatterer.h"
25 #include "ObjCryst/ObjCryst/Molecule.h"
26 
27 namespace ObjCryst
28 {
29 
31 {
32  public:
33  WXZAtom(wxWindow *parent, ZAtom*);
34  virtual void CrystUpdate(const bool updateUI=false,const bool mutexlock=false);
35  virtual void UpdateUI(const bool mutexlock=false);
36  void OnChangeScattPow(wxCommandEvent & WXUNUSED(event));
37  private:
38  ZAtom *mpZAtom;
39  wxBoxSizer *mpSizer;
40  WXCrystObjBasicList mList;
41  WXFieldString *mpFieldName;
42  WXFieldChoice* mpFieldScattPower;
43  DECLARE_EVENT_TABLE()
44 };
45 
48 {
49  public:
50  WXZScatterer(wxWindow *parent, ZScatterer*);
51  void OnMenuAddZAtom(wxCommandEvent & WXUNUSED(event));
52  void OnMenuSetLimits(wxCommandEvent &event);
53  void OnMenuChangePivotAtom(wxCommandEvent &WXUNUSED(event));
54  void OnMenuImportZMatrix(wxCommandEvent &WXUNUSED(event));
55  void OnMenuExportZMatrix(wxCommandEvent &WXUNUSED(event));
56  void OnMenuConvert2Molecule(wxCommandEvent &WXUNUSED(event));
57  private:
58  ZScatterer* mpZScatterer;
59  WXRegistry<ZAtom> *mpWXZAtomRegistry;
60  DECLARE_EVENT_TABLE()
61 };
62 
63 } //namespace
64 
65 #endif //_VFN_WX_ZSCATTERER_H_
The namespace which includes all objects (crystallographic and algorithmic) in ObjCryst++.
Definition: doc-main.h:25
Class for individual atoms in a ZScatterer Object.
Definition: ZScatterer.h:87
ZScatterer: the basic type of complex scatterers, where atom positions are defined using a standard "...
Definition: ZScatterer.h:191
Abstract base class for all objects in wxCryst.
Definition: wxCryst.h:128
A List of WXCrystObjBasic.
Definition: wxCryst.h:197
A field which directly links to a string.
Definition: wxCryst.h:329
Class to pick one choice...
Definition: wxCryst.h:483
This displays all components of a ObjCryst++ Registry.
base wxCryst class for Scatterers
Definition: wxScatterer.h:36
virtual void UpdateUI(const bool mutexlock=false)
Update the User Interface, if necessary.
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 necessar...
wxCryst class for ZScatterer objects
Definition: wxZScatterer.h:48