EVT_MENU(OPJFRAME_VIEWZOOM, OPJFrame::OnZoom)\r
EVT_MENU(OPJFRAME_VIEWFIT, OPJFrame::OnFit)\r
EVT_MENU(OPJFRAME_VIEWRELOAD, OPJFrame::OnReload)\r
+ EVT_MENU(OPJFRAME_VIEWPREVFRAME, OPJFrame::OnPrevFrame)\r
+ EVT_MENU(OPJFRAME_VIEWHOMEFRAME, OPJFrame::OnHomeFrame)\r
+ EVT_MENU(OPJFRAME_VIEWNEXTFRAME, OPJFrame::OnNextFrame)\r
EVT_MENU(OPJFRAME_FILETOGGLEB, OPJFrame::OnToggleBrowser)\r
EVT_MENU(OPJFRAME_FILETOGGLEP, OPJFrame::OnTogglePeeker)\r
EVT_MENU(OPJFRAME_FILETOGGLET, OPJFrame::OnToggleToolbar)\r
view_menu->Append(OPJFRAME_VIEWRELOAD, wxT("&Reload image\tCtrl+R"));\r
view_menu->SetHelpString(OPJFRAME_VIEWRELOAD, wxT("Reload the current image"));\r
\r
+ view_menu->AppendSeparator();\r
+\r
+ view_menu->Append(OPJFRAME_VIEWPREVFRAME, wxT("&Prev frame\tLeft"));\r
+ view_menu->SetHelpString(OPJFRAME_VIEWPREVFRAME, wxT("View previous frame"));\r
+\r
+ view_menu->Append(OPJFRAME_VIEWHOMEFRAME, wxT("&Start frame\tHome"));\r
+ view_menu->SetHelpString(OPJFRAME_VIEWHOMEFRAME, wxT("View starting frame"));\r
+\r
+ view_menu->Append(OPJFRAME_VIEWNEXTFRAME, wxT("&Next frame\tRight"));\r
+ view_menu->SetHelpString(OPJFRAME_VIEWNEXTFRAME, wxT("View next frame"));\r
+\r
+\r
// settings menu and its items\r
wxMenu *sets_menu = new wxMenu;\r
\r
wxDefaultSize);\r
wxBitmap bmpEncosettings = wxArtProvider::GetBitmap(wxART_LIST_VIEW, wxART_TOOLBAR,\r
wxDefaultSize);\r
+ wxBitmap bmpPrevframe = wxArtProvider::GetBitmap(wxART_GO_BACK, wxART_TOOLBAR,\r
+ wxDefaultSize);\r
+ wxBitmap bmpHomeframe = wxArtProvider::GetBitmap(wxART_GO_HOME, wxART_TOOLBAR,\r
+ wxDefaultSize);\r
+ wxBitmap bmpNextframe = wxArtProvider::GetBitmap(wxART_GO_FORWARD, wxART_TOOLBAR,\r
+ wxDefaultSize);\r
\r
tool_bar->AddTool(OPJFRAME_FILEOPEN, bmpOpen, wxT("Open"));\r
tool_bar->AddTool(OPJFRAME_FILESAVEAS, bmpSaveAs, wxT("Save as "));\r
tool_bar->AddSeparator();\r
tool_bar->AddTool(OPJFRAME_SETSDECO, bmpDecosettings, wxT("Decoder settings"));\r
tool_bar->AddTool(OPJFRAME_SETSENCO, bmpEncosettings, wxT("Encoder settings"));\r
+ tool_bar->AddSeparator();\r
+ tool_bar->AddTool(OPJFRAME_VIEWPREVFRAME, bmpPrevframe, wxT("Previous frame"));\r
+ tool_bar->AddTool(OPJFRAME_VIEWHOMEFRAME, bmpHomeframe, wxT("Starting frame"));\r
+ tool_bar->AddTool(OPJFRAME_VIEWNEXTFRAME, bmpNextframe, wxT("Next frame"));\r
tool_bar->Realize();\r
\r
// associate the toolbar with the frame\r
}\r
}\r
\r
+void OPJFrame::OnPrevFrame(wxCommandEvent& event)\r
+{\r
+ if (--wxGetApp().m_framenum < 0)\r
+ wxGetApp().m_framenum = 0;\r
+\r
+ //wxLogMessage(wxT("================Go prev, dude!======================="));\r
+ wxCommandEvent e;\r
+ OnReload(e);\r
+}\r
+\r
+void OPJFrame::OnHomeFrame(wxCommandEvent& event)\r
+{\r
+ wxGetApp().m_framenum = 0;\r
+\r
+ //wxLogMessage(wxT("================Go home, dude!======================="));\r
+\r
+ wxCommandEvent e;\r
+ OnReload(e);\r
+}\r
+\r
+void OPJFrame::OnNextFrame(wxCommandEvent& event)\r
+{\r
+ ++wxGetApp().m_framenum;\r
+\r
+ //wxLogMessage(wxT("================Go next, dude!======================="));\r
+ wxCommandEvent e;\r
+ OnReload(e);\r
+}\r
\r
// about window for the frame\r
void OPJFrame::OnAbout(wxCommandEvent& WXUNUSED(event))\r
void OnTogglePeeker(wxCommandEvent& WXUNUSED(event));\r
void OnToggleToolbar(wxCommandEvent& WXUNUSED(event));\r
void OnReload(wxCommandEvent& event);\r
+ void OnPrevFrame(wxCommandEvent& event);\r
+ void OnHomeFrame(wxCommandEvent& event);\r
+ void OnNextFrame(wxCommandEvent& event);\r
void OnSetsEnco(wxCommandEvent& event);\r
void OnSetsDeco(wxCommandEvent& event);\r
void OnSashDrag(wxSashEvent& event);\r
OPJFRAME_VIEWZOOM,\r
OPJFRAME_VIEWFIT,\r
OPJFRAME_VIEWRELOAD,\r
+ OPJFRAME_VIEWPREVFRAME,\r
+ OPJFRAME_VIEWHOMEFRAME,\r
+ OPJFRAME_VIEWNEXTFRAME,\r
OPJFRAME_FILECLOSE,\r
OPJFRAME_SETSENCO,\r
OPJFRAME_SETSDECO,\r