Loading pcbnew/dialogs/dialog_general_options.cpp +0 −33 Original line number Original line Diff line number Diff line Loading @@ -154,11 +154,6 @@ void PCB_EDIT_FRAME::OnSelectOptionToolbar( wxCommandEvent& event ) { { int id = event.GetId(); int id = event.GetId(); bool state = event.IsChecked(); bool state = event.IsChecked(); KIGFX::PCB_PAINTER* painter = static_cast<KIGFX::PCB_PAINTER*> ( GetGalCanvas()->GetView()->GetPainter() ); KIGFX::PCB_RENDER_SETTINGS* settings = static_cast<KIGFX::PCB_RENDER_SETTINGS*> ( painter->GetSettings() ); KICAD_T updateType = EOT; switch( id ) switch( id ) { { Loading Loading @@ -193,44 +188,33 @@ void PCB_EDIT_FRAME::OnSelectOptionToolbar( wxCommandEvent& event ) case ID_TB_OPTIONS_SHOW_ZONES: case ID_TB_OPTIONS_SHOW_ZONES: DisplayOpt.DisplayZonesMode = 0; DisplayOpt.DisplayZonesMode = 0; updateType = PCB_ZONE_AREA_T; m_canvas->Refresh(); m_canvas->Refresh(); break; break; case ID_TB_OPTIONS_SHOW_ZONES_DISABLE: case ID_TB_OPTIONS_SHOW_ZONES_DISABLE: DisplayOpt.DisplayZonesMode = 1; DisplayOpt.DisplayZonesMode = 1; updateType = PCB_ZONE_AREA_T; m_canvas->Refresh(); m_canvas->Refresh(); break; break; case ID_TB_OPTIONS_SHOW_ZONES_OUTLINES_ONLY: case ID_TB_OPTIONS_SHOW_ZONES_OUTLINES_ONLY: DisplayOpt.DisplayZonesMode = 2; DisplayOpt.DisplayZonesMode = 2; updateType = PCB_ZONE_AREA_T; m_canvas->Refresh(); m_canvas->Refresh(); break; break; case ID_TB_OPTIONS_SHOW_VIAS_SKETCH: case ID_TB_OPTIONS_SHOW_VIAS_SKETCH: m_DisplayViaFill = DisplayOpt.DisplayViaFill = !state; m_DisplayViaFill = DisplayOpt.DisplayViaFill = !state; updateType = PCB_VIA_T; m_canvas->Refresh(); m_canvas->Refresh(); break; break; case ID_TB_OPTIONS_SHOW_TRACKS_SKETCH: case ID_TB_OPTIONS_SHOW_TRACKS_SKETCH: m_DisplayPcbTrackFill = DisplayOpt.DisplayPcbTrackFill = !state; m_DisplayPcbTrackFill = DisplayOpt.DisplayPcbTrackFill = !state; updateType = PCB_TRACE_T; m_canvas->Refresh(); m_canvas->Refresh(); break; break; case ID_TB_OPTIONS_SHOW_HIGH_CONTRAST_MODE: case ID_TB_OPTIONS_SHOW_HIGH_CONTRAST_MODE: { { DisplayOpt.ContrastModeDisplay = state; DisplayOpt.ContrastModeDisplay = state; // Apply new display options to the GAL canvas (this is faster than recaching) settings->LoadDisplayOptions( DisplayOpt ); GetGalCanvas()->SetHighContrastLayer( GetActiveLayer() ); m_canvas->Refresh(); m_canvas->Refresh(); break; break; } } Loading Loading @@ -260,21 +244,4 @@ void PCB_EDIT_FRAME::OnSelectOptionToolbar( wxCommandEvent& event ) wxT( "PCB_EDIT_FRAME::OnSelectOptionToolbar error \n (event not handled!)" ) ); wxT( "PCB_EDIT_FRAME::OnSelectOptionToolbar error \n (event not handled!)" ) ); break; break; } } if( updateType != EOT ) { // Apply new display options to the GAL canvas settings->LoadDisplayOptions( DisplayOpt ); // Find items that require update KICAD_T scanList[] = { updateType, EOT }; TYPE_COLLECTOR collector; collector.Collect( GetBoard(), scanList ); for( int i = 0; i < collector.GetCount(); ++i ) collector[i]->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); } if( IsGalCanvasActive() ) GetGalCanvas()->Refresh(); } } pcbnew/tools/common_actions.cpp +35 −0 Original line number Original line Diff line number Diff line Loading @@ -157,6 +157,18 @@ TOOL_ACTION COMMON_ACTIONS::viaDisplayMode( "pcbnew.Control.viaDisplayMode", AS_GLOBAL, 'L', // TODO temporarily, find a better hot key AS_GLOBAL, 'L', // TODO temporarily, find a better hot key "", "" ); "", "" ); TOOL_ACTION COMMON_ACTIONS::zoneDisplayEnable( "pcbnew.Control.zoneDisplayEnable", AS_GLOBAL, 0, "", "" ); TOOL_ACTION COMMON_ACTIONS::zoneDisplayDisable( "pcbnew.Control.zoneDisplayDisable", AS_GLOBAL, 0, "", "" ); TOOL_ACTION COMMON_ACTIONS::zoneDisplayOutlines( "pcbnew.Control.zoneDisplayOutlines", AS_GLOBAL, 0, "", "" ); TOOL_ACTION COMMON_ACTIONS::highContrastMode( "pcbnew.Control.highContrastMode", TOOL_ACTION COMMON_ACTIONS::highContrastMode( "pcbnew.Control.highContrastMode", AS_GLOBAL, 'H', AS_GLOBAL, 'H', "", "" ); "", "" ); Loading Loading @@ -381,6 +393,29 @@ boost::optional<TOOL_EVENT> COMMON_ACTIONS::TranslateLegacyId( int aId ) case ID_ZOOM_PAGE: // toolbar button "Fit on Screen" case ID_ZOOM_PAGE: // toolbar button "Fit on Screen" return COMMON_ACTIONS::zoomFitScreen.MakeEvent(); return COMMON_ACTIONS::zoomFitScreen.MakeEvent(); case ID_TB_OPTIONS_SHOW_TRACKS_SKETCH: return COMMON_ACTIONS::trackDisplayMode.MakeEvent(); case ID_TB_OPTIONS_SHOW_PADS_SKETCH: return COMMON_ACTIONS::padDisplayMode.MakeEvent(); case ID_TB_OPTIONS_SHOW_VIAS_SKETCH: return COMMON_ACTIONS::viaDisplayMode.MakeEvent(); case ID_TB_OPTIONS_SHOW_ZONES: return COMMON_ACTIONS::zoneDisplayEnable.MakeEvent(); case ID_TB_OPTIONS_SHOW_ZONES_DISABLE: return COMMON_ACTIONS::zoneDisplayDisable.MakeEvent(); case ID_TB_OPTIONS_SHOW_ZONES_OUTLINES_ONLY: return COMMON_ACTIONS::zoneDisplayOutlines.MakeEvent(); case ID_TB_OPTIONS_SHOW_HIGH_CONTRAST_MODE: return COMMON_ACTIONS::highContrastMode.MakeEvent(); case ID_TB_OPTIONS_SHOW_MODULE_EDGE_SKETCH: case ID_TB_OPTIONS_SHOW_MODULE_TEXT_SKETCH: case ID_PCB_DELETE_ITEM_BUTT: case ID_PCB_DELETE_ITEM_BUTT: case ID_PCB_HIGHLIGHT_BUTT: case ID_PCB_HIGHLIGHT_BUTT: case ID_PCB_SHOW_1_RATSNEST_BUTT: case ID_PCB_SHOW_1_RATSNEST_BUTT: Loading pcbnew/tools/common_actions.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -144,6 +144,9 @@ public: static TOOL_ACTION trackDisplayMode; static TOOL_ACTION trackDisplayMode; static TOOL_ACTION padDisplayMode; static TOOL_ACTION padDisplayMode; static TOOL_ACTION viaDisplayMode; static TOOL_ACTION viaDisplayMode; static TOOL_ACTION zoneDisplayEnable; static TOOL_ACTION zoneDisplayDisable; static TOOL_ACTION zoneDisplayOutlines; static TOOL_ACTION highContrastMode; static TOOL_ACTION highContrastMode; static TOOL_ACTION highContrastInc; static TOOL_ACTION highContrastInc; static TOOL_ACTION highContrastDec; static TOOL_ACTION highContrastDec; Loading pcbnew/tools/pcbnew_control.cpp +62 −9 Original line number Original line Diff line number Diff line Loading @@ -28,7 +28,9 @@ #include <pcbnew_id.h> #include <pcbnew_id.h> #include <wxPcbStruct.h> #include <wxPcbStruct.h> #include <class_board.h> #include <class_board.h> #include <class_module.h> #include <class_track.h> #include <class_track.h> #include <class_zone.h> #include <class_draw_panel_gal.h> #include <class_draw_panel_gal.h> #include <class_pcb_screen.h> #include <class_pcb_screen.h> #include <pcbcommon.h> #include <pcbcommon.h> Loading Loading @@ -136,10 +138,13 @@ int PCBNEW_CONTROL::TrackDisplayMode( TOOL_EVENT& aEvent ) m_frame->m_DisplayPcbTrackFill = DisplayOpt.DisplayPcbTrackFill; m_frame->m_DisplayPcbTrackFill = DisplayOpt.DisplayPcbTrackFill; settings->LoadDisplayOptions( DisplayOpt ); settings->LoadDisplayOptions( DisplayOpt ); BOARD* board = getModel<BOARD>(); for( TRACK* track = getModel<BOARD>()->m_Track; track; track = track->Next() ) for( TRACK* track = board->m_Track; track; track = track->Next() ) { if( track->Type() == PCB_TRACE_T ) track->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); track->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); } m_frame->GetGalCanvas()->Refresh(); setTransitions(); setTransitions(); return 0; return 0; Loading @@ -148,8 +153,23 @@ int PCBNEW_CONTROL::TrackDisplayMode( TOOL_EVENT& aEvent ) int PCBNEW_CONTROL::PadDisplayMode( TOOL_EVENT& aEvent ) int PCBNEW_CONTROL::PadDisplayMode( TOOL_EVENT& aEvent ) { { wxCommandEvent dummy; KIGFX::PCB_PAINTER* painter = m_frame->OnTogglePadDrawMode( dummy ); static_cast<KIGFX::PCB_PAINTER*>( m_frame->GetGalCanvas()->GetView()->GetPainter() ); KIGFX::PCB_RENDER_SETTINGS* settings = static_cast<KIGFX::PCB_RENDER_SETTINGS*>( painter->GetSettings() ); // Apply new display options to the GAL canvas DisplayOpt.DisplayPadFill = !DisplayOpt.DisplayPadFill; m_frame->m_DisplayPadFill = DisplayOpt.DisplayPadFill; settings->LoadDisplayOptions( DisplayOpt ); for( MODULE* module = getModel<BOARD>()->m_Modules; module; module = module->Next() ) { for( D_PAD* pad = module->Pads(); pad; pad = pad->Next() ) pad->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); } m_frame->GetGalCanvas()->Refresh(); setTransitions(); setTransitions(); return 0; return 0; Loading @@ -168,13 +188,43 @@ int PCBNEW_CONTROL::ViaDisplayMode( TOOL_EVENT& aEvent ) m_frame->m_DisplayViaFill = DisplayOpt.DisplayViaFill; m_frame->m_DisplayViaFill = DisplayOpt.DisplayViaFill; settings->LoadDisplayOptions( DisplayOpt ); settings->LoadDisplayOptions( DisplayOpt ); BOARD* board = getModel<BOARD>(); for( TRACK* track = getModel<BOARD>()->m_Track; track; track = track->Next() ) for( TRACK* track = board->m_Track; track; track = track->Next() ) { { if( track->Type() == PCB_VIA_T ) if( track->Type() == PCB_VIA_T ) track->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); track->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); } } m_frame->GetGalCanvas()->Refresh(); setTransitions(); return 0; } int PCBNEW_CONTROL::ZoneDisplayMode( TOOL_EVENT& aEvent ) { KIGFX::PCB_PAINTER* painter = static_cast<KIGFX::PCB_PAINTER*>( m_frame->GetGalCanvas()->GetView()->GetPainter() ); KIGFX::PCB_RENDER_SETTINGS* settings = static_cast<KIGFX::PCB_RENDER_SETTINGS*>( painter->GetSettings() ); // Apply new display options to the GAL canvas if( aEvent.IsAction( &COMMON_ACTIONS::zoneDisplayEnable ) ) DisplayOpt.DisplayZonesMode = 0; else if( aEvent.IsAction( &COMMON_ACTIONS::zoneDisplayDisable ) ) DisplayOpt.DisplayZonesMode = 1; else if( aEvent.IsAction( &COMMON_ACTIONS::zoneDisplayOutlines ) ) DisplayOpt.DisplayZonesMode = 2; else assert( false ); settings->LoadDisplayOptions( DisplayOpt ); BOARD* board = getModel<BOARD>(); for( int i = 0; i < board->GetAreaCount(); ++i ) board->GetArea( i )->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_frame->GetGalCanvas()->Refresh(); setTransitions(); setTransitions(); return 0; return 0; Loading Loading @@ -529,6 +579,9 @@ void PCBNEW_CONTROL::setTransitions() Go( &PCBNEW_CONTROL::TrackDisplayMode, COMMON_ACTIONS::trackDisplayMode.MakeEvent() ); Go( &PCBNEW_CONTROL::TrackDisplayMode, COMMON_ACTIONS::trackDisplayMode.MakeEvent() ); Go( &PCBNEW_CONTROL::PadDisplayMode, COMMON_ACTIONS::padDisplayMode.MakeEvent() ); Go( &PCBNEW_CONTROL::PadDisplayMode, COMMON_ACTIONS::padDisplayMode.MakeEvent() ); Go( &PCBNEW_CONTROL::ViaDisplayMode, COMMON_ACTIONS::viaDisplayMode.MakeEvent() ); Go( &PCBNEW_CONTROL::ViaDisplayMode, COMMON_ACTIONS::viaDisplayMode.MakeEvent() ); Go( &PCBNEW_CONTROL::ZoneDisplayMode, COMMON_ACTIONS::zoneDisplayEnable.MakeEvent() ); Go( &PCBNEW_CONTROL::ZoneDisplayMode, COMMON_ACTIONS::zoneDisplayDisable.MakeEvent() ); Go( &PCBNEW_CONTROL::ZoneDisplayMode, COMMON_ACTIONS::zoneDisplayOutlines.MakeEvent() ); Go( &PCBNEW_CONTROL::HighContrastMode, COMMON_ACTIONS::highContrastMode.MakeEvent() ); Go( &PCBNEW_CONTROL::HighContrastMode, COMMON_ACTIONS::highContrastMode.MakeEvent() ); Go( &PCBNEW_CONTROL::HighContrastInc, COMMON_ACTIONS::highContrastInc.MakeEvent() ); Go( &PCBNEW_CONTROL::HighContrastInc, COMMON_ACTIONS::highContrastInc.MakeEvent() ); Go( &PCBNEW_CONTROL::HighContrastDec, COMMON_ACTIONS::highContrastDec.MakeEvent() ); Go( &PCBNEW_CONTROL::HighContrastDec, COMMON_ACTIONS::highContrastDec.MakeEvent() ); Loading pcbnew/tools/pcbnew_control.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -56,6 +56,7 @@ public: int TrackDisplayMode( TOOL_EVENT& aEvent ); int TrackDisplayMode( TOOL_EVENT& aEvent ); int PadDisplayMode( TOOL_EVENT& aEvent ); int PadDisplayMode( TOOL_EVENT& aEvent ); int ViaDisplayMode( TOOL_EVENT& aEvent ); int ViaDisplayMode( TOOL_EVENT& aEvent ); int ZoneDisplayMode( TOOL_EVENT& aEvent ); int HighContrastMode( TOOL_EVENT& aEvent ); int HighContrastMode( TOOL_EVENT& aEvent ); int HighContrastInc( TOOL_EVENT& aEvent ); int HighContrastInc( TOOL_EVENT& aEvent ); int HighContrastDec( TOOL_EVENT& aEvent ); int HighContrastDec( TOOL_EVENT& aEvent ); Loading Loading
pcbnew/dialogs/dialog_general_options.cpp +0 −33 Original line number Original line Diff line number Diff line Loading @@ -154,11 +154,6 @@ void PCB_EDIT_FRAME::OnSelectOptionToolbar( wxCommandEvent& event ) { { int id = event.GetId(); int id = event.GetId(); bool state = event.IsChecked(); bool state = event.IsChecked(); KIGFX::PCB_PAINTER* painter = static_cast<KIGFX::PCB_PAINTER*> ( GetGalCanvas()->GetView()->GetPainter() ); KIGFX::PCB_RENDER_SETTINGS* settings = static_cast<KIGFX::PCB_RENDER_SETTINGS*> ( painter->GetSettings() ); KICAD_T updateType = EOT; switch( id ) switch( id ) { { Loading Loading @@ -193,44 +188,33 @@ void PCB_EDIT_FRAME::OnSelectOptionToolbar( wxCommandEvent& event ) case ID_TB_OPTIONS_SHOW_ZONES: case ID_TB_OPTIONS_SHOW_ZONES: DisplayOpt.DisplayZonesMode = 0; DisplayOpt.DisplayZonesMode = 0; updateType = PCB_ZONE_AREA_T; m_canvas->Refresh(); m_canvas->Refresh(); break; break; case ID_TB_OPTIONS_SHOW_ZONES_DISABLE: case ID_TB_OPTIONS_SHOW_ZONES_DISABLE: DisplayOpt.DisplayZonesMode = 1; DisplayOpt.DisplayZonesMode = 1; updateType = PCB_ZONE_AREA_T; m_canvas->Refresh(); m_canvas->Refresh(); break; break; case ID_TB_OPTIONS_SHOW_ZONES_OUTLINES_ONLY: case ID_TB_OPTIONS_SHOW_ZONES_OUTLINES_ONLY: DisplayOpt.DisplayZonesMode = 2; DisplayOpt.DisplayZonesMode = 2; updateType = PCB_ZONE_AREA_T; m_canvas->Refresh(); m_canvas->Refresh(); break; break; case ID_TB_OPTIONS_SHOW_VIAS_SKETCH: case ID_TB_OPTIONS_SHOW_VIAS_SKETCH: m_DisplayViaFill = DisplayOpt.DisplayViaFill = !state; m_DisplayViaFill = DisplayOpt.DisplayViaFill = !state; updateType = PCB_VIA_T; m_canvas->Refresh(); m_canvas->Refresh(); break; break; case ID_TB_OPTIONS_SHOW_TRACKS_SKETCH: case ID_TB_OPTIONS_SHOW_TRACKS_SKETCH: m_DisplayPcbTrackFill = DisplayOpt.DisplayPcbTrackFill = !state; m_DisplayPcbTrackFill = DisplayOpt.DisplayPcbTrackFill = !state; updateType = PCB_TRACE_T; m_canvas->Refresh(); m_canvas->Refresh(); break; break; case ID_TB_OPTIONS_SHOW_HIGH_CONTRAST_MODE: case ID_TB_OPTIONS_SHOW_HIGH_CONTRAST_MODE: { { DisplayOpt.ContrastModeDisplay = state; DisplayOpt.ContrastModeDisplay = state; // Apply new display options to the GAL canvas (this is faster than recaching) settings->LoadDisplayOptions( DisplayOpt ); GetGalCanvas()->SetHighContrastLayer( GetActiveLayer() ); m_canvas->Refresh(); m_canvas->Refresh(); break; break; } } Loading Loading @@ -260,21 +244,4 @@ void PCB_EDIT_FRAME::OnSelectOptionToolbar( wxCommandEvent& event ) wxT( "PCB_EDIT_FRAME::OnSelectOptionToolbar error \n (event not handled!)" ) ); wxT( "PCB_EDIT_FRAME::OnSelectOptionToolbar error \n (event not handled!)" ) ); break; break; } } if( updateType != EOT ) { // Apply new display options to the GAL canvas settings->LoadDisplayOptions( DisplayOpt ); // Find items that require update KICAD_T scanList[] = { updateType, EOT }; TYPE_COLLECTOR collector; collector.Collect( GetBoard(), scanList ); for( int i = 0; i < collector.GetCount(); ++i ) collector[i]->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); } if( IsGalCanvasActive() ) GetGalCanvas()->Refresh(); } }
pcbnew/tools/common_actions.cpp +35 −0 Original line number Original line Diff line number Diff line Loading @@ -157,6 +157,18 @@ TOOL_ACTION COMMON_ACTIONS::viaDisplayMode( "pcbnew.Control.viaDisplayMode", AS_GLOBAL, 'L', // TODO temporarily, find a better hot key AS_GLOBAL, 'L', // TODO temporarily, find a better hot key "", "" ); "", "" ); TOOL_ACTION COMMON_ACTIONS::zoneDisplayEnable( "pcbnew.Control.zoneDisplayEnable", AS_GLOBAL, 0, "", "" ); TOOL_ACTION COMMON_ACTIONS::zoneDisplayDisable( "pcbnew.Control.zoneDisplayDisable", AS_GLOBAL, 0, "", "" ); TOOL_ACTION COMMON_ACTIONS::zoneDisplayOutlines( "pcbnew.Control.zoneDisplayOutlines", AS_GLOBAL, 0, "", "" ); TOOL_ACTION COMMON_ACTIONS::highContrastMode( "pcbnew.Control.highContrastMode", TOOL_ACTION COMMON_ACTIONS::highContrastMode( "pcbnew.Control.highContrastMode", AS_GLOBAL, 'H', AS_GLOBAL, 'H', "", "" ); "", "" ); Loading Loading @@ -381,6 +393,29 @@ boost::optional<TOOL_EVENT> COMMON_ACTIONS::TranslateLegacyId( int aId ) case ID_ZOOM_PAGE: // toolbar button "Fit on Screen" case ID_ZOOM_PAGE: // toolbar button "Fit on Screen" return COMMON_ACTIONS::zoomFitScreen.MakeEvent(); return COMMON_ACTIONS::zoomFitScreen.MakeEvent(); case ID_TB_OPTIONS_SHOW_TRACKS_SKETCH: return COMMON_ACTIONS::trackDisplayMode.MakeEvent(); case ID_TB_OPTIONS_SHOW_PADS_SKETCH: return COMMON_ACTIONS::padDisplayMode.MakeEvent(); case ID_TB_OPTIONS_SHOW_VIAS_SKETCH: return COMMON_ACTIONS::viaDisplayMode.MakeEvent(); case ID_TB_OPTIONS_SHOW_ZONES: return COMMON_ACTIONS::zoneDisplayEnable.MakeEvent(); case ID_TB_OPTIONS_SHOW_ZONES_DISABLE: return COMMON_ACTIONS::zoneDisplayDisable.MakeEvent(); case ID_TB_OPTIONS_SHOW_ZONES_OUTLINES_ONLY: return COMMON_ACTIONS::zoneDisplayOutlines.MakeEvent(); case ID_TB_OPTIONS_SHOW_HIGH_CONTRAST_MODE: return COMMON_ACTIONS::highContrastMode.MakeEvent(); case ID_TB_OPTIONS_SHOW_MODULE_EDGE_SKETCH: case ID_TB_OPTIONS_SHOW_MODULE_TEXT_SKETCH: case ID_PCB_DELETE_ITEM_BUTT: case ID_PCB_DELETE_ITEM_BUTT: case ID_PCB_HIGHLIGHT_BUTT: case ID_PCB_HIGHLIGHT_BUTT: case ID_PCB_SHOW_1_RATSNEST_BUTT: case ID_PCB_SHOW_1_RATSNEST_BUTT: Loading
pcbnew/tools/common_actions.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -144,6 +144,9 @@ public: static TOOL_ACTION trackDisplayMode; static TOOL_ACTION trackDisplayMode; static TOOL_ACTION padDisplayMode; static TOOL_ACTION padDisplayMode; static TOOL_ACTION viaDisplayMode; static TOOL_ACTION viaDisplayMode; static TOOL_ACTION zoneDisplayEnable; static TOOL_ACTION zoneDisplayDisable; static TOOL_ACTION zoneDisplayOutlines; static TOOL_ACTION highContrastMode; static TOOL_ACTION highContrastMode; static TOOL_ACTION highContrastInc; static TOOL_ACTION highContrastInc; static TOOL_ACTION highContrastDec; static TOOL_ACTION highContrastDec; Loading
pcbnew/tools/pcbnew_control.cpp +62 −9 Original line number Original line Diff line number Diff line Loading @@ -28,7 +28,9 @@ #include <pcbnew_id.h> #include <pcbnew_id.h> #include <wxPcbStruct.h> #include <wxPcbStruct.h> #include <class_board.h> #include <class_board.h> #include <class_module.h> #include <class_track.h> #include <class_track.h> #include <class_zone.h> #include <class_draw_panel_gal.h> #include <class_draw_panel_gal.h> #include <class_pcb_screen.h> #include <class_pcb_screen.h> #include <pcbcommon.h> #include <pcbcommon.h> Loading Loading @@ -136,10 +138,13 @@ int PCBNEW_CONTROL::TrackDisplayMode( TOOL_EVENT& aEvent ) m_frame->m_DisplayPcbTrackFill = DisplayOpt.DisplayPcbTrackFill; m_frame->m_DisplayPcbTrackFill = DisplayOpt.DisplayPcbTrackFill; settings->LoadDisplayOptions( DisplayOpt ); settings->LoadDisplayOptions( DisplayOpt ); BOARD* board = getModel<BOARD>(); for( TRACK* track = getModel<BOARD>()->m_Track; track; track = track->Next() ) for( TRACK* track = board->m_Track; track; track = track->Next() ) { if( track->Type() == PCB_TRACE_T ) track->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); track->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); } m_frame->GetGalCanvas()->Refresh(); setTransitions(); setTransitions(); return 0; return 0; Loading @@ -148,8 +153,23 @@ int PCBNEW_CONTROL::TrackDisplayMode( TOOL_EVENT& aEvent ) int PCBNEW_CONTROL::PadDisplayMode( TOOL_EVENT& aEvent ) int PCBNEW_CONTROL::PadDisplayMode( TOOL_EVENT& aEvent ) { { wxCommandEvent dummy; KIGFX::PCB_PAINTER* painter = m_frame->OnTogglePadDrawMode( dummy ); static_cast<KIGFX::PCB_PAINTER*>( m_frame->GetGalCanvas()->GetView()->GetPainter() ); KIGFX::PCB_RENDER_SETTINGS* settings = static_cast<KIGFX::PCB_RENDER_SETTINGS*>( painter->GetSettings() ); // Apply new display options to the GAL canvas DisplayOpt.DisplayPadFill = !DisplayOpt.DisplayPadFill; m_frame->m_DisplayPadFill = DisplayOpt.DisplayPadFill; settings->LoadDisplayOptions( DisplayOpt ); for( MODULE* module = getModel<BOARD>()->m_Modules; module; module = module->Next() ) { for( D_PAD* pad = module->Pads(); pad; pad = pad->Next() ) pad->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); } m_frame->GetGalCanvas()->Refresh(); setTransitions(); setTransitions(); return 0; return 0; Loading @@ -168,13 +188,43 @@ int PCBNEW_CONTROL::ViaDisplayMode( TOOL_EVENT& aEvent ) m_frame->m_DisplayViaFill = DisplayOpt.DisplayViaFill; m_frame->m_DisplayViaFill = DisplayOpt.DisplayViaFill; settings->LoadDisplayOptions( DisplayOpt ); settings->LoadDisplayOptions( DisplayOpt ); BOARD* board = getModel<BOARD>(); for( TRACK* track = getModel<BOARD>()->m_Track; track; track = track->Next() ) for( TRACK* track = board->m_Track; track; track = track->Next() ) { { if( track->Type() == PCB_VIA_T ) if( track->Type() == PCB_VIA_T ) track->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); track->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); } } m_frame->GetGalCanvas()->Refresh(); setTransitions(); return 0; } int PCBNEW_CONTROL::ZoneDisplayMode( TOOL_EVENT& aEvent ) { KIGFX::PCB_PAINTER* painter = static_cast<KIGFX::PCB_PAINTER*>( m_frame->GetGalCanvas()->GetView()->GetPainter() ); KIGFX::PCB_RENDER_SETTINGS* settings = static_cast<KIGFX::PCB_RENDER_SETTINGS*>( painter->GetSettings() ); // Apply new display options to the GAL canvas if( aEvent.IsAction( &COMMON_ACTIONS::zoneDisplayEnable ) ) DisplayOpt.DisplayZonesMode = 0; else if( aEvent.IsAction( &COMMON_ACTIONS::zoneDisplayDisable ) ) DisplayOpt.DisplayZonesMode = 1; else if( aEvent.IsAction( &COMMON_ACTIONS::zoneDisplayOutlines ) ) DisplayOpt.DisplayZonesMode = 2; else assert( false ); settings->LoadDisplayOptions( DisplayOpt ); BOARD* board = getModel<BOARD>(); for( int i = 0; i < board->GetAreaCount(); ++i ) board->GetArea( i )->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_frame->GetGalCanvas()->Refresh(); setTransitions(); setTransitions(); return 0; return 0; Loading Loading @@ -529,6 +579,9 @@ void PCBNEW_CONTROL::setTransitions() Go( &PCBNEW_CONTROL::TrackDisplayMode, COMMON_ACTIONS::trackDisplayMode.MakeEvent() ); Go( &PCBNEW_CONTROL::TrackDisplayMode, COMMON_ACTIONS::trackDisplayMode.MakeEvent() ); Go( &PCBNEW_CONTROL::PadDisplayMode, COMMON_ACTIONS::padDisplayMode.MakeEvent() ); Go( &PCBNEW_CONTROL::PadDisplayMode, COMMON_ACTIONS::padDisplayMode.MakeEvent() ); Go( &PCBNEW_CONTROL::ViaDisplayMode, COMMON_ACTIONS::viaDisplayMode.MakeEvent() ); Go( &PCBNEW_CONTROL::ViaDisplayMode, COMMON_ACTIONS::viaDisplayMode.MakeEvent() ); Go( &PCBNEW_CONTROL::ZoneDisplayMode, COMMON_ACTIONS::zoneDisplayEnable.MakeEvent() ); Go( &PCBNEW_CONTROL::ZoneDisplayMode, COMMON_ACTIONS::zoneDisplayDisable.MakeEvent() ); Go( &PCBNEW_CONTROL::ZoneDisplayMode, COMMON_ACTIONS::zoneDisplayOutlines.MakeEvent() ); Go( &PCBNEW_CONTROL::HighContrastMode, COMMON_ACTIONS::highContrastMode.MakeEvent() ); Go( &PCBNEW_CONTROL::HighContrastMode, COMMON_ACTIONS::highContrastMode.MakeEvent() ); Go( &PCBNEW_CONTROL::HighContrastInc, COMMON_ACTIONS::highContrastInc.MakeEvent() ); Go( &PCBNEW_CONTROL::HighContrastInc, COMMON_ACTIONS::highContrastInc.MakeEvent() ); Go( &PCBNEW_CONTROL::HighContrastDec, COMMON_ACTIONS::highContrastDec.MakeEvent() ); Go( &PCBNEW_CONTROL::HighContrastDec, COMMON_ACTIONS::highContrastDec.MakeEvent() ); Loading
pcbnew/tools/pcbnew_control.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -56,6 +56,7 @@ public: int TrackDisplayMode( TOOL_EVENT& aEvent ); int TrackDisplayMode( TOOL_EVENT& aEvent ); int PadDisplayMode( TOOL_EVENT& aEvent ); int PadDisplayMode( TOOL_EVENT& aEvent ); int ViaDisplayMode( TOOL_EVENT& aEvent ); int ViaDisplayMode( TOOL_EVENT& aEvent ); int ZoneDisplayMode( TOOL_EVENT& aEvent ); int HighContrastMode( TOOL_EVENT& aEvent ); int HighContrastMode( TOOL_EVENT& aEvent ); int HighContrastInc( TOOL_EVENT& aEvent ); int HighContrastInc( TOOL_EVENT& aEvent ); int HighContrastDec( TOOL_EVENT& aEvent ); int HighContrastDec( TOOL_EVENT& aEvent ); Loading