Merge in trunk
This commit is contained in:
commit
e8bfd5fa5d
|
@ -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
|
||||
|
@ -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.
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -73,8 +73,8 @@ const LAYER_WIDGET::ROW PCB_LAYER_WIDGET::s_render_rows[] = {
|
|||
RR( _( "Anchors" ), ANCHOR_VISIBLE, WHITE, _( "Show footprint and text origins as a cross" ) ),
|
||||
RR( _( "Grid" ), GRID_VISIBLE, WHITE, _( "Show the (x,y) grid dots" ) ),
|
||||
RR( _( "No-Connects" ), NO_CONNECTS_VISIBLE, UNSPECIFIED_COLOR, _( "Show a marker on pads which have no net connected" ) ),
|
||||
RR( _( "Modules Front" ), MOD_FR_VISIBLE, UNSPECIFIED_COLOR, _( "Show footprints that are on board's front") ),
|
||||
RR( _( "Modules Back" ), MOD_BK_VISIBLE, UNSPECIFIED_COLOR, _( "Show footprints that are on board's back") ),
|
||||
RR( _( "Footprints Front" ), MOD_FR_VISIBLE, UNSPECIFIED_COLOR, _( "Show footprints that are on board's front") ),
|
||||
RR( _( "Footprints Back" ), MOD_BK_VISIBLE, UNSPECIFIED_COLOR, _( "Show footprints that are on board's back") ),
|
||||
RR( _( "Values" ), MOD_VALUES_VISIBLE, UNSPECIFIED_COLOR, _( "Show footprint's values") ),
|
||||
RR( _( "References" ), MOD_REFERENCES_VISIBLE, UNSPECIFIED_COLOR, _( "Show footprint's references") ),
|
||||
};
|
||||
|
|
|
@ -273,7 +273,7 @@ void FOOTPRINT_EDIT_FRAME::ReCreateMenuBar()
|
|||
// Anchor
|
||||
AddMenuItem( placeMenu, ID_MODEDIT_ANCHOR_TOOL,
|
||||
_( "A&nchor" ),
|
||||
_( "Place footprint module reference anchor" ),
|
||||
_( "Place footprint reference anchor" ),
|
||||
KiBitmap( anchor_xpm ) );
|
||||
|
||||
// Menu Help:
|
||||
|
|
|
@ -1075,7 +1075,7 @@ void PCB_EDIT_FRAME::Edit_Gap( wxDC* DC, MODULE* aModule )
|
|||
|
||||
if( pad == NULL )
|
||||
{
|
||||
DisplayError( this, _( "No pad for this module" ) );
|
||||
DisplayError( this, _( "No pad for this footprint" ) );
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1083,7 +1083,7 @@ void PCB_EDIT_FRAME::Edit_Gap( wxDC* DC, MODULE* aModule )
|
|||
|
||||
if( next_pad == NULL )
|
||||
{
|
||||
DisplayError( this, _( "Only one pad for this module" ) );
|
||||
DisplayError( this, _( "Only one pad for this footprint" ) );
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 )
|
||||
|
||||
wxMiniFrame * pythonPanelFrame = (wxMiniFrame *) findPythonConsole();
|
||||
bool pythonPanelShown = false;
|
||||
|
||||
if( pythonPanelFrame == NULL )
|
||||
{
|
||||
// Add the scripting panel
|
||||
EDA_PANEINFO pythonAuiPane;
|
||||
pythonAuiPane.ScriptingConsolePane();
|
||||
pythonAuiPane.Caption( wxT( "Python Scripting" ) );
|
||||
pythonAuiPane.MinSize( 300, 150 );
|
||||
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 );
|
||||
|
||||
#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) );
|
||||
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();
|
||||
|
||||
m_pythonPanelShow = ! m_pythonPanelShow;
|
||||
m_auimgr.GetPane( PYTHONCONSOLE_STRID ).Show( m_pythonPanelShow );
|
||||
|
||||
m_auimgr.Update();
|
||||
pythonPanelShown = ! pythonPanelShown;
|
||||
pythonPanelFrame->Show( pythonPanelShown );
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -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…
Reference in New Issue