[an error occurred while processing this directive]
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

Generated on Mon Sep 20 01:01:26 2010 for Hugintrunk by doxygen 1.3.9.1