Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kicad-source-mirror
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
kicad-source-mirror
Commits
4fd2a4da
Commit
4fd2a4da
authored
Oct 31, 2014
by
jean-pierre charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Pcbnew, python console: refinements.
parent
30497943
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
108 additions
and
19 deletions
+108
-19
pcbframe.cpp
pcbnew/pcbframe.cpp
+9
-18
python_console_frame.h
pcbnew/scripting/python_console_frame.h
+98
-0
tool_pcb.cpp
pcbnew/tool_pcb.cpp
+1
-1
No files found.
pcbnew/pcbframe.cpp
View file @
4fd2a4da
...
...
@@ -79,6 +79,7 @@
#include <tools/placement_tool.h>
#include <tools/common_actions.h>
#include <scripting/python_console_frame.h>
#if defined(KICAD_SCRIPTING) || defined(KICAD_SCRIPTING_WXPYTHON)
#include <python_scripting.h>
...
...
@@ -211,11 +212,12 @@ BEGIN_EVENT_TABLE( PCB_EDIT_FRAME, PCB_BASE_FRAME )
EVT_TOOL
(
ID_TOOLBARH_PCB_MODE_MODULE
,
PCB_EDIT_FRAME
::
OnSelectAutoPlaceMode
)
EVT_TOOL
(
ID_TOOLBARH_PCB_MODE_TRACKS
,
PCB_EDIT_FRAME
::
OnSelectAutoPlaceMode
)
EVT_TOOL
(
ID_TOOLBARH_PCB_FREEROUTE_ACCESS
,
PCB_EDIT_FRAME
::
Access_to_External_Tool
)
#ifdef KICAD_SCRIPTING_WXPYTHON
// has meaning only with KICAD_SCRIPTING_WXPYTHON enabled
EVT_TOOL
(
ID_TOOLBARH_PCB_SCRIPTING_CONSOLE
,
PCB_EDIT_FRAME
::
ScriptingConsoleEnableDisable
)
EVT_UPDATE_UI
(
ID_TOOLBARH_PCB_SCRIPTING_CONSOLE
,
PCB_EDIT_FRAME
::
OnUpdateScriptingConsoleState
)
#endif
// Option toolbar
EVT_TOOL
(
ID_TB_OPTIONS_DRC_OFF
,
PCB_EDIT_FRAME
::
OnSelectOptionToolbar
)
...
...
@@ -992,34 +994,23 @@ void PCB_EDIT_FRAME::UpdateTitle()
}
#if defined(KICAD_SCRIPTING_WXPYTHON)
wxSize
PYTHON_CONSOLE_FRAME
::
m_frameSize
;
///< The size of the PYTHON_CONSOLE_FRAME frame, stored during a session
wxPoint
PYTHON_CONSOLE_FRAME
::
m_framePos
;
///< The position ofPYTHON_CONSOLE_FRAME the frame, stored during a session
void
PCB_EDIT_FRAME
::
ScriptingConsoleEnableDisable
(
wxCommandEvent
&
aEvent
)
{
wx
MiniFrame
*
pythonPanelFrame
=
(
wxMiniFrame
*
)
findPythonConsole
();
wx
Window
*
pythonPanelFrame
=
findPythonConsole
();
bool
pythonPanelShown
=
false
;
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
);
wxWindow
*
pythonPanel
=
CreatePythonShellWindow
(
pythonPanelFrame
);
sizer
->
Add
(
pythonPanel
,
1
,
wxEXPAND
|
wxALL
,
5
);
pythonPanelFrame
->
SetSizer
(
sizer
);
pythonPanelFrame
->
SetSize
(
wxSize
(
600
,
300
)
);
pythonPanelFrame
->
Layout
();
pythonPanelFrame
->
Centre
();
}
pythonPanelFrame
=
new
PYTHON_CONSOLE_FRAME
(
this
,
pythonConsoleNameId
()
);
else
pythonPanelShown
=
pythonPanelFrame
->
IsShown
();
pythonPanelShown
=
!
pythonPanelShown
;
pythonPanelFrame
->
Show
(
pythonPanelShown
);
}
#endif
void
PCB_EDIT_FRAME
::
OnSelectAutoPlaceMode
(
wxCommandEvent
&
aEvent
)
...
...
pcbnew/scripting/python_console_frame.h
0 → 100644
View file @
4fd2a4da
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2014 Jean-Pierre Charras, jp.charras at wanadoo.fr
* Copyright (C) 2004-2014 KiCad Developers, see change_log.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you may find one here:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or you may search the http://www.gnu.org website for the version 2 license,
* or you may write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file python_console_frame.h
*/
#ifndef PYTHON_CONSOLE_FRAME_H_
#define PYTHON_CONSOLE_FRAME_H_
/**
* Class PYTHON_CONSOLE_FRAME is a simple derived class from wxMiniFrame
* to handle the scripting python console
*/
class
PYTHON_CONSOLE_FRAME
:
public
wxMiniFrame
{
private
:
static
wxSize
m_frameSize
;
///< The size of the frame, stored during a session
static
wxPoint
m_framePos
;
///< The position of the frame, stored during a session
public
:
PYTHON_CONSOLE_FRAME
(
wxWindow
*
aParent
,
const
wxString
&
aFramenameId
)
:
wxMiniFrame
(
aParent
,
wxID_ANY
,
wxT
(
"Python console"
),
wxDefaultPosition
,
wxDefaultSize
,
wxCAPTION
|
wxCLOSE_BOX
|
wxRESIZE_BORDER
|
wxFRAME_FLOAT_ON_PARENT
,
aFramenameId
)
{
wxBoxSizer
*
sizer
=
new
wxBoxSizer
(
wxVERTICAL
);
#if defined(KICAD_SCRIPTING_WXPYTHON)
wxWindow
*
pythonPanel
=
CreatePythonShellWindow
(
pythonPanelFrame
);
sizer
->
Add
(
pythonPanel
,
1
,
wxEXPAND
|
wxALL
,
5
);
#endif
SetSizer
(
sizer
);
SetMinSize
(
wxSize
(
400
,
200
)
);
if
(
m_frameSize
.
x
<=
0
||
m_frameSize
.
y
<=
0
)
SetSize
(
wxSize
(
600
,
300
)
);
else
SetSize
(
m_frameSize
);
if
(
m_framePos
.
x
==
0
&&
m_framePos
.
y
==
0
)
Centre
();
else
SetPosition
(
m_framePos
);
Layout
();
// Connect Events
this
->
Connect
(
wxEVT_CLOSE_WINDOW
,
wxCloseEventHandler
(
PYTHON_CONSOLE_FRAME
::
OnClose
)
);
}
~
PYTHON_CONSOLE_FRAME
()
{
// Disconnect Events
this
->
Disconnect
(
wxEVT_CLOSE_WINDOW
,
wxCloseEventHandler
(
PYTHON_CONSOLE_FRAME
::
OnClose
)
);
}
private
:
void
OnClose
(
wxCloseEvent
&
event
)
{
if
(
!
IsIconized
()
)
{
m_frameSize
=
GetSize
();
m_framePos
=
GetPosition
();
}
event
.
Skip
();
}
// DECLARE_EVENT_TABLE()
};
#endif // PYTHON_CONSOLE_FRAME_H_
pcbnew/tool_pcb.cpp
View file @
4fd2a4da
...
...
@@ -309,7 +309,7 @@ void PCB_EDIT_FRAME::ReCreateHToolbar()
_
(
"Fast access to the Web Based FreeROUTE advanced router"
)
);
// Access to the scripting console
#if
def KICAD_SCRIPTING_WXPYTHON
#if
defined(KICAD_SCRIPTING_WXPYTHON)
m_mainToolBar
->
AddSeparator
();
m_mainToolBar
->
AddTool
(
ID_TOOLBARH_PCB_SCRIPTING_CONSOLE
,
wxEmptyString
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment