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 "GuiLevel.h" 00030 00031 class ImagesTreeCtrl; 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 00058 void OnOptimizeButton(wxCommandEvent & e); 00059 void SetGuiLevel(GuiLevel newGuiLevel); 00060 00061 protected: 00062 00063 void OnClose(wxCloseEvent& e); 00064 void OnReset(wxCommandEvent& e); 00065 00066 void runOptimizer(const PT::UIntSet & img); 00067 00068 bool AskApplyResult(const PT::Panorama & pano); 00069 00070 ImagesTreeCtrl* m_images_tree_list; 00071 ImagesTreeCtrl* m_lens_tree_list; 00072 00073 wxCheckBox * m_only_active_images_cb; 00074 wxCheckBox * m_edit_cb; 00075 00076 PT::Panorama * m_pano; 00077 private: 00078 00079 DECLARE_EVENT_TABLE() 00080 DECLARE_DYNAMIC_CLASS(OptimizePanel) 00081 }; 00082 00083 00085 class OptimizePanelXmlHandler : public wxXmlResourceHandler 00086 { 00087 DECLARE_DYNAMIC_CLASS(OptimizePanelXmlHandler) 00088 00089 public: 00090 OptimizePanelXmlHandler(); 00091 virtual wxObject *DoCreateResource(); 00092 virtual bool CanHandle(wxXmlNode *node); 00093 }; 00094 00095 00096 #endif // _WXPANOCOMMAND_H
1.3.9.1