00001 // -*- c-basic-offset: 4 -*- 00024 #ifndef _PREVIEWFRAME_H 00025 #define _PREVIEWFRAME_H 00026 00027 class PreviewPanel; 00028 class wxToolBar; 00029 class wxToggleButton; 00030 class wxCheckBox; 00031 #include <appbase/ProgressDisplayOld.h> 00032 00040 class PreviewFrame : public wxFrame, public PT::PanoramaObserver, public AppBase::MultiProgressDisplay 00041 { 00042 public: 00043 00046 PreviewFrame(wxFrame * frame, PT::Panorama &pano); 00047 00050 virtual ~PreviewFrame(); 00051 00052 void panoramaChanged(PT::Panorama &pano); 00053 void panoramaImagesChanged(PT::Panorama &pano, const PT::UIntSet &changed); 00054 void OnUpdate(wxCommandEvent& event); 00055 00056 void updateProgressDisplay(); 00057 protected: 00058 void OnClose(wxCloseEvent& e); 00059 00060 void OnChangeDisplayedImgs(wxCommandEvent & e); 00061 void OnAutoPreviewToggle(wxCommandEvent & e); 00062 void OnCenterHorizontally(wxCommandEvent & e); 00063 void OnFitPano(wxCommandEvent& e); 00064 void OnStraighten(wxCommandEvent & e); 00065 void OnShowAll(wxCommandEvent & e); 00066 void OnShowNone(wxCommandEvent & e); 00067 void OnNumTransform(wxCommandEvent & e); 00068 void OnChangeFOV(wxScrollEvent & e); 00069 void OnTextCtrlChanged(wxCommandEvent & e); 00070 00071 void OnDefaultExposure( wxCommandEvent & e ); 00072 void OnDecreaseExposure( wxSpinEvent & e ); 00073 void OnIncreaseExposure( wxSpinEvent & e ); 00075 void OnProjParameterReset(wxCommandEvent & e); 00076 00077 void OnBlendChoice(wxCommandEvent & e); 00078 void OnProjectionChoice(wxCommandEvent & e); 00079 void OnOutputChoice(wxCommandEvent & e); 00081 void OnFullScreen(wxCommandEvent &e); 00083 void OnUndo(wxCommandEvent &e); 00085 void OnRedo(wxCommandEvent &e); 00086 00087 // update the panorama display 00088 void updatePano(); 00089 private: 00090 00091 PT::Panorama & m_pano; 00092 00093 PreviewPanel * m_PreviewPanel; 00094 wxToolBar * m_ToolBar; 00095 wxSlider * m_HFOVSlider; 00096 wxSlider * m_VFOVSlider; 00097 wxChoice * m_BlendModeChoice; 00098 wxChoice * m_ProjectionChoice; 00099 wxChoice * m_outputModeChoice; 00100 wxTextCtrl * m_exposureTextCtrl; 00101 wxBitmapButton * m_defaultExposureBut; 00102 wxSpinButton * m_exposureSpinBut; 00103 00104 wxString m_choices[3]; 00105 int m_oldProjFormat; 00106 00107 // wxButton * m_updatePreview; 00108 // wxCheckBox * m_autoCB; 00109 00110 wxScrolledWindow * m_ButtonPanel; 00111 wxBoxSizer * m_ButtonSizer; 00112 wxStaticBoxSizer * m_ToggleButtonSizer; 00113 00114 wxBoxSizer * m_topsizer; 00115 wxStaticBoxSizer * m_projParamSizer; 00116 std::vector<wxStaticText *> m_projParamNamesLabel; 00117 std::vector<wxTextCtrl *> m_projParamTextCtrl; 00118 std::vector<wxSlider *> m_projParamSlider; 00119 00120 #ifdef USE_TOGGLE_BUTTON 00121 std::vector<wxToggleButton *> m_ToggleButtons; 00122 #else 00123 std::vector<wxCheckBox *> m_ToggleButtons; 00124 #endif 00125 00126 DECLARE_EVENT_TABLE() 00127 }; 00128 00129 00130 00131 #endif // _PREVIEWFRAME_H
1.3.9.1