本文整理汇总了C++中DockablePane类的典型用法代码示例。如果您正苦于以下问题:C++ DockablePane类的具体用法?C++ DockablePane怎么用?C++ DockablePane使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了DockablePane类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DockablePane
void ZoomNavigator::DoInitialize()
{
znConfigItem data;
if ( m_config->ReadItem( &data ) ) {
m_enabled = data.IsEnabled();
}
// create tab (possibly detached)
Notebook *book = m_mgr->GetWorkspacePaneNotebook();
if( IsZoomPaneDetached() ) {
// Make the window child of the main panel (which is the grand parent of the notebook)
DockablePane *cp = new DockablePane(book->GetParent()->GetParent(), book, ZOOM_PANE_TITLE, wxNullBitmap, wxSize(200, 200));
zoompane = new wxPanel( cp );
cp->SetChildNoReparent(zoompane);
} else {
zoompane = new wxPanel( book );
book->AddPage( zoompane, ZOOM_PANE_TITLE, false);
}
m_text = new ZoomText( zoompane );
m_text->Connect(wxEVT_LEFT_DOWN, wxMouseEventHandler(ZoomNavigator::OnPreviewClicked), NULL, this);
m_text->Connect(wxEVT_LEFT_DCLICK, wxMouseEventHandler(ZoomNavigator::OnPreviewClicked), NULL, this);
m_text->SetCursor(wxCURSOR_POINT_LEFT);
wxBoxSizer* bs = new wxBoxSizer( wxVERTICAL );
bs->Add( m_text, 1, wxEXPAND, 0 );
wxCheckBox* cbEnablePlugin = new wxCheckBox(zoompane, wxID_ANY, _("Enable plugin"));
cbEnablePlugin->SetValue( data.IsEnabled() );
bs->Add( cbEnablePlugin, 0, wxEXPAND);
cbEnablePlugin->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ZoomNavigator::OnEnablePlugin), NULL, this);
zoompane->SetSizer( bs );
}
示例2: IPlugin
SymbolViewPlugin::SymbolViewPlugin(IManager* manager)
: IPlugin(manager)
{
m_longName = _("Outline Plugin");
m_shortName = wxT("Outline");
OutlineSettings os;
os.Load();
Notebook* book = m_mgr->GetWorkspacePaneNotebook();
if(IsPaneDetached()) {
// Make the window child of the main panel (which is the grand parent of the notebook)
DockablePane* cp =
new DockablePane(book->GetParent()->GetParent(), book, _("Outline"), false, wxNullBitmap, wxSize(200, 200));
m_view = new OutlineTab(cp, m_mgr);
cp->SetChildNoReparent(m_view);
m_view->m_isEnabled = true; // Enabled when detached
} else {
m_view = new OutlineTab(book, m_mgr);
book->AddPage(m_view, _("Outline"), false);
}
EventNotifier::Get()->Bind(wxEVT_SHOW_WORKSPACE_TAB, &SymbolViewPlugin::OnToggleTab, this);
m_mgr->AddWorkspaceTab(_("Outline"));
m_mgr->GetWorkspacePaneNotebook()->Bind(wxEVT_BOOK_PAGE_CHANGED, &SymbolViewPlugin::OnPageChanged, this);
}
示例3: IPlugin
DatabaseExplorer::DatabaseExplorer(IManager* manager)
: IPlugin(manager)
{
// create tab (possibly detached)
Notebook* book = m_mgr->GetWorkspacePaneNotebook();
wxWindow* editorBook = m_mgr->GetEditorPaneNotebook();
EventNotifier::Get()->Connect(wxEVT_TREE_ITEM_FILE_ACTIVATED,
clCommandEventHandler(DatabaseExplorer::OnOpenWithDBE), NULL, this);
EventNotifier::Get()->Bind(wxEVT_SHOW_WORKSPACE_TAB, &DatabaseExplorer::OnToggleTab, this);
if(IsDbViewDetached()) {
DockablePane* cp = new DockablePane(book->GetParent()->GetParent(), book, _("DbExplorer"), false, wxNullBitmap,
wxSize(200, 200));
m_dbViewerPanel = new DbViewerPanel(cp, editorBook, m_mgr);
cp->SetChildNoReparent(m_dbViewerPanel);
} else {
m_dbViewerPanel = new DbViewerPanel(book, editorBook, m_mgr);
// size_t index = GetSettings().GetSvnTabIndex();
// if(index == Notebook::npos)
book->AddPage(m_dbViewerPanel, _("DbExplorer"), false);
// else
// book->InsertPage(index, m_dbViewerPanel, svnCONSOLE_TEXT, false);
}
m_mgr->AddWorkspaceTab(_("DbExplorer"));
// configure autolayout algorithns
wxSFAutoLayout layout;
wxSFLayoutHorizontalTree* pHTreeAlg =
wxDynamicCast(layout.GetAlgorithm(wxT("Horizontal Tree")), wxSFLayoutHorizontalTree);
if(pHTreeAlg) pHTreeAlg->SetHSpace(200);
wxSFLayoutVerticalTree* pVTreeAlg =
wxDynamicCast(layout.GetAlgorithm(wxT("Vertical Tree")), wxSFLayoutVerticalTree);
if(pVTreeAlg) pVTreeAlg->SetVSpace(75);
m_longName = _("DatabaseExplorer for CodeLite");
m_shortName = wxT("DatabaseExplorer");
clKeyboardManager::Get()->AddGlobalAccelerator("wxEVT_EXECUTE_SQL", "Ctrl-J", _("Execute SQL"));
wxTheApp->Bind(wxEVT_MENU, &DatabaseExplorer::OnExecuteSQL, this, XRCID("wxEVT_EXECUTE_SQL"));
}
示例4: IPlugin
CMakePlugin::CMakePlugin(IManager* manager)
: IPlugin(manager)
, m_configuration(NULL)
, m_cmake(NULL)
, m_settingsManager(new CMakeSettingsManager(this))
, m_panel(NULL)
{
m_longName = _("CMake integration with CodeLite");
m_shortName = "CMakePlugin";
// Create CMake configuration file
m_configuration.reset(new CMakeConfiguration(clStandardPaths::Get().GetUserDataDir() +
wxFileName::GetPathSeparator() + "config/cmake.ini"));
// Create cmake application
m_cmake.reset(new CMake(m_configuration->GetProgramPath()));
Notebook* book = m_mgr->GetWorkspacePaneNotebook();
cmakeImages images;
const wxBitmap& bmp = images.Bitmap("cmake_16");
if(IsPaneDetached()) {
DockablePane* cp = new DockablePane(book->GetParent()->GetParent(), book, HELP_TAB_NAME, bmp, wxSize(200, 200));
m_helpTab = new CMakeHelpTab(cp, this);
cp->SetChildNoReparent(m_helpTab);
} else {
m_helpTab = new CMakeHelpTab(book, this);
book->AddPage(m_helpTab, HELP_TAB_NAME, false, bmp);
m_mgr->AddWorkspaceTab(HELP_TAB_NAME);
}
// Bind events
EventNotifier::Get()->Bind(
wxEVT_CMD_PROJ_SETTINGS_SAVED, clProjectSettingsEventHandler(CMakePlugin::OnSaveConfig), this);
EventNotifier::Get()->Bind(wxEVT_GET_PROJECT_BUILD_CMD, clBuildEventHandler(CMakePlugin::OnGetBuildCommand), this);
EventNotifier::Get()->Bind(wxEVT_GET_PROJECT_CLEAN_CMD, clBuildEventHandler(CMakePlugin::OnGetCleanCommand), this);
EventNotifier::Get()->Bind(
wxEVT_GET_IS_PLUGIN_MAKEFILE, clBuildEventHandler(CMakePlugin::OnGetIsPluginMakefile), this);
EventNotifier::Get()->Bind(wxEVT_PLUGIN_EXPORT_MAKEFILE, clBuildEventHandler(CMakePlugin::OnExportMakefile), this);
EventNotifier::Get()->Bind(wxEVT_WORKSPACE_LOADED, wxCommandEventHandler(CMakePlugin::OnWorkspaceLoaded), this);
EventNotifier::Get()->Bind(wxEVT_SHOW_WORKSPACE_TAB, &CMakePlugin::OnToggleHelpTab, this);
}
示例5: IPlugin
SymbolViewPlugin::SymbolViewPlugin(IManager *manager)
: IPlugin(manager)
{
m_longName = _("Outline Plugin");
m_shortName = wxT("Outline");
OutlineSettings os;
os.Load();
Notebook *book = m_mgr->GetWorkspacePaneNotebook();
if( IsPaneDetached() ) {
// Make the window child of the main panel (which is the grand parent of the notebook)
DockablePane *cp = new DockablePane(book->GetParent()->GetParent(), book, _("Outline"), wxNullBitmap, wxSize(200, 200));
m_view = new OutlineTab(cp, m_mgr);
cp->SetChildNoReparent(m_view);
} else {
m_view = new OutlineTab(book, m_mgr);
book->AddPage(m_view, _("Outline"), false);
}
}
示例6: IPlugin
DatabaseExplorer::DatabaseExplorer(IManager *manager)
: IPlugin(manager)
, m_addFileMenu(true) {
// create tab (possibly detached)
Notebook *book = m_mgr->GetWorkspacePaneNotebook();
wxWindow *editorBook = m_mgr->GetEditorPaneNotebook();
m_mgr->GetTheApp()->Connect(XRCID("erd_open"), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(DatabaseExplorer::OnOpenWithDBE), NULL, this);
m_mgr->GetTheApp()->Connect(XRCID("erd_open"), wxEVT_UPDATE_UI, wxUpdateUIEventHandler(DatabaseExplorer::OnUpdateOpenWithDBE), NULL, this);
EventNotifier::Get()->Connect(wxEVT_TREE_ITEM_FILE_ACTIVATED, wxCommandEventHandler(DatabaseExplorer::OnOpenWithDBE), NULL, this);
if( IsDbViewDetached() ) {
DockablePane *cp = new DockablePane(book->GetParent()->GetParent(), book, wxT("DbExplorer"), wxNullBitmap, wxSize(200, 200));
m_dbViewerPanel = new DbViewerPanel(cp, editorBook, m_mgr );
cp->SetChildNoReparent(m_dbViewerPanel);
} else {
m_dbViewerPanel = new DbViewerPanel(book, editorBook, m_mgr );
//size_t index = GetSettings().GetSvnTabIndex();
//if(index == Notebook::npos)
book->AddPage(m_dbViewerPanel, wxT("DbExplorer"), false);
//else
// book->InsertPage(index, m_dbViewerPanel, svnCONSOLE_TEXT, false);
}
// configure autolayout algorithns
wxSFAutoLayout layout;
wxSFLayoutHorizontalTree *pHTreeAlg = wxDynamicCast( layout.GetAlgorithm( wxT("Horizontal Tree") ), wxSFLayoutHorizontalTree );
if( pHTreeAlg ) pHTreeAlg->SetHSpace( 200 );
wxSFLayoutVerticalTree *pVTreeAlg = wxDynamicCast( layout.GetAlgorithm( wxT("Vertical Tree") ), wxSFLayoutVerticalTree );
if( pVTreeAlg ) pVTreeAlg->SetVSpace( 75 );
m_longName = _("DatabaseExplorer for CodeLite");
m_shortName = wxT("DatabaseExplorer");
}
示例7: IPlugin
CMakePlugin::CMakePlugin(IManager* manager)
: IPlugin(manager)
, m_configuration(NULL)
, m_cmake(NULL)
{
m_longName = _("CMake integration with CodeLite");
m_shortName = "CMakePlugin";
// Create CMake configuration file
m_configuration.reset(new CMakeConfiguration(
clStandardPaths::Get().GetUserDataDir() + wxFileName::GetPathSeparator() + "config/cmake.ini"));
// Create cmake application
m_cmake.reset(new CMake(m_configuration->GetProgramPath()));
Notebook* book = m_mgr->GetWorkspacePaneNotebook();
cmakeImages images;
const wxBitmap& bmp = images.Bitmap("cmake_16");
if(IsPaneDetached()) {
DockablePane* cp =
new DockablePane(book->GetParent()->GetParent(), book, HELP_TAB_NAME, false, bmp, wxSize(200, 200));
m_helpTab = new CMakeHelpTab(cp, this);
cp->SetChildNoReparent(m_helpTab);
} else {
m_helpTab = new CMakeHelpTab(book, this);
book->AddPage(m_helpTab, HELP_TAB_NAME, false, bmp);
m_mgr->AddWorkspaceTab(HELP_TAB_NAME);
}
// Bind events
EventNotifier::Get()->Bind(wxEVT_SHOW_WORKSPACE_TAB, &CMakePlugin::OnToggleHelpTab, this);
EventNotifier::Get()->Bind(wxEVT_CONTEXT_MENU_PROJECT, &CMakePlugin::OnProjectContextMenu, this);
EventNotifier::Get()->Bind(wxEVT_CONTEXT_MENU_WORKSPACE, &CMakePlugin::OnWorkspaceContextMenu, this);
EventNotifier::Get()->Bind(wxEVT_PROJ_FILE_ADDED, &CMakePlugin::OnFileAdded, this);
EventNotifier::Get()->Bind(wxEVT_PROJ_FILE_REMOVED, &CMakePlugin::OnFileRemoved, this);
Bind(wxEVT_ASYNC_PROCESS_OUTPUT, &CMakePlugin::OnCMakeOutput, this);
Bind(wxEVT_ASYNC_PROCESS_TERMINATED, &CMakePlugin::OnCMakeTerminated, this);
}
示例8: wxBoxSizer
void DebuggerPane::CreateGUIControls()
{
wxBoxSizer* mainSizer = new wxBoxSizer(wxVERTICAL);
SetSizer(mainSizer);
long style = (kNotebook_Default | kNotebook_AllowDnD);
if(!EditorConfigST::Get()->GetOptions()->GetWorkspaceTabsDirection()) {
style |= kNotebook_BottomTabs;
}
if(EditorConfigST::Get()->GetOptions()->IsTabColourDark()) {
style &= ~kNotebook_LightTabs;
style |= kNotebook_DarkTabs;
}
if(EditorConfigST::Get()->GetOptions()->IsMouseScrollSwitchTabs()) {
style |= kNotebook_MouseScrollSwitchTabs;
}
style |= kNotebook_UnderlineActiveTab;
GeneralImages img;
m_book = new Notebook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, style);
mainSizer->Add(m_book, 1, wxEXPAND | wxALL, 0);
// Calculate the widthest tab (the one with the 'Call Stack' label)
int xx, yy;
wxFont fnt = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
wxWindow::GetTextExtent(_("Breakpoints"), &xx, &yy, NULL, NULL, &fnt);
// load list of detached panes
wxArrayString detachedPanes;
DetachedPanesInfo dpi;
EditorConfigST::Get()->ReadObject(wxT("DetachedPanesList"), &dpi);
detachedPanes = dpi.GetPanes();
wxString name;
wxBitmap bmp;
name = wxGetTranslation(LOCALS);
bmp = wxXmlResource::Get()->LoadBitmap(wxT("locals_view"));
// Add the 'Locals View'
if(IS_DETACHED(name)) {
DockablePane* cp = new DockablePane(GetParent(), m_book, name, false, bmp, wxSize(200, 200));
m_localsTable = new LocalsTable(cp);
cp->SetChildNoReparent(m_localsTable);
} else {
m_localsTable = new LocalsTable(m_book);
m_book->AddPage(m_localsTable, name, false, bmp);
}
// Add the 'watches View'
name = wxGetTranslation(WATCHES);
bmp = wxXmlResource::Get()->LoadBitmap(wxT("watches"));
if(IS_DETACHED(name)) {
DockablePane* cp = new DockablePane(GetParent(), m_book, name, false, bmp, wxSize(200, 200));
m_watchesTable = new WatchesTable(cp);
cp->SetChildNoReparent(m_watchesTable);
} else {
m_watchesTable = new WatchesTable(m_book);
m_book->AddPage(m_watchesTable, name, false, bmp);
}
// Add the 'ASCII Viewer'
name = wxGetTranslation(ASCII_VIEWER);
bmp = wxXmlResource::Get()->LoadBitmap(wxT("text_view"));
if(IS_DETACHED(name)) {
DockablePane* cp = new DockablePane(GetParent(), m_book, name, false, bmp, wxSize(200, 200));
m_asciiViewer = new DebuggerAsciiViewer(cp);
cp->SetChildNoReparent(m_asciiViewer);
} else {
m_asciiViewer = new DebuggerAsciiViewer(m_book);
m_book->AddPage(m_asciiViewer, name, false, bmp);
}
// Add the 'Call Stack'
name = wxGetTranslation(FRAMES);
bmp = wxXmlResource::Get()->LoadBitmap(wxT("frames"));
if(IS_DETACHED(name)) {
DockablePane* cp = new DockablePane(GetParent(), m_book, name, false, bmp, wxSize(200, 200));
m_frameList = new DebuggerCallstackView(cp);
cp->SetChildNoReparent(m_frameList);
} else {
m_frameList = new DebuggerCallstackView(m_book);
m_book->AddPage(m_frameList, name, false, bmp);
}
// Add the 'Breakpoints'
name = wxGetTranslation(BREAKPOINTS);
bmp = wxXmlResource::Get()->LoadBitmap(wxT("breakpoint"));
if(IS_DETACHED(name)) {
DockablePane* cp = new DockablePane(GetParent(), m_book, name, false, bmp, wxSize(200, 200));
m_breakpoints = new BreakpointDlg(cp);
cp->SetChildNoReparent(m_breakpoints);
} else {
m_breakpoints = new BreakpointDlg(m_book);
m_book->AddPage(m_breakpoints, name, false, bmp);
}
//.........这里部分代码省略.........
示例9: wxBoxSizer
void WorkspacePane::CreateGUIControls()
{
wxBoxSizer* mainSizer = new wxBoxSizer(wxVERTICAL);
SetSizer(mainSizer);
// add notebook for tabs
#ifdef __WXOSX__
long style = (kNotebook_Default | kNotebook_AllowDnD | kNotebook_LeftTabs);
#else
long style = (kNotebook_Default | kNotebook_AllowDnD);
#endif
if(EditorConfigST::Get()->GetOptions()->IsTabColourDark()) {
style &= ~kNotebook_LightTabs;
style |= kNotebook_DarkTabs;
}
style |= kNotebook_UnderlineActiveTab;
if(EditorConfigST::Get()->GetOptions()->IsMouseScrollSwitchTabs()) {
style |= kNotebook_MouseScrollSwitchTabs;
}
m_book = new Notebook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, style);
m_book->SetTabDirection(EditorConfigST::Get()->GetOptions()->GetWorkspaceTabsDirection());
m_book->SetArt(GetNotebookRenderer());
// Calculate the widest tab (the one with the 'Workspace' label)
int xx, yy;
wxFont fnt = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
wxWindow::GetTextExtent(_("Workspace"), &xx, &yy, NULL, NULL, &fnt);
mainSizer->Add(m_book, 1, wxEXPAND | wxALL, 0);
// Add the parsing progress controls
m_staticText = new wxStaticText(this, wxID_ANY, _("Parsing workspace..."));
mainSizer->Add(m_staticText, 0, wxEXPAND | wxALL, 2);
m_parsingProgress =
new wxGauge(this, wxID_ANY, 100, wxDefaultPosition, wxSize(-1, 15), wxGA_HORIZONTAL | wxGA_SMOOTH);
mainSizer->Add(m_parsingProgress, 0, wxEXPAND | wxALL, 1);
m_parsingProgress->Hide();
m_staticText->Hide();
// create tabs (possibly detached)
DetachedPanesInfo dpi;
EditorConfigST::Get()->ReadObject(wxT("DetachedPanesList"), &dpi);
wxArrayString detachedPanes;
detachedPanes = dpi.GetPanes();
// Add the workspace tab
wxString name;
// the IManager instance
IManager* mgr = PluginManager::Get();
name = _("Workspace");
if(IS_DETACHED(name)) {
DockablePane* cp = new DockablePane(GetParent(), m_book, name, false, wxNullBitmap, wxSize(200, 200));
m_workspaceTab = new WorkspaceTab(cp, name);
cp->SetChildNoReparent(m_workspaceTab);
} else {
m_workspaceTab = new WorkspaceTab(m_book, name);
m_book->AddPage(m_workspaceTab, name, true, wxNullBitmap);
}
m_tabs.insert(std::make_pair(name, Tab(name, m_workspaceTab)));
mgr->AddWorkspaceTab(name);
// Add the explorer tab
name = _("Explorer");
if(IS_DETACHED(name)) {
DockablePane* cp = new DockablePane(GetParent(), m_book, name, false, wxNullBitmap, wxSize(200, 200));
m_explorer = new FileExplorer(cp, name);
cp->SetChildNoReparent(m_explorer);
} else {
m_explorer = new FileExplorer(m_book, name);
m_book->AddPage(m_explorer, name, false);
}
m_tabs.insert(std::make_pair(name, Tab(name, m_explorer)));
mgr->AddWorkspaceTab(name);
// Add the "File Explorer" view to the list of files managed by the workspace-view
m_workspaceTab->GetView()->AddPage(m_explorer, _("File Explorer"), false);
// Add the Open Windows Panel (Tabs)
#ifndef __WXOSX__
name = _("Tabs");
if(IS_DETACHED(name)) {
DockablePane* cp = new DockablePane(GetParent(), m_book, name, false, wxNullBitmap, wxSize(200, 200));
m_openWindowsPane = new OpenWindowsPanel(cp, name);
cp->SetChildNoReparent(m_openWindowsPane);
} else {
m_openWindowsPane = new OpenWindowsPanel(m_book, name);
m_book->AddPage(m_openWindowsPane, name, false);
}
m_tabs.insert(std::make_pair(name, Tab(name, m_openWindowsPane)));
mgr->AddWorkspaceTab(name);
#endif
// Add the Tabgroups tab
name = _("Tabgroups");
if(IS_DETACHED(name)) {
DockablePane* cp = new DockablePane(GetParent(), m_book, name, false, wxNullBitmap, wxSize(200, 200));
//.........这里部分代码省略.........
示例10: IPlugin
PhpPlugin::PhpPlugin(IManager* manager)
: IPlugin(manager)
, m_clangOldFlag(false)
, m_browser(NULL)
, m_debuggerPane(NULL)
, m_xdebugLocalsView(NULL)
, m_xdebugEvalPane(NULL)
, m_showWelcomePage(false)
{
m_longName = wxT("PHP Plugin for the codelite IDE");
m_shortName = wxT("PHP");
// Instantiate the bitmaps, we do this so they will be populated in wxXmlResource
// Sigleton class
PHPImages images;
PHPWorkspace::Get()->SetPluginManager(m_mgr);
XDebugManager::Initialize(this);
// Add our UI
// create tab (possibly detached)
Notebook* book = m_mgr->GetWorkspacePaneNotebook();
if(IsWorkspaceViewDetached()) {
// Make the window child of the main panel (which is the grand parent of the notebook)
DockablePane* cp = new DockablePane(
book->GetParent()->GetParent(), book, PHPStrings::PHP_WORKSPACE_VIEW_TITLE, wxNullBitmap, wxSize(200, 200));
m_workspaceView = new PHPWorkspaceView(cp, m_mgr);
cp->SetChildNoReparent(m_workspaceView);
} else {
m_workspaceView = new PHPWorkspaceView(book, m_mgr);
book->InsertPage(0, m_workspaceView, PHPStrings::PHP_WORKSPACE_VIEW_TITLE, true);
}
PHPCodeCompletion::Instance()->SetManager(m_mgr);
PHPEditorContextMenu::Instance()->ConnectEvents();
PHPParserThread::Instance()->Start();
// Pass the manager class to the context menu manager
PHPEditorContextMenu::Instance()->SetManager(m_mgr);
// Connect events
EventNotifier::Get()->Connect(
wxEVT_CC_SHOW_QUICK_OUTLINE, clCodeCompletionEventHandler(PhpPlugin::OnShowQuickOutline), NULL, this);
EventNotifier::Get()->Connect(
wxEVT_DBG_UI_DELTE_ALL_BREAKPOINTS, clDebugEventHandler(PhpPlugin::OnXDebugDeleteAllBreakpoints), NULL, this);
EventNotifier::Get()->Connect(
wxEVT_CMD_CREATE_NEW_WORKSPACE, wxCommandEventHandler(PhpPlugin::OnNewWorkspace), NULL, this);
EventNotifier::Get()->Connect(
wxEVT_NEW_PROJECT_WIZARD_SHOWING, clNewProjectEventHandler(PhpPlugin::OnNewProject), NULL, this);
EventNotifier::Get()->Connect(
wxEVT_NEW_PROJECT_WIZARD_FINISHED, clNewProjectEventHandler(PhpPlugin::OnNewProjectFinish), NULL, this);
EventNotifier::Get()->Connect(
wxEVT_CMD_IS_WORKSPACE_OPEN, clCommandEventHandler(PhpPlugin::OnIsWorkspaceOpen), NULL, this);
EventNotifier::Get()->Connect(
wxEVT_CMD_CLOSE_WORKSPACE, clCommandEventHandler(PhpPlugin::OnCloseWorkspace), NULL, this);
EventNotifier::Get()->Connect(
wxEVT_CMD_OPEN_WORKSPACE, clCommandEventHandler(PhpPlugin::OnOpenWorkspace), NULL, this);
EventNotifier::Get()->Connect(
wxEVT_CMD_RELOAD_WORKSPACE, clCommandEventHandler(PhpPlugin::OnReloadWorkspace), NULL, this);
EventNotifier::Get()->Connect(
wxEVT_CMD_OPEN_RESOURCE, wxCommandEventHandler(PhpPlugin::OnOpenResource), NULL, this);
EventNotifier::Get()->Connect(
wxEVT_CMD_GET_WORKSPACE_FILES, wxCommandEventHandler(PhpPlugin::OnGetWorkspaceFiles), NULL, this);
EventNotifier::Get()->Connect(wxEVT_CMD_GET_CURRENT_FILE_PROJECT_FILES,
wxCommandEventHandler(PhpPlugin::OnGetCurrentFileProjectFiles),
NULL,
this);
EventNotifier::Get()->Connect(
wxEVT_CMD_GET_ACTIVE_PROJECT_FILES, wxCommandEventHandler(PhpPlugin::OnGetActiveProjectFiles), NULL, this);
EventNotifier::Get()->Connect(
wxEVT_CMD_GET_FIND_IN_FILES_MASK, clCommandEventHandler(PhpPlugin::OnGetFiFMask), NULL, this);
EventNotifier::Get()->Connect(wxEVT_FILE_SAVED, clCommandEventHandler(PhpPlugin::OnFileSaved), NULL, this);
EventNotifier::Get()->Connect(wxEVT_PHP_LOAD_URL, PHPEventHandler(PhpPlugin::OnLoadURL), NULL, this);
EventNotifier::Get()->Connect(
wxEVT_ALL_EDITORS_CLOSED, wxCommandEventHandler(PhpPlugin::OnAllEditorsClosed), NULL, this);
EventNotifier::Get()->Bind(wxEVT_XDEBUG_CONNECTED, &PhpPlugin::OnDebugSatrted, this);
EventNotifier::Get()->Bind(wxEVT_XDEBUG_SESSION_ENDED, &PhpPlugin::OnDebugEnded, this);
EventNotifier::Get()->Connect(wxEVT_GOING_DOWN, clCommandEventHandler(PhpPlugin::OnGoingDown), NULL, this);
CallAfter(&PhpPlugin::DoCreateDebuggerPanes);
// Extract all CC files from PHP.zip into the folder ~/.codelite/php-plugin/cc
wxFileName phpResources(clStandardPaths::Get().GetDataDir(), "PHP.zip");
if(phpResources.Exists()) {
clZipReader zipReader(phpResources);
wxFileName targetDir(clStandardPaths::Get().GetUserDataDir(), "");
targetDir.AppendDir("php-plugin");
// Don't extract the zip if one of the files on disk is newer or equal to the zip timestamp
wxFileName fnSampleFile(targetDir.GetPath(), "basic.php");
fnSampleFile.AppendDir("cc");
if(!fnSampleFile.Exists() || // the sample file does not exists
// Or the resource file (PHP.zip) is newer than the sample file
(phpResources.GetModificationTime().GetTicks() > fnSampleFile.GetModificationTime().GetTicks())) {
targetDir.Mkdir(wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL);
zipReader.Extract("*", targetDir.GetPath());
//.........这里部分代码省略.........
示例11: wxBoxSizer
void WorkspacePane::CreateGUIControls()
{
wxBoxSizer *mainSizer = new wxBoxSizer(wxVERTICAL);
SetSizer(mainSizer);
// add notebook for tabs
long bookStyle = wxVB_LEFT | wxAUI_NB_WINDOWLIST_BUTTON;
m_book = new Notebook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, bookStyle);
// Calculate the widest tab (the one with the 'Workspace' label)
int xx, yy;
wxFont fnt = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
wxWindow::GetTextExtent(_("Workspace"), &xx, &yy, NULL, NULL, &fnt);
mainSizer->Add(m_book, 1, wxEXPAND | wxALL, 0);
// Add the parsing progress controls
m_staticText = new wxStaticText(this, wxID_ANY, _("Parsing workspace..."));
mainSizer->Add(m_staticText, 0, wxEXPAND|wxALL, 2);
m_parsingProgress = new wxGauge(this, wxID_ANY, 100, wxDefaultPosition, wxSize(-1, 15), wxGA_HORIZONTAL|wxGA_SMOOTH);
mainSizer->Add(m_parsingProgress, 0, wxEXPAND|wxALL, 1);
m_parsingProgress->Hide();
m_staticText->Hide();
// create tabs (possibly detached)
DetachedPanesInfo dpi;
EditorConfigST::Get()->ReadObject(wxT("DetachedPanesList"), &dpi);
wxArrayString detachedPanes;
detachedPanes = dpi.GetPanes();
// Add the workspace tab
wxString name;
name = _("Workspace");
if(IS_DETACHED(name)) {
DockablePane *cp = new DockablePane(GetParent(), m_book, name, wxNullBitmap, wxSize(200, 200));
m_workspaceTab = new WorkspaceTab(cp, name);
cp->SetChildNoReparent(m_workspaceTab);
} else {
m_workspaceTab = new WorkspaceTab(m_book, name);
m_book->AddPage(m_workspaceTab, name, true, wxNullBitmap);
}
// Add the explorer tab
name = _("Explorer");
if(IS_DETACHED(name)) {
DockablePane *cp = new DockablePane(GetParent(), m_book, name, wxNullBitmap, wxSize(200, 200));
m_explorer = new FileExplorer(cp, name);
cp->SetChildNoReparent(m_explorer);
} else {
m_explorer = new FileExplorer(m_book, name);
m_book->AddPage(m_explorer, name, false);
}
// Add the Open Windows Panel (Tabs)
name = _("Tabs");
if(IS_DETACHED(name)) {
DockablePane *cp = new DockablePane(GetParent(), m_book, name, wxNullBitmap, wxSize(200, 200));
m_openWindowsPane = new OpenWindowsPanel(cp, name);
cp->SetChildNoReparent(m_openWindowsPane);
} else {
m_openWindowsPane = new OpenWindowsPanel(m_book, name);
m_book->AddPage(m_openWindowsPane, name, false);
}
// Add the Tabgroups tab
name = _("Tabgroups");
if(IS_DETACHED(name)) {
DockablePane *cp = new DockablePane(GetParent(), m_book, name, wxNullBitmap, wxSize(200, 200));
m_TabgroupsPane = new TabgroupsPane(cp, name);
cp->SetChildNoReparent(m_TabgroupsPane);
} else {
m_TabgroupsPane = new TabgroupsPane(m_book, name);
m_book->AddPage(m_TabgroupsPane, name, false);
}
if (m_book->GetPageCount() > 0) {
m_book->SetSelection((size_t)0);
}
UpdateTabs();
m_mgr->Update();
}