FOX/ObjCryst++  1.10.X (development)
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 
26 namespace ObjCryst
27 {
28 
30 {
31  public:
32  WXZAtom(wxWindow *parent, ZAtom*);
33  virtual void CrystUpdate(const bool updateUI=false,const bool mutexlock=false);
34  virtual void UpdateUI(const bool mutexlock=false);
35  void OnChangeScattPow(wxCommandEvent & WXUNUSED(event));
36  private:
37  ZAtom *mpZAtom;
38  wxBoxSizer *mpSizer;
39  WXCrystObjBasicList mList;
40  WXFieldString *mpFieldName;
41  WXFieldChoice* mpFieldScattPower;
42  DECLARE_EVENT_TABLE()
43 };
44 
47 {
48  public:
49  WXZScatterer(wxWindow *parent, ZScatterer*);
50  void OnMenuAddZAtom(wxCommandEvent & WXUNUSED(event));
51  void OnMenuSetLimits(wxCommandEvent &event);
52  void OnMenuChangePivotAtom(wxCommandEvent &WXUNUSED(event));
53  void OnMenuImportZMatrix(wxCommandEvent &WXUNUSED(event));
54  void OnMenuExportZMatrix(wxCommandEvent &WXUNUSED(event));
55  void OnMenuConvert2Molecule(wxCommandEvent &WXUNUSED(event));
56  private:
57  ZScatterer* mpZScatterer;
58  WXRegistry<ZAtom> *mpWXZAtomRegistry;
59  DECLARE_EVENT_TABLE()
60 };
61 
62 } //namespace
63 
64 #endif //_VFN_WX_ZSCATTERER_H_
A List of WXCrystObjBasic.
Definition: wxCryst.h:196
Class to pick one choice...
Definition: wxCryst.h:482
wxCryst class for ZScatterer objects
Definition: wxZScatterer.h:46
This displays all components of a ObjCryst++ Registry.
Abstract base class for all objects in wxCryst.
Definition: wxCryst.h:127
Class for individual atoms in a ZScatterer Object.
Definition: ZScatterer.h:86
ZScatterer: the basic type of complex scatterers, where atom positions are defined using a standard "...
Definition: ZScatterer.h:190
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...
The namespace which includes all objects (crystallographic and algorithmic) in ObjCryst++.
Definition: Atom.cpp:47
virtual void UpdateUI(const bool mutexlock=false)
Update the User Interface, if necessary.
A field which directly links to a string.
Definition: wxCryst.h:328
base wxCryst class for Scatterers
Definition: wxScatterer.h:35