void ClangPlugin::OnAttach() { wxBitmap bmp; wxString prefix = ConfigManager::GetDataFolder() + wxT("/images/codecompletion/"); // bitmaps must be added by order of PARSER_IMG_* consts (which are also TokenCategory enums) const char* imgs[] = { "class_folder.png", // PARSER_IMG_CLASS_FOLDER "class.png", // PARSER_IMG_CLASS "class_private.png", // PARSER_IMG_CLASS_PRIVATE "class_protected.png", // PARSER_IMG_CLASS_PROTECTED "class_public.png", // PARSER_IMG_CLASS_PUBLIC "ctor_private.png", // PARSER_IMG_CTOR_PRIVATE "ctor_protected.png", // PARSER_IMG_CTOR_PROTECTED "ctor_public.png", // PARSER_IMG_CTOR_PUBLIC "dtor_private.png", // PARSER_IMG_DTOR_PRIVATE "dtor_protected.png", // PARSER_IMG_DTOR_PROTECTED "dtor_public.png", // PARSER_IMG_DTOR_PUBLIC "method_private.png", // PARSER_IMG_FUNC_PRIVATE "method_protected.png", // PARSER_IMG_FUNC_PRIVATE "method_public.png", // PARSER_IMG_FUNC_PUBLIC "var_private.png", // PARSER_IMG_VAR_PRIVATE "var_protected.png", // PARSER_IMG_VAR_PROTECTED "var_public.png", // PARSER_IMG_VAR_PUBLIC "macro_def.png", // PARSER_IMG_MACRO_DEF "enum.png", // PARSER_IMG_ENUM "enum_private.png", // PARSER_IMG_ENUM_PRIVATE "enum_protected.png", // PARSER_IMG_ENUM_PROTECTED "enum_public.png", // PARSER_IMG_ENUM_PUBLIC "enumerator.png", // PARSER_IMG_ENUMERATOR "namespace.png", // PARSER_IMG_NAMESPACE "typedef.png", // PARSER_IMG_TYPEDEF "typedef_private.png", // PARSER_IMG_TYPEDEF_PRIVATE "typedef_protected.png", // PARSER_IMG_TYPEDEF_PROTECTED "typedef_public.png", // PARSER_IMG_TYPEDEF_PUBLIC "symbols_folder.png", // PARSER_IMG_SYMBOLS_FOLDER "vars_folder.png", // PARSER_IMG_VARS_FOLDER "funcs_folder.png", // PARSER_IMG_FUNCS_FOLDER "enums_folder.png", // PARSER_IMG_ENUMS_FOLDER "macro_def_folder.png", // PARSER_IMG_MACRO_DEF_FOLDER "others_folder.png", // PARSER_IMG_OTHERS_FOLDER "typedefs_folder.png", // PARSER_IMG_TYPEDEF_FOLDER "macro_use.png", // PARSER_IMG_MACRO_USE "macro_use_private.png", // PARSER_IMG_MACRO_USE_PRIVATE "macro_use_protected.png", // PARSER_IMG_MACRO_USE_PROTECTED "macro_use_public.png", // PARSER_IMG_MACRO_USE_PUBLIC "macro_use_folder.png", // PARSER_IMG_MACRO_USE_FOLDER "cpp_lang.png", // tcLangKeyword nullptr }; for (const char** itr = imgs; *itr; ++itr) m_ImageList.Add(cbLoadBitmap(prefix + wxString::FromUTF8(*itr), wxBITMAP_TYPE_PNG)); EditorColourSet* theme = Manager::Get()->GetEditorManager()->GetColourSet(); wxStringTokenizer tokenizer(theme->GetKeywords(theme->GetHighlightLanguage(wxT("C/C++")), 0)); while (tokenizer.HasMoreTokens()) m_CppKeywords.push_back(tokenizer.GetNextToken()); std::sort(m_CppKeywords.begin(), m_CppKeywords.end()); wxStringVec(m_CppKeywords).swap(m_CppKeywords); typedef cbEventFunctor<ClangPlugin, CodeBlocksEvent> ClEvent; Manager::Get()->RegisterEventSink(cbEVT_EDITOR_OPEN, new ClEvent(this, &ClangPlugin::OnEditorOpen)); Manager::Get()->RegisterEventSink(cbEVT_EDITOR_ACTIVATED, new ClEvent(this, &ClangPlugin::OnEditorActivate)); Manager::Get()->RegisterEventSink(cbEVT_EDITOR_SAVE, new ClEvent(this, &ClangPlugin::OnEditorSave)); Manager::Get()->RegisterEventSink(cbEVT_EDITOR_CLOSE, new ClEvent(this, &ClangPlugin::OnEditorClose)); Manager::Get()->RegisterEventSink(cbEVT_PROJECT_ACTIVATE, new ClEvent(this, &ClangPlugin::OnProjectActivate)); Manager::Get()->RegisterEventSink(cbEVT_PROJECT_FILE_CHANGED, new ClEvent(this, &ClangPlugin::OnProjectFileChanged)); Manager::Get()->RegisterEventSink(cbEVT_PROJECT_OPTIONS_CHANGED, new ClEvent(this, &ClangPlugin::OnProjectOptionsChanged)); Manager::Get()->RegisterEventSink(cbEVT_PROJECT_CLOSE, new ClEvent(this, &ClangPlugin::OnProjectClose)); Connect(idReparseTimer, wxEVT_TIMER, wxTimerEventHandler(ClangPlugin::OnTimer)); Connect(idGotoDeclaration, wxEVT_COMMAND_MENU_SELECTED, /*wxMenuEventHandler*/wxCommandEventHandler(ClangPlugin::OnGotoDeclaration), nullptr, this); //Connect(idReparse, cbEVT_COMMAND_REPARSE, wxCommandEventHandler(ClangPlugin::OnReparse), nullptr, this); Connect(idClangCreateTU, cbEVT_COMMAND_CREATETU, wxCommandEventHandler(ClangPlugin::OnCreateTranslationUnit), nullptr, this); Connect(idClangCreateTU, cbEVT_CLANG_ASYNCTASK_FINISHED, wxEventHandler(ClangPlugin::OnClangCreateTUFinished), nullptr, this); Connect(idClangReparse, cbEVT_CLANG_ASYNCTASK_FINISHED, wxEventHandler(ClangPlugin::OnClangReparseFinished), nullptr, this); Connect(idClangGetDiagnostics, cbEVT_CLANG_ASYNCTASK_FINISHED, wxEventHandler(ClangPlugin::OnClangGetDiagnosticsFinished), nullptr, this); Connect(idClangSyncTask, cbEVT_CLANG_SYNCTASK_FINISHED, wxEventHandler(ClangPlugin::OnClangSyncTaskFinished), nullptr, this); Connect(idClangCodeCompleteTask, cbEVT_CLANG_SYNCTASK_FINISHED, wxEventHandler(ClangPlugin::OnClangSyncTaskFinished), nullptr, this); Connect(idClangGetOccurrencesTask, cbEVT_CLANG_SYNCTASK_FINISHED, wxEventHandler(ClangPlugin::OnClangSyncTaskFinished), nullptr, this); Connect(idClangGetCCDocumentationTask,cbEVT_CLANG_SYNCTASK_FINISHED, wxEventHandler(ClangPlugin::OnClangSyncTaskFinished), nullptr, this); m_EditorHookId = EditorHooks::RegisterHook(new EditorHooks::HookFunctor<ClangPlugin>(this, &ClangPlugin::OnEditorHook)); for ( std::vector<ClangPluginComponent*>::iterator it = m_ComponentList.begin(); it != m_ComponentList.end(); ++it) { (*it)->OnAttach(this); } }
EDA_DRAW_PANEL_GAL::EDA_DRAW_PANEL_GAL( wxWindow* aParentWindow, wxWindowID aWindowId, const wxPoint& aPosition, const wxSize& aSize, GAL_TYPE aGalType ) : wxScrolledCanvas( aParentWindow, aWindowId, aPosition, aSize ) { m_parent = aParentWindow; m_edaFrame = dynamic_cast<EDA_DRAW_FRAME*>( aParentWindow ); m_gal = NULL; m_backend = GAL_TYPE_NONE; m_view = NULL; m_painter = NULL; m_eventDispatcher = NULL; m_lostFocus = false; SetLayoutDirection( wxLayout_LeftToRight ); SwitchBackend( aGalType ); SetBackgroundStyle( wxBG_STYLE_CUSTOM ); // Scrollbars broken in GAL on OSX #ifdef __WXMAC__ ShowScrollbars( wxSHOW_SB_NEVER, wxSHOW_SB_NEVER ); #else ShowScrollbars( wxSHOW_SB_ALWAYS, wxSHOW_SB_ALWAYS ); #endif EnableScrolling( false, false ); // otherwise Zoom Auto disables GAL canvas m_painter = new KIGFX::PCB_PAINTER( m_gal ); m_view = new KIGFX::VIEW( true ); m_view->SetPainter( m_painter ); m_view->SetGAL( m_gal ); Connect( wxEVT_SIZE, wxSizeEventHandler( EDA_DRAW_PANEL_GAL::onSize ), NULL, this ); Connect( wxEVT_ENTER_WINDOW, wxEventHandler( EDA_DRAW_PANEL_GAL::onEnter ), NULL, this ); Connect( wxEVT_KILL_FOCUS, wxFocusEventHandler( EDA_DRAW_PANEL_GAL::onLostFocus ), NULL, this ); const wxEventType events[] = { wxEVT_LEFT_UP, wxEVT_LEFT_DOWN, wxEVT_LEFT_DCLICK, wxEVT_RIGHT_UP, wxEVT_RIGHT_DOWN, wxEVT_RIGHT_DCLICK, wxEVT_MIDDLE_UP, wxEVT_MIDDLE_DOWN, wxEVT_MIDDLE_DCLICK, wxEVT_MOTION, wxEVT_MOUSEWHEEL, wxEVT_CHAR, #if wxCHECK_VERSION( 3, 1, 0 ) || defined( USE_OSX_MAGNIFY_EVENT ) wxEVT_MAGNIFY, #endif KIGFX::WX_VIEW_CONTROLS::EVT_REFRESH_MOUSE }; BOOST_FOREACH( wxEventType eventType, events ) { Connect( eventType, wxEventHandler( EDA_DRAW_PANEL_GAL::onEvent ), NULL, m_eventDispatcher ); }
CONTEXT_MENU::CONTEXT_MENU() : m_titleSet( false ), m_selected( -1 ), m_handler( this ), m_tool( NULL ) { m_menu.Connect( wxEVT_MENU_HIGHLIGHT, wxEventHandler( CMEventHandler::onEvent ), NULL, &m_handler ); m_menu.Connect( wxEVT_COMMAND_MENU_SELECTED, wxEventHandler( CMEventHandler::onEvent ), NULL, &m_handler ); // Workaround for the case when mouse cursor never reaches menu (it hangs up tools using menu) wxMenuEvent menuEvent( wxEVT_MENU_HIGHLIGHT, -1, &m_menu ); m_menu.AddPendingEvent( menuEvent ); }
void R_wxEventHandler::Disconnect() { if(!widget) { PROBLEM "Can't diconnect event handler as insufficient information stored when connecting, e.g. widget" ERROR; } widget->Disconnect(id, eventType, wxEventHandler(R_wxEventHandler::invoke), NULL, this); }
EventCounter::EventCounter(wxWindow* win, wxEventType type) : m_type(type), m_win(win) { m_frame = wxStaticCast(wxTheApp->GetTopWindow(), wxTestableFrame); m_win->Connect(m_type, wxEventHandler(wxTestableFrame::OnEvent), NULL, m_frame); }
EventCounter::~EventCounter() { m_win->Disconnect(m_type, wxEventHandler(wxTestableFrame::OnEvent), NULL, m_frame); //This stops spurious counts from previous tests Clear(); m_frame = NULL; m_win = NULL; }
EDA_DRAW_PANEL_GAL::EDA_DRAW_PANEL_GAL( wxWindow* aParentWindow, wxWindowID aWindowId, const wxPoint& aPosition, const wxSize& aSize, GalType aGalType ) : wxWindow( aParentWindow, aWindowId, aPosition, aSize ) { m_parent = aParentWindow; m_gal = NULL; m_backend = GAL_TYPE_NONE; m_view = NULL; m_painter = NULL; m_eventDispatcher = NULL; SwitchBackend( aGalType ); SetBackgroundStyle( wxBG_STYLE_CUSTOM ); m_painter = new KIGFX::PCB_PAINTER( m_gal ); m_view = new KIGFX::VIEW( true ); m_view->SetPainter( m_painter ); m_view->SetGAL( m_gal ); m_viewControls = new KIGFX::WX_VIEW_CONTROLS( m_view, this ); Connect( wxEVT_SIZE, wxSizeEventHandler( EDA_DRAW_PANEL_GAL::onSize ), NULL, this ); Connect( wxEVT_ENTER_WINDOW, wxEventHandler( EDA_DRAW_PANEL_GAL::onEnter ), NULL, this ); const wxEventType events[] = { wxEVT_LEFT_UP, wxEVT_LEFT_DOWN, wxEVT_LEFT_DCLICK, wxEVT_RIGHT_UP, wxEVT_RIGHT_DOWN, wxEVT_RIGHT_DCLICK, wxEVT_MIDDLE_UP, wxEVT_MIDDLE_DOWN, wxEVT_MIDDLE_DCLICK, wxEVT_MOTION, wxEVT_MOUSEWHEEL, wxEVT_CHAR, KIGFX::WX_VIEW_CONTROLS::EVT_REFRESH_MOUSE }; BOOST_FOREACH( wxEventType eventType, events ) { Connect( eventType, wxEventHandler( EDA_DRAW_PANEL_GAL::onEvent ), NULL, m_eventDispatcher ); }
CONTEXT_MENU::CONTEXT_MENU( const CONTEXT_MENU& aMenu ) : m_titleSet( aMenu.m_titleSet ), m_selected( -1 ), m_handler( this ), m_tool( aMenu.m_tool ) { m_menu.Connect( wxEVT_MENU_HIGHLIGHT, wxEventHandler( CMEventHandler::onEvent ), NULL, &m_handler ); m_menu.Connect( wxEVT_COMMAND_MENU_SELECTED, wxEventHandler( CMEventHandler::onEvent ), NULL, &m_handler ); // Workaround for the case when mouse cursor never reaches menu (it hangs up tools using menu) wxMenuEvent menuEvent( wxEVT_MENU_HIGHLIGHT, -1, &m_menu ); m_menu.AddPendingEvent( menuEvent ); // Copy all the menu entries for( unsigned i = 0; i < aMenu.m_menu.GetMenuItemCount(); ++i ) { wxMenuItem* item = aMenu.m_menu.FindItemByPosition( i ); m_menu.Append( new wxMenuItem( &m_menu, item->GetId(), item->GetItemLabel(), wxEmptyString, wxITEM_NORMAL ) ); } // Copy tool actions that are available to choose from context menu m_toolActions = aMenu.m_toolActions; }
SEXP R_Rwx_Connect(SEXP r_obj, SEXP r_winid, SEXP r_eventType, SEXP fun, SEXP r_routine, SEXP eventSink, SEXP r_args, SEXP r_computeEventClass ) { wxEvtHandler *obj = (wxEvtHandler *) R_get_wxWidget_Ref(r_obj, NULL); wxWindow *w = (wxWindow *) R_get_wxWidget_Ref(r_obj, NULL); int winid = INTEGER(r_winid)[0], lastId; wxEventType eventType = (wxEventType) INTEGER(r_eventType)[0]; SEXP r_ans; /* routine = (wxObjectEventFunction) R_ExternalPtrAddr(routine); */ R_wxEventHandler *handler = new R_wxEventHandler(fun, winid, eventType, obj, r_args, LOGICAL(r_computeEventClass)[0]); if(GET_LENGTH(r_winid) > 1) { lastId = INTEGER(r_winid)[1]; w->Connect(winid, lastId, eventType, wxEventHandler(R_wxEventHandler::invoke), NULL, handler); } else { w->Connect(winid, eventType, wxEventHandler(R_wxEventHandler::invoke), NULL, handler); } r_ans = R_make_wxWidget_Ref(handler, "RwxEventHandler"); return(r_ans); }
bool wxDynamicSashWindowLeaf::Create() { m_hscroll = new wxScrollBar(); m_vscroll = new wxScrollBar(); m_viewport = new wxWindow(); wxDynamicSashWindowImpl *add_child_target = m_impl->m_add_child_target; m_impl->m_add_child_target = NULL; bool success = m_hscroll->Create(m_impl->m_container, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSB_HORIZONTAL); if ( success ) success = m_vscroll->Create(m_impl->m_container, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSB_VERTICAL); if ( success ) success = m_viewport->Create(m_impl->m_container, wxID_ANY); if ( !success ) return false; m_impl->m_add_child_target = add_child_target; wxCursor cursor(wxCURSOR_ARROW); m_hscroll->SetCursor(cursor); m_vscroll->SetCursor(cursor); m_viewport->SetCursor(cursor); // the viewport must resize its child when it is itself resized, but it's // more convenient to do it in our own method instead of deriving a new // class just for this: this is why we pass this as last Connect() argument m_viewport->Connect(wxEVT_SIZE, wxSizeEventHandler(wxDynamicSashWindowLeaf::OnViewSize), NULL, this); Connect(wxEVT_DYNAMIC_SASH_REPARENT, wxEventHandler(wxDynamicSashWindowLeaf::OnReparent)); if (m_impl->m_window->GetWindowStyle() & wxDS_MANAGE_SCROLLBARS) { m_hscroll->SetEventHandler(this); m_vscroll->SetEventHandler(this); Connect(wxEVT_SET_FOCUS, wxFocusEventHandler(wxDynamicSashWindowLeaf::OnFocus)); Connect(wxEVT_SCROLL_TOP, wxScrollEventHandler(wxDynamicSashWindowLeaf::OnScroll)); Connect(wxEVT_SCROLL_BOTTOM, wxScrollEventHandler(wxDynamicSashWindowLeaf::OnScroll)); Connect(wxEVT_SCROLL_LINEUP, wxScrollEventHandler(wxDynamicSashWindowLeaf::OnScroll)); Connect(wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler(wxDynamicSashWindowLeaf::OnScroll)); Connect(wxEVT_SCROLL_PAGEUP, wxScrollEventHandler(wxDynamicSashWindowLeaf::OnScroll)); Connect(wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler(wxDynamicSashWindowLeaf::OnScroll)); Connect(wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler(wxDynamicSashWindowLeaf::OnScroll)); Connect(wxEVT_SCROLL_THUMBRELEASE, wxScrollEventHandler(wxDynamicSashWindowLeaf::OnScroll)); } wxLayoutConstraints *layout = new wxLayoutConstraints(); if (!layout) return false; wxSize size = m_hscroll->GetBestSize(); layout->left.SameAs(m_impl->m_container, wxLeft, 10); layout->right.LeftOf(m_vscroll); layout->bottom.SameAs(m_impl->m_container, wxBottom, 3); layout->height.Absolute(size.GetHeight()); m_hscroll->SetConstraints(layout); layout = new wxLayoutConstraints(); if (!layout) return false; size = m_vscroll->GetBestSize(); layout->top.SameAs(m_impl->m_container, wxTop, 10); layout->bottom.Above(m_hscroll); layout->right.SameAs(m_impl->m_container, wxRight, 3); layout->width.Absolute(size.GetWidth()); m_vscroll->SetConstraints(layout); layout = new wxLayoutConstraints(); if (!layout) return false; layout->left.SameAs(m_impl->m_container, wxLeft, 3); layout->right.LeftOf(m_vscroll); layout->top.SameAs(m_impl->m_container, wxTop, 3); layout->bottom.Above(m_hscroll); m_viewport->SetConstraints(layout); m_impl->m_container->Layout(); return true; }
EDA_DRAW_PANEL_GAL::EDA_DRAW_PANEL_GAL( wxWindow* aParentWindow, wxWindowID aWindowId, const wxPoint& aPosition, const wxSize& aSize, GAL_TYPE aGalType ) : wxScrolledCanvas( aParentWindow, aWindowId, aPosition, aSize ) { m_parent = aParentWindow; m_edaFrame = dynamic_cast<EDA_DRAW_FRAME*>( aParentWindow ); m_gal = NULL; m_backend = GAL_TYPE_NONE; m_view = NULL; m_painter = NULL; m_eventDispatcher = NULL; m_lostFocus = false; SetLayoutDirection( wxLayout_LeftToRight ); SwitchBackend( aGalType ); SetBackgroundStyle( wxBG_STYLE_CUSTOM ); // Scrollbars broken in GAL on OSX #ifdef __WXMAC__ ShowScrollbars( wxSHOW_SB_NEVER, wxSHOW_SB_NEVER ); #else ShowScrollbars( wxSHOW_SB_ALWAYS, wxSHOW_SB_ALWAYS ); #endif EnableScrolling( false, false ); // otherwise Zoom Auto disables GAL canvas m_painter = new KIGFX::PCB_PAINTER( m_gal ); m_view = new KIGFX::VIEW( true ); m_view->SetPainter( m_painter ); m_view->SetGAL( m_gal ); Connect( wxEVT_SIZE, wxSizeEventHandler( EDA_DRAW_PANEL_GAL::onSize ), NULL, this ); Connect( wxEVT_ENTER_WINDOW, wxEventHandler( EDA_DRAW_PANEL_GAL::onEnter ), NULL, this ); Connect( wxEVT_KILL_FOCUS, wxFocusEventHandler( EDA_DRAW_PANEL_GAL::onLostFocus ), NULL, this ); const wxEventType events[] = { wxEVT_LEFT_UP, wxEVT_LEFT_DOWN, wxEVT_LEFT_DCLICK, wxEVT_RIGHT_UP, wxEVT_RIGHT_DOWN, wxEVT_RIGHT_DCLICK, wxEVT_MIDDLE_UP, wxEVT_MIDDLE_DOWN, wxEVT_MIDDLE_DCLICK, wxEVT_MOTION, wxEVT_MOUSEWHEEL, wxEVT_CHAR, #if wxCHECK_VERSION( 3, 1, 0 ) || defined( USE_OSX_MAGNIFY_EVENT ) wxEVT_MAGNIFY, #endif KIGFX::WX_VIEW_CONTROLS::EVT_REFRESH_MOUSE }; for( wxEventType eventType : events ) { Connect( eventType, wxEventHandler( EDA_DRAW_PANEL_GAL::onEvent ), NULL, m_eventDispatcher ); } // View controls is the first in the event handler chain, so the Tool Framework operates // on updated viewport data. m_viewControls = new KIGFX::WX_VIEW_CONTROLS( m_view, this ); m_pendingRefresh = false; m_drawing = false; m_drawingEnabled = false; // Set up timer that prevents too frequent redraw commands m_refreshTimer.SetOwner( this ); Connect( m_refreshTimer.GetId(), wxEVT_TIMER, wxTimerEventHandler( EDA_DRAW_PANEL_GAL::onRefreshTimer ), NULL, this ); // Set up timer to execute OnShow() method when the window appears on the screen m_onShowTimer.SetOwner( this ); Connect( m_onShowTimer.GetId(), wxEVT_TIMER, wxTimerEventHandler( EDA_DRAW_PANEL_GAL::onShowTimer ), NULL, this ); m_onShowTimer.Start( 10 ); LoadGalSettings(); }
void CIsoSurfaceBase::createPropertiesSizer(PropertiesWindow *parent) { DatasetInfo::createPropertiesSizer(parent); m_ptoggleCutFrontSector = new wxToggleButton(parent, wxID_ANY,wxT("Cut Front Sector"),wxDefaultPosition, wxSize(140,-1)); m_pPropertiesSizer->Add(m_ptoggleCutFrontSector,0,wxALIGN_CENTER); parent->Connect(m_ptoggleCutFrontSector->GetId(),wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxEventHandler(PropertiesWindow::OnToggleShowFS)); wxSizer *l_sizer = new wxBoxSizer(wxHORIZONTAL); m_ptoggleUseColoring = new wxToggleButton(parent, wxID_ANY,wxT("Use Coloring"),wxDefaultPosition, wxSize(100,-1)); wxImage bmpColor(MyApp::iconsPath+ wxT("colorSelect.png" ), wxBITMAP_TYPE_PNG); m_pbtnSelectColor = new wxBitmapButton(parent, wxID_ANY, bmpColor, wxDefaultPosition, wxSize(40,-1)); l_sizer->Add(m_ptoggleUseColoring,0,wxALIGN_CENTER); l_sizer->Add(m_pbtnSelectColor,0,wxALIGN_CENTER); m_pPropertiesSizer->Add(l_sizer,0,wxALIGN_CENTER); // TODO selection iso anat /*parent->Connect(m_ptoggleUseColoring->GetId(),wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(PropertiesWindow::OnListMenuThreshold));*/ parent->Connect(m_pbtnSelectColor->GetId(),wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PropertiesWindow::OnAssignColorDataset )); }
EDA_DRAW_PANEL_GAL::EDA_DRAW_PANEL_GAL( wxWindow* aParentWindow, wxWindowID aWindowId, const wxPoint& aPosition, const wxSize& aSize, GalType aGalType ) : wxWindow( aParentWindow, aWindowId, aPosition, aSize ) { m_gal = NULL; m_currentGal = GAL_TYPE_NONE; m_view = NULL; m_painter = NULL; m_eventDispatcher = NULL; SwitchBackend( aGalType ); SetBackgroundStyle( wxBG_STYLE_CUSTOM ); m_painter = new KIGFX::PCB_PAINTER( m_gal ); m_view = new KIGFX::VIEW( true ); m_view->SetPainter( m_painter ); m_view->SetGAL( m_gal ); m_viewControls = new KIGFX::WX_VIEW_CONTROLS( m_view, this ); Connect( wxEVT_SIZE, wxSizeEventHandler( EDA_DRAW_PANEL_GAL::onSize ), NULL, this ); /* Generic events for the Tool Dispatcher */ Connect( wxEVT_MOTION, wxEventHandler( EDA_DRAW_PANEL_GAL::onEvent ), NULL, this ); Connect( wxEVT_LEFT_UP, wxEventHandler( EDA_DRAW_PANEL_GAL::onEvent ), NULL, this ); Connect( wxEVT_LEFT_DOWN, wxEventHandler( EDA_DRAW_PANEL_GAL::onEvent ), NULL, this ); Connect( wxEVT_LEFT_DCLICK, wxEventHandler( EDA_DRAW_PANEL_GAL::onEvent ), NULL, this ); Connect( wxEVT_RIGHT_UP, wxEventHandler( EDA_DRAW_PANEL_GAL::onEvent ), NULL, this ); Connect( wxEVT_RIGHT_DOWN, wxEventHandler( EDA_DRAW_PANEL_GAL::onEvent ), NULL, this ); Connect( wxEVT_RIGHT_DCLICK, wxEventHandler( EDA_DRAW_PANEL_GAL::onEvent ), NULL, this ); Connect( wxEVT_MIDDLE_UP, wxEventHandler( EDA_DRAW_PANEL_GAL::onEvent ), NULL, this ); Connect( wxEVT_MIDDLE_DOWN, wxEventHandler( EDA_DRAW_PANEL_GAL::onEvent ), NULL, this ); Connect( wxEVT_MIDDLE_DCLICK, wxEventHandler( EDA_DRAW_PANEL_GAL::onEvent ), NULL, this ); Connect( wxEVT_MOUSEWHEEL, wxEventHandler( EDA_DRAW_PANEL_GAL::onEvent ), NULL, this ); Connect( wxEVT_CHAR_HOOK, wxEventHandler( EDA_DRAW_PANEL_GAL::skipEvent ) ); Connect( wxEVT_CHAR, wxEventHandler( EDA_DRAW_PANEL_GAL::onEvent ), NULL, this ); Connect( wxEVT_ENTER_WINDOW, wxEventHandler( EDA_DRAW_PANEL_GAL::onEnter ), NULL, this ); Connect( KIGFX::WX_VIEW_CONTROLS::EVT_REFRESH_MOUSE, wxEventHandler( EDA_DRAW_PANEL_GAL::onEvent ), NULL, this ); // Set up timer that prevents too frequent redraw commands m_refreshTimer.SetOwner( this ); m_pendingRefresh = false; m_drawing = false; Connect( wxEVT_TIMER, wxTimerEventHandler( EDA_DRAW_PANEL_GAL::onRefreshTimer ), NULL, this ); this->SetFocus(); }