void wxPanel::DoSetBackgroundBitmap(const wxBitmap& bmp) { m_bitmapBg = bmp; if ( m_bitmapBg.IsOk() ) { Connect(wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(wxPanel::OnEraseBackground)); } else { Disconnect(wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(wxPanel::OnEraseBackground)); } }
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); }
TacticsInstrument::TacticsInstrument(wxWindow *pparent, wxWindowID id, wxString title, int cap_flag) :wxControl(pparent, id, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE) { m_title = title; m_cap_flag = cap_flag; SetBackgroundStyle( wxBG_STYLE_CUSTOM ); SetDrawSoloInPane(false); wxClientDC dc(this); int width; dc.GetTextExtent(m_title, &width, &m_TitleHeight, 0, 0, g_pFontTitle); Connect(wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(TacticsInstrument::OnEraseBackground)); Connect(wxEVT_PAINT, wxPaintEventHandler(TacticsInstrument::OnPaint)); // On OSX, there is an orphan mouse event that comes from the automatic // exEVT_CONTEXT_MENU synthesis on the main wxWindow mouse handler. // The event goes to an instrument window (here) that may have been deleted by the // preferences dialog. Result is NULL deref. // Solution: Handle right-click here, and DO NOT skip() // Strangely, this does not work for GTK... // See: http://trac.wxwidgets.org/ticket/15417 #ifdef __WXOSX__ Connect(wxEVT_RIGHT_DOWN, wxMouseEventHandler(TacticsInstrument::MouseEvent), NULL, this); #endif }
ItemEditorFrameUI::~ItemEditorFrameUI() { // Disconnect Events m_ItemListCtrl->Disconnect( wxEVT_COMMAND_LIST_COL_CLICK, wxListEventHandler( ItemEditorFrameUI::OnItemListColClick ), NULL, this ); m_ItemListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( ItemEditorFrameUI::OnItemListDeselected ), NULL, this ); m_ItemListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, wxListEventHandler( ItemEditorFrameUI::OnItemListRightClick ), NULL, this ); m_ItemListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( ItemEditorFrameUI::OnItemListSelected ), NULL, this ); m_ItemTypeChoice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( ItemEditorFrameUI::OnItemTypeChoice ), NULL, this ); m_NewItemButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnNewItemButton ), NULL, this ); m_ModifyButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnModifyItem ), NULL, this ); m_ItemNameTextCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_ItemNameTextCtrl->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_CDTimeTCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_CDTimeTCtrl->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_BuyCastSpin->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_BuyCastSpin->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_SellCastSpin->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_SellCastSpin->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_MaxSoltNumSpin->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_MaxSoltNumSpin->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_IconCBox->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_AddIconButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnIconClick ), NULL, this ); m_DelIconButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnIconClick ), NULL, this ); m_ModifyIconButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnIconClick ), NULL, this ); m_HelpStrTCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_HelpStrTCtrl->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_PMListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( ItemEditorFrameUI::OnPMListDeselected ), NULL, this ); m_PMListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( ItemEditorFrameUI::OnPMListSelected ), NULL, this ); m_PMAddButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnPMAddClick ), NULL, this ); m_PMRemoveButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnPMRemoveClick ), NULL, this ); m_PMModifyButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnPMModifyClick ), NULL, this ); m_EquipValSpin->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_EquipValSpin->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_EquipSoltChoice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_button17->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnChioceModelClick ), NULL, this ); m_button18->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnModelNameRemove ), NULL, this ); m_ScaleTCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_ScaleTCtrl->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_EditModelCBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnEditModelCheck ), NULL, this ); m_WeaponTypeChoice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_DrawPanel->Disconnect( wxEVT_ERASE_BACKGROUND, wxEraseEventHandler( ItemEditorFrameUI::OnDraw ), NULL, this ); m_DrawPanel->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( ItemEditorFrameUI::OnKeyDown ), NULL, this ); m_DrawPanel->Disconnect( wxEVT_LEFT_DOWN, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Disconnect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Disconnect( wxEVT_MIDDLE_UP, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Disconnect( wxEVT_MOTION, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Disconnect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Disconnect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Disconnect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Disconnect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Disconnect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Disconnect( wxEVT_SIZE, wxSizeEventHandler( ItemEditorFrameUI::OnDrawPanelResize ), NULL, this ); }
wxQTMediaEvtHandler(wxQTMediaBackend *qtb) { m_qtb = qtb; qtb->m_ctrl->Connect( qtb->m_ctrl->GetId(), wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(wxQTMediaEvtHandler::OnEraseBackground), NULL, this); }
gcStaticLine::gcStaticLine(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style) : gcPanel(parent, id, pos, size, style) { Connect( wxEVT_PAINT, wxPaintEventHandler( gcStaticLine::onPaint )); Connect( wxEVT_ERASE_BACKGROUND, wxEraseEventHandler( gcStaticLine::onEraseBG ) ); applyTheme(); m_imgHR = GetGCThemeManager()->getImageHandle("#horizontal_rule"); }
MessagePaneBase::~MessagePaneBase() { this->Disconnect(wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(MessagePaneBase::OnEraseBG), NULL, this); this->Disconnect(wxEVT_PAINT, wxPaintEventHandler(MessagePaneBase::OnPaint), NULL, this); m_buttonClose->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MessagePaneBase::OnButtonClose), NULL, this); m_buttonAction->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MessagePaneBase::OnActionButton), NULL, this); m_buttonAction1->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MessagePaneBase::OnActionButton1), NULL, this); m_buttonAction2->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MessagePaneBase::OnActionButton2), NULL, this); }
gcProgressBar::gcProgressBar( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size) : gcPanel(parent, id, pos, size, wxSIMPLE_BORDER) { SetBackgroundColour( wxColour( 125, 255, 125 ) ); Connect(wxEVT_PAINT, wxPaintEventHandler(gcProgressBar::onPaint)); Connect(wxEVT_ERASE_BACKGROUND, wxEraseEventHandler( gcProgressBar::onEraseBg ) ); m_uiProg = 0; m_imgProg = GetGCThemeManager()->getImageHandle("#progressbar"); }
wxFlatButtonBase::~wxFlatButtonBase() { this->Disconnect(wxEVT_ENTER_WINDOW, wxMouseEventHandler(wxFlatButtonBase::OnEnterWindow), NULL, this); this->Disconnect(wxEVT_LEAVE_WINDOW, wxMouseEventHandler(wxFlatButtonBase::OnLeaveWindow), NULL, this); this->Disconnect(wxEVT_PAINT, wxPaintEventHandler(wxFlatButtonBase::OnPaint), NULL, this); this->Disconnect(wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(wxFlatButtonBase::OnEraseBackground), NULL, this); this->Disconnect(wxEVT_LEFT_DOWN, wxMouseEventHandler(wxFlatButtonBase::OnLeftDown), NULL, this); this->Disconnect(wxEVT_SIZE, wxSizeEventHandler(wxFlatButtonBase::OnSize), NULL, this); this->Disconnect(wxEVT_LEFT_DCLICK, wxMouseEventHandler(wxFlatButtonBase::OnLeftDClick), NULL, this); this->Disconnect(wxEVT_LEFT_UP, wxMouseEventHandler(wxFlatButtonBase::OnLeftUp), NULL, this); }
MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) : wxFrame(NULL, -1, title, pos, size) { wxMenuBar *menuBar = new wxMenuBar; wxMenu *menuFile = new wxMenu; menuFile->Append(wxID_ABOUT, wxT("&About…")); menuFile->Append(wxID_EXIT, wxT("E & xit")); menuBar->Append(menuFile, wxT("&File")); SetMenuBar(menuBar); InitButtons(); m_gdb = new wxTextCtrl(this, wxID_ANY); m_img = new wxTextCtrl(this, wxID_ANY); m_corefile = new wxTextCtrl(this, wxID_ANY); m_coreinfo = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxHSCROLL); m_coreinfo->SetWindowStyle(m_coreinfo->GetWindowStyle() & ~wxTE_DONTWRAP | wxTE_BESTWRAP); wxGridBagSizer *m_fgsizer = new wxGridBagSizer; int row = 0; m_fgsizer->Add(new wxStaticText(this, wxID_ANY, wxEmptyString), wxGBPosition(row,0)); m_fgsizer->Add(m_gdb, wxGBPosition(row,1), wxDefaultSpan, wxGROW); row++; m_fgsizer->Add(m_select_img, wxGBPosition(row,0)); m_fgsizer->Add(m_img, wxGBPosition(row,1), wxDefaultSpan, wxGROW); row++; m_fgsizer->Add(m_select_corefile, wxGBPosition(row,0)); m_fgsizer->Add(m_corefile, wxGBPosition(row,1), wxDefaultSpan, wxGROW); row++; m_fgsizer->Add(m_copy, wxGBPosition(row,0)); m_fgsizer->Add(m_coreinfo, wxGBPosition(row,1), wxGBSpan(3,1), wxGROW); row++; m_fgsizer->Add(m_reset, wxGBPosition(row,0)); m_fgsizer->AddGrowableCol(1); m_fgsizer->AddGrowableRow(row); this->SetSizer(m_fgsizer); Connect(wxID_EXIT, wxEVT_COMMAND_MENU_SELECTED, (wxObjectEventFunction) & MyFrame::OnQuit); Connect(wxID_ABOUT, wxEVT_COMMAND_MENU_SELECTED, (wxObjectEventFunction) & MyFrame::OnAbout); Connect(wxEVT_PAINT, wxPaintEventHandler(MyFrame::OnPaint)); Connect(wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(MyFrame::OnEraseBackground)); char cmdbuf[1024]; sprintf(cmdbuf, "grep so /proc/%d/maps |awk '{print $6}' | uniq", getpid()); libs = (exec_cmd(cmdbuf)); reset(); }
VistaSimpleBase::~VistaSimpleBase() { // Disconnect Events ViewInteractor2D->Disconnect( wxEVT_CHAR, wxKeyEventHandler( VistaSimpleBase::OnChar ), NULL, this ); m_pSliderTimeInstant->Disconnect( wxEVT_ERASE_BACKGROUND, wxEraseEventHandler( VistaSimpleBase::OnEraseBackground ), NULL, this ); m_pSliderTimeInstant->Disconnect( wxEVT_SCROLL_TOP, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); m_pSliderTimeInstant->Disconnect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); m_pSliderTimeInstant->Disconnect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); m_pSliderTimeInstant->Disconnect( wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); m_pSliderTimeInstant->Disconnect( wxEVT_SCROLL_PAGEUP, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); m_pSliderTimeInstant->Disconnect( wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); m_pSliderTimeInstant->Disconnect( wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); m_pSliderTimeInstant->Disconnect( wxEVT_SCROLL_THUMBRELEASE, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); m_pSliderTimeInstant->Disconnect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); }
VistaSimpleBase::VistaSimpleBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style ) { this->SetBackgroundColour( wxColour( 64, 64, 64 ) ); wxBoxSizer* bSizer7; bSizer7 = new wxBoxSizer( wxHORIZONTAL ); ViewInteractor2D = new wxVTKRenderWindowInteractor (this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxWANTS_CHARS | wxFULL_REPAINT_ON_RESIZE, wxT("")); ViewImage2D = vtkSmartPointer<vtkGinkgoImageViewer> ::New(); vtkSmartPointer<vtkRenderer> rend1 = vtkSmartPointer<vtkRenderer>::New(); ViewImage2D->SetRenderWindow ( this->ViewInteractor2D->GetRenderWindow() ); ViewImage2D->SetRenderer (rend1); bSizer7->Add( ViewInteractor2D, 1, wxALL|wxEXPAND, 0 ); m_pSliderTimeInstant = new wxSlider( this, wxID_ANY, 0, 0, 1, wxDefaultPosition, wxDefaultSize, wxSL_AUTOTICKS|wxSL_LEFT|wxSL_VERTICAL ); m_pSliderTimeInstant->SetForegroundColour( wxColour( 64, 64, 64 ) ); m_pSliderTimeInstant->Hide(); bSizer7->Add( m_pSliderTimeInstant, 0, wxEXPAND, 1 ); this->SetSizer( bSizer7 ); this->Layout(); bSizer7->Fit( this ); // Connect Events ViewInteractor2D->Connect( wxEVT_CHAR, wxKeyEventHandler( VistaSimpleBase::OnChar ), NULL, this ); m_pSliderTimeInstant->Connect( wxEVT_ERASE_BACKGROUND, wxEraseEventHandler( VistaSimpleBase::OnEraseBackground ), NULL, this ); m_pSliderTimeInstant->Connect( wxEVT_SCROLL_TOP, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); m_pSliderTimeInstant->Connect( wxEVT_SCROLL_BOTTOM, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); m_pSliderTimeInstant->Connect( wxEVT_SCROLL_LINEUP, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); m_pSliderTimeInstant->Connect( wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); m_pSliderTimeInstant->Connect( wxEVT_SCROLL_PAGEUP, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); m_pSliderTimeInstant->Connect( wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); m_pSliderTimeInstant->Connect( wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); m_pSliderTimeInstant->Connect( wxEVT_SCROLL_THUMBRELEASE, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); m_pSliderTimeInstant->Connect( wxEVT_SCROLL_CHANGED, wxScrollEventHandler( VistaSimpleBase::OnTimeInstantChanged ), NULL, this ); }
DispLoading::DispLoading(wxWindow *parent, wxString text, const wxSize &size) : wxStaticText( parent, wxID_ANY, text) { SetSize(size); SetMinSize(size); wxSize baseSize = wxStaticText::GetSize(); baseSize.x += 25; SetMinSize(baseSize); m_imgHandle = GetGCThemeManager()->getImageHandle("#browser_loading"); #ifdef WIN32 m_imgAnimation = new wxAnimationCtrl( this, wxID_ANY, wxAnimation(), wxPoint(2,0), wxSize( 17,17 ) ); const char* spinImg = GetGCThemeManager()->getImage("browser_loading_spinner"); if (spinImg && UTIL::FS::isValidFile(spinImg)) m_imgAnimation->SetAnimation(wxAnimation(spinImg)); #endif Connect( wxEVT_PAINT, wxPaintEventHandler( DispLoading::onPaint )); Connect( wxEVT_ERASE_BACKGROUND, wxEraseEventHandler( DispLoading::onEraseBG ), nullptr, this); Connect( wxEVT_IDLE, wxIdleEventHandler( DispLoading::onIdle ) ); }
MainFrame_base::MainFrame_base( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style ) { this->SetSizeHints( wxDefaultSize, wxDefaultSize ); this->SetForegroundColour( wxColour( 238, 238, 242 ) ); this->SetBackgroundColour( wxColour( 238, 238, 242 ) ); m_mgr.SetManagedWindow(this); m_mgr.SetFlags(wxAUI_MGR_ALLOW_ACTIVE_PANE|wxAUI_MGR_ALLOW_FLOATING|wxAUI_MGR_HINT_FADE|wxAUI_MGR_LIVE_RESIZE|wxAUI_MGR_NO_VENETIAN_BLINDS_FADE|wxAUI_MGR_TRANSPARENT_DRAG|wxAUI_MGR_TRANSPARENT_HINT); m_statusbar = this->CreateStatusBar( 4, wxST_SIZEGRIP, wxID_ANY ); m_statusbar->SetForegroundColour( wxColour( 238, 238, 242 ) ); m_statusbar->SetBackgroundColour( wxColour( 238, 238, 242 ) ); m_menubar = new wxMenuBar( 0 ); m_file_menu = new wxMenu(); wxMenuItem* m_menu_exit; m_menu_exit = new wxMenuItem( m_file_menu, ID_MENU_EXIT, wxString( wxT("E&xit") ) + wxT('\t') + wxT("Alt+F4"), wxT("Exit the application"), wxITEM_NORMAL ); m_file_menu->Append( m_menu_exit ); m_menubar->Append( m_file_menu, wxT("&File") ); m_process_menu = new wxMenu(); wxMenuItem* m_menu_reconstruct; m_menu_reconstruct = new wxMenuItem( m_process_menu, ID_RECONSTRUCT, wxString( wxT("&Reconstruct") ) + wxT('\t') + wxT("Alt+r"), wxT("Compute 3d geometry from images"), wxITEM_NORMAL ); #ifdef __WXMSW__ m_menu_reconstruct->SetBitmaps( wxIcon("start_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22) ); #elif defined( __WXGTK__ ) m_menu_reconstruct->SetBitmap( wxICON( start_icon ) ); #endif m_process_menu->Append( m_menu_reconstruct ); m_menubar->Append( m_process_menu, wxT("&Process") ); m_view_menu = new wxMenu(); wxMenuItem* m_menu_view_image_browser; m_menu_view_image_browser = new wxMenuItem( m_view_menu, ID_VIEW_IMAGE_BROWSER, wxString( wxT("&Image browser") ) + wxT('\t') + wxT("Alt+i"), wxT("Show image browser window"), wxITEM_NORMAL ); #ifdef __WXMSW__ m_menu_view_image_browser->SetBitmaps( wxIcon("image_browser_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22) ); #elif defined( __WXGTK__ ) m_menu_view_image_browser->SetBitmap( wxICON( image_browser_icon ) ); #endif m_view_menu->Append( m_menu_view_image_browser ); wxMenuItem* m_menu_view_image_preview; m_menu_view_image_preview = new wxMenuItem( m_view_menu, ID_VIEW_IMAGE_PREVIEW, wxString( wxT("Image &preview") ) + wxT('\t') + wxT("Alt+p"), wxT("Show image preview window"), wxITEM_NORMAL ); #ifdef __WXMSW__ m_menu_view_image_preview->SetBitmaps( wxIcon("image_preview_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22) ); #elif defined( __WXGTK__ ) m_menu_view_image_preview->SetBitmap( wxICON( image_preview_icon ) ); #endif m_view_menu->Append( m_menu_view_image_preview ); wxMenuItem* m_menu_view_options; m_menu_view_options = new wxMenuItem( m_view_menu, ID_VIEW_OPTIONS, wxString( wxT("&Options") ) + wxT('\t') + wxT("Alt+o"), wxT("Show options window"), wxITEM_NORMAL ); #ifdef __WXMSW__ m_menu_view_options->SetBitmaps( wxIcon("options_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22) ); #elif defined( __WXGTK__ ) m_menu_view_options->SetBitmap( wxICON( options_icon ) ); #endif m_view_menu->Append( m_menu_view_options ); wxMenuItem* m_menu_view_log; m_menu_view_log = new wxMenuItem( m_view_menu, ID_VIEW_LOG, wxString( wxT("&Log") ) + wxT('\t') + wxT("Alt+l"), wxT("Show log window"), wxITEM_NORMAL ); #ifdef __WXMSW__ m_menu_view_log->SetBitmaps( wxIcon("log_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22) ); #elif defined( __WXGTK__ ) m_menu_view_log->SetBitmap( wxICON( log_icon ) ); #endif m_view_menu->Append( m_menu_view_log ); m_view_menu->AppendSeparator(); wxMenuItem* m_menu_reset_3d_viewport; m_menu_reset_3d_viewport = new wxMenuItem( m_view_menu, ID_RESET_3D_VIEWPORT, wxString( wxT("Reset 3d viewport") ) + wxT('\t') + wxT("Alt+h"), wxT("Reset the 3d viewport"), wxITEM_NORMAL ); #ifdef __WXMSW__ m_menu_reset_3d_viewport->SetBitmaps( wxIcon("home_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22) ); #elif defined( __WXGTK__ ) m_menu_reset_3d_viewport->SetBitmap( wxICON( home_icon ) ); #endif m_view_menu->Append( m_menu_reset_3d_viewport ); wxMenuItem* m_menu_toggle_turntable_animation; m_menu_toggle_turntable_animation = new wxMenuItem( m_view_menu, ID_TOGGLE_TURNTABLE_ANIMATION, wxString( wxT("Tur&ntable") ) + wxT('\t') + wxT("Alt+n"), wxT("Toggle turntable animation"), wxITEM_NORMAL ); #ifdef __WXMSW__ m_menu_toggle_turntable_animation->SetBitmaps( wxIcon("turntable_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22) ); #elif defined( __WXGTK__ ) m_menu_toggle_turntable_animation->SetBitmap( wxICON( turntable_icon ) ); #endif m_view_menu->Append( m_menu_toggle_turntable_animation ); m_view_menu->AppendSeparator(); wxMenuItem* m_menu_toggle_trackball_visibility; m_menu_toggle_trackball_visibility = new wxMenuItem( m_view_menu, ID_TOGGLE_TRACKBALL_VISIBILITY, wxString( wxT("Trackball") ) + wxT('\t') + wxT("Alt+v"), wxT("Toggle trackball visibility"), wxITEM_NORMAL ); #ifdef __WXMSW__ m_menu_toggle_trackball_visibility->SetBitmaps( wxIcon("trackball_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22) ); #elif defined( __WXGTK__ ) m_menu_toggle_trackball_visibility->SetBitmap( wxICON( trackball_icon ) ); #endif m_view_menu->Append( m_menu_toggle_trackball_visibility ); wxMenuItem* m_menu_toggle_grid_visibility; m_menu_toggle_grid_visibility = new wxMenuItem( m_view_menu, ID_TOGGLE_GRID_VISIBILITY, wxString( wxT("&Grid") ) + wxT('\t') + wxT("Alt+g"), wxT("Toggle grid visibility"), wxITEM_NORMAL ); #ifdef __WXMSW__ m_menu_toggle_grid_visibility->SetBitmaps( wxIcon("grid_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22) ); #elif defined( __WXGTK__ ) m_menu_toggle_grid_visibility->SetBitmap( wxICON( grid_icon ) ); #endif m_view_menu->Append( m_menu_toggle_grid_visibility ); wxMenuItem* m_menu_toggle_points_visibility; m_menu_toggle_points_visibility = new wxMenuItem( m_view_menu, ID_TOGGLE_POINTS_VISIBILITY, wxString( wxT("Points") ) , wxT("Toggle points visibility"), wxITEM_NORMAL ); #ifdef __WXMSW__ m_menu_toggle_points_visibility->SetBitmaps( wxIcon("points_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22) ); #elif defined( __WXGTK__ ) m_menu_toggle_points_visibility->SetBitmap( wxICON( points_icon ) ); #endif m_view_menu->Append( m_menu_toggle_points_visibility ); wxMenuItem* m_menu_toggle_cameras_visibility; m_menu_toggle_cameras_visibility = new wxMenuItem( m_view_menu, ID_TOGGLE_CAMERAS_VISIBILITY, wxString( wxT("Cameras") ) , wxT("Toggle cameras visibility"), wxITEM_NORMAL ); #ifdef __WXMSW__ m_menu_toggle_cameras_visibility->SetBitmaps( wxIcon("camera_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22) ); #elif defined( __WXGTK__ ) m_menu_toggle_cameras_visibility->SetBitmap( wxICON( camera_icon ) ); #endif m_view_menu->Append( m_menu_toggle_cameras_visibility ); m_menubar->Append( m_view_menu, wxT("&View") ); m_export_menu = new wxMenu(); wxMenuItem* m_menu_export_tracks; m_menu_export_tracks = new wxMenuItem( m_export_menu, ID_EXPORT_TRACKS, wxString( wxT("Tracks") ) , wxT("Export tracks to textfile"), wxITEM_NORMAL ); m_export_menu->Append( m_menu_export_tracks ); wxMenuItem* m_menu_export_matches; m_menu_export_matches = new wxMenuItem( m_export_menu, ID_EXPORT_MATCHES, wxString( wxT("Matches") ) , wxT("Export matches to textfile"), wxITEM_NORMAL ); m_export_menu->Append( m_menu_export_matches ); m_export_menu->AppendSeparator(); wxMenuItem* m_menu_export_cmvs; m_menu_export_cmvs = new wxMenuItem( m_export_menu, ID_EXPORT_CMVS, wxString( wxT("CMVS") ) , wxT("Export to CMVS"), wxITEM_NORMAL ); m_export_menu->Append( m_menu_export_cmvs ); wxMenuItem* m_menu_export_bundle_file; m_menu_export_bundle_file = new wxMenuItem( m_export_menu, ID_EXPORT_BUNDLE_FILE, wxString( wxT("Bundle file") ) , wxT("Export to bundle.rd.out"), wxITEM_NORMAL ); m_export_menu->Append( m_menu_export_bundle_file ); wxMenuItem* m_menu_export_ply_file; m_menu_export_ply_file = new wxMenuItem( m_export_menu, ID_EXPORT_PLY_FILE, wxString( wxT("Ply file") ) , wxT("Export reconstruction as .ply file"), wxITEM_NORMAL ); m_export_menu->Append( m_menu_export_ply_file ); wxMenuItem* m_menu_export_meshlab_file; m_menu_export_meshlab_file = new wxMenuItem( m_export_menu, ID_EXPORT_MESHLAB_FILE, wxString( wxT("Meshlab file") ) , wxT("Export reconstruction as .mlp file"), wxITEM_NORMAL ); m_export_menu->Append( m_menu_export_meshlab_file ); wxMenuItem* m_menu_export_maya; m_menu_export_maya = new wxMenuItem( m_export_menu, ID_EXPORT_MAYA_FILE, wxString( wxT("Maya file") ) , wxT("Export reconstruction as .ma file"), wxITEM_NORMAL ); m_export_menu->Append( m_menu_export_maya ); m_menubar->Append( m_export_menu, wxT("&Export") ); m_help_menu = new wxMenu(); wxMenuItem* m_menu_about; m_menu_about = new wxMenuItem( m_help_menu, ID_VIEW_ABOUT, wxString( wxT("About RoboStruct...") ) + wxT('\t') + wxT("F1"), wxT("Show info about this application"), wxITEM_NORMAL ); m_help_menu->Append( m_menu_about ); m_menubar->Append( m_help_menu, wxT("&Help") ); this->SetMenuBar( m_menubar ); m_toolbar = new wxAuiToolBar( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_TB_HORZ_LAYOUT|wxNO_BORDER ); m_toolbar->AddTool(ID_RECONSTRUCT, "Reconstruct", wxIcon("start_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22), wxNullBitmap, wxITEM_NORMAL, "Compute 3d geometry from images", "Compute 3d geometry from images", NULL); m_toolbar->AddSeparator(); m_toolbar->AddTool(ID_VIEW_IMAGE_BROWSER, "Browser", wxIcon("image_browser_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22), wxNullBitmap, wxITEM_NORMAL, "Show image browser window", "Show image browser window", NULL); m_toolbar->AddTool(ID_VIEW_IMAGE_PREVIEW, "Preview", wxIcon("image_preview_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22), wxNullBitmap, wxITEM_NORMAL, "Show image preview window", "Show image preview window", NULL); m_toolbar->AddTool(ID_VIEW_OPTIONS, "Options", wxIcon("options_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22), wxNullBitmap, wxITEM_NORMAL, "Show options window", "Show options window", NULL); m_toolbar->AddTool(ID_VIEW_LOG, "Log", wxIcon("log_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22), wxNullBitmap, wxITEM_NORMAL, "Show log window", "Show log window", NULL); m_toolbar->Realize(); m_mgr.AddPane( m_toolbar, wxAuiPaneInfo().Top().CaptionVisible( false ).CloseButton( false ).PaneBorder( false ).Movable( false ).Dock().Resizable().FloatingSize( wxSize( -1,-1 ) ).BottomDockable( false ).TopDockable( false ).LeftDockable( false ).RightDockable( false ).Floatable( false ).Layer( 10 ) ); m_window_viewport = new wxAuiMyNotebook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_NB_TAB_EXTERNAL_MOVE|wxAUI_NB_TAB_SPLIT|wxAUI_NB_BOTTOM|wxNO_BORDER); m_mgr.AddPane(m_window_viewport, wxAuiPaneInfo().CentrePane().Name("Viewport").Caption("Viewport").CaptionVisible(true).MaximizeButton(true).MinimizeButton(false).PinButton(false).CloseButton(false)); m_panel8 = new wxPanel( m_window_viewport, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNO_BORDER|wxTAB_TRAVERSAL ); wxBoxSizer* bSizer8; bSizer8 = new wxBoxSizer( wxHORIZONTAL ); int GLCanvasAttributes[] = {WX_GL_RGBA, 1, WX_GL_DOUBLEBUFFER, 1, WX_GL_SAMPLES, 8, 0}; m_gl_canvas = new wxGLCanvas(m_panel8, -1, GLCanvasAttributes); m_gl_canvas->SetBackgroundColour( wxColour( 238, 238, 242 ) ); bSizer8->Add( m_gl_canvas, 1, wxEXPAND, 5 ); m_toolbar_viewport = new wxAuiToolBar( m_panel8, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_TB_VERTICAL ); m_toolbar_viewport->AddTool(ID_RESET_3D_VIEWPORT, "Reset 3d viewport", wxIcon("home_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22), wxNullBitmap, wxITEM_NORMAL, "Reset the 3d viewport", "Reset the 3d viewport", NULL); m_toolbar_viewport->AddTool(ID_TOGGLE_TURNTABLE_ANIMATION, "Turntable", wxIcon("turntable_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22), wxNullBitmap, wxITEM_NORMAL, "Toggle turntable animation", "Toggle turntable animation", NULL); m_toolbar_viewport->AddTool(ID_TOGGLE_GRID_VISIBILITY, "Grid", wxIcon("grid_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22), wxNullBitmap, wxITEM_NORMAL, "Toggle grid visibility", "Toggle grid visibility", NULL); m_toolbar_viewport->AddTool(ID_TOGGLE_TRACKBALL_VISIBILITY, "Trackball", wxIcon("trackball_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22), wxNullBitmap, wxITEM_NORMAL, "Toggle trackball visibility", "Toggle trackball visibility", NULL); m_toolbar_viewport->AddTool(ID_TOGGLE_POINTS_VISIBILITY, "Points", wxIcon("points_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22), wxNullBitmap, wxITEM_NORMAL, "Toggle points visibility", "Toggle points visibility", NULL); m_toolbar_viewport->AddTool(ID_TOGGLE_CAMERAS_VISIBILITY, "Cameras", wxIcon("camera_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22), wxNullBitmap, wxITEM_NORMAL, "Toggle cameras visibility", "Toggle cameras visibility", NULL); m_toolbar_viewport->Realize(); bSizer8->Add( m_toolbar_viewport, 0, wxEXPAND, 5 ); m_panel8->SetSizer( bSizer8 ); m_panel8->Layout(); bSizer8->Fit( m_panel8 ); m_window_viewport->AddPage( m_panel8, wxT("3d view"), true, wxNullBitmap ); m_pane_matches = new wxPanel( m_window_viewport, ID_PANE_MATCHES, wxDefaultPosition, wxDefaultSize, wxNO_BORDER|wxTAB_TRAVERSAL ); wxBoxSizer* bSizer5; bSizer5 = new wxBoxSizer( wxVERTICAL ); m_pane_matches_view = new wxPanel( m_pane_matches, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNO_BORDER|wxTAB_TRAVERSAL ); m_pane_matches_view->Enable( false ); bSizer5->Add( m_pane_matches_view, 1, wxEXPAND, 5 ); wxBoxSizer* bSizer6; bSizer6 = new wxBoxSizer( wxHORIZONTAL ); m_cb_matches_left = new wxComboBox( m_pane_matches, wxID_ANY, wxT("Combo!"), wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY ); bSizer6->Add( m_cb_matches_left, 1, wxEXPAND|wxALL, 5 ); m_cb_matches_right = new wxComboBox( m_pane_matches, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY ); bSizer6->Add( m_cb_matches_right, 1, wxALL|wxEXPAND, 5 ); bSizer5->Add( bSizer6, 0, wxEXPAND, 5 ); m_pane_matches->SetSizer( bSizer5 ); m_pane_matches->Layout(); bSizer5->Fit( m_pane_matches ); m_window_viewport->AddPage( m_pane_matches, wxT("Matches"), false, wxNullBitmap ); m_window_image_browser = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxSize( 370,200 ), wxTAB_TRAVERSAL ); m_window_image_browser->SetMinSize( wxSize( 370,200 ) ); m_mgr.AddPane( m_window_image_browser, wxAuiPaneInfo() .Name( wxT("Image browser") ).Left() .Caption( wxT("Image browser") ).MaximizeButton( true ).PaneBorder( false ).Dock().Resizable().FloatingSize( wxSize( 386,234 ) ).DockFixed( false ).Layer( 1 ) ); wxBoxSizer* bSizer1; bSizer1 = new wxBoxSizer( wxVERTICAL ); m_dir_picker = new wxDirPickerCtrl( m_window_image_browser, wxID_ANY, wxT("D:\\Reconstruct\\TestData\\"), wxT("Select a folder"), wxDefaultPosition, wxDefaultSize, wxDIRP_DEFAULT_STYLE|wxNO_BORDER ); m_dir_picker->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) ); m_dir_picker->SetBackgroundColour( wxColour( 238, 238, 242 ) ); bSizer1->Add( m_dir_picker, 0, wxEXPAND|wxALL, 5 ); m_img_ctrl = new wxListCtrl( m_window_image_browser, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_SINGLE_SEL|wxLC_VRULES|wxNO_BORDER ); m_img_ctrl->SetBackgroundColour( wxColour( 238, 238, 242 ) ); bSizer1->Add( m_img_ctrl, 1, wxEXPAND, 5 ); m_window_image_browser->SetSizer( bSizer1 ); m_window_image_browser->Layout(); m_window_image_preview = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxSize( 370,200 ), wxNO_BORDER|wxTAB_TRAVERSAL ); m_window_image_preview->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) ); m_window_image_preview->SetBackgroundColour( wxColour( 238, 238, 242 ) ); m_window_image_preview->SetMinSize( wxSize( 370,200 ) ); m_mgr.AddPane( m_window_image_preview, wxAuiPaneInfo() .Name( wxT("Image preview") ).Left() .Caption( wxT("Image preview") ).MaximizeButton( true ).PaneBorder( false ).Dock().Resizable().FloatingSize( wxSize( 386,234 ) ).DockFixed( false ).Layer( 1 ) ); m_window_options = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxSize( 370,200 ), wxNO_BORDER|wxTAB_TRAVERSAL ); m_window_options->SetBackgroundColour( wxColour( 238, 238, 242 ) ); m_window_options->SetMinSize( wxSize( 370,200 ) ); m_mgr.AddPane( m_window_options, wxAuiPaneInfo() .Name( wxT("Options") ).Left() .Caption( wxT("Options") ).MaximizeButton( true ).PaneBorder( false ).Dock().Resizable().FloatingSize( wxSize( 439,316 ) ).DockFixed( false ).Layer( 1 ) ); wxBoxSizer* bSizer2; bSizer2 = new wxBoxSizer( wxVERTICAL ); m_toolbar_options = new wxAuiToolBar( m_window_options, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_TB_HORZ_LAYOUT|wxNO_BORDER ); m_toolbar_options->SetToolBitmapSize( wxSize( 22,22 ) ); m_toolbar_options->SetToolPacking( 2 ); m_toolbar_options->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) ); m_toolbar_options->AddTool(ID_RESET_OPTIONS, wxT("Reset options"), wxIcon("reset_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22), wxNullBitmap, wxITEM_NORMAL, "Reset options", "Reset options", NULL); m_toolbar_options->AddTool(ID_SAVE_OPTIONS, wxT("Save options"), wxIcon("floppy_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22), wxNullBitmap, wxITEM_NORMAL, "Save options", "Save options", NULL); m_toolbar_options->Realize(); bSizer2->Add( m_toolbar_options, 0, wxEXPAND, 5 ); m_pg_options = new wxPropertyGrid(m_window_options, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxPG_BOLD_MODIFIED | wxPG_DEFAULT_STYLE | wxNO_BORDER); m_pg_options->SetBackgroundColour( wxColour( 238, 238, 242 ) ); bSizer2->Add( m_pg_options, 1, wxEXPAND, 5 ); m_window_options->SetSizer( bSizer2 ); m_window_options->Layout(); m_window_log = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxSize( 150,150 ), wxTAB_TRAVERSAL ); m_window_log->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) ); m_window_log->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) ); m_window_log->SetMinSize( wxSize( 150,150 ) ); m_mgr.AddPane( m_window_log, wxAuiPaneInfo() .Name( wxT("Log") ).Bottom() .Caption( wxT("Log") ).MaximizeButton( true ).PaneBorder( false ).Dock().Resizable().FloatingSize( wxSize( 596,244 ) ).DockFixed( false ).Row( 0 ).Layer( 0 ) ); wxBoxSizer* bSizer3; bSizer3 = new wxBoxSizer( wxHORIZONTAL ); m_tc_log = new wxTextCtrl( m_window_log, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_DONTWRAP|wxTE_MULTILINE|wxTE_READONLY|wxNO_BORDER ); m_tc_log->SetMaxLength( 0 ); m_tc_log->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) ); m_tc_log->SetBackgroundColour( wxColour( 245, 245, 245 ) ); bSizer3->Add( m_tc_log, 1, wxEXPAND, 5 ); m_toolbar_log = new wxAuiToolBar( m_window_log, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_TB_VERTICAL|wxNO_BORDER ); m_toolbar_log->SetToolBitmapSize( wxSize( 22,22 ) ); m_toolbar_log->SetToolPacking( 2 ); m_toolbar_log->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) ); m_toolbar_log->AddTool(ID_SAVE_LOG, "Save Log", wxIcon("floppy_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22), wxNullBitmap, wxITEM_NORMAL, "Save the log to a .txt file", "Save the log to a .txt file", NULL); m_toolbar_log->AddTool(ID_CLEAR_LOG, "Clear log", wxIcon("clear_log_icon", wxBITMAP_TYPE_ICO_RESOURCE, 22, 22), wxNullBitmap, wxITEM_NORMAL, "Clear the log window", "Clear the log window", NULL); m_toolbar_log->Realize(); bSizer3->Add( m_toolbar_log, 0, wxEXPAND, 5 ); m_window_log->SetSizer( bSizer3 ); m_window_log->Layout(); m_window_about = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNO_BORDER|wxTAB_TRAVERSAL ); m_mgr.AddPane( m_window_about, wxAuiPaneInfo() .Name( wxT("About") ).Left() .Caption( wxT("About RoboStruct") ).Hide().Float().FloatingPosition( wxPoint( 643,334 ) ).Resizable().FloatingSize( wxSize( 300,300 ) ).DockFixed( false ).BottomDockable( false ).TopDockable( false ).LeftDockable( false ).RightDockable( false ).Floatable( false ) ); wxBoxSizer* bSizer7; bSizer7 = new wxBoxSizer( wxVERTICAL ); m_tc_about = new wxTextCtrl( m_window_about, wxID_ANY, wxT("This is awesome!\nLicense(s)\nIcons (Tango, Crystal project...)\nGLocyte"), wxDefaultPosition, wxDefaultSize, wxTE_CENTRE|wxTE_MULTILINE|wxTE_NO_VSCROLL|wxTE_READONLY|wxNO_BORDER ); m_tc_about->SetMaxLength( 0 ); bSizer7->Add( m_tc_about, 1, wxEXPAND, 5 ); m_window_about->SetSizer( bSizer7 ); m_window_about->Layout(); bSizer7->Fit( m_window_about ); m_mgr.Update(); this->Centre( wxBOTH ); // Connect Events this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame_base::OnUpdateUI ) ); this->Connect( m_menu_exit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnMenuExit ) ); this->Connect( m_menu_reconstruct->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnReconstruct ) ); this->Connect( m_menu_view_image_browser->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Connect( m_menu_view_image_preview->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Connect( m_menu_view_options->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Connect( m_menu_view_log->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Connect( m_menu_reset_3d_viewport->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnReset3dViewport ) ); this->Connect( m_menu_toggle_turntable_animation->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnToggleTurntableAnimation ) ); this->Connect( m_menu_toggle_trackball_visibility->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnToggleVisibility ) ); this->Connect( m_menu_toggle_grid_visibility->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnToggleVisibility ) ); this->Connect( m_menu_toggle_points_visibility->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnToggleVisibility ) ); this->Connect( m_menu_toggle_cameras_visibility->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnToggleVisibility ) ); this->Connect( m_menu_export_tracks->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnExport ) ); this->Connect( m_menu_export_matches->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnExport ) ); this->Connect( m_menu_export_cmvs->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnExport ) ); this->Connect( m_menu_export_bundle_file->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnExport ) ); this->Connect( m_menu_export_ply_file->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnExport ) ); this->Connect( m_menu_export_meshlab_file->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnExport ) ); this->Connect( m_menu_export_maya->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnExport ) ); this->Connect( m_menu_about->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Connect( ID_RECONSTRUCT, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnReconstruct ) ); this->Connect( ID_VIEW_IMAGE_BROWSER, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Connect( ID_VIEW_IMAGE_PREVIEW, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Connect( ID_VIEW_OPTIONS, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Connect( ID_VIEW_LOG, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Connect( ID_RESET_3D_VIEWPORT, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnReset3dViewport ) ); this->Connect( ID_TOGGLE_TURNTABLE_ANIMATION, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnToggleTurntableAnimation ) ); this->Connect( ID_TOGGLE_GRID_VISIBILITY, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnToggleVisibility ) ); this->Connect( ID_TOGGLE_TRACKBALL_VISIBILITY, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnToggleVisibility ) ); this->Connect( ID_TOGGLE_POINTS_VISIBILITY, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnToggleVisibility ) ); this->Connect( ID_TOGGLE_CAMERAS_VISIBILITY, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnToggleVisibility ) ); m_gl_canvas->Connect( wxEVT_ERASE_BACKGROUND, wxEraseEventHandler( MainFrame_base::OnGLCanvasEraseBackground ), NULL, this ); m_gl_canvas->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Connect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Connect( wxEVT_MIDDLE_UP, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Connect( wxEVT_MOTION, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Connect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Connect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Connect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Connect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Connect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Connect( wxEVT_PAINT, wxPaintEventHandler( MainFrame_base::OnGLCanvasPaint ), NULL, this ); m_gl_canvas->Connect( wxEVT_SIZE, wxSizeEventHandler( MainFrame_base::OnGLCanvasSize ), NULL, this ); m_pane_matches_view->Connect( wxEVT_PAINT, wxPaintEventHandler( MainFrame_base::OnMatchesViewPaint ), NULL, this ); m_pane_matches_view->Connect( wxEVT_SIZE, wxSizeEventHandler( MainFrame_base::OnMatchesViewResize ), NULL, this ); m_cb_matches_left->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( MainFrame_base::OnSelectMatchImage ), NULL, this ); m_cb_matches_right->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( MainFrame_base::OnSelectMatchImage ), NULL, this ); m_dir_picker->Connect( wxEVT_COMMAND_DIRPICKER_CHANGED, wxFileDirPickerEventHandler( MainFrame_base::OnSelectDirectory ), NULL, this ); m_img_ctrl->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrame_base::OnSelectPreviewImage ), NULL, this ); m_window_image_preview->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Connect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Connect( wxEVT_MIDDLE_UP, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Connect( wxEVT_MOTION, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Connect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Connect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Connect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Connect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Connect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Connect( wxEVT_PAINT, wxPaintEventHandler( MainFrame_base::OnImagePreviewPaint ), NULL, this ); m_window_image_preview->Connect( wxEVT_SIZE, wxSizeEventHandler( MainFrame_base::OnImagePreviewResize ), NULL, this ); this->Connect( ID_RESET_OPTIONS, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnResetOptions ) ); this->Connect( ID_SAVE_LOG, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnSaveLog ) ); this->Connect( ID_CLEAR_LOG, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnClearLog ) ); }
MainFrame_base::~MainFrame_base() { // Disconnect Events this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( MainFrame_base::OnUpdateUI ) ); this->Disconnect( ID_MENU_EXIT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnMenuExit ) ); this->Disconnect( ID_RECONSTRUCT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnReconstruct ) ); this->Disconnect( ID_VIEW_IMAGE_BROWSER, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Disconnect( ID_VIEW_IMAGE_PREVIEW, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Disconnect( ID_VIEW_OPTIONS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Disconnect( ID_VIEW_LOG, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Disconnect( ID_RESET_3D_VIEWPORT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnReset3dViewport ) ); this->Disconnect( ID_TOGGLE_TURNTABLE_ANIMATION, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnToggleTurntableAnimation ) ); this->Disconnect( ID_TOGGLE_TRACKBALL_VISIBILITY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnToggleVisibility ) ); this->Disconnect( ID_TOGGLE_GRID_VISIBILITY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnToggleVisibility ) ); this->Disconnect( ID_TOGGLE_POINTS_VISIBILITY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnToggleVisibility ) ); this->Disconnect( ID_TOGGLE_CAMERAS_VISIBILITY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnToggleVisibility ) ); this->Disconnect( ID_EXPORT_TRACKS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnExport ) ); this->Disconnect( ID_EXPORT_MATCHES, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnExport ) ); this->Disconnect( ID_EXPORT_CMVS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnExport ) ); this->Disconnect( ID_EXPORT_BUNDLE_FILE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnExport ) ); this->Disconnect( ID_EXPORT_PLY_FILE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnExport ) ); this->Disconnect( ID_EXPORT_MESHLAB_FILE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnExport ) ); this->Disconnect( ID_EXPORT_MAYA_FILE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnExport ) ); this->Disconnect( ID_VIEW_ABOUT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Disconnect( ID_RECONSTRUCT, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnReconstruct ) ); this->Disconnect( ID_VIEW_IMAGE_BROWSER, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Disconnect( ID_VIEW_IMAGE_PREVIEW, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Disconnect( ID_VIEW_OPTIONS, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Disconnect( ID_VIEW_LOG, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnViewWindows ) ); this->Disconnect( ID_RESET_3D_VIEWPORT, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnReset3dViewport ) ); this->Disconnect( ID_TOGGLE_TURNTABLE_ANIMATION, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnToggleTurntableAnimation ) ); this->Disconnect( ID_TOGGLE_GRID_VISIBILITY, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnToggleVisibility ) ); this->Disconnect( ID_TOGGLE_TRACKBALL_VISIBILITY, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnToggleVisibility ) ); this->Disconnect( ID_TOGGLE_POINTS_VISIBILITY, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnToggleVisibility ) ); this->Disconnect( ID_TOGGLE_CAMERAS_VISIBILITY, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnToggleVisibility ) ); m_gl_canvas->Disconnect( wxEVT_ERASE_BACKGROUND, wxEraseEventHandler( MainFrame_base::OnGLCanvasEraseBackground ), NULL, this ); m_gl_canvas->Disconnect( wxEVT_LEFT_DOWN, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Disconnect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Disconnect( wxEVT_MIDDLE_UP, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Disconnect( wxEVT_MOTION, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Disconnect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Disconnect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Disconnect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Disconnect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Disconnect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( MainFrame_base::OnGLCanvasMouse ), NULL, this ); m_gl_canvas->Disconnect( wxEVT_PAINT, wxPaintEventHandler( MainFrame_base::OnGLCanvasPaint ), NULL, this ); m_gl_canvas->Disconnect( wxEVT_SIZE, wxSizeEventHandler( MainFrame_base::OnGLCanvasSize ), NULL, this ); m_pane_matches_view->Disconnect( wxEVT_PAINT, wxPaintEventHandler( MainFrame_base::OnMatchesViewPaint ), NULL, this ); m_pane_matches_view->Disconnect( wxEVT_SIZE, wxSizeEventHandler( MainFrame_base::OnMatchesViewResize ), NULL, this ); m_cb_matches_left->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( MainFrame_base::OnSelectMatchImage ), NULL, this ); m_cb_matches_right->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( MainFrame_base::OnSelectMatchImage ), NULL, this ); m_dir_picker->Disconnect( wxEVT_COMMAND_DIRPICKER_CHANGED, wxFileDirPickerEventHandler( MainFrame_base::OnSelectDirectory ), NULL, this ); m_img_ctrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrame_base::OnSelectPreviewImage ), NULL, this ); m_window_image_preview->Disconnect( wxEVT_LEFT_DOWN, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Disconnect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Disconnect( wxEVT_MIDDLE_UP, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Disconnect( wxEVT_MOTION, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Disconnect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Disconnect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Disconnect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Disconnect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Disconnect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( MainFrame_base::OnImagePreviewMouse ), NULL, this ); m_window_image_preview->Disconnect( wxEVT_PAINT, wxPaintEventHandler( MainFrame_base::OnImagePreviewPaint ), NULL, this ); m_window_image_preview->Disconnect( wxEVT_SIZE, wxSizeEventHandler( MainFrame_base::OnImagePreviewResize ), NULL, this ); this->Disconnect( ID_RESET_OPTIONS, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnResetOptions ) ); this->Disconnect( ID_SAVE_LOG, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnSaveLog ) ); this->Disconnect( ID_CLEAR_LOG, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrame_base::OnClearLog ) ); m_mgr.UnInit(); }
void CCBoxTipWindow::DoInitialize(const wxString& tip, size_t numOfTips, bool simpleTip) { IEditor* editor = ::clGetManager()->GetActiveEditor(); if(editor) { wxColour bgColour = editor->GetSTC()->StyleGetBackground(0); if(!DrawingUtils::IsDark(bgColour)) { m_useLightColours = true; } } m_tip = tip; m_numOfTips = numOfTips; // Invalidate the rectangles m_leftTipRect = wxRect(); m_rightTipRect = wxRect(); if(!simpleTip && m_numOfTips > 1) m_tip.Prepend(wxT("\n\n")); // Make room for the arrows Hide(); wxBitmap bmp(1, 1); wxMemoryDC dc(bmp); wxSize size; m_codeFont = DrawingUtils::GetDefaultFixedFont(); m_commentFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); wxString codePart, commentPart; wxString strippedTip = DoStripMarkups(); size_t from = 0; int hr_count = 0; size_t hrPos = strippedTip.find("<hr>"); while(hrPos != wxString::npos) { ++hr_count; from = hrPos + 4; hrPos = strippedTip.find("<hr>", from); } int where = strippedTip.Find("<hr>"); if(where != wxNOT_FOUND) { codePart = strippedTip.Mid(0, where); commentPart = strippedTip.Mid(where + 5); } else { codePart = strippedTip; } int commentWidth = 0; int codeWidth = 0; // Use bold font for measurements m_codeFont.SetWeight(wxFONTWEIGHT_BOLD); m_commentFont.SetWeight(wxFONTWEIGHT_BOLD); if(!simpleTip) { dc.GetMultiLineTextExtent(codePart, &codeWidth, NULL, NULL, &m_codeFont); dc.GetMultiLineTextExtent(commentPart, &commentWidth, NULL, NULL, &m_commentFont); } else { dc.GetMultiLineTextExtent(strippedTip, &codeWidth, NULL, NULL, &m_commentFont); } m_codeFont.SetWeight(wxFONTWEIGHT_NORMAL); m_commentFont.SetWeight(wxFONTWEIGHT_NORMAL); // Set the width commentWidth > codeWidth ? size.x = commentWidth : size.x = codeWidth; // Shrink the tip m_tip.Replace("\r", ""); while(m_tip.Replace("\n\n", "\n")) { } dc.GetTextExtent(wxT("Tp"), NULL, &m_lineHeight, NULL, NULL, &m_codeFont); int nLineCount = ::wxStringTokenize(m_tip, wxT("\r\n"), wxTOKEN_RET_EMPTY_ALL).GetCount(); size.y = nLineCount * m_lineHeight; size.y += (hr_count * 10) + 10; // each <hr> uses 10 pixels height size.x += 40; SetSize(size); Connect(wxEVT_PAINT, wxPaintEventHandler(CCBoxTipWindow::OnPaint), NULL, this); Connect(wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(CCBoxTipWindow::OnEraseBG), NULL, this); Connect(wxEVT_LEFT_DOWN, wxMouseEventHandler(CCBoxTipWindow::OnMouseLeft), NULL, this); }
ItemEditorFrameUI::ItemEditorFrameUI( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style ) { this->SetSizeHints( wxDefaultSize, wxDefaultSize ); wxBoxSizer* bSizer1; bSizer1 = new wxBoxSizer( wxHORIZONTAL ); m_splitter2 = new wxSplitterWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3D|wxSP_LIVE_UPDATE ); m_splitter2->SetSashGravity( 1 ); m_splitter2->Connect( wxEVT_IDLE, wxIdleEventHandler( ItemEditorFrameUI::m_splitter2OnIdle ), NULL, this ); m_panel6 = new wxPanel( m_splitter2, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxBoxSizer* bSizer21; bSizer21 = new wxBoxSizer( wxVERTICAL ); m_splitter1 = new wxSplitterWindow( m_panel6, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3D|wxSP_LIVE_UPDATE ); m_splitter1->Connect( wxEVT_IDLE, wxIdleEventHandler( ItemEditorFrameUI::m_splitter1OnIdle ), NULL, this ); m_splitter1->SetMinimumPaneSize( 1 ); m_panel4 = new wxPanel( m_splitter1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxBoxSizer* bSizer7; bSizer7 = new wxBoxSizer( wxVERTICAL ); m_ItemListCtrl = new wxListCtrl( m_panel4, ID_ItemListCtrl, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_SINGLE_SEL ); bSizer7->Add( m_ItemListCtrl, 1, wxALL|wxEXPAND, 5 ); wxArrayString m_ItemTypeChoiceChoices; m_ItemTypeChoice = new wxChoice( m_panel4, ID_ItemTypeChoice, wxDefaultPosition, wxDefaultSize, m_ItemTypeChoiceChoices, 0 ); m_ItemTypeChoice->SetSelection( 0 ); bSizer7->Add( m_ItemTypeChoice, 0, wxALL|wxEXPAND, 5 ); wxArrayString m_BoneChoiceChoices; m_BoneChoice = new wxChoice( m_panel4, ID_BoneChoice, wxDefaultPosition, wxDefaultSize, m_BoneChoiceChoices, 0 ); m_BoneChoice->SetSelection( 0 ); bSizer7->Add( m_BoneChoice, 0, wxALL|wxEXPAND, 5 ); wxBoxSizer* bSizer8; bSizer8 = new wxBoxSizer( wxHORIZONTAL ); m_NewItemButton = new wxButton( m_panel4, ID_NewItemButton, wxT("new"), wxDefaultPosition, wxDefaultSize, 0 ); bSizer8->Add( m_NewItemButton, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); m_ModifyButton = new wxButton( m_panel4, ID_ModifyButton, wxT("Modify"), wxDefaultPosition, wxDefaultSize, 0 ); bSizer8->Add( m_ModifyButton, 1, wxALL, 5 ); bSizer7->Add( bSizer8, 0, wxEXPAND, 5 ); m_staticline2 = new wxStaticLine( m_panel4, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); bSizer7->Add( m_staticline2, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_panel4->SetSizer( bSizer7 ); m_panel4->Layout(); bSizer7->Fit( m_panel4 ); m_EditPanel = new wxPanel( m_splitter1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxBoxSizer* bSizer5; bSizer5 = new wxBoxSizer( wxVERTICAL ); wxBoxSizer* bSizer4; bSizer4 = new wxBoxSizer( wxHORIZONTAL ); wxStaticText* m_staticText1; m_staticText1 = new wxStaticText( m_EditPanel, wxID_ANY, wxT("Name"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText1->Wrap( -1 ); bSizer4->Add( m_staticText1, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); m_ItemNameTextCtrl = new wxTextCtrl( m_EditPanel, ID_ItemNameTextCtrl, wxEmptyString, wxDefaultPosition, wxSize( 200,-1 ), wxTE_PROCESS_ENTER ); bSizer4->Add( m_ItemNameTextCtrl, 1, wxALL|wxEXPAND, 5 ); m_staticText12 = new wxStaticText( m_EditPanel, wxID_ANY, wxT("CD time"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText12->Wrap( -1 ); bSizer4->Add( m_staticText12, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); m_CDTimeTCtrl = new wxTextCtrl( m_EditPanel, ID_CDTimeTCtrl, wxEmptyString, wxDefaultPosition, wxSize( 80,-1 ), wxTE_PROCESS_ENTER ); bSizer4->Add( m_CDTimeTCtrl, 0, wxALL, 5 ); bSizer5->Add( bSizer4, 0, wxEXPAND, 5 ); wxBoxSizer* bSizer3; bSizer3 = new wxBoxSizer( wxHORIZONTAL ); wxStaticText* m_staticText4; m_staticText4 = new wxStaticText( m_EditPanel, wxID_ANY, wxT("BuyCast"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText4->Wrap( -1 ); bSizer3->Add( m_staticText4, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_BuyCastSpin = new wxSpinCtrl( m_EditPanel, ID_BuyCastSpin, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 999999, 1 ); bSizer3->Add( m_BuyCastSpin, 1, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 3 ); wxStaticText* m_staticText41; m_staticText41 = new wxStaticText( m_EditPanel, wxID_ANY, wxT("SellCast"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText41->Wrap( -1 ); bSizer3->Add( m_staticText41, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 3 ); m_SellCastSpin = new wxSpinCtrl( m_EditPanel, ID_SellCastSpin, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 999999, 3 ); bSizer3->Add( m_SellCastSpin, 1, wxBOTTOM|wxRIGHT|wxLEFT, 3 ); wxStaticText* m_staticText3; m_staticText3 = new wxStaticText( m_EditPanel, wxID_ANY, wxT("MaxSoltNum"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText3->Wrap( -1 ); bSizer3->Add( m_staticText3, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 3 ); m_MaxSoltNumSpin = new wxSpinCtrl( m_EditPanel, ID_MaxSoltNumSpin, wxEmptyString, wxDefaultPosition, wxSize( 50,-1 ), wxSP_ARROW_KEYS, 0, 255, 0 ); bSizer3->Add( m_MaxSoltNumSpin, 0, wxBOTTOM|wxRIGHT|wxLEFT, 3 ); bSizer5->Add( bSizer3, 0, wxEXPAND, 5 ); wxBoxSizer* bSizer18; bSizer18 = new wxBoxSizer( wxHORIZONTAL ); wxStaticBoxSizer* sbSizer31; sbSizer31 = new wxStaticBoxSizer( new wxStaticBox( m_EditPanel, wxID_ANY, wxT("Icon") ), wxVERTICAL ); m_IconCBox = new wxBitmapComboBox( m_EditPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 100,-1 ), 0, NULL, wxCB_READONLY ); sbSizer31->Add( m_IconCBox, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 ); wxBoxSizer* bSizer17; bSizer17 = new wxBoxSizer( wxHORIZONTAL ); m_AddIconButton = new wxButton( m_EditPanel, ID_AddIconButton, wxT("Add"), wxDefaultPosition, wxSize( 45,-1 ), 0 ); bSizer17->Add( m_AddIconButton, 0, wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 3 ); m_DelIconButton = new wxButton( m_EditPanel, ID_DelIconButton, wxT("Delete"), wxDefaultPosition, wxSize( 45,-1 ), 0 ); bSizer17->Add( m_DelIconButton, 0, wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 3 ); m_ModifyIconButton = new wxButton( m_EditPanel, ID_ModifyIconButton, wxT("Modify"), wxDefaultPosition, wxSize( 45,-1 ), 0 ); bSizer17->Add( m_ModifyIconButton, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 3 ); sbSizer31->Add( bSizer17, 0, wxEXPAND, 5 ); bSizer18->Add( sbSizer31, 0, 0, 5 ); m_HelpStrTCtrl = new wxTextCtrl( m_EditPanel, ID_HelpStrTCtrl, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_LEFT|wxTE_MULTILINE|wxTE_PROCESS_ENTER ); bSizer18->Add( m_HelpStrTCtrl, 1, wxALL|wxEXPAND, 5 ); bSizer5->Add( bSizer18, 0, wxEXPAND, 5 ); wxBoxSizer* bSizer9; bSizer9 = new wxBoxSizer( wxHORIZONTAL ); m_PMListCtrl = new wxListCtrl( m_EditPanel, ID_PMListCtrl, wxDefaultPosition, wxSize( -1,150 ), wxLC_REPORT|wxLC_SINGLE_SEL ); bSizer9->Add( m_PMListCtrl, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxRIGHT|wxLEFT, 5 ); wxBoxSizer* bSizer11; bSizer11 = new wxBoxSizer( wxVERTICAL ); m_PMAddButton = new wxButton( m_EditPanel, ID_PMAddButton, wxT("Add"), wxDefaultPosition, wxDefaultSize, 0 ); bSizer11->Add( m_PMAddButton, 0, wxALL, 3 ); m_PMRemoveButton = new wxButton( m_EditPanel, ID_PMRemoveButton, wxT("Remove"), wxDefaultPosition, wxDefaultSize, 0 ); bSizer11->Add( m_PMRemoveButton, 0, wxALL, 3 ); m_PMModifyButton = new wxButton( m_EditPanel, ID_PMModifyButton, wxT("Edit"), wxDefaultPosition, wxDefaultSize, 0 ); bSizer11->Add( m_PMModifyButton, 0, wxALL, 3 ); bSizer9->Add( bSizer11, 0, wxEXPAND, 5 ); bSizer5->Add( bSizer9, 0, wxEXPAND, 5 ); m_staticline1 = new wxStaticLine( m_EditPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); bSizer5->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 ); m_EquimentPanel = new wxPanel( m_EditPanel, ID_EquimentPanel, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxStaticBoxSizer* sbSizer3; sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( m_EquimentPanel, wxID_ANY, wxT("Equipment") ), wxVERTICAL ); wxBoxSizer* bSizer23; bSizer23 = new wxBoxSizer( wxHORIZONTAL ); wxStaticText* m_staticText9; m_staticText9 = new wxStaticText( m_EquimentPanel, wxID_ANY, wxT("Equip Value"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText9->Wrap( -1 ); bSizer23->Add( m_staticText9, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); m_EquipValSpin = new wxSpinCtrl( m_EquimentPanel, ID_EquipValSpin, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 9999, 2 ); bSizer23->Add( m_EquipValSpin, 0, wxALL, 5 ); wxStaticText* m_staticText10; m_staticText10 = new wxStaticText( m_EquimentPanel, wxID_ANY, wxT("Equip Solt"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText10->Wrap( -1 ); bSizer23->Add( m_staticText10, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); wxArrayString m_EquipSoltChoiceChoices; m_EquipSoltChoice = new wxChoice( m_EquimentPanel, ID_EquipSoltChoice, wxDefaultPosition, wxDefaultSize, m_EquipSoltChoiceChoices, 0 ); m_EquipSoltChoice->SetSelection( 0 ); bSizer23->Add( m_EquipSoltChoice, 1, wxALL|wxEXPAND, 5 ); sbSizer3->Add( bSizer23, 1, wxEXPAND, 5 ); wxBoxSizer* bSizer24; bSizer24 = new wxBoxSizer( wxHORIZONTAL ); wxStaticText* m_staticText131; m_staticText131 = new wxStaticText( m_EquimentPanel, wxID_ANY, wxT("Model Name"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText131->Wrap( -1 ); bSizer24->Add( m_staticText131, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); m_ModelNameTCtrl = new wxTextCtrl( m_EquimentPanel, ID_ModelNameTCtrl, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_LEFT|wxTE_READONLY ); bSizer24->Add( m_ModelNameTCtrl, 0, wxTOP|wxBOTTOM|wxLEFT, 5 ); m_button17 = new wxButton( m_EquimentPanel, wxID_ANY, wxT(".."), wxDefaultPosition, wxSize( 20,-1 ), 0 ); bSizer24->Add( m_button17, 0, wxTOP|wxBOTTOM, 5 ); m_button18 = new wxButton( m_EquimentPanel, wxID_ANY, wxT("D"), wxDefaultPosition, wxSize( 20,-1 ), 0 ); bSizer24->Add( m_button18, 0, wxTOP|wxBOTTOM|wxRIGHT, 5 ); m_staticText16 = new wxStaticText( m_EquimentPanel, wxID_ANY, wxT("Scale"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText16->Wrap( -1 ); bSizer24->Add( m_staticText16, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); m_ScaleTCtrl = new wxTextCtrl( m_EquimentPanel, ID_ScaleTCtrl, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); bSizer24->Add( m_ScaleTCtrl, 0, wxALL, 5 ); m_EditModelCBox = new wxCheckBox( m_EquimentPanel, ID_EditModelCBox, wxT("Edit Model"), wxDefaultPosition, wxDefaultSize, 0 ); bSizer24->Add( m_EditModelCBox, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); sbSizer3->Add( bSizer24, 0, wxEXPAND, 5 ); m_EquimentPanel->SetSizer( sbSizer3 ); m_EquimentPanel->Layout(); sbSizer3->Fit( m_EquimentPanel ); bSizer5->Add( m_EquimentPanel, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); m_WeaponPanel = new wxPanel( m_EditPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxStaticBoxSizer* sbSizer1; sbSizer1 = new wxStaticBoxSizer( new wxStaticBox( m_WeaponPanel, wxID_ANY, wxT("Weapon") ), wxHORIZONTAL ); m_staticText13 = new wxStaticText( m_WeaponPanel, wxID_ANY, wxT("WeaponType"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText13->Wrap( -1 ); sbSizer1->Add( m_staticText13, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); wxArrayString m_WeaponTypeChoiceChoices; m_WeaponTypeChoice = new wxChoice( m_WeaponPanel, ID_WeaponTypeChoice, wxDefaultPosition, wxDefaultSize, m_WeaponTypeChoiceChoices, 0 ); m_WeaponTypeChoice->SetSelection( 0 ); sbSizer1->Add( m_WeaponTypeChoice, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); m_WeaponPanel->SetSizer( sbSizer1 ); m_WeaponPanel->Layout(); sbSizer1->Fit( m_WeaponPanel ); bSizer5->Add( m_WeaponPanel, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); m_EditPanel->SetSizer( bSizer5 ); m_EditPanel->Layout(); bSizer5->Fit( m_EditPanel ); m_splitter1->SplitVertically( m_panel4, m_EditPanel, 0 ); bSizer21->Add( m_splitter1, 1, wxEXPAND, 5 ); m_panel6->SetSizer( bSizer21 ); m_panel6->Layout(); bSizer21->Fit( m_panel6 ); m_DrawPanel = new wxPanel( m_splitter2, ID_DrawPanel, wxDefaultPosition, wxSize( 300,-1 ), wxSTATIC_BORDER|wxTAB_TRAVERSAL ); m_splitter2->SplitVertically( m_panel6, m_DrawPanel, 0 ); bSizer1->Add( m_splitter2, 1, wxEXPAND, 5 ); this->SetSizer( bSizer1 ); this->Layout(); // Connect Events m_ItemListCtrl->Connect( wxEVT_COMMAND_LIST_COL_CLICK, wxListEventHandler( ItemEditorFrameUI::OnItemListColClick ), NULL, this ); m_ItemListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( ItemEditorFrameUI::OnItemListDeselected ), NULL, this ); m_ItemListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, wxListEventHandler( ItemEditorFrameUI::OnItemListRightClick ), NULL, this ); m_ItemListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( ItemEditorFrameUI::OnItemListSelected ), NULL, this ); m_ItemTypeChoice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( ItemEditorFrameUI::OnItemTypeChoice ), NULL, this ); m_NewItemButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnNewItemButton ), NULL, this ); m_ModifyButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnModifyItem ), NULL, this ); m_ItemNameTextCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_ItemNameTextCtrl->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_CDTimeTCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_CDTimeTCtrl->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_BuyCastSpin->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_BuyCastSpin->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_SellCastSpin->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_SellCastSpin->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_MaxSoltNumSpin->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_MaxSoltNumSpin->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_IconCBox->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_AddIconButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnIconClick ), NULL, this ); m_DelIconButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnIconClick ), NULL, this ); m_ModifyIconButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnIconClick ), NULL, this ); m_HelpStrTCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_HelpStrTCtrl->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_PMListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( ItemEditorFrameUI::OnPMListDeselected ), NULL, this ); m_PMListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( ItemEditorFrameUI::OnPMListSelected ), NULL, this ); m_PMAddButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnPMAddClick ), NULL, this ); m_PMRemoveButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnPMRemoveClick ), NULL, this ); m_PMModifyButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnPMModifyClick ), NULL, this ); m_EquipValSpin->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_EquipValSpin->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_EquipSoltChoice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_button17->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnChioceModelClick ), NULL, this ); m_button18->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnModelNameRemove ), NULL, this ); m_ScaleTCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_ScaleTCtrl->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_EditModelCBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( ItemEditorFrameUI::OnEditModelCheck ), NULL, this ); m_WeaponTypeChoice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( ItemEditorFrameUI::OnChangeSetting ), NULL, this ); m_DrawPanel->Connect( wxEVT_ERASE_BACKGROUND, wxEraseEventHandler( ItemEditorFrameUI::OnDraw ), NULL, this ); m_DrawPanel->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( ItemEditorFrameUI::OnKeyDown ), NULL, this ); m_DrawPanel->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Connect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Connect( wxEVT_MIDDLE_UP, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Connect( wxEVT_MOTION, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Connect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Connect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Connect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Connect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Connect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( ItemEditorFrameUI::OnDrawPanelMouse ), NULL, this ); m_DrawPanel->Connect( wxEVT_SIZE, wxSizeEventHandler( ItemEditorFrameUI::OnDrawPanelResize ), NULL, this ); }
void wxTabNavigatorWindow::Create(wxWindow* parent) { long style = 0; if( !wxDialog::Create(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, style) ) return; wxBoxSizer *sz = new wxBoxSizer( wxVERTICAL ); SetSizer( sz ); long flags = wxLB_SINGLE | wxNO_BORDER ; m_listBox = new wxListBox(this, wxID_ANY, wxDefaultPosition, wxSize(300, 200), 0, NULL, flags); static int panelHeight = 0; if( panelHeight == 0 ) { wxMemoryDC mem_dc; // bitmap must be set before it can be used for anything wxBitmap bmp(10, 10); mem_dc.SelectObject(bmp); wxFont font(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); font.SetWeight( wxBOLD ); mem_dc.SetFont(font); int w; mem_dc.GetTextExtent(wxT("Tp"), &w, &panelHeight); panelHeight += 4; // Place a spacer of 2 pixels // Out signpost bitmap is 24 pixels if( panelHeight < 24 ) panelHeight = 24; } m_panel = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxSize(300, panelHeight)); sz->Add( m_panel ); sz->Add( m_listBox, 1, wxEXPAND ); SetSizer( sz ); // Connect events to the list box m_listBox->Connect(wxID_ANY, wxEVT_KEY_UP, wxKeyEventHandler(wxTabNavigatorWindow::OnKeyUp), NULL, this); //Connect(wxEVT_CHAR_HOOK, wxCharEventHandler(wxTabNavigatorWindow::OnKeyUp), NULL, this); m_listBox->Connect(wxID_ANY, wxEVT_NAVIGATION_KEY, wxNavigationKeyEventHandler(wxTabNavigatorWindow::OnNavigationKey), NULL, this); m_listBox->Connect(wxID_ANY, wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler(wxTabNavigatorWindow::OnItemSelected), NULL, this); // Connect paint event to the panel m_panel->Connect(wxID_ANY, wxEVT_PAINT, wxPaintEventHandler(wxTabNavigatorWindow::OnPanelPaint), NULL, this); m_panel->Connect(wxID_ANY, wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(wxTabNavigatorWindow::OnPanelEraseBg), NULL, this); SetBackgroundColour( wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE) ); m_listBox->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE)); PopulateListControl( static_cast<wxFlatNotebook*>( parent ) ); // Create the bitmap, only once if( !m_bmp.Ok() ) { wxImage img(signpost_xpm); img.SetAlpha(signpost_alpha, true); m_bmp = wxBitmap(img); } m_listBox->SetFocus(); }
void CslToolTip::CreateFrame() { CslToolTipEvent event(::wxGetMousePosition()); if (!m_parent->ProcessEvent(event)) return; m_frame=new wxFrame(m_parent,wxID_ANY,wxEmptyString,wxDefaultPosition,wxDefaultSize, wxNO_BORDER|wxFRAME_TOOL_WINDOW|(m_top ? wxSTAY_ON_TOP:wxFRAME_FLOAT_ON_PARENT)); wxStaticText *title=new wxStaticText(m_frame,wxID_ANY,wxEmptyString); wxStaticText *left=new wxStaticText(m_frame,wxID_ANY,wxEmptyString); wxStaticText *right=new wxStaticText(m_frame,wxID_ANY,wxEmptyString); wxBoxSizer *box=new wxBoxSizer(wxVERTICAL); wxFlexGridSizer *grid=new wxFlexGridSizer(1,2,0,0); box->Add(title,0,wxTOP|wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL,6); box->Add(grid,1,wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL,4); grid->Add(left,0,wxEXPAND|wxBOTTOM|wxLEFT,6); grid->Add(right,1,wxEXPAND|wxBOTTOM|wxRIGHT,6); grid->AddGrowableCol(0); grid->AddGrowableCol(1); m_frame->SetSizer(box); wxFont font=title->GetFont(); font.SetWeight(wxFONTWEIGHT_BOLD); left->SetFont(font); title->SetFont(font); #ifdef __WXMSW__ //set the default tooltip bg colour otherwise it's the default window bg colour const wxColour& bg=SYSCOLOUR(wxSYS_COLOUR_INFOBK); left->SetBackgroundColour(bg); right->SetBackgroundColour(bg); title->SetBackgroundColour(bg); #endif wxUint32 i; wxString l,r; event.Title.Replace(wxT("&"),wxT("&&")); for (i=0; i<event.Text.GetCount(); i++) { event.Text.Item(i).Replace(wxT("&"),wxT("&&")); if (i%2==0) l<<wxT("\n")<<event.Text.Item(i); else r<<wxT("\n")<<event.Text.Item(i); } left->SetLabel(l); right->SetLabel(r); title->SetLabel(event.Title); if (event.Title.IsEmpty()) box->Hide(title); { wxClientDC dc(m_frame); wxInt32 gap=dc.GetTextExtent(wxT(" ")).x; grid->SetHGap(m_top ? gap:gap*4); } #ifdef __WXMAC__ { wxClientDC dc(left); const wxSize& size=dc.GetMultiLineTextExtent(l); left->SetClientSize(size); } { wxClientDC dc(right); const wxSize& size=dc.GetMultiLineTextExtent(r); right->SetClientSize(size); } #endif box->Fit(m_frame); RegisterEventsRecursively(wxID_ANY,m_frame,this,wxEVT_LEFT_DOWN, wxMouseEventHandler(CslToolTip::OnMouseButton)); RegisterEventsRecursively(wxID_ANY,m_frame,this,wxEVT_RIGHT_DOWN, wxMouseEventHandler(CslToolTip::OnMouseButton)); RegisterEventsRecursively(wxID_ANY,m_frame,this,wxEVT_MIDDLE_DOWN, wxMouseEventHandler(CslToolTip::OnMouseButton)); RegisterEventsRecursively(wxID_ANY,m_frame,this,wxEVT_MOUSEWHEEL, wxMouseEventHandler(CslToolTip::OnMouseButton)); m_frame->Connect(wxEVT_LEAVE_WINDOW,wxMouseEventHandler(CslToolTip::OnMouseLeave),NULL,this); #ifdef __WXMSW__ m_frame->Connect(wxEVT_ERASE_BACKGROUND,wxEraseEventHandler(CslToolTip::OnEraseBackground),NULL,this); #else m_frame->Connect(wxEVT_PAINT,wxPaintEventHandler(CslToolTip::OnPaint),NULL,this); #endif #ifndef __WXGTK__ // ensure the tip is fully shown on the screen const wxRect& client=m_frame->GetRect(); const wxRect& screen=::wxGetClientDisplayRect(); if (event.Pos.x+client.width>screen.width) event.Pos.x-=(event.Pos.x+client.width-screen.width); if (event.Pos.y+client.height>screen.height) event.Pos.y-=(event.Pos.y+client.height-screen.height); #endif m_frame->Move(event.Pos); m_frame->Show(); if (m_top) m_timer.Start(10000,wxTIMER_ONE_SHOT); }
// ---------------------------------------------------------------------------- void BrowseSelector::Create(wxWindow* parent, BrowseTracker* pBrowseTracker, bool bDirection) // ---------------------------------------------------------------------------- { m_pBrowseTracker = pBrowseTracker; m_bDirection = bDirection; long style = wxWANTS_CHARS; if( !wxScrollingDialog::Create(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, style) ) return; wxBoxSizer *sz = new wxBoxSizer( wxVERTICAL ); SetSizer( sz ); long flags = wxLB_SINGLE | wxNO_BORDER | wxWANTS_CHARS; m_listBox = new wxListBox(this, wxID_ANY, wxDefaultPosition, wxSize(400, 150), 0, NULL, flags); static int panelHeight = 0; if( panelHeight == 0 ) { wxMemoryDC mem_dc; // bitmap must be set before it can be used for anything wxBitmap bmp(10, 10); mem_dc.SelectObject(bmp); wxFont font(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); font.SetWeight( wxFONTWEIGHT_BOLD ); mem_dc.SetFont(font); int w; mem_dc.GetTextExtent(wxT("Tp"), &w, &panelHeight); panelHeight += 4; // Place a spacer of 2 pixels font.SetWeight( wxFONTWEIGHT_NORMAL ); mem_dc.SetFont(font); // Out signpost bitmap is 24 pixels if( panelHeight < 24 ) panelHeight = 24; } m_panel = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxSize(800, panelHeight)); // above panel/banner with set to 800, to allow it to grow sz->Add( m_panel ); sz->Add( m_listBox, 1, wxEXPAND ); SetSizer( sz ); // Connect events to the list box m_listBox->Connect(wxID_ANY, wxEVT_KEY_UP, wxKeyEventHandler(BrowseSelector::OnKeyUp), NULL, this); m_listBox->Connect(wxID_ANY, wxEVT_CHAR, wxKeyEventHandler(BrowseSelector::OnNavigationKey), NULL, this); m_listBox->Connect(wxID_ANY, wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler(BrowseSelector::OnItemSelected), NULL, this); ////m_listBox->Connect(wxID_ANY, wxEVT_NAVIGATION_KEY, wxNavigationKeyEventHandler(BrowseSelector::OnNavigationKey), NULL, this); // Connect paint event to the panel m_panel->Connect(wxID_ANY, wxEVT_PAINT, wxPaintEventHandler(BrowseSelector::OnPanelPaint), NULL, this); m_panel->Connect(wxID_ANY, wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(BrowseSelector::OnPanelEraseBg), NULL, this); SetBackgroundColour( wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE) ); m_listBox->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE)); int logfontsize = Manager::Get()->GetConfigManager(_T("message_manager"))->ReadInt(_T("/log_font_size"), 10); wxFont cbFont = Manager::Get()->GetAppWindow()->GetFont(); cbFont.SetPointSize( logfontsize); //cbFont.SetWeight( wxFONTWEIGHT_BOLD ); // Try using font settings from user editor choices wxString fontstring = Manager::Get()->GetConfigManager(_T("editor"))->Read(_T("/font"), wxEmptyString); if (!fontstring.IsEmpty()) { wxNativeFontInfo nfi; nfi.FromString(fontstring); cbFont.SetNativeFontInfo(nfi); } m_listBox->SetFont(cbFont); // Create the bitmap, only once if( !m_bmp.Ok() ) { wxImage img(signpost_xpm); img.SetAlpha(signpost_alpha, true); m_bmp = wxBitmap(img); } m_listBox->SetFocus(); }
void wxdlg3dViewer::CreateControls() { ////@begin wxdlg3dViewer content construction wxdlg3dViewer* itemDialog1 = this; wxFlexGridSizer* itemFlexGridSizer2 = new wxFlexGridSizer(1, 0, 0, 0); itemFlexGridSizer2->AddGrowableCol(0); itemFlexGridSizer2->AddGrowableCol(1); itemFlexGridSizer2->AddGrowableCol(2); itemFlexGridSizer2->AddGrowableCol(3); itemFlexGridSizer2->AddGrowableCol(4); itemDialog1->SetSizer(itemFlexGridSizer2); wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL); itemFlexGridSizer2->Add(itemBoxSizer3, 0, wxGROW|wxALIGN_TOP|wxALL, 5); wxStaticBox* itemStaticBoxSizer4Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Display optionsss")); wxStaticBoxSizer* itemStaticBoxSizer4 = new wxStaticBoxSizer(itemStaticBoxSizer4Static, wxVERTICAL); itemBoxSizer3->Add(itemStaticBoxSizer4, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); checkMaterialInterpolate = new wxCheckBox( itemDialog1, ID_CheckMaterialInterpolate, _("Material clip interpolation"), wxDefaultPosition, wxDefaultSize, 0 ); checkMaterialInterpolate->SetValue(false); itemStaticBoxSizer4->Add(checkMaterialInterpolate, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); wxCheckBox* itemCheckBox6 = new wxCheckBox( itemDialog1, ID_CHECKBOX1, _("Something else"), wxDefaultPosition, wxDefaultSize, 0 ); itemCheckBox6->SetValue(false); itemStaticBoxSizer4->Add(itemCheckBox6, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); itemBoxSizer3->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); wxFlexGridSizer* itemFlexGridSizer8 = new wxFlexGridSizer(0, 2, 0, 0); itemBoxSizer3->Add(itemFlexGridSizer8, 1, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); panelTexture = new wxWindow( itemDialog1, ID_PanelTexture, wxDefaultPosition, wxSize(64, 64), wxSIMPLE_BORDER ); itemFlexGridSizer8->Add(panelTexture, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); wxStaticText* itemStaticText10 = new wxStaticText( itemDialog1, wxID_STATIC, _("3dviewer is unstable.\ndont use it."), wxDefaultPosition, wxDefaultSize, 0 ); itemFlexGridSizer8->Add(itemStaticText10, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); panelViewport = new wxWindow( itemDialog1, ID_PanelViewport, wxDefaultPosition, wxSize(256, 192), wxSIMPLE_BORDER ); itemFlexGridSizer2->Add(panelViewport, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); wxFlexGridSizer* itemFlexGridSizer12 = new wxFlexGridSizer(3, 1, 0, 0); itemFlexGridSizer12->AddGrowableRow(1); itemFlexGridSizer2->Add(itemFlexGridSizer12, 1, wxALIGN_CENTER_HORIZONTAL|wxGROW|wxALL, 5); wxStaticBox* itemStaticBoxSizer13Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Choose One")); wxStaticBoxSizer* itemStaticBoxSizer13 = new wxStaticBoxSizer(itemStaticBoxSizer13Static, wxVERTICAL); itemFlexGridSizer12->Add(itemStaticBoxSizer13, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_BOTTOM|wxALL, 5); wxRadioButton* itemRadioButton14 = new wxRadioButton( itemDialog1, ID_RADIOBUTTON, _("Final Polylist"), wxDefaultPosition, wxDefaultSize, 0 ); itemRadioButton14->SetValue(true); itemStaticBoxSizer13->Add(itemRadioButton14, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); wxRadioButton* itemRadioButton15 = new wxRadioButton( itemDialog1, ID_RADIOBUTTON1, _("User Polylist"), wxDefaultPosition, wxDefaultSize, 0 ); itemRadioButton15->SetValue(false); itemRadioButton15->Enable(false); itemStaticBoxSizer13->Add(itemRadioButton15, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); wxRadioButton* itemRadioButton16 = new wxRadioButton( itemDialog1, ID_RADIOBUTTON2, _("Display List"), wxDefaultPosition, wxDefaultSize, 0 ); itemRadioButton16->SetValue(false); itemRadioButton16->Enable(false); itemStaticBoxSizer13->Add(itemRadioButton16, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); itemFlexGridSizer12->Add(5, 5, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); wxStaticBox* itemStaticBoxSizer18Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Statistics")); wxStaticBoxSizer* itemStaticBoxSizer18 = new wxStaticBoxSizer(itemStaticBoxSizer18Static, wxVERTICAL); itemFlexGridSizer12->Add(itemStaticBoxSizer18, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5); labelFrameCounter = new wxStaticText( itemDialog1, wxID_STATIC, _("Frame: 9999999"), wxDefaultPosition, wxDefaultSize, 0 ); itemStaticBoxSizer18->Add(labelFrameCounter, 0, wxALIGN_LEFT|wxALL, 1); labelUserPolycount = new wxStaticText( itemDialog1, wxID_STATIC, _("User Polys: 999999"), wxDefaultPosition, wxDefaultSize, 0 ); itemStaticBoxSizer18->Add(labelUserPolycount, 0, wxALIGN_LEFT|wxALL, 1); labelFinalPolycount = new wxStaticText( itemDialog1, wxID_STATIC, _("Final Polys: "), wxDefaultPosition, wxDefaultSize, 0 ); itemStaticBoxSizer18->Add(labelFinalPolycount, 0, wxALIGN_LEFT|wxALL, 1); wxStaticLine* itemStaticLine22 = new wxStaticLine( itemDialog1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); itemFlexGridSizer2->Add(itemStaticLine22, 0, wxALIGN_CENTER_HORIZONTAL|wxGROW|wxALL, 5); listPolys = new wxDesmumeListCtrl( itemDialog1, ID_ListPolys, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_VIRTUAL ); itemFlexGridSizer2->Add(listPolys, 0, wxALIGN_CENTER_HORIZONTAL|wxGROW|wxALL, 5); tree = new wxTreeCtrl( itemDialog1, ID_Tree, wxDefaultPosition, wxSize(99, 99), wxTR_HAS_BUTTONS |wxTR_HIDE_ROOT|wxTR_ROW_LINES|wxTR_SINGLE ); itemFlexGridSizer2->Add(tree, 0, wxALIGN_CENTER_HORIZONTAL|wxGROW|wxALL, 5); // Connect events and objects panelTexture->Connect(ID_PanelTexture, wxEVT_PAINT, wxPaintEventHandler(wxdlg3dViewer::OnPaintPanelTexture), NULL, this); panelTexture->Connect(ID_PanelTexture, wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(wxdlg3dViewer::OnDoNotEraseBackground), NULL, this); panelViewport->Connect(ID_PanelViewport, wxEVT_PAINT, wxPaintEventHandler(wxdlg3dViewer::OnPanelPaint), NULL, this); panelViewport->Connect(ID_PanelViewport, wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(wxdlg3dViewer::OnDoNotEraseBackground), NULL, this); ////@end wxdlg3dViewer content construction }
void CCBoxTipWindow::DoInitialize(const wxString& tip, size_t numOfTips, bool simpleTip) { m_tip = tip; m_numOfTips = numOfTips; //Invalidate the rectangles m_leftTipRect = wxRect(); m_rightTipRect = wxRect(); if ( !simpleTip && m_numOfTips > 1 ) m_tip.Prepend(wxT("\n\n")); // Make room for the arrows Hide(); wxBitmap bmp(1, 1); wxMemoryDC dc(bmp); wxSize size; LexerConfPtr cppLex = EditorConfigST::Get()->GetLexer("C++"); if ( cppLex ) { // use the lexer default font m_codeFont = cppLex->GetFontForSyle(0); } else { m_codeFont = wxFont(10, wxFONTFAMILY_MODERN, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL); } m_commentFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); wxString codePart, commentPart; wxString strippedTip = DoStripMarkups(); size_t from = 0; int hr_count = 0; size_t hrPos = strippedTip.find("<hr>"); while ( hrPos != wxString::npos ) { ++hr_count; from = hrPos + 4; hrPos = strippedTip.find("<hr>", from); } int where= strippedTip.Find("<hr>"); if ( where != wxNOT_FOUND ) { codePart = strippedTip.Mid(0, where); commentPart = strippedTip.Mid(where + 5); } else { codePart = strippedTip; } int commentWidth = 0; int codeWidth = 0; // Use bold font for measurements m_codeFont.SetWeight(wxFONTWEIGHT_BOLD); m_commentFont.SetWeight(wxFONTWEIGHT_BOLD); if ( !simpleTip ) { dc.GetMultiLineTextExtent(codePart, &codeWidth, NULL, NULL, &m_codeFont); dc.GetMultiLineTextExtent(commentPart, &commentWidth, NULL, NULL, &m_commentFont); } else { dc.GetMultiLineTextExtent(strippedTip, &codeWidth, NULL, NULL, &m_commentFont); } m_codeFont.SetWeight(wxFONTWEIGHT_NORMAL); m_commentFont.SetWeight(wxFONTWEIGHT_NORMAL); // Set the width commentWidth > codeWidth ? size.x = commentWidth : size.x = codeWidth; dc.GetTextExtent(wxT("Tp"), NULL, &m_lineHeight, NULL, NULL, &m_codeFont); int nLineCount = ::wxStringTokenize(m_tip, wxT("\r\n"), wxTOKEN_RET_EMPTY_ALL).GetCount(); size.y = nLineCount * m_lineHeight; size.y += (hr_count * 10) + 10; // each <hr> uses 10 pixels height size.x += 40; SetSize(size); Connect(wxEVT_PAINT, wxPaintEventHandler(CCBoxTipWindow::OnPaint), NULL, this); Connect(wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(CCBoxTipWindow::OnEraseBG), NULL, this); Connect(wxEVT_LEFT_DOWN, wxMouseEventHandler(CCBoxTipWindow::OnMouseLeft), NULL, this); }
MessagePaneBase::MessagePaneBase(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); wxC2A73InitBitmapResources(); bBitmapLoaded = true; } wxBoxSizer* bSizer8 = new wxBoxSizer(wxVERTICAL); this->SetSizer(bSizer8); m_panel2 = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxTAB_TRAVERSAL|wxBORDER_SIMPLE); m_panel2->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOBK)); bSizer8->Add(m_panel2, 1, wxEXPAND, 0); wxBoxSizer* mainSizer = new wxBoxSizer(wxHORIZONTAL); m_panel2->SetSizer(mainSizer); wxBoxSizer* bSizer81 = new wxBoxSizer(wxHORIZONTAL); mainSizer->Add(bSizer81, 1, wxALIGN_CENTER_VERTICAL, 5); wxBoxSizer* bSizer4 = new wxBoxSizer(wxHORIZONTAL); bSizer81->Add(bSizer4, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5); m_bitmap1 = new wxStaticBitmap(m_panel2, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(48,48), 0 ); bSizer4->Add(m_bitmap1, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5); m_panel1 = new wxPanel(m_panel2, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxWANTS_CHARS|wxTAB_TRAVERSAL); m_panel1->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOBK)); bSizer4->Add(m_panel1, 1, wxALL|wxEXPAND, 5); wxBoxSizer* bSizer2 = new wxBoxSizer(wxHORIZONTAL); m_panel1->SetSizer(bSizer2); wxBoxSizer* bSizer3 = new wxBoxSizer(wxVERTICAL); bSizer2->Add(bSizer3, 1, wxALIGN_CENTER_VERTICAL, 5); m_staticText2 = new wxStaticText(m_panel1, wxID_ANY, _("Message:"), wxDefaultPosition, wxSize(-1, -1), 0); m_staticText2->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOBK)); m_staticText2->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOTEXT)); bSizer3->Add(m_staticText2, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5); m_staticTextMessage = new wxStaticText(m_panel1, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0); m_staticTextMessage->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOBK)); m_staticTextMessage->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOTEXT)); bSizer3->Add(m_staticTextMessage, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5); m_DontAnnoyMeCheck = new wxCheckBox(m_panel1, wxID_ANY, _("Remember my answer and don't annoy me again!"), wxDefaultPosition, wxSize(-1, -1), 0); m_DontAnnoyMeCheck->SetValue(false); m_DontAnnoyMeCheck->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOBK)); m_DontAnnoyMeCheck->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOTEXT)); m_DontAnnoyMeCheck->SetToolTip(_("If you don't want to be spammed by this message again, tick the box. You can change your mind in Settings > Global Editor Preferences > Dialogs")); bSizer3->Add(m_DontAnnoyMeCheck, 0, wxALL, 5); wxBoxSizer* bSizer7 = new wxBoxSizer(wxVERTICAL); bSizer4->Add(bSizer7, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5); m_buttonClose = new wxButton(m_panel2, wxID_CANCEL, _("Hide"), wxDefaultPosition, wxSize(-1, -1), 0); bSizer7->Add(m_buttonClose, 0, wxALL|wxEXPAND, 5); m_buttonAction = new wxButton(m_panel2, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0); m_buttonAction->SetDefault(); bSizer7->Add(m_buttonAction, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5); m_buttonAction1 = new wxButton(m_panel2, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0); bSizer7->Add(m_buttonAction1, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5); m_buttonAction2 = new wxButton(m_panel2, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0); bSizer7->Add(m_buttonAction2, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5); SetSizeHints(-1,-1); if ( GetSizer() ) { GetSizer()->Fit(this); } Centre(wxBOTH); // Connect events this->Connect(wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(MessagePaneBase::OnEraseBG), NULL, this); this->Connect(wxEVT_PAINT, wxPaintEventHandler(MessagePaneBase::OnPaint), NULL, this); m_buttonClose->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MessagePaneBase::OnButtonClose), NULL, this); m_buttonAction->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MessagePaneBase::OnActionButton), NULL, this); m_buttonAction1->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MessagePaneBase::OnActionButton1), NULL, this); m_buttonAction2->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MessagePaneBase::OnActionButton2), NULL, this); }