CToolBar* CToolBar::Load(CMainFrame* pMainFrame) { wxSize iconSize = CThemeProvider::GetIconSize(iconSizeSmall, true); #ifdef __WXMAC__ // OS X only knows two hardcoded toolbar sizes. if (iconSize.x >= 32) { iconSize = wxSize(32, 32); } else { iconSize = wxSize(24, 24); } #endif CToolBar* toolbar = new CToolBar(); toolbar->m_pMainFrame = pMainFrame; int style = wxTB_FLAT | wxTB_HORIZONTAL | wxTB_NODIVIDER; #ifdef __WXMSW__ style |= wxTB_NOICONS; #endif if (!toolbar->Create(pMainFrame, XRCID("ID_TOOLBAR"), wxDefaultPosition, wxDefaultSize, style)) { delete toolbar; return 0; } toolbar->SetToolBitmapSize(iconSize); toolbar->MakeTools(); CContextManager::Get()->RegisterHandler(toolbar, STATECHANGE_REMOTE_IDLE, true); CContextManager::Get()->RegisterHandler(toolbar, STATECHANGE_SERVER, true); CContextManager::Get()->RegisterHandler(toolbar, STATECHANGE_SYNC_BROWSE, true); CContextManager::Get()->RegisterHandler(toolbar, STATECHANGE_COMPARISON, true); CContextManager::Get()->RegisterHandler(toolbar, STATECHANGE_APPLYFILTER, true); CContextManager::Get()->RegisterHandler(toolbar, STATECHANGE_QUEUEPROCESSING, false); CContextManager::Get()->RegisterHandler(toolbar, STATECHANGE_CHANGEDCONTEXT, false); toolbar->RegisterOption(OPTION_SHOW_MESSAGELOG); toolbar->RegisterOption(OPTION_SHOW_QUEUE); toolbar->RegisterOption(OPTION_SHOW_TREE_LOCAL); toolbar->RegisterOption(OPTION_SHOW_TREE_REMOTE); toolbar->RegisterOption(OPTION_MESSAGELOG_POSITION); toolbar->ToggleTool(XRCID("ID_TOOLBAR_FILTER"), CFilterManager::HasActiveFilters()); toolbar->ToggleTool(XRCID("ID_TOOLBAR_LOGVIEW"), COptions::Get()->GetOptionVal(OPTION_SHOW_MESSAGELOG) != 0); toolbar->ToggleTool(XRCID("ID_TOOLBAR_QUEUEVIEW"), COptions::Get()->GetOptionVal(OPTION_SHOW_QUEUE) != 0); toolbar->ToggleTool(XRCID("ID_TOOLBAR_LOCALTREEVIEW"), COptions::Get()->GetOptionVal(OPTION_SHOW_TREE_LOCAL) != 0); toolbar->ToggleTool(XRCID("ID_TOOLBAR_REMOTETREEVIEW"), COptions::Get()->GetOptionVal(OPTION_SHOW_TREE_REMOTE) != 0); pMainFrame->SetToolBar(toolbar); toolbar->Realize(); if (COptions::Get()->GetOptionVal(OPTION_MESSAGELOG_POSITION) == 2) { toolbar->HideTool(XRCID("ID_TOOLBAR_LOGVIEW")); } return toolbar; }
BOOL CCoolBarCtrl::LoadToolBar(UINT nIDToolBar) { CToolBar pToolBar; if ( ! pToolBar.Create( this ) || ! pToolBar.LoadToolBar( nIDToolBar ) ) return FALSE; for ( int i = 0 ; i < pToolBar.GetCount(); i++ ) { UINT nID, nStyle; int nImage; pToolBar.GetButtonInfo( i, nID, nStyle, nImage ); Add( nID ); } return TRUE; }
bool CPromFrame::CreateFileBar(CToolBar& tb, UINT resourceID, const char *title) { if (!tb.Create(this) || !tb.LoadToolBar(resourceID)) { TRACE0("Failed to create toolbar\n"); return false; // fail to create } tb.SetBarStyle(tb.GetBarStyle() | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC); if (title) { tb.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); ShowControlBar(&tb,FALSE,FALSE); DockControlBar(&tb); tb.SetWindowText(title); } return true; }