wxFlatButtonBase::wxFlatButtonBase(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style) : wxPanel(parent, id, pos, size, style) { if ( !bBitmapLoaded ) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxC9ED9InitBitmapResources(); bBitmapLoaded = true; } SetSizeHints(-1,-1); if ( GetSizer() ) { GetSizer()->Fit(this); } Centre(wxBOTH); // Connect events this->Connect(wxEVT_ENTER_WINDOW, wxMouseEventHandler(wxFlatButtonBase::OnEnterWindow), NULL, this); this->Connect(wxEVT_LEAVE_WINDOW, wxMouseEventHandler(wxFlatButtonBase::OnLeaveWindow), NULL, this); this->Connect(wxEVT_PAINT, wxPaintEventHandler(wxFlatButtonBase::OnPaint), NULL, this); this->Connect(wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(wxFlatButtonBase::OnEraseBackground), NULL, this); this->Connect(wxEVT_LEFT_DOWN, wxMouseEventHandler(wxFlatButtonBase::OnLeftDown), NULL, this); this->Connect(wxEVT_SIZE, wxSizeEventHandler(wxFlatButtonBase::OnSize), NULL, this); this->Connect(wxEVT_LEFT_DCLICK, wxMouseEventHandler(wxFlatButtonBase::OnLeftDClick), NULL, this); this->Connect(wxEVT_LEFT_UP, wxMouseEventHandler(wxFlatButtonBase::OnLeftUp), NULL, this); }
wxFlatButtonBarBase::wxFlatButtonBarBase(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style) : wxPanel(parent, id, pos, size, style) { if ( !bBitmapLoaded ) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxC9ED9InitBitmapResources(); bBitmapLoaded = true; } m_mainSizer = new wxBoxSizer(wxHORIZONTAL); this->SetSizer(m_mainSizer); SetSizeHints(-1,-1); if ( GetSizer() ) { GetSizer()->Fit(this); } Centre(wxBOTH); // Connect events this->Connect(wxEVT_PAINT, wxPaintEventHandler(wxFlatButtonBarBase::OnPaint), NULL, this); this->Connect(wxEVT_SIZE, wxSizeEventHandler(wxFlatButtonBarBase::OnSize), NULL, this); }
SettingsDlgBase::SettingsDlgBase(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) : wxDialog(parent, id, title, pos, size, style) { if ( !bBitmapLoaded ) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxC9ED9InitBitmapResources(); bBitmapLoaded = true; } wxBoxSizer* boxSizer27 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer27); wxFlexGridSizer* flexGridSizer29 = new wxFlexGridSizer(0, 2, 0, 0); flexGridSizer29->SetFlexibleDirection( wxBOTH ); flexGridSizer29->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); flexGridSizer29->AddGrowableCol(1); boxSizer27->Add(flexGridSizer29, 1, wxALL|wxEXPAND, 5); m_staticText31 = new wxStaticText(this, wxID_ANY, _("Text Colour:"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer29->Add(m_staticText31, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); m_colourPickerFG = new wxColourPickerCtrl(this, wxID_ANY, wxColour(wxT("rgb(255,255,255)")), wxDefaultPosition, wxSize(-1,-1), wxCLRP_DEFAULT_STYLE); flexGridSizer29->Add(m_colourPickerFG, 0, wxALL|wxEXPAND, 5); m_staticText35 = new wxStaticText(this, wxID_ANY, _("Background Colour:"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer29->Add(m_staticText35, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); m_colourPickerBG = new wxColourPickerCtrl(this, wxID_ANY, wxColour(wxT("rgb(32,32,32)")), wxDefaultPosition, wxSize(-1,-1), wxCLRP_DEFAULT_STYLE); flexGridSizer29->Add(m_colourPickerBG, 0, wxALL|wxEXPAND, 5); m_staticText39 = new wxStaticText(this, wxID_ANY, _("Font:"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer29->Add(m_staticText39, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); #ifdef __WXMSW__ // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to wxFONTFAMILY_TELETYPE wxFont m_fontPickerFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_fontPickerFont.SetFamily(wxFONTFAMILY_TELETYPE); #else wxFont m_fontPickerFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT); m_fontPickerFont.SetFamily(wxFONTFAMILY_TELETYPE); #endif m_fontPicker = new wxFontPickerCtrl(this, wxID_ANY, m_fontPickerFont, wxDefaultPosition, wxSize(-1,-1), wxFNTP_DEFAULT_STYLE); flexGridSizer29->Add(m_fontPicker, 0, wxALL|wxEXPAND, 5); wxBoxSizer* boxSizer43 = new wxBoxSizer(wxHORIZONTAL); boxSizer27->Add(boxSizer43, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5); m_button45 = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize(-1,-1), 0); boxSizer43->Add(m_button45, 0, wxALL, 5); m_button47 = new wxButton(this, wxID_OK, _("&OK"), wxDefaultPosition, wxSize(-1,-1), 0); m_button47->SetFocus(); boxSizer43->Add(m_button47, 0, wxALL, 5); SetName(wxT("SettingsDlgBase")); SetSizeHints(-1,-1); if ( GetSizer() ) { GetSizer()->Fit(this); } CentreOnParent(wxBOTH); #if wxVERSION_NUMBER >= 2900 if(!wxPersistenceManager::Get().Find(this)) { wxPersistenceManager::Get().RegisterAndRestore(this); } else { wxPersistenceManager::Get().Restore(this); } #endif // Connect events m_colourPickerFG->Connect(wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler(SettingsDlgBase::OnFGColour), NULL, this); m_colourPickerBG->Connect(wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler(SettingsDlgBase::OnBGColour), NULL, this); m_fontPicker->Connect(wxEVT_COMMAND_FONTPICKER_CHANGED, wxFontPickerEventHandler(SettingsDlgBase::OnFontSelected), NULL, this); }
MainFrameBaseClass::MainFrameBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) : wxFrame(parent, id, title, pos, size, style) { if ( !bBitmapLoaded ) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxC9ED9InitBitmapResources(); bBitmapLoaded = true; } // Set icon(s) to the application/dialog wxIconBundle app_icons; { wxBitmap iconBmp = wxXmlResource::Get()->LoadBitmap(wxT("terminal-16")); wxIcon icn; icn.CopyFromBitmap(iconBmp); app_icons.AddIcon( icn ); } { wxBitmap iconBmp = wxXmlResource::Get()->LoadBitmap(wxT("terminal-32")); wxIcon icn; icn.CopyFromBitmap(iconBmp); app_icons.AddIcon( icn ); } SetIcons( app_icons ); wxBoxSizer* boxSizer1 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer1); m_mainPanel = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(800,600), wxTAB_TRAVERSAL); boxSizer1->Add(m_mainPanel, 1, wxEXPAND, 5); wxBoxSizer* boxSizer11 = new wxBoxSizer(wxVERTICAL); m_mainPanel->SetSizer(boxSizer11); m_stc = new wxStyledTextCtrl(m_mainPanel, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), 0); #ifdef __WXMSW__ // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to wxFONTFAMILY_TELETYPE wxFont m_stcFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_stcFont.SetFamily(wxFONTFAMILY_TELETYPE); #else wxFont m_stcFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT); m_stcFont.SetFamily(wxFONTFAMILY_TELETYPE); #endif m_stc->SetFont(m_stcFont); m_stc->SetFocus(); // Configure the fold margin m_stc->SetMarginType (4, wxSTC_MARGIN_SYMBOL); m_stc->SetMarginMask (4, wxSTC_MASK_FOLDERS); m_stc->SetMarginSensitive(4, true); m_stc->SetMarginWidth (4, 0); // Configure the tracker margin m_stc->SetMarginWidth(1, 0); // Configure the symbol margin m_stc->SetMarginType (2, wxSTC_MARGIN_SYMBOL); m_stc->SetMarginMask (2, ~(wxSTC_MASK_FOLDERS)); m_stc->SetMarginWidth(2, 16); m_stc->SetMarginSensitive(2, true); // Configure the line numbers margin m_stc->SetMarginType(0, wxSTC_MARGIN_NUMBER); m_stc->SetMarginWidth(0,0); // Configure the line symbol margin m_stc->SetMarginType(3, wxSTC_MARGIN_FORE); m_stc->SetMarginMask(3, 0); m_stc->SetMarginWidth(3,0); // Select the lexer m_stc->SetLexer(wxSTC_LEX_NULL); // Set default font / styles m_stc->StyleClearAll(); for(int i=0; i<wxSTC_STYLE_MAX; ++i) { m_stc->StyleSetFont(i, m_stcFont); } m_stc->SetWrapMode(0); m_stc->SetIndentationGuides(0); m_stc->SetKeyWords(0, wxT("")); m_stc->SetKeyWords(1, wxT("")); m_stc->SetKeyWords(2, wxT("")); m_stc->SetKeyWords(3, wxT("")); m_stc->SetKeyWords(4, wxT("")); boxSizer11->Add(m_stc, 1, wxALL|wxEXPAND, 0); m_menuBar = new wxMenuBar(0); this->SetMenuBar(m_menuBar); m_File = new wxMenu(); m_menuBar->Append(m_File, _("File")); m_menuItemSave = new wxMenuItem(m_File, wxID_SAVE, _("Save...\tCtrl-S"), wxT(""), wxITEM_NORMAL); m_File->Append(m_menuItemSave); m_menuItemClear = new wxMenuItem(m_File, wxID_CLEAR, _("Clear View\tCtrl-L"), wxT(""), wxITEM_NORMAL); m_File->Append(m_menuItemClear); m_File->AppendSeparator(); m_menuItemPreferences = new wxMenuItem(m_File, wxID_PREFERENCES, _("Preferences..."), wxT(""), wxITEM_NORMAL); m_File->Append(m_menuItemPreferences); m_File->AppendSeparator(); m_menuItem7 = new wxMenuItem(m_File, wxID_EXIT, _("Exit\tAlt-X"), _("Quit"), wxITEM_NORMAL); m_File->Append(m_menuItem7); m_Signals = new wxMenu(); m_menuBar->Append(m_Signals, _("Signals")); m_menuItemINT = new wxMenuItem(m_Signals, ID_SIGINT, _("SIGINT"), wxT(""), wxITEM_NORMAL); m_Signals->Append(m_menuItemINT); m_menuItemTERM = new wxMenuItem(m_Signals, ID_SIGTERM, _("SIGTERM"), wxT(""), wxITEM_NORMAL); m_Signals->Append(m_menuItemTERM); m_menuItemKILL = new wxMenuItem(m_Signals, ID_SIGKILL, _("SIGKILL"), wxT(""), wxITEM_NORMAL); m_Signals->Append(m_menuItemKILL); m_menuItemHUP = new wxMenuItem(m_Signals, ID_SIGHUP, _("SIGHUP"), wxT(""), wxITEM_NORMAL); m_Signals->Append(m_menuItemHUP); m_Help = new wxMenu(); m_menuBar->Append(m_Help, _("Help")); m_menuItem9 = new wxMenuItem(m_Help, wxID_ABOUT, _("About..."), wxT(""), wxITEM_NORMAL); m_Help->Append(m_menuItem9); m_timerMarker = new wxTimer; m_timerMarker->Start(50, false); SetName(wxT("MainFrameBaseClass")); SetSizeHints(-1,-1); if ( GetSizer() ) { GetSizer()->Fit(this); } CentreOnParent(wxBOTH); #if wxVERSION_NUMBER >= 2900 if(!wxPersistenceManager::Get().Find(this)) { wxPersistenceManager::Get().RegisterAndRestore(this); } else { wxPersistenceManager::Get().Restore(this); } #endif // Connect events this->Connect(wxEVT_IDLE, wxIdleEventHandler(MainFrameBaseClass::OnIdle), NULL, this); m_stc->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(MainFrameBaseClass::OnKeyDown), NULL, this); m_stc->Connect(wxEVT_STC_UPDATEUI, wxStyledTextEventHandler(MainFrameBaseClass::OnStcUpdateUI), NULL, this); this->Connect(m_menuItemClear->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnClearView), NULL, this); this->Connect(m_menuItemPreferences->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnSettings), NULL, this); this->Connect(m_menuItem7->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnExit), NULL, this); this->Connect(m_menuItemINT->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnSignal), NULL, this); this->Connect(m_menuItemTERM->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnSignal), NULL, this); this->Connect(m_menuItemKILL->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnSignal), NULL, this); this->Connect(m_menuItemHUP->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnSignal), NULL, this); this->Connect(m_menuItem9->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnAbout), NULL, this); m_timerMarker->Connect(wxEVT_TIMER, wxTimerEventHandler(MainFrameBaseClass::OnAddMarker), NULL, this); }
MainFrameBaseClass::MainFrameBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) : wxFrame(parent, id, title, pos, size, style) { if ( !bBitmapLoaded ) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxC9ED9InitBitmapResources(); bBitmapLoaded = true; } m_menuBar = new wxMenuBar(0); this->SetMenuBar(m_menuBar); m_menuFile = new wxMenu(); m_menuBar->Append(m_menuFile, _("File")); m_menuItemFileOpen = new wxMenuItem(m_menuFile, wxID_OPEN, _("Open Video"), wxT(""), wxITEM_NORMAL); m_menuFile->Append(m_menuItemFileOpen); m_menuItemLoadProfile = new wxMenuItem(m_menuFile, wxID_ANY, _("Load Profile"), wxT(""), wxITEM_NORMAL); m_menuFile->Append(m_menuItemLoadProfile); m_menuItemExit = new wxMenuItem(m_menuFile, wxID_EXIT, _("Exit\tAlt-X"), _("Quit"), wxITEM_NORMAL); m_menuFile->Append(m_menuItemExit); m_menuView = new wxMenu(); m_menuBar->Append(m_menuView, _("View")); m_menuItemViewMsgPane = new wxMenuItem(m_menuView, wxID_ANY, _("Show Message Pane"), wxT(""), wxITEM_CHECK); m_menuView->Append(m_menuItemViewMsgPane); m_menuItemViewMsgPane->Check(); m_menuItemViewShowProfile = new wxMenuItem(m_menuView, wxID_SHOW_PROFILE, _("Show Profile"), wxT(""), wxITEM_NORMAL); m_menuView->Append(m_menuItemViewShowProfile); m_menuItemViewShowFrameType = new wxMenuItem(m_menuView, wxID_ANY, _("Show Frame Type"), wxT(""), wxITEM_NORMAL); m_menuView->Append(m_menuItemViewShowFrameType); m_menuVideo = new wxMenu(); m_menuBar->Append(m_menuVideo, _("Video")); m_menuItemVideoFrameProcessor = new wxMenuItem(m_menuVideo, wxID_FRAME_PROCESSOR, _("Background subtraction"), _("Background subtraction"), wxITEM_NORMAL); m_menuVideo->Append(m_menuItemVideoFrameProcessor); m_menuItemVideoExtractFrame = new wxMenuItem(m_menuVideo, wxID_EXTRACT_FRAME, _("Extract Frames"), wxT(""), wxITEM_NORMAL); m_menuVideo->Append(m_menuItemVideoExtractFrame); m_menuVideo->AppendSeparator(); m_menuItemVideoFGPixels = new wxMenuItem(m_menuVideo, wxID_ANY, _("1. FG Pixel Profile"), wxT(""), wxITEM_NORMAL); m_menuVideo->Append(m_menuItemVideoFGPixels); m_menuVideo->AppendSeparator(); m_menuBackground = new wxMenu(); m_menuBar->Append(m_menuBackground, _("Background")); m_menuItemBgKDE = new wxMenuItem(m_menuBackground, wxID_BGKDE, _("2. KDE"), wxT(""), wxITEM_NORMAL); m_menuBackground->Append(m_menuItemBgKDE); m_menuProfile = new wxMenu(); m_menuBar->Append(m_menuProfile, _("Profile")); m_menuItemProfileGaussianSmooth = new wxMenuItem(m_menuProfile, wxID_PROFILE_SMOOTH, _("Gaussian Smooth"), wxT(""), wxITEM_NORMAL); m_menuProfile->Append(m_menuItemProfileGaussianSmooth); m_menuItemProfileClassification = new wxMenuItem(m_menuProfile, wxID_ANY, _("Profile classification"), wxT(""), wxITEM_NORMAL); m_menuProfile->Append(m_menuItemProfileClassification); m_menuProfile->AppendSeparator(); m_menuItemProfileCentroid = new wxMenuItem(m_menuProfile, wxID_ANY, _("Centroid"), wxT(""), wxITEM_NORMAL); m_menuProfile->Append(m_menuItemProfileCentroid); m_menuItemTrainData = new wxMenuItem(m_menuProfile, wxID_ANY, _("Generate TrainData"), wxT(""), wxITEM_NORMAL); m_menuProfile->Append(m_menuItemTrainData); m_menuItemTestResult = new wxMenuItem(m_menuProfile, wxID_ANY, _("Show Test Result"), wxT(""), wxITEM_NORMAL); m_menuProfile->Append(m_menuItemTestResult); m_menuProfile->AppendSeparator(); m_menuItemPredictedResult = new wxMenuItem(m_menuProfile, wxID_ANY, _("Show Predicted Result"), wxT(""), wxITEM_NORMAL); m_menuProfile->Append(m_menuItemPredictedResult); m_nameHelp = new wxMenu(); m_menuBar->Append(m_nameHelp, _("Help")); m_menuItem9 = new wxMenuItem(m_nameHelp, wxID_ABOUT, _("About..."), wxT(""), wxITEM_NORMAL); m_nameHelp->Append(m_menuItem9); m_statusBar = new wxStatusBar(this, wxID_ANY, wxSTB_DEFAULT_STYLE); m_statusBar->SetFieldsCount(1); this->SetStatusBar(m_statusBar); m_auimgr21 = new wxAuiManager; m_auimgr21->SetManagedWindow( this ); m_auimgr21->SetFlags( wxAUI_MGR_LIVE_RESIZE|wxAUI_MGR_TRANSPARENT_HINT|wxAUI_MGR_TRANSPARENT_DRAG|wxAUI_MGR_ALLOW_ACTIVE_PANE|wxAUI_MGR_ALLOW_FLOATING); m_auimgr21->GetArtProvider()->SetMetric(wxAUI_DOCKART_GRADIENT_TYPE, wxAUI_GRADIENT_NONE); m_auibar23 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), wxAUI_TB_PLAIN_BACKGROUND|wxAUI_TB_DEFAULT_STYLE); m_auibar23->SetToolBitmapSize(wxSize(32,32)); m_auimgr21->AddPane(m_auibar23, wxAuiPaneInfo().Direction(wxAUI_DOCK_TOP).Layer(0).Row(0).Position(0).BestSize(42,42).MinSize(42,42).CaptionVisible(true).MaximizeButton(false).CloseButton(false).MinimizeButton(false).PinButton(false).ToolbarPane()); m_auibar23->AddTool(wxID_OPEN, _("Open"), wxArtProvider::GetBitmap(wxART_FILE_OPEN, wxART_TOOLBAR, wxDefaultSize), wxNullBitmap, wxITEM_NORMAL, wxT(""), wxT(""), NULL); m_auibar23->AddTool(wxID_SHOW_PROFILE, _("Show Profile"), wxXmlResource::Get()->LoadBitmap(wxT("analytics")), wxNullBitmap, wxITEM_NORMAL, _("Show Profile"), wxT(""), NULL); m_auibar23->AddSeparator(); m_auibar23->AddTool(wxID_FRAME_PROCESSOR, _("FrameProcessor"), wxXmlResource::Get()->LoadBitmap(wxT("pokeball")), wxNullBitmap, wxITEM_NORMAL, _("FrameProcessor"), wxT(""), NULL); m_auibar23->AddTool(wxID_BGKDE, _("KDE Bg"), wxXmlResource::Get()->LoadBitmap(wxT("layer")), wxNullBitmap, wxITEM_NORMAL, _("KDE background"), wxT(""), NULL); m_auibar23->AddTool(wxID_STOP, _("Stop"), wxXmlResource::Get()->LoadBitmap(wxT("error")), wxNullBitmap, wxITEM_NORMAL, _("Stop"), wxT(""), NULL); m_auibar23->AddTool(wxID_PAUSE, _("Pause"), wxXmlResource::Get()->LoadBitmap(wxT("pause")), wxNullBitmap, wxITEM_NORMAL, wxT(""), wxT(""), NULL); m_auibar23->AddTool(wxID_EXTRACT_FRAME, _("Extract Frames"), wxXmlResource::Get()->LoadBitmap(wxT("download")), wxNullBitmap, wxITEM_NORMAL, _("Extract Frames"), wxT(""), NULL); m_auibar23->AddTool(wxID_PROFILE_SMOOTH, _("Profile Gaussian Smooth"), wxXmlResource::Get()->LoadBitmap(wxT("smooth")), wxNullBitmap, wxITEM_NORMAL, _("Profile Gaussian Smooth"), wxT(""), NULL); m_auibar23->Realize(); m_auiBook = new wxAuiNotebook(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(250,720)), wxAUI_NB_TAB_FIXED_WIDTH|wxBK_DEFAULT); m_auiBook->SetName(wxT("m_auiBook")); m_auimgr21->AddPane(m_auiBook, wxAuiPaneInfo().Direction(wxAUI_DOCK_CENTER).Layer(0).Row(0).Position(0).BestSize(250,200).MinSize(250,200).MaxSize(250,550).CaptionVisible(false).MaximizeButton(false).CloseButton(false).MinimizeButton(false).PinButton(false)); m_panelProfile = new wxPanel(m_auiBook, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_auiBook, wxSize(-1,-1)), wxTAB_TRAVERSAL); m_auiBook->AddPage(m_panelProfile, _("Profile"), true); wxBoxSizer* boxSizer160 = new wxBoxSizer(wxVERTICAL); m_panelProfile->SetSizer(boxSizer160); wxBoxSizer* boxSizer203 = new wxBoxSizer(wxHORIZONTAL); boxSizer160->Add(boxSizer203, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); m_staticText205 = new wxStaticText(m_panelProfile, wxID_ANY, _("DataFile"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(-1,-1)), 0); boxSizer203->Add(m_staticText205, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlDataPath = new wxTextCtrl(m_panelProfile, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(150,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlDataPath->SetHint(wxT("")); #endif boxSizer203->Add(m_textCtrlDataPath, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); m_buttonBrowse = new wxButton(m_panelProfile, wxID_ANY, _("Browse"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(-1,-1)), 0); boxSizer203->Add(m_buttonBrowse, 0, wxALL, WXC_FROM_DIP(5)); wxFlexGridSizer* flexGridSizer163 = new wxFlexGridSizer(3, 4, 0, 0); flexGridSizer163->SetFlexibleDirection( wxBOTH ); flexGridSizer163->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); boxSizer160->Add(flexGridSizer163, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); m_staticText154 = new wxStaticText(m_panelProfile, wxID_ANY, _("Gaussian kSize"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(-1,-1)), 0); flexGridSizer163->Add(m_staticText154, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlGausKSize = new wxTextCtrl(m_panelProfile, wxID_ANY, wxT("120"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(50,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlGausKSize->SetHint(wxT("")); #endif flexGridSizer163->Add(m_textCtrlGausKSize, 0, wxALL, WXC_FROM_DIP(5)); m_staticText179 = new wxStaticText(m_panelProfile, wxID_ANY, _("Threshold"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(-1,-1)), 0); flexGridSizer163->Add(m_staticText179, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlProfileTh = new wxTextCtrl(m_panelProfile, wxID_ANY, wxT("3"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(50,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlProfileTh->SetHint(wxT("")); #endif flexGridSizer163->Add(m_textCtrlProfileTh, 0, wxALL, WXC_FROM_DIP(5)); m_staticText183 = new wxStaticText(m_panelProfile, wxID_ANY, _("Min. silence"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(-1,-1)), 0); flexGridSizer163->Add(m_staticText183, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlMinSilence = new wxTextCtrl(m_panelProfile, wxID_ANY, wxT("400"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(50,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlMinSilence->SetHint(wxT("")); #endif flexGridSizer163->Add(m_textCtrlMinSilence, 0, wxALL, WXC_FROM_DIP(5)); m_staticText193 = new wxStaticText(m_panelProfile, wxID_ANY, _("Min. Active"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(-1,-1)), 0); flexGridSizer163->Add(m_staticText193, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlMinActive = new wxTextCtrl(m_panelProfile, wxID_ANY, wxT("70"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(50,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlMinActive->SetHint(wxT("")); #endif flexGridSizer163->Add(m_textCtrlMinActive, 0, wxALL, WXC_FROM_DIP(5)); m_staticText211 = new wxStaticText(m_panelProfile, wxID_ANY, _("gnuplot width"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(-1,-1)), 0); flexGridSizer163->Add(m_staticText211, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlGnuplotW = new wxTextCtrl(m_panelProfile, wxID_ANY, wxT("1200"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(50,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlGnuplotW->SetHint(wxT("")); #endif flexGridSizer163->Add(m_textCtrlGnuplotW, 0, wxALL, WXC_FROM_DIP(5)); m_staticText215 = new wxStaticText(m_panelProfile, wxID_ANY, _("height"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(-1,-1)), 0); flexGridSizer163->Add(m_staticText215, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlGnuplotH = new wxTextCtrl(m_panelProfile, wxID_ANY, wxT("300"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(50,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlGnuplotH->SetHint(wxT("")); #endif flexGridSizer163->Add(m_textCtrlGnuplotH, 0, wxALL, WXC_FROM_DIP(5)); wxFlexGridSizer* flexGridSizer165 = new wxFlexGridSizer(5, 3, 0, 0); flexGridSizer165->SetFlexibleDirection( wxBOTH ); flexGridSizer165->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); boxSizer160->Add(flexGridSizer165, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); m_staticText197 = new wxStaticText(m_panelProfile, wxID_ANY, _("Classification"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(-1,-1)), 0); flexGridSizer165->Add(m_staticText197, 0, wxALL, WXC_FROM_DIP(5)); m_radioButtonClassWMM = new wxRadioButton(m_panelProfile, wxID_ANY, _("WMM"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(-1,-1)), wxRB_GROUP); m_radioButtonClassWMM->SetValue(0); flexGridSizer165->Add(m_radioButtonClassWMM, 0, wxALL, WXC_FROM_DIP(5)); m_radioButtonClassFD = new wxRadioButton(m_panelProfile, wxID_ANY, _("FD"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(-1,-1)), 0); m_radioButtonClassFD->SetValue(1); flexGridSizer165->Add(m_radioButtonClassFD, 0, wxALL, WXC_FROM_DIP(5)); m_staticText167 = new wxStaticText(m_panelProfile, wxID_ANY, _("x range"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(-1,-1)), 0); flexGridSizer165->Add(m_staticText167, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlRangeXMin = new wxTextCtrl(m_panelProfile, wxID_ANY, wxT("0"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(50,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlRangeXMin->SetHint(wxT("")); #endif flexGridSizer165->Add(m_textCtrlRangeXMin, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlRangeXMax = new wxTextCtrl(m_panelProfile, wxID_ANY, wxT("5000"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(50,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlRangeXMax->SetHint(wxT("")); #endif flexGridSizer165->Add(m_textCtrlRangeXMax, 0, wxALL, WXC_FROM_DIP(5)); m_staticText173 = new wxStaticText(m_panelProfile, wxID_ANY, _("y range"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(-1,-1)), 0); flexGridSizer165->Add(m_staticText173, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlRangeYMin = new wxTextCtrl(m_panelProfile, wxID_ANY, wxT("-200"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(50,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlRangeYMin->SetHint(wxT("")); #endif flexGridSizer165->Add(m_textCtrlRangeYMin, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlRangeYMax = new wxTextCtrl(m_panelProfile, wxID_ANY, wxT("2500"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(50,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlRangeYMax->SetHint(wxT("")); #endif flexGridSizer165->Add(m_textCtrlRangeYMax, 0, wxALL, WXC_FROM_DIP(5)); m_staticText187 = new wxStaticText(m_panelProfile, wxID_ANY, _("frame<->time"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(-1,-1)), 0); flexGridSizer165->Add(m_staticText187, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlFrameNo = new wxTextCtrl(m_panelProfile, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(50,-1)), wxTE_PROCESS_ENTER); #if wxVERSION_NUMBER >= 3000 m_textCtrlFrameNo->SetHint(wxT("")); #endif flexGridSizer165->Add(m_textCtrlFrameNo, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlMMSS = new wxTextCtrl(m_panelProfile, wxID_ANY, wxT("14:55"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(50,-1)), wxTE_PROCESS_ENTER); #if wxVERSION_NUMBER >= 3000 m_textCtrlMMSS->SetHint(wxT("")); #endif flexGridSizer165->Add(m_textCtrlMMSS, 0, wxALL, WXC_FROM_DIP(5)); wxBoxSizer* boxSizer296 = new wxBoxSizer(wxHORIZONTAL); boxSizer160->Add(boxSizer296, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); m_checkBoxSceneChangeBreak = new wxCheckBox(m_panelProfile, wxID_ANY, _("Scene change break"), wxDefaultPosition, wxDLG_UNIT(m_panelProfile, wxSize(-1,-1)), 0); m_checkBoxSceneChangeBreak->SetValue(false); boxSizer296->Add(m_checkBoxSceneChangeBreak, 0, wxALL, WXC_FROM_DIP(5)); m_panelKDE = new wxPanel(m_auiBook, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_auiBook, wxSize(-1,-1)), wxTAB_TRAVERSAL); m_auiBook->AddPage(m_panelKDE, _("KDE"), false); wxBoxSizer* boxSizer219 = new wxBoxSizer(wxVERTICAL); m_panelKDE->SetSizer(boxSizer219); wxFlexGridSizer* flexGridSizer221 = new wxFlexGridSizer(0, 2, 0, 10); flexGridSizer221->SetFlexibleDirection( wxBOTH ); flexGridSizer221->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); boxSizer219->Add(flexGridSizer221, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); m_staticText223 = new wxStaticText(m_panelKDE, wxID_ANY, _("KernelBW"), wxDefaultPosition, wxDLG_UNIT(m_panelKDE, wxSize(-1,-1)), 0); flexGridSizer221->Add(m_staticText223, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlKernelBW = new wxTextCtrl(m_panelKDE, wxID_ANY, wxT("2"), wxDefaultPosition, wxDLG_UNIT(m_panelKDE, wxSize(-1,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlKernelBW->SetHint(wxT("")); #endif flexGridSizer221->Add(m_textCtrlKernelBW, 0, wxALL, WXC_FROM_DIP(5)); m_staticText227 = new wxStaticText(m_panelKDE, wxID_ANY, _("fg Prob"), wxDefaultPosition, wxDLG_UNIT(m_panelKDE, wxSize(-1,-1)), 0); flexGridSizer221->Add(m_staticText227, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlFgProb = new wxTextCtrl(m_panelKDE, wxID_ANY, wxT("0.0000001"), wxDefaultPosition, wxDLG_UNIT(m_panelKDE, wxSize(-1,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlFgProb->SetHint(wxT("")); #endif flexGridSizer221->Add(m_textCtrlFgProb, 0, wxALL, WXC_FROM_DIP(5)); wxStaticBoxSizer* staticBoxSizer239 = new wxStaticBoxSizer( new wxStaticBox(m_panelKDE, wxID_ANY, _("Snake Parameters")), wxVERTICAL); boxSizer219->Add(staticBoxSizer239, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); wxFlexGridSizer* flexGridSizer241 = new wxFlexGridSizer(0, 2, 0, 0); flexGridSizer241->SetFlexibleDirection( wxBOTH ); flexGridSizer241->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); staticBoxSizer239->Add(flexGridSizer241, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); m_staticText276 = new wxStaticText(m_panelKDE, wxID_ANY, _("Snake Processing"), wxDefaultPosition, wxDLG_UNIT(m_panelKDE, wxSize(-1,-1)), 0); flexGridSizer241->Add(m_staticText276, 0, wxALL, WXC_FROM_DIP(5)); m_checkBoxEnableSnake = new wxCheckBox(m_panelKDE, wxID_ANY, _("Enable"), wxDefaultPosition, wxDLG_UNIT(m_panelKDE, wxSize(-1,-1)), 0); m_checkBoxEnableSnake->SetValue(false); flexGridSizer241->Add(m_checkBoxEnableSnake, 0, wxALL, WXC_FROM_DIP(5)); m_staticText243 = new wxStaticText(m_panelKDE, wxID_ANY, _("lambda out"), wxDefaultPosition, wxDLG_UNIT(m_panelKDE, wxSize(-1,-1)), 0); flexGridSizer241->Add(m_staticText243, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlLambdaOut = new wxTextCtrl(m_panelKDE, wxID_ANY, wxT("20"), wxDefaultPosition, wxDLG_UNIT(m_panelKDE, wxSize(-1,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlLambdaOut->SetHint(wxT("")); #endif flexGridSizer241->Add(m_textCtrlLambdaOut, 0, wxALL, WXC_FROM_DIP(5)); m_staticText247 = new wxStaticText(m_panelKDE, wxID_ANY, _("lambda in"), wxDefaultPosition, wxDLG_UNIT(m_panelKDE, wxSize(-1,-1)), 0); flexGridSizer241->Add(m_staticText247, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlLambdaIn = new wxTextCtrl(m_panelKDE, wxID_ANY, wxT("9"), wxDefaultPosition, wxDLG_UNIT(m_panelKDE, wxSize(-1,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlLambdaIn->SetHint(wxT("")); #endif flexGridSizer241->Add(m_textCtrlLambdaIn, 0, wxALL, WXC_FROM_DIP(5)); m_panelAlgo = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), wxTAB_TRAVERSAL); wxFont m_panelAlgoFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_panelAlgo->SetFont(m_panelAlgoFont); m_auimgr21->AddPane(m_panelAlgo, wxAuiPaneInfo().Caption(_("Algorithm")).Direction(wxAUI_DOCK_RIGHT).Layer(0).Row(0).Position(0).BestSize(220,200).MinSize(200,200).MaxSize(200,200).CaptionVisible(true).MaximizeButton(false).CloseButton(false).MinimizeButton(false).PinButton(false)); wxBoxSizer* boxSizer53 = new wxBoxSizer(wxVERTICAL); m_panelAlgo->SetSizer(boxSizer53); wxArrayString m_listBoxBGSArr; m_listBoxBGSArr.Add(_("FrameDifferenceBGS")); m_listBoxBGSArr.Add(_("StaticFrameDifferenceBGS")); m_listBoxBGSArr.Add(_("WeightedMovingMeanBGS")); m_listBoxBGSArr.Add(_("WeightedMovingVarianceBGS")); m_listBoxBGSArr.Add(_("MixtureOfGaussianV2BGS")); m_listBoxBGSArr.Add(_("AdaptiveBackgroundLearning")); m_listBoxBGSArr.Add(_("DPAdaptiveMedianBGS")); m_listBoxBGSArr.Add(_("DPGrimsonGMMBGS")); m_listBoxBGSArr.Add(_("DPZivkovicAGMMBGS")); m_listBoxBGSArr.Add(_("DPMeanBGS")); m_listBoxBGSArr.Add(_("DPWrenGABGS")); m_listBoxBGSArr.Add(_("DPPratiMediodBGS")); m_listBoxBGSArr.Add(_("DPEigenbackgroundBGS")); m_listBoxBGSArr.Add(_("DPTextureBGS")); m_listBoxBGSArr.Add(_("T2FGMM_UM")); m_listBoxBGSArr.Add(_("T2FGMM_UV")); m_listBoxBGSArr.Add(_("T2FMRF_UM")); m_listBoxBGSArr.Add(_("T2FMRF_UV")); m_listBoxBGSArr.Add(_("FuzzySugenoIntegral")); m_listBoxBGSArr.Add(_("FuzzyChoquetIntegral")); m_listBoxBGSArr.Add(_("LBSimpleGaussian")); m_listBoxBGSArr.Add(_("LBFuzzyGaussian")); m_listBoxBGSArr.Add(_("LBMixtureOfGaussians")); m_listBoxBGSArr.Add(_("LBAdaptiveSOM")); m_listBoxBGSArr.Add(_("LBFuzzyAdaptiveSOM")); m_listBoxBGSArr.Add(_("LbpMrf")); m_listBoxBGSArr.Add(_("VuMeter")); m_listBoxBGSArr.Add(_("KDE")); m_listBoxBGSArr.Add(_("IndependentMultimodalBGS")); m_listBoxBGSArr.Add(_("MultiCueBGS")); m_listBoxBGSArr.Add(_("SigmaDeltaBGS")); m_listBoxBGSArr.Add(_("SuBSENSEBGS")); m_listBoxBGSArr.Add(_("LOBSTERBGS")); m_listBoxBGS = new wxListBox(m_panelAlgo, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_panelAlgo, wxSize(-1,220)), m_listBoxBGSArr, wxLB_SINGLE); m_listBoxBGS->SetSelection(0); boxSizer53->Add(m_listBoxBGS, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); m_panelGlobalSet = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(50,-1)), wxTAB_TRAVERSAL); m_auimgr21->AddPane(m_panelGlobalSet, wxAuiPaneInfo().Caption(_("Global Setting")).Direction(wxAUI_DOCK_BOTTOM).Layer(0).Row(0).Position(0).BestSize(50,100).MinSize(50,100).MaxSize(50,100).CaptionVisible(true).MaximizeButton(false).CloseButton(false).MinimizeButton(false).PinButton(false)); wxBoxSizer* boxSizer262 = new wxBoxSizer(wxVERTICAL); m_panelGlobalSet->SetSizer(boxSizer262); wxFlexGridSizer* flexGridSizer264 = new wxFlexGridSizer(0, 2, 0, 0); flexGridSizer264->SetFlexibleDirection( wxBOTH ); flexGridSizer264->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); boxSizer262->Add(flexGridSizer264, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); m_staticText110 = new wxStaticText(m_panelGlobalSet, wxID_ANY, _("Frame wait (ms)"), wxDefaultPosition, wxDLG_UNIT(m_panelGlobalSet, wxSize(-1,-1)), 0); flexGridSizer264->Add(m_staticText110, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlFrameWait = new wxTextCtrl(m_panelGlobalSet, wxID_ANY, wxT("1"), wxDefaultPosition, wxDLG_UNIT(m_panelGlobalSet, wxSize(50,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlFrameWait->SetHint(wxT("")); #endif flexGridSizer264->Add(m_textCtrlFrameWait, 0, wxALL, WXC_FROM_DIP(5)); m_staticText114 = new wxStaticText(m_panelGlobalSet, wxID_ANY, _("Start frame"), wxDefaultPosition, wxDLG_UNIT(m_panelGlobalSet, wxSize(-1,-1)), 0); flexGridSizer264->Add(m_staticText114, 0, wxALL|wxALIGN_TOP, WXC_FROM_DIP(5)); m_textCtrlStartFrame = new wxTextCtrl(m_panelGlobalSet, wxID_ANY, wxT("0"), wxDefaultPosition, wxDLG_UNIT(m_panelGlobalSet, wxSize(50,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlStartFrame->SetHint(wxT("")); #endif flexGridSizer264->Add(m_textCtrlStartFrame, 0, wxALL|wxALIGN_TOP, WXC_FROM_DIP(5)); m_staticText122 = new wxStaticText(m_panelGlobalSet, wxID_ANY, _("Sampling rate"), wxDefaultPosition, wxDLG_UNIT(m_panelGlobalSet, wxSize(-1,-1)), 0); flexGridSizer264->Add(m_staticText122, 0, wxALL, WXC_FROM_DIP(5)); m_textCtrlSampling = new wxTextCtrl(m_panelGlobalSet, wxID_ANY, wxT("1"), wxDefaultPosition, wxDLG_UNIT(m_panelGlobalSet, wxSize(50,-1)), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrlSampling->SetHint(wxT("")); #endif flexGridSizer264->Add(m_textCtrlSampling, 0, wxALL, WXC_FROM_DIP(5)); m_staticText118 = new wxStaticText(m_panelGlobalSet, wxID_ANY, _("Show preprocess"), wxDefaultPosition, wxDLG_UNIT(m_panelGlobalSet, wxSize(-1,-1)), 0); flexGridSizer264->Add(m_staticText118, 0, wxALL, WXC_FROM_DIP(5)); m_checkBoxShowPreprocess = new wxCheckBox(m_panelGlobalSet, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panelGlobalSet, wxSize(-1,-1)), 0); m_checkBoxShowPreprocess->SetValue(false); flexGridSizer264->Add(m_checkBoxShowPreprocess, 0, wxALL, WXC_FROM_DIP(5)); m_panel270 = new wxPanel(m_panelGlobalSet, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_panelGlobalSet, wxSize(-1,-1)), wxTAB_TRAVERSAL); boxSizer262->Add(m_panel270, 0, wxALL|wxEXPAND, WXC_FROM_DIP(5)); wxBoxSizer* boxSizer257 = new wxBoxSizer(wxHORIZONTAL); m_panel270->SetSizer(boxSizer257); wxArrayString m_radioBoxWholeRegionArr; m_radioBoxWholeRegionArr.Add(_("whole")); m_radioBoxWholeRegionArr.Add(_("left")); m_radioBoxWholeRegionArr.Add(_("right")); m_radioBoxWholeRegion = new wxRadioBox(m_panel270, wxID_ANY, _("Processing Region"), wxDefaultPosition, wxDLG_UNIT(m_panel270, wxSize(-1,-1)), m_radioBoxWholeRegionArr, 3, 0); m_radioBoxWholeRegion->SetSelection(2); boxSizer257->Add(m_radioBoxWholeRegion, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); m_panelMsg = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), wxTAB_TRAVERSAL); wxFont m_panelMsgFont(10, wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxT("Calibri")); m_panelMsg->SetFont(m_panelMsgFont); m_auimgr21->AddPane(m_panelMsg, wxAuiPaneInfo().Name(wxT("MsgPane")).Caption(_("Message Pane")).Direction(wxAUI_DOCK_BOTTOM).Layer(0).Row(0).Position(1).BestSize(450,200).MinSize(450,190).MaxSize(450,280).CaptionVisible(true).MaximizeButton(false).CloseButton(true).MinimizeButton(false).PinButton(false)); m_auimgr21->Update(); wxBoxSizer* boxSizer27 = new wxBoxSizer(wxVERTICAL); m_panelMsg->SetSizer(boxSizer27); m_richTextMsg = new wxRichTextCtrl(m_panelMsg, wxID_ANY, wxT(""), wxDefaultPosition, wxDLG_UNIT(m_panelMsg, wxSize(-1,-1)), wxTE_MULTILINE|wxTE_PROCESS_TAB|wxTE_PROCESS_ENTER|wxWANTS_CHARS); wxFont m_richTextMsgFont(10, wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxT("Calibri")); m_richTextMsg->SetFont(m_richTextMsgFont); boxSizer27->Add(m_richTextMsg, 1, wxALL|wxEXPAND, WXC_FROM_DIP(5)); #if wxVERSION_NUMBER >= 2900 if(!wxPersistenceManager::Get().Find(m_auiBook)){ wxPersistenceManager::Get().RegisterAndRestore(m_auiBook); } else { wxPersistenceManager::Get().Restore(m_auiBook); } #endif SetName(wxT("MainFrameBaseClass")); SetSize(750,700); if (GetSizer()) { GetSizer()->Fit(this); } if(GetParent()) { CentreOnParent(wxBOTH); } else { CentreOnScreen(wxBOTH); } #if wxVERSION_NUMBER >= 2900 if(!wxPersistenceManager::Get().Find(this)) { wxPersistenceManager::Get().RegisterAndRestore(this); } else { wxPersistenceManager::Get().Restore(this); } #endif // Connect events this->Connect(m_menuItemFileOpen->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnFileOpen), NULL, this); this->Connect(m_menuItemLoadProfile->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnFileLoadProfile), NULL, this); this->Connect(m_menuItemExit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnExit), NULL, this); this->Connect(m_menuItemViewMsgPane->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnViewMsgPane), NULL, this); this->Connect(m_menuItemViewShowProfile->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnViewShowProfile), NULL, this); this->Connect(m_menuItemViewShowFrameType->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnViewShowFrameType), NULL, this); this->Connect(m_menuItemVideoFrameProcessor->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnVideoFrameProcessor), NULL, this); this->Connect(m_menuItemVideoExtractFrame->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnVideoExtractFrames), NULL, this); this->Connect(m_menuItemVideoFGPixels->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnVideoFGPixels), NULL, this); this->Connect(m_menuItemBgKDE->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnBackgroundKDE), NULL, this); this->Connect(m_menuItemProfileGaussianSmooth->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnProfileGaussianSmooth), NULL, this); this->Connect(m_menuItemProfileClassification->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnProfileClassification), NULL, this); this->Connect(m_menuItemProfileCentroid->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnProfileCentroid), NULL, this); this->Connect(m_menuItemTrainData->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnTrainData), NULL, this); this->Connect(m_menuItemTestResult->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnShowTestResult), NULL, this); this->Connect(m_menuItemPredictedResult->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnShowPredictedResult), NULL, this); this->Connect(m_menuItem9->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnAbout), NULL, this); this->Connect(wxID_OPEN, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MainFrameBaseClass::OnFileOpen), NULL, this); this->Connect(wxID_SHOW_PROFILE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MainFrameBaseClass::OnViewShowProfile), NULL, this); this->Connect(wxID_FRAME_PROCESSOR, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MainFrameBaseClass::OnVideoFrameProcessor), NULL, this); this->Connect(wxID_STOP, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MainFrameBaseClass::OnVideoStop), NULL, this); this->Connect(wxID_PAUSE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MainFrameBaseClass::OnVideoPause), NULL, this); this->Connect(wxID_EXTRACT_FRAME, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MainFrameBaseClass::OnVideoExtractFrames), NULL, this); m_auiBook->Connect(wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED, wxAuiNotebookEventHandler(MainFrameBaseClass::OnBookPageChanged), NULL, this); m_buttonBrowse->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MainFrameBaseClass::OnBrowseDataPath), NULL, this); m_textCtrlFrameNo->Connect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(MainFrameBaseClass::OnTextFrameNoEnter), NULL, this); m_textCtrlMMSS->Connect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(MainFrameBaseClass::OnTextMMSSEnter), NULL, this); m_checkBoxSceneChangeBreak->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(MainFrameBaseClass::OnSceneChangeBreak), NULL, this); }
MainFrameBaseClass::MainFrameBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) : wxFrame(parent, id, title, pos, size, style) { if ( !bBitmapLoaded ) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxC9ED9InitBitmapResources(); bBitmapLoaded = true; } wxBoxSizer* boxSizer1 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer1); m_mainPanel = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL); boxSizer1->Add(m_mainPanel, 1, wxEXPAND, 5); wxBoxSizer* boxSizer11 = new wxBoxSizer(wxVERTICAL); m_mainPanel->SetSizer(boxSizer11); wxFlexGridSizer* flexGridSizer27 = new wxFlexGridSizer(0, 2, 0, 0); flexGridSizer27->SetFlexibleDirection( wxBOTH ); flexGridSizer27->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); boxSizer11->Add(flexGridSizer27, 1, wxALL|wxEXPAND, 5); m_button13 = new wxButton(m_mainPanel, wxID_ANY, _("Square"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer27->Add(m_button13, 0, wxALL, 5); m_button15 = new wxButton(m_mainPanel, wxID_ANY, _("Triangle"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer27->Add(m_button15, 0, wxALL, 5); m_staticText29 = new wxStaticText(m_mainPanel, wxID_ANY, _("Iteration Times"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer27->Add(m_staticText29, 0, wxALL, 5); m_textCtrl_IterationTimes = new wxTextCtrl(m_mainPanel, wxID_ANY, wxT("400"), wxDefaultPosition, wxSize(-1,-1), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrl_IterationTimes->SetHint(wxT("")); #endif flexGridSizer27->Add(m_textCtrl_IterationTimes, 0, wxALL, 5); m_staticText_Neurons = new wxStaticText(m_mainPanel, wxID_ANY, _("Neuron n*n"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer27->Add(m_staticText_Neurons, 0, wxALL, 5); m_textCtrl_weights = new wxTextCtrl(m_mainPanel, wxID_ANY, wxT("10"), wxDefaultPosition, wxSize(-1,-1), 0); #if wxVERSION_NUMBER >= 3000 m_textCtrl_weights->SetHint(wxT("")); #endif flexGridSizer27->Add(m_textCtrl_weights, 0, wxALL, 5); m_button37 = new wxButton(m_mainPanel, wxID_ANY, _("STOP!"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer27->Add(m_button37, 0, wxALL, 5); m_menuBar = new wxMenuBar(0); this->SetMenuBar(m_menuBar); m_name6 = new wxMenu(); m_menuBar->Append(m_name6, _("File")); m_menuItem7 = new wxMenuItem(m_name6, wxID_EXIT, _("Exit\tAlt-X"), _("Quit"), wxITEM_NORMAL); m_name6->Append(m_menuItem7); m_name8 = new wxMenu(); m_menuBar->Append(m_name8, _("Help")); m_menuItem9 = new wxMenuItem(m_name8, wxID_ABOUT, _("About..."), wxT(""), wxITEM_NORMAL); m_name8->Append(m_menuItem9); m_mainToolbar = this->CreateToolBar(wxTB_FLAT, wxID_ANY); m_mainToolbar->SetToolBitmapSize(wxSize(16,16)); SetName(wxT("MainFrameBaseClass")); SetSizeHints(500,300); if (GetSizer()) { GetSizer()->Fit(this); } if(GetParent()) { CentreOnParent(wxBOTH); } else { CentreOnScreen(wxBOTH); } #if wxVERSION_NUMBER >= 2900 if(!wxPersistenceManager::Get().Find(this)) { wxPersistenceManager::Get().RegisterAndRestore(this); } else { wxPersistenceManager::Get().Restore(this); } #endif // Connect events m_button13->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MainFrameBaseClass::OnBtnSquare), NULL, this); m_button13->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MainFrameBaseClass::OnUpdateSquare), NULL, this); m_button15->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MainFrameBaseClass::OnBtnTriangle), NULL, this); m_button15->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MainFrameBaseClass::OnUpdateTriangle), NULL, this); m_button37->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MainFrameBaseClass::OnBtnStop), NULL, this); this->Connect(m_menuItem7->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnExit), NULL, this); this->Connect(m_menuItem9->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnAbout), NULL, this); }
MainFrameBaseClass::MainFrameBaseClass(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) : wxFrame(parent, id, title, pos, size, style) { if ( !bBitmapLoaded ) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxC9ED9InitBitmapResources(); bBitmapLoaded = true; } // Set icon(s) to the application/dialog wxIconBundle app_icons; { wxBitmap iconBmp = wxXmlResource::Get()->LoadBitmap(wxT("terminal-16")); wxIcon icn; icn.CopyFromBitmap(iconBmp); app_icons.AddIcon( icn ); } { wxBitmap iconBmp = wxXmlResource::Get()->LoadBitmap(wxT("terminal-32")); wxIcon icn; icn.CopyFromBitmap(iconBmp); app_icons.AddIcon( icn ); } SetIcons( app_icons ); wxBoxSizer* boxSizer1 = new wxBoxSizer(wxVERTICAL); this->SetSizer(boxSizer1); m_mainPanel = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(800,600), wxTAB_TRAVERSAL); boxSizer1->Add(m_mainPanel, 1, wxEXPAND, 5); wxBoxSizer* boxSizer11 = new wxBoxSizer(wxVERTICAL); m_mainPanel->SetSizer(boxSizer11); m_auibar17 = new wxAuiToolBar(m_mainPanel, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxAUI_TB_PLAIN_BACKGROUND|wxAUI_TB_DEFAULT_STYLE); m_auibar17->SetToolBitmapSize(wxSize(16,16)); boxSizer11->Add(m_auibar17, 0, wxEXPAND, 5); m_auibar17->AddTool(wxID_CLEAR, _("Clear"), wxXmlResource::Get()->LoadBitmap(wxT("stop")), wxNullBitmap, wxITEM_NORMAL, _("Clear view"), _("Clear view"), NULL); m_auibar17->AddTool(ID_KILL_INFIRIOR, _("Send inferior process signal"), wxXmlResource::Get()->LoadBitmap(wxT("signal")), wxNullBitmap, wxITEM_NORMAL, wxT(""), _("Send inferior process signal"), NULL); wxAuiToolBarItem* m_toolbarItemKillInfiriorProcess = m_auibar17->FindToolByIndex(m_auibar17->GetToolCount()-1); if (m_toolbarItemKillInfiriorProcess) { m_toolbarItemKillInfiriorProcess->SetHasDropDown(true); } m_auibar17->AddTool(ID_SETTINGS, _("Settings..."), wxXmlResource::Get()->LoadBitmap(wxT("settings")), wxNullBitmap, wxITEM_NORMAL, _("Settings..."), _("Settings..."), NULL); m_auibar17->AddTool(wxID_SAVE, _("Save"), wxXmlResource::Get()->LoadBitmap(wxT("save")), wxNullBitmap, wxITEM_NORMAL, _("Save"), _("Save"), NULL); m_auibar17->Realize(); m_stc = new wxStyledTextCtrl(m_mainPanel, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), 0); #ifdef __WXMSW__ // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to wxFONTFAMILY_TELETYPE wxFont m_stcFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_stcFont.SetFamily(wxFONTFAMILY_TELETYPE); #else wxFont m_stcFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT); m_stcFont.SetFamily(wxFONTFAMILY_TELETYPE); #endif m_stc->SetFont(m_stcFont); m_stc->SetFocus(); // Configure the fold margin m_stc->SetMarginType (4, wxSTC_MARGIN_SYMBOL); m_stc->SetMarginMask (4, wxSTC_MASK_FOLDERS); m_stc->SetMarginSensitive(4, true); m_stc->SetMarginWidth (4, 0); // Configure the tracker margin m_stc->SetMarginWidth(1, 0); // Configure the symbol margin m_stc->SetMarginType (2, wxSTC_MARGIN_SYMBOL); m_stc->SetMarginMask (2, ~(wxSTC_MASK_FOLDERS)); m_stc->SetMarginWidth(2, 16); m_stc->SetMarginSensitive(2, true); // Configure the line numbers margin m_stc->SetMarginType(0, wxSTC_MARGIN_NUMBER); m_stc->SetMarginWidth(0,0); // Configure the line symbol margin m_stc->SetMarginType(3, wxSTC_MARGIN_FORE); m_stc->SetMarginMask(3, 0); m_stc->SetMarginWidth(3,0); // Select the lexer m_stc->SetLexer(wxSTC_LEX_NULL); // Set default font / styles m_stc->StyleClearAll(); for(int i=0; i<wxSTC_STYLE_MAX; ++i) { m_stc->StyleSetFont(i, m_stcFont); } m_stc->SetWrapMode(0); m_stc->SetIndentationGuides(0); m_stc->SetKeyWords(0, wxT("")); m_stc->SetKeyWords(1, wxT("")); m_stc->SetKeyWords(2, wxT("")); m_stc->SetKeyWords(3, wxT("")); m_stc->SetKeyWords(4, wxT("")); boxSizer11->Add(m_stc, 1, wxALL|wxEXPAND, 2); m_menuBar = new wxMenuBar(0); this->SetMenuBar(m_menuBar); m_name6 = new wxMenu(); m_menuBar->Append(m_name6, _("File")); m_menuItem7 = new wxMenuItem(m_name6, wxID_EXIT, _("Exit\tAlt-X"), _("Quit"), wxITEM_NORMAL); m_name6->Append(m_menuItem7); m_name8 = new wxMenu(); m_menuBar->Append(m_name8, _("Help")); m_menuItem9 = new wxMenuItem(m_name8, wxID_ABOUT, _("About..."), wxT(""), wxITEM_NORMAL); m_name8->Append(m_menuItem9); m_timerMarker = new wxTimer; m_timerMarker->Start(50, false); SetSizeHints(-1,-1); if ( GetSizer() ) { GetSizer()->Fit(this); } Centre(wxBOTH); // Connect events this->Connect(wxEVT_IDLE, wxIdleEventHandler(MainFrameBaseClass::OnIdle), NULL, this); this->Connect(wxID_CLEAR, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MainFrameBaseClass::OnClearView), NULL, this); this->Connect(wxID_CLEAR, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MainFrameBaseClass::OnClearViewUI), NULL, this); this->Connect(ID_KILL_INFIRIOR, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MainFrameBaseClass::OnTerminateInfirior), NULL, this); this->Connect(ID_KILL_INFIRIOR, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MainFrameBaseClass::OnSignalInferiorUI), NULL, this); this->Connect(ID_KILL_INFIRIOR, wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN, wxAuiToolBarEventHandler(MainFrameBaseClass::OnSignalinferior), NULL, this); this->Connect(ID_SETTINGS, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MainFrameBaseClass::OnSettings), NULL, this); this->Connect(wxID_SAVE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MainFrameBaseClass::OnSaveContent), NULL, this); this->Connect(wxID_SAVE, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MainFrameBaseClass::OnSaveContentUI), NULL, this); m_stc->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(MainFrameBaseClass::OnKeyDown), NULL, this); m_stc->Connect(wxEVT_STC_UPDATEUI, wxStyledTextEventHandler(MainFrameBaseClass::OnStcUpdateUI), NULL, this); this->Connect(m_menuItem7->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnExit), NULL, this); this->Connect(m_menuItem9->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameBaseClass::OnAbout), NULL, this); m_timerMarker->Connect(wxEVT_TIMER, wxTimerEventHandler(MainFrameBaseClass::OnAddMarker), NULL, this); this->Connect(wxID_ANY, wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN, wxAuiToolBarEventHandler(MainFrameBaseClass::ShowAuiToolMenu), NULL, this); }