Пример #1
0
/*****************************************************
**
**   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 ));
}
Пример #2
0
 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));
                
 }
Пример #3
0
void CSplitterCellHistory::Split()
{
    SplitHorizontally(m_pPanelTop,m_pPanelBottom,0);
    SetSashGravity(0.5);
    SetMinimumPaneSize(1);
}
Пример #4
0
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);
}