Loading include/wxPcbStruct.h +18 −7 Original line number Diff line number Diff line Loading @@ -100,13 +100,6 @@ class PCB_EDIT_FRAME : public PCB_BASE_EDIT_FRAME throw( IO_ERROR, PARSE_ERROR ); protected: #ifdef KICAD_SCRIPTING_WXPYTHON // Panel used to let user talk with internal scripting wxWindow* m_pythonPanel; bool m_pythonPanelShow; ///< Visibility flag for Python Console #endif PCB_LAYER_WIDGET* m_Layers; DRC* m_drc; ///< the DRC controller, see drc.cpp Loading @@ -130,6 +123,24 @@ protected: void createPopUpBlockMenu( wxMenu* menu ); void createPopUpMenuForMarkers( MARKER_PCB* aMarker, wxMenu* aPopMenu ); // Has meaning only if DKICAD_SCRIPTING_WXPYTHON option is on /** * @return the frame name identifier for the python console frame */ static const wxChar * pythonConsoleNameId() { return wxT( "PythonConsole" ); } /** * @return a pointer to the python console frame, or NULL if not exist */ static wxWindow * findPythonConsole() { return FindWindowByName( pythonConsoleNameId() ); } /** * Function syncLayerWidgetLayer * updates the currently layer "selection" within the PCB_LAYER_WIDGET. Loading include/wxstruct.h +0 −15 Original line number Diff line number Diff line Loading @@ -484,21 +484,6 @@ public: CaptionVisible( false ); return *this; } /** * Function ScriptingConsolePane * Change *this to a python scripting console pane for KiCad. * Used in Pcbnew */ EDA_PANEINFO& ScriptingConsolePane() { CloseButton( false ); Floatable( true ); Resizable( true ); return *this; } }; #endif // WXSTRUCT_H_ pcbnew/pcbframe.cpp +20 −36 Original line number Diff line number Diff line Loading @@ -82,8 +82,6 @@ #if defined(KICAD_SCRIPTING) || defined(KICAD_SCRIPTING_WXPYTHON) #include <python_scripting.h> // The name of the pane info handling the python console: #define PYTHONCONSOLE_STRID wxT( "PythonPanel" ) #endif #include <pcb_draw_panel_gal.h> Loading Loading @@ -330,10 +328,6 @@ PCB_EDIT_FRAME::PCB_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ) : m_RecordingMacros = -1; m_microWaveToolBar = NULL; m_useCmpFileForFpNames = true; #if defined(KICAD_SCRIPTING_WXPYTHON) m_pythonPanel = NULL; m_pythonPanelShow = false; #endif m_rotationAngle = 900; Loading Loading @@ -1001,39 +995,29 @@ void PCB_EDIT_FRAME::UpdateTitle() #if defined(KICAD_SCRIPTING_WXPYTHON) void PCB_EDIT_FRAME::ScriptingConsoleEnableDisable( wxCommandEvent& aEvent ) { if( m_pythonPanel == NULL ) { // Add the scripting panel EDA_PANEINFO pythonAuiPane; pythonAuiPane.ScriptingConsolePane(); pythonAuiPane.Caption( wxT( "Python Scripting" ) ); pythonAuiPane.MinSize( 300, 150 ); #if 1 // Set to 0 to make the Python console dockable // Currently the console is not dockable. Reasons: // * When docked there is an issue with accelerator keys used in the main menu: // these keys are not sent to the console, even if it has the focus // * The console is more easy to move if it is not dockable pythonAuiPane.Dockable( false ).Float(); // Gives a reasonnable position to the console wxPoint pos = m_canvas->GetScreenPosition(); pythonAuiPane.FloatingPosition( pos.x + 10, pos.y + 10 ); pythonAuiPane.FloatingSize( 600, 200 ); #else pythonAuiPane.BestSize( 600, 200 ); pythonAuiPane.LeftDockable( false ).RightDockable( false ); #endif m_pythonPanel = CreatePythonShellWindow( this ); m_auimgr.AddPane( m_pythonPanel, pythonAuiPane.Name( PYTHONCONSOLE_STRID ).Bottom().Layer(9) ); } wxMiniFrame * pythonPanelFrame = (wxMiniFrame *) findPythonConsole(); bool pythonPanelShown = false; m_pythonPanelShow = ! m_pythonPanelShow; m_auimgr.GetPane( PYTHONCONSOLE_STRID ).Show( m_pythonPanelShow ); if( pythonPanelFrame == NULL ) { long style = wxCAPTION|wxCLOSE_BOX|wxMINIMIZE_BOX|wxMAXIMIZE_BOX|wxRESIZE_BORDER|wxFRAME_FLOAT_ON_PARENT; pythonPanelFrame = new wxMiniFrame( this, wxID_ANY, wxT("Python console"), wxDefaultPosition, wxDefaultSize, style, pythonConsoleNameId() ); wxBoxSizer* sizer = new wxBoxSizer( wxVERTICAL ); m_auimgr.Update(); wxWindow * pythonPanel = CreatePythonShellWindow( pythonPanelFrame ); sizer->Add( pythonPanel, 1, wxEXPAND | wxALL, 5 ); pythonPanelFrame->SetSizer( sizer ); pythonPanelFrame->SetSize( wxSize( 600, 300 ) ); pythonPanelFrame->Layout(); pythonPanelFrame->Centre(); } else pythonPanelShown = pythonPanelFrame->IsShown(); pythonPanelShown = ! pythonPanelShown; pythonPanelFrame->Show( pythonPanelShown ); } #endif Loading pcbnew/toolbars_update_user_interface.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -106,12 +106,13 @@ void PCB_EDIT_FRAME::OnUpdateLayerSelectBox( wxUpdateUIEvent& aEvent ) m_SelLayerBox->SetLayerSelection( GetActiveLayer() ); } #ifdef KICAD_SCRIPTING_WXPYTHON // Used only when the DKICAD_SCRIPTING_WXPYTHON option is on void PCB_EDIT_FRAME::OnUpdateScriptingConsoleState( wxUpdateUIEvent& aEvent ) { aEvent.Check( m_pythonPanelShow ); wxMiniFrame * pythonPanelFrame = (wxMiniFrame *) findPythonConsole(); bool pythonPanelShown = pythonPanelFrame ? pythonPanelFrame->IsShown() : false; aEvent.Check( pythonPanelShown ); } #endif void PCB_EDIT_FRAME::OnUpdateZoneDisplayStyle( wxUpdateUIEvent& aEvent ) { Loading Loading
include/wxPcbStruct.h +18 −7 Original line number Diff line number Diff line Loading @@ -100,13 +100,6 @@ class PCB_EDIT_FRAME : public PCB_BASE_EDIT_FRAME throw( IO_ERROR, PARSE_ERROR ); protected: #ifdef KICAD_SCRIPTING_WXPYTHON // Panel used to let user talk with internal scripting wxWindow* m_pythonPanel; bool m_pythonPanelShow; ///< Visibility flag for Python Console #endif PCB_LAYER_WIDGET* m_Layers; DRC* m_drc; ///< the DRC controller, see drc.cpp Loading @@ -130,6 +123,24 @@ protected: void createPopUpBlockMenu( wxMenu* menu ); void createPopUpMenuForMarkers( MARKER_PCB* aMarker, wxMenu* aPopMenu ); // Has meaning only if DKICAD_SCRIPTING_WXPYTHON option is on /** * @return the frame name identifier for the python console frame */ static const wxChar * pythonConsoleNameId() { return wxT( "PythonConsole" ); } /** * @return a pointer to the python console frame, or NULL if not exist */ static wxWindow * findPythonConsole() { return FindWindowByName( pythonConsoleNameId() ); } /** * Function syncLayerWidgetLayer * updates the currently layer "selection" within the PCB_LAYER_WIDGET. Loading
include/wxstruct.h +0 −15 Original line number Diff line number Diff line Loading @@ -484,21 +484,6 @@ public: CaptionVisible( false ); return *this; } /** * Function ScriptingConsolePane * Change *this to a python scripting console pane for KiCad. * Used in Pcbnew */ EDA_PANEINFO& ScriptingConsolePane() { CloseButton( false ); Floatable( true ); Resizable( true ); return *this; } }; #endif // WXSTRUCT_H_
pcbnew/pcbframe.cpp +20 −36 Original line number Diff line number Diff line Loading @@ -82,8 +82,6 @@ #if defined(KICAD_SCRIPTING) || defined(KICAD_SCRIPTING_WXPYTHON) #include <python_scripting.h> // The name of the pane info handling the python console: #define PYTHONCONSOLE_STRID wxT( "PythonPanel" ) #endif #include <pcb_draw_panel_gal.h> Loading Loading @@ -330,10 +328,6 @@ PCB_EDIT_FRAME::PCB_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ) : m_RecordingMacros = -1; m_microWaveToolBar = NULL; m_useCmpFileForFpNames = true; #if defined(KICAD_SCRIPTING_WXPYTHON) m_pythonPanel = NULL; m_pythonPanelShow = false; #endif m_rotationAngle = 900; Loading Loading @@ -1001,39 +995,29 @@ void PCB_EDIT_FRAME::UpdateTitle() #if defined(KICAD_SCRIPTING_WXPYTHON) void PCB_EDIT_FRAME::ScriptingConsoleEnableDisable( wxCommandEvent& aEvent ) { if( m_pythonPanel == NULL ) { // Add the scripting panel EDA_PANEINFO pythonAuiPane; pythonAuiPane.ScriptingConsolePane(); pythonAuiPane.Caption( wxT( "Python Scripting" ) ); pythonAuiPane.MinSize( 300, 150 ); #if 1 // Set to 0 to make the Python console dockable // Currently the console is not dockable. Reasons: // * When docked there is an issue with accelerator keys used in the main menu: // these keys are not sent to the console, even if it has the focus // * The console is more easy to move if it is not dockable pythonAuiPane.Dockable( false ).Float(); // Gives a reasonnable position to the console wxPoint pos = m_canvas->GetScreenPosition(); pythonAuiPane.FloatingPosition( pos.x + 10, pos.y + 10 ); pythonAuiPane.FloatingSize( 600, 200 ); #else pythonAuiPane.BestSize( 600, 200 ); pythonAuiPane.LeftDockable( false ).RightDockable( false ); #endif m_pythonPanel = CreatePythonShellWindow( this ); m_auimgr.AddPane( m_pythonPanel, pythonAuiPane.Name( PYTHONCONSOLE_STRID ).Bottom().Layer(9) ); } wxMiniFrame * pythonPanelFrame = (wxMiniFrame *) findPythonConsole(); bool pythonPanelShown = false; m_pythonPanelShow = ! m_pythonPanelShow; m_auimgr.GetPane( PYTHONCONSOLE_STRID ).Show( m_pythonPanelShow ); if( pythonPanelFrame == NULL ) { long style = wxCAPTION|wxCLOSE_BOX|wxMINIMIZE_BOX|wxMAXIMIZE_BOX|wxRESIZE_BORDER|wxFRAME_FLOAT_ON_PARENT; pythonPanelFrame = new wxMiniFrame( this, wxID_ANY, wxT("Python console"), wxDefaultPosition, wxDefaultSize, style, pythonConsoleNameId() ); wxBoxSizer* sizer = new wxBoxSizer( wxVERTICAL ); m_auimgr.Update(); wxWindow * pythonPanel = CreatePythonShellWindow( pythonPanelFrame ); sizer->Add( pythonPanel, 1, wxEXPAND | wxALL, 5 ); pythonPanelFrame->SetSizer( sizer ); pythonPanelFrame->SetSize( wxSize( 600, 300 ) ); pythonPanelFrame->Layout(); pythonPanelFrame->Centre(); } else pythonPanelShown = pythonPanelFrame->IsShown(); pythonPanelShown = ! pythonPanelShown; pythonPanelFrame->Show( pythonPanelShown ); } #endif Loading
pcbnew/toolbars_update_user_interface.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -106,12 +106,13 @@ void PCB_EDIT_FRAME::OnUpdateLayerSelectBox( wxUpdateUIEvent& aEvent ) m_SelLayerBox->SetLayerSelection( GetActiveLayer() ); } #ifdef KICAD_SCRIPTING_WXPYTHON // Used only when the DKICAD_SCRIPTING_WXPYTHON option is on void PCB_EDIT_FRAME::OnUpdateScriptingConsoleState( wxUpdateUIEvent& aEvent ) { aEvent.Check( m_pythonPanelShow ); wxMiniFrame * pythonPanelFrame = (wxMiniFrame *) findPythonConsole(); bool pythonPanelShown = pythonPanelFrame ? pythonPanelFrame->IsShown() : false; aEvent.Check( pythonPanelShown ); } #endif void PCB_EDIT_FRAME::OnUpdateZoneDisplayStyle( wxUpdateUIEvent& aEvent ) { Loading