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 ); }
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); }
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")); }
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); }
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); } }
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"); }
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); }