00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef _VFN_WX_ZSCATTERER_H_
00013 #define _VFN_WX_ZSCATTERER_H_
00014
00015 #include "wxCryst/wxScatterer.h"
00016 #include "ObjCryst/ZScatterer.h"
00017
00018 namespace ObjCryst
00019 {
00020
00021 class WXZAtom:public WXCrystObjBasic
00022 {
00023 public:
00024 WXZAtom(wxWindow *parent, ZAtom*);
00025 virtual void CrystUpdate();
00026 virtual bool Layout();
00027 void OnChangeScattPow(wxCommandEvent & WXUNUSED(event));
00028 void OnChangeName(wxCommandEvent & WXUNUSED(event));
00029 private:
00030 ZAtom *mpZAtom;
00031 wxBoxSizer *mpSizer;
00032 WXCrystObjBasicList mList;
00033 wxTextCtrl *mpFieldName;
00034 WXFieldChoice* mpFieldScattPower;
00035 WXFieldRefPar* mpFieldBond;
00036 WXFieldRefPar* mpFieldAngle;
00037 WXFieldRefPar* mpFieldDihed;
00038 DECLARE_EVENT_TABLE()
00039 };
00040
00041 class WXZScatterer: public WXScatterer
00042 {
00043 public:
00044 WXZScatterer(wxWindow *parent, ZScatterer*);
00045 virtual void CrystUpdate();
00046 void OnMenuAddZAtom(wxCommandEvent & WXUNUSED(event));
00047 void OnMenuSetLimits(wxCommandEvent &event);
00048 void OnMenuChangePivotAtom(wxCommandEvent &WXUNUSED(event));
00049 private:
00050 ZScatterer* mpZScatterer;
00051 WXRegistry<ZAtom> *mpWXZAtomRegistry;
00052 DECLARE_EVENT_TABLE()
00053 };
00054
00055 }
00056
00057 #endif