/***************************************************** ** ** SplitterWidget --- Constructor ** ******************************************************/ SplitterWidget::SplitterWidget( wxWindow *parent, const wxWindowID id, const wxPoint &pos, const wxSize size, long style ) : wxSplitterWindow( parent, id, pos, size, style ) { SetMinimumPaneSize( 50 ); // GTK needs evt_right_down, not needed on windows //Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( SplitterWidget::onMouseRight )); //Connect( wxEVT_COMMAND_SPLITTER_DOUBLECLICKED, wxSplitterEventHandler( SplitterWidget::OnSplitterDoubleClick )); //Connect( wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, wxSplitterEventHandler( SplitterWidget::OnSplitterSashPosChanged )); //Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( SplitterWidget::OnKeyDown )); //Connect( wxEVT_SET_FOCUS, wxFocusEventHandler( SplitterWidget::OnSetFocus )); }
ExpandoSplitter(wxWindow* parent, wxWindowID id, const wxPoint& point = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style=wxSP_3D, const wxString& name = L"splitterWindow") : wxSplitterWindow(parent, id, point, size, style, name){ resizing = false; SetSashGravity(1); SetMinimumPaneSize(10); Connect(wxEVT_ETC_LAYOUT_NEEDED, wxCommandEventHandler(ExpandoSplitter::OnExpandEvent)); Connect(wxEVT_LEFT_DOWN, wxCommandEventHandler(ExpandoSplitter::OnSplitterStart)); Connect(wxEVT_LEFT_UP, wxCommandEventHandler(ExpandoSplitter::OnSplitterSet)); }
void CSplitterCellHistory::Split() { SplitHorizontally(m_pPanelTop,m_pPanelBottom,0); SetSashGravity(0.5); SetMinimumPaneSize(1); }
CTimeBarFrame::CTimeBarFrame(wxWindow *parent) : wxSplitterWindow(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3D | wxSP_LIVE_UPDATE | wxCLIP_CHILDREN) , m_iCellWidth(CELLWIDTH) , m_iCellHeight(CELLHIGHT) , m_pItemTreeCtrl(nullptr) , m_pBeginDragData(nullptr) , m_pEndDragData(nullptr) , m_pChoice(nullptr) , m_uMaxFrameIndex(0) , m_bEnableDrag(false) , m_bEnableFramePanel(true) , m_nFps(60) , m_nIntervalMS(0) , m_nPlayType(0) , m_bPlaying(false) , m_bQuit(false) { m_nIntervalMS = 1000 / 60; SetMinimumPaneSize(150); SetSashGravity(0.1); m_nCursorPos = 0; m_pFrame = parent; wxBoxSizer* rightpanelsizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer* righttopsizer = new wxBoxSizer(wxHORIZONTAL); wxBoxSizer* leftpanelsizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer* leftdownsizer = new wxBoxSizer(wxHORIZONTAL); wxPanel* rightpanelbase = new wxPanel(this); wxPanel* leftpanelbase = new wxPanel(this); wxPanel* pSpacePanel = new wxPanel(rightpanelbase, wxID_ANY, wxDefaultPosition, wxSize(DEFAULTSCROLLBARWIDTH, SCALEBARHIGHT)); pSpacePanel->SetMinSize(wxSize(DEFAULTSCROLLBARWIDTH, SCALEBARHIGHT)); m_pChoice = new wxChoice(leftpanelbase, wxID_ANY); m_pChoice->Hide(); m_pButtonAdd = new wxButton(leftpanelbase, wxID_ANY, "+"); m_pButtonDelete = new wxButton(leftpanelbase, wxID_ANY, "-"); m_pFPSSettingBtn = new wxButton(leftpanelbase, wxID_ANY, wxString::Format(_T("%d"), 60)); m_pPlayBtn = new wxButton(leftpanelbase, wxID_ANY, "|>"); m_pPlayTypeBtn = new wxButton(leftpanelbase, wxID_ANY, wxString::Format(_T("%d"), 0)); m_pItemTreeCtrl = new CScrollableTreeCtrl(leftpanelbase, wxID_ANY); m_pItemTreeCtrl->AddRoot(wxT("Root"), -1, -1, new CTimeBarFrameData()); m_pItemTreeCtrl->AlwaysShowScrollbars(); m_pScalebar = new CTimeBarScale(rightpanelbase); m_pFrameContainer = new CTimeBarItemContainer(rightpanelbase); m_pScalebar->SetTimeBarFrameWindow(this); m_pFrameContainer->SetTimeBarFrameWindow(this); m_pFrameContainer->SetCellWidth(m_iCellWidth); m_pFrameContainer->SetCellHeight(m_iCellHeight); wxSize size(BUTTONSIZE, BUTTONSIZE); m_pButtonAdd->SetMinSize(size); m_pButtonDelete->SetMinSize(size); m_pFPSSettingBtn->SetMinSize(size); m_pPlayBtn->SetMinSize(size); m_pPlayTypeBtn->SetMinSize(size); SplitVertically(leftpanelbase, rightpanelbase, SASHPOSITION); rightpanelbase->SetSizer(rightpanelsizer); leftpanelbase->SetSizer(leftpanelsizer); rightpanelsizer->Add(righttopsizer, 0, wxGROW | wxALL, 0); righttopsizer->Add(m_pScalebar, 1, wxGROW | wxALL, 0); righttopsizer->Add(pSpacePanel, 0, wxGROW | wxALL, 0); rightpanelsizer->Add(m_pFrameContainer, 1, wxGROW | wxALL, 0); rightpanelsizer->AddSpacer(HEIGHTADJUST); leftpanelsizer->Add(leftdownsizer, 0, wxGROW | wxALL, 0); leftpanelsizer->Add(m_pItemTreeCtrl, 1, wxGROW | wxALL, 0); leftdownsizer->Add(m_pButtonAdd, 0, wxGROW | wxALL, 0); leftdownsizer->Add(m_pButtonDelete, 0, wxGROW | wxALL, 0); leftdownsizer->Add(m_pFPSSettingBtn, 0, wxGROW | wxALL, 0); leftdownsizer->Add(m_pPlayBtn, 0, wxGROW | wxALL, 0); leftdownsizer->Add(m_pPlayTypeBtn, 0, wxGROW | wxALL, 0); leftdownsizer->AddStretchSpacer(1); leftdownsizer->Add(m_pChoice, 0, wxGROW | wxALL, 0); leftdownsizer->AddStretchSpacer(1); m_pFrameContainer->SyncWith(NULL, m_pScalebar); m_pItemTreeCtrl->SetSyncScrollWindow(m_pFrameContainer); SetFocus(); m_pButtonAdd->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CTimeBarFrame::OnAddBtnClicked), NULL, this); m_pButtonDelete->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CTimeBarFrame::OnMinusBtnClicked), NULL, this); m_pFPSSettingBtn->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CTimeBarFrame::OnFpsSettingBtnClicked), NULL, this); m_pPlayBtn->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CTimeBarFrame::OnPlayBtnClicked), NULL, this); m_pPlayTypeBtn->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CTimeBarFrame::OnPlayTypeBtnClicked), NULL, this); }