23 #ifndef _GLPREVIEWFRAME_H
24 #define _GLPREVIEWFRAME_H
33 class wxScrolledWindow;
35 class wxStaticBoxSizer;
47 #include <wx/infobar.h>
86 #include <wx/string.h>
88 #include <wx/aui/aui.h>
89 #include <wx/clrpicker.h>
101 wxToggleButton* identify_button_in,
106 void OnEnter(wxMouseEvent & e);
107 void OnLeave(wxMouseEvent & e);
109 DECLARE_EVENT_TABLE()
110 unsigned
int image_number;
113 HuginBase::Panorama * m_pano;
121 void AddDragTool(
DragTool** drag_tool_in);
124 void OnEnter(wxMouseEvent & e);
125 void OnLeave(wxMouseEvent & e);
127 DECLARE_EVENT_TABLE()
128 unsigned
int image_number;
132 HuginBase::Panorama * m_pano;
143 const wxAuiPaneInfo& pane,
144 wxWindowID
id = wxID_ANY,
145 long style = wxRESIZE_BORDER | wxSYSTEM_MENU | wxCAPTION |
147 wxFRAME_FLOAT_ON_PARENT |
149 ) : wxAuiFloatingFrame(parent, (wxAuiManager*) owner_mgr, pane, id, style) {}
152 void OnActivate(wxActivateEvent& evt);
153 void OnMoveFinished();
156 DECLARE_EVENT_TABLE()
199 void StorePositionAndSize();
208 void SetImageButtonColour(
unsigned int image_nr,
unsigned char red,
209 unsigned char green,
unsigned char blue);
210 void SetStatusMessage(wxString message);
213 void FillBlendChoice();
215 void LoadOpenGLLayout();
219 void SetGuiLevel(
GuiLevel newLevel);
221 void AddUserDefinedSequence(
int id,
const wxString& desc,
const wxString& help);
223 void AddUserDefinedAssistant(
int id,
const wxString& desc,
const wxString& help);
230 void ContinueResize();
239 void redrawPreview();
241 void ResetPreviewZoom();
243 void SetShowProjectionHints(
bool new_value);
244 void OnShowEvent(wxShowEvent& e);
246 bool individualDragging();
247 void ToggleImageInDragGroup(
unsigned int image_nr,
bool update_check_box =
true);
248 void RemoveImageFromDragGroup(
unsigned int image_nr,
bool update_check_box =
true);
249 void AddImageToDragGroup(
unsigned int image_nr,
bool update_check_box =
true);
250 void SetDragGroupImages(
HuginBase::UIntSet imageDragGroup_in,
bool update_check_box =
true);
252 void ClearDragGroupImages(
bool update_check_box =
true);
257 void UpdateGlobalWhiteBalance(
double redFactor,
double blueFactor);
258 void UpdateIdentifyTools(std::set<unsigned int> new_image_set);
260 wxColour GetPreviewBackgroundColor();
264 bool GLresize =
true;
266 void OnClose(wxCloseEvent& e);
268 void OnOverviewToggle(wxCommandEvent& e);
270 void OnCenterHorizontally(wxCommandEvent & e);
271 void OnFitPano(wxCommandEvent& e);
272 void OnStraighten(wxCommandEvent & e);
273 void OnShowAll(wxCommandEvent & e);
274 void OnShowNone(wxCommandEvent & e);
275 void OnPhotometric(wxCommandEvent & e);
276 void OnIdentify(wxCommandEvent &e);
277 void OnAutocrop(wxCommandEvent &e);
278 void OnStackAutocrop(wxCommandEvent &e);
279 void OnAutocropOutside(wxCommandEvent& e);
280 void OnControlPoint(wxCommandEvent &e);
281 void OnNumTransform(wxCommandEvent & e);
282 void OnChangeFOV(wxScrollEvent & e);
283 void OnTrackChangeFOV(wxScrollEvent & e);
284 void OnExposureChanged(wxCommandEvent & e);
285 void OnProjParameterChanged(wxCommandEvent & e);
287 void OnProjParameterReset(wxCommandEvent & e);
289 void OnSwitchPreviewGrid(wxCommandEvent & e);
291 void OnUserExit(wxCommandEvent & e);
293 void OnDefaultExposure( wxCommandEvent & e );
294 void OnDecreaseExposure( wxSpinEvent & e );
295 void OnIncreaseExposure( wxSpinEvent & e );
296 void OnRangeCompressionIncrease(wxSpinEvent & e);
297 void OnRangeCompressionDecrease(wxSpinEvent & e);
298 void OnRangeCompressionChanged(wxCommandEvent& e);
300 void OnBlendChoice(wxCommandEvent & e);
301 void OnDragChoice(wxCommandEvent & e);
303 void KeyDown(wxKeyEvent & e);
304 void KeyUp(wxKeyEvent & e);
306 void DragChoiceLayout(
int index );
307 void OnProjectionChoice(wxCommandEvent & e);
308 void OnOverviewModeChoice(wxCommandEvent & e);
310 void OnROIChanged(wxCommandEvent & e);
312 void OnResetCrop(wxCommandEvent & e);
314 void OnSetCropAspect(wxCommandEvent& e);
315 void OnHFOVChanged(wxCommandEvent & e);
316 void OnVFOVChanged(wxCommandEvent & e);
318 void OnHideProjectionHints(wxCommandEvent &e);
322 void updateBlendMode();
324 void OnFullScreen(wxCommandEvent &e);
326 void OnSelectMode(wxNotebookEvent &e);
328 void OnToolModeChanging(wxNotebookEvent &e);
330 void OnLayoutScaleChange(wxScrollEvent &e);
332 void OnColorPicker(wxCommandEvent &e);
334 void OnEditCPTool(wxCommandEvent &e);
336 void OnPreviewBackgroundColorChanged(wxColourPickerEvent & e);
338 void OnGuideChanged(wxCommandEvent &e);
340 void OnShowMainFrame(wxCommandEvent &e);
342 void OnLoadImages( wxCommandEvent & e );
343 void LoadImages(
int preferredLensType);
344 void OnAlign( wxCommandEvent & e );
345 void OnCreate( wxCommandEvent & e );
347 void OnCreateCP(wxCommandEvent & e);
349 void OnRemoveCP(wxCommandEvent & e);
351 void OnMenuClose(wxMenuEvent & e);
353 void OnSelectAllMenu(wxCommandEvent& e);
354 void OnSelectMedianMenu(wxCommandEvent& e);
355 void OnSelectDarkestMenu(wxCommandEvent& e);
356 void OnSelectBrightestMenu(wxCommandEvent& e);
357 void OnSelectKeepSelection(wxCommandEvent& e);
358 void OnSelectResetSelection(wxCommandEvent& e);
363 void EnableGroupCheckboxes(
bool isShown);
368 bool UpdateOverviewMode(
int newMode);
374 void SetMode(
int newMode);
424 SELECT_ALL_IMAGES = 0,
425 SELECT_MEDIAN_IMAGES = 1,
426 SELECT_BRIGHTEST_IMAGES = 2,
427 SELECT_DARKEST_IMAGES = 3,
436 wxString m_choices[3];
458 DECLARE_EVENT_TABLE()
484 bool m_showProjectionHints;
507 void TurnOffTools(std::set<
Tool*> tools);
516 bool HasNonZeroTranslationPlaneParameters();
518 void ResetTranslationPlaneParameters();
519 void CleanButtonColours();
525 void ShowProjectionWarnings();
529 #endif // _GLPREVIEWFRAME_H
wxTextCtrl * m_rangeCompressionTextCtrl
SelectAllMode m_selectAllMode
wxSpinButton * m_exposureSpinBut
declaration of helper for work with different GuiLevels
std::vector< wxToggleButton * > m_ToggleButtons
The OpenGL preview frame.
wxChoice * m_DragModeChoice
std::vector< ImageToogleButtonEventHandler * > toogle_button_event_handlers
GLPreview * getGLPreview()
wxPanel * m_overviewCommandPanel
wxTextCtrl * m_ROIRightTxt
SplitButton * m_createButton
wxBitmapButton * m_defaultExposureBut
wxColour m_preview_background_color
std::vector< wxCheckBox * > m_GroupToggleButtons
int non_layout_blend_mode
wxNotebook * m_tool_notebook
std::vector< wxPanel * > m_ToggleButtonPanel
wxTextCtrl * m_ROILeftTxt
wxChoice * m_GuideChoiceCrop
wxChoice * m_GuideChoiceDrag
wxStaticBoxSizer * m_ToggleButtonSizer
std::set< unsigned int > UIntSet
GLwxAuiFloatingFrame(wxWindow *parent, GLwxAuiManager *owner_mgr, const wxAuiPaneInfo &pane, wxWindowID id=wxID_ANY, long style=wxRESIZE_BORDER|wxSYSTEM_MENU|wxCAPTION|wxFRAME_FLOAT_ON_PARENT|wxCLIP_CHILDREN)
wxChoice * m_ProjectionChoice
wxSpinButton * m_rangeCompressionSpinBut
wxMenu * m_filemenuSimple
wxBoxSizer * m_ButtonSizer
GLwxAuiManager * m_mgr
The dock manager.
GLOverview * getGLOverview()
std::vector< wxSlider * > m_projParamSlider
wxScrolledWindow * m_ButtonPanel
SplitButton * m_selectAllButton
wxMenu * m_filemenuAdvanced
The renderer handles drawing the opengl scene.
std::vector< wxTextCtrl * > m_projParamTextCtrl
wxInfoBar * m_infoBar
Bar for context sensitive projection information.
wxToggleButton * m_editCP_togglebutton
SplitButton * m_loadImagesButton
wxPanel * m_projection_panel
GLPreviewFrame * getPreviewFrame()
std::vector< ImageGroupButtonEventHandler * > toggle_group_button_event_handlers
wxToggleButton * m_identify_togglebutton
GLwxAuiManager * getAuiManager()
GLOverview * m_GLOverview
bool m_selectKeepSelection
wxChoice * m_BlendModeChoice
wxBoxSizer * m_projParamSizer
GLwxAuiManager(GLPreviewFrame *frame, GLPreview *preview, GLOverview *overview)
A MeshManager handles the graphics system representation of a remapping, by creating OpenGL display l...
this handler class will receive change events from the Panorama.
wxTextCtrl * m_ROIBottomTxt
subclass for a floating frame of the dock manager
SplitButton * m_alignButton
GLOverview * getOverview()
wxToggleButton * m_colorpicker_togglebutton
wxTextCtrl * m_exposureTextCtrl
std::vector< wxStaticText * > m_projParamNamesLabel
customized subclass of the dock manager, created just for the purpose to create a workaround for the ...
HuginBase::Panorama & m_pano
wxChoice * m_GuideChoiceProj
wxChoice * m_OverviewModeChoice
A wxWidget to display the fast preview.