Exemple #1
0
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);
    
}
Exemple #3
0
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 );
	
}
Exemple #5
0
    wxQTMediaEvtHandler(wxQTMediaBackend *qtb)
    {
        m_qtb = qtb;

        qtb->m_ctrl->Connect(
            qtb->m_ctrl->GetId(), wxEVT_ERASE_BACKGROUND,
            wxEraseEventHandler(wxQTMediaEvtHandler::OnEraseBackground),
            NULL, this);
    }
Exemple #6
0
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);
    
}
Exemple #10
0
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 );
}
Exemple #13
0
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 ) );
}
Exemple #14
0
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 ) );
}
Exemple #15
0
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 );
}
Exemple #18
0
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
}
Exemple #22
0
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);
    
}