Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages
hugin1/hugin/OptimizePanel.h
Go to the documentation of this file.00001 // -*- c-basic-offset: 4 -*- 00024 #ifndef _OPTIMIZE_PANEL_H 00025 #define _OPTIMIZE_PANEL_H 00026 00027 #include <PT/Panorama.h> 00028 #include <wx/xrc/xmlres.h> 00029 #include <panodata/StandardImageVariableGroups.h> 00030 00031 class wxCheckListBox; 00032 class wxCheckBox; 00033 00038 class OptimizePanel : public wxPanel, public PT::PanoramaObserver 00039 { 00040 00041 00042 public: 00043 OptimizePanel(); 00044 00046 bool Create(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL, const wxString& name = wxT("panel")); 00047 00048 virtual ~OptimizePanel(); 00049 00050 void Init(PT::Panorama * pano); 00051 00053 virtual void panoramaChanged(PT::Panorama & pano); 00055 virtual void panoramaImagesChanged(PT::Panorama &pano, const PT::UIntSet & imgNr); 00056 00062 PT::OptimizeVector getOptimizeVector(); 00063 00065 void setOptimizeVector(const PT::OptimizeVector & optvec); 00066 00068 void OnOptimizeButton(wxCommandEvent & e); 00069 00071 void setModeCustom(); 00072 00073 protected: 00074 00075 void OnClose(wxCloseEvent& e); 00076 00077 // Select/Clear button handler 00078 void OnListButton(wxCommandEvent & e); 00079 00080 // helper function for wxCheckListBox 00081 void SetCheckMark(wxCheckListBox * l, int check); 00082 00083 // called whenever the optimize mode changes 00084 void OnChangeMode(wxCommandEvent & e); 00085 00086 // called whenever a checkbox state changes 00087 void OnCheckBoxChanged(wxCommandEvent & e); 00088 00089 void runOptimizer(const PT::UIntSet & img); 00090 00091 bool AskApplyResult(const PT::Panorama & pano); 00092 00093 wxCheckListBox * m_yaw_list; 00094 wxCheckListBox * m_pitch_list; 00095 wxCheckListBox * m_roll_list; 00096 00097 wxCheckListBox * m_x_list; 00098 wxCheckListBox * m_y_list; 00099 wxCheckListBox * m_z_list; 00100 00101 wxCheckListBox * m_v_list; 00102 wxCheckListBox * m_a_list; 00103 wxCheckListBox * m_b_list; 00104 wxCheckListBox * m_c_list; 00105 wxCheckListBox * m_d_list; 00106 wxCheckListBox * m_e_list; 00107 00108 wxCheckBox * m_only_active_images_cb; 00109 wxCheckBox * m_edit_cb; 00110 wxChoice * m_mode_cb; 00111 00112 wxScrolledWindow *m_opt_ctrls; 00113 00114 PT::Panorama * m_pano; 00115 HuginBase::StandardImageVariableGroups *variable_groups; 00116 private: 00117 00118 DECLARE_EVENT_TABLE() 00119 DECLARE_DYNAMIC_CLASS(OptimizePanel) 00120 }; 00121 00122 00124 class OptimizePanelXmlHandler : public wxXmlResourceHandler 00125 { 00126 DECLARE_DYNAMIC_CLASS(OptimizePanelXmlHandler) 00127 00128 public: 00129 OptimizePanelXmlHandler(); 00130 virtual wxObject *DoCreateResource(); 00131 virtual bool CanHandle(wxXmlNode *node); 00132 }; 00133 00134 00135 #endif // _WXPANOCOMMAND_H
1.3.9.1