Browse Source
kicad2step: convert it from a wxAppConsole to a wxApp, using a wxFrame/wxPanel
pull/16/head
kicad2step: convert it from a wxAppConsole to a wxApp, using a wxFrame/wxPanel
pull/16/head
12 changed files with 641 additions and 302 deletions
-
5pcbnew/dialogs/dialog_export_step.cpp
-
1utils/kicad2step/CMakeLists.txt
-
236utils/kicad2step/kicad2step.cpp
-
31utils/kicad2step/kicad2step_frame_base.cpp
-
200utils/kicad2step/kicad2step_frame_base.fpb
-
47utils/kicad2step/kicad2step_frame_base.h
-
81utils/kicad2step/panel_kicad2step.h
-
7utils/kicad2step/pcb/3d_resolver.cpp
-
119utils/kicad2step/pcb/kicadpcb.cpp
-
10utils/kicad2step/pcb/kicadpcb.h
-
202utils/kicad2step/pcb/oce_utils.cpp
-
4utils/kicad2step/pcb/oce_utils.h
@ -0,0 +1,31 @@ |
|||
///////////////////////////////////////////////////////////////////////////
|
|||
// C++ code generated with wxFormBuilder (version Jul 11 2018)
|
|||
// http://www.wxformbuilder.org/
|
|||
//
|
|||
// PLEASE DO *NOT* EDIT THIS FILE!
|
|||
///////////////////////////////////////////////////////////////////////////
|
|||
|
|||
#include "kicad2step_frame_base.h"
|
|||
|
|||
///////////////////////////////////////////////////////////////////////////
|
|||
|
|||
KICAD2STEP_FRAME_BASE::KICAD2STEP_FRAME_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style ) |
|||
{ |
|||
this->SetSizeHints( wxDefaultSize, wxDefaultSize ); |
|||
|
|||
wxBoxSizer* bSizerMain; |
|||
bSizerMain = new wxBoxSizer( wxVERTICAL ); |
|||
|
|||
m_panelKicad2Step = new PANEL_KICAD2STEP( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); |
|||
bSizerMain->Add( m_panelKicad2Step, 1, wxEXPAND | wxALL, 5 ); |
|||
|
|||
|
|||
this->SetSizer( bSizerMain ); |
|||
this->Layout(); |
|||
|
|||
this->Centre( wxBOTH ); |
|||
} |
|||
|
|||
KICAD2STEP_FRAME_BASE::~KICAD2STEP_FRAME_BASE() |
|||
{ |
|||
} |
|||
@ -0,0 +1,200 @@ |
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> |
|||
<wxFormBuilder_Project> |
|||
<FileVersion major="1" minor="14" /> |
|||
<object class="Project" expanded="1"> |
|||
<property name="class_decoration"></property> |
|||
<property name="code_generation">C++</property> |
|||
<property name="disconnect_events">1</property> |
|||
<property name="disconnect_mode">source_name</property> |
|||
<property name="disconnect_php_events">0</property> |
|||
<property name="disconnect_python_events">0</property> |
|||
<property name="embedded_files_path">res</property> |
|||
<property name="encoding">UTF-8</property> |
|||
<property name="event_generation">connect</property> |
|||
<property name="file">kicad2step_frame_base</property> |
|||
<property name="first_id">1000</property> |
|||
<property name="help_provider">none</property> |
|||
<property name="indent_with_spaces"></property> |
|||
<property name="internationalize">1</property> |
|||
<property name="name">kicad2step_frame</property> |
|||
<property name="namespace"></property> |
|||
<property name="path">.</property> |
|||
<property name="precompiled_header"></property> |
|||
<property name="relative_path">1</property> |
|||
<property name="skip_lua_events">1</property> |
|||
<property name="skip_php_events">1</property> |
|||
<property name="skip_python_events">1</property> |
|||
<property name="ui_table">UI</property> |
|||
<property name="use_enum">0</property> |
|||
<property name="use_microsoft_bom">0</property> |
|||
<object class="Frame" expanded="1"> |
|||
<property name="aui_managed">0</property> |
|||
<property name="aui_manager_style">wxAUI_MGR_DEFAULT</property> |
|||
<property name="bg"></property> |
|||
<property name="center">wxBOTH</property> |
|||
<property name="context_help"></property> |
|||
<property name="context_menu">1</property> |
|||
<property name="enabled">1</property> |
|||
<property name="event_handler">impl_virtual</property> |
|||
<property name="extra_style"></property> |
|||
<property name="fg"></property> |
|||
<property name="font"></property> |
|||
<property name="hidden">0</property> |
|||
<property name="id">wxID_ANY</property> |
|||
<property name="maximum_size"></property> |
|||
<property name="minimum_size"></property> |
|||
<property name="name">KICAD2STEP_FRAME_BASE</property> |
|||
<property name="pos"></property> |
|||
<property name="size">500,300</property> |
|||
<property name="style">wxDEFAULT_FRAME_STYLE</property> |
|||
<property name="subclass">; forward_declare; forward_declare</property> |
|||
<property name="title">Kicad2step Converter</property> |
|||
<property name="tooltip"></property> |
|||
<property name="window_extra_style"></property> |
|||
<property name="window_name"></property> |
|||
<property name="window_style">wxTAB_TRAVERSAL</property> |
|||
<property name="xrc_skip_sizer">1</property> |
|||
<event name="OnActivate"></event> |
|||
<event name="OnActivateApp"></event> |
|||
<event name="OnAuiPaneActivated"></event> |
|||
<event name="OnAuiPaneButton"></event> |
|||
<event name="OnAuiPaneClose"></event> |
|||
<event name="OnAuiPaneMaximize"></event> |
|||
<event name="OnAuiPaneRestore"></event> |
|||
<event name="OnAuiRender"></event> |
|||
<event name="OnAux1DClick"></event> |
|||
<event name="OnAux1Down"></event> |
|||
<event name="OnAux1Up"></event> |
|||
<event name="OnAux2DClick"></event> |
|||
<event name="OnAux2Down"></event> |
|||
<event name="OnAux2Up"></event> |
|||
<event name="OnChar"></event> |
|||
<event name="OnCharHook"></event> |
|||
<event name="OnClose"></event> |
|||
<event name="OnEnterWindow"></event> |
|||
<event name="OnEraseBackground"></event> |
|||
<event name="OnHibernate"></event> |
|||
<event name="OnIconize"></event> |
|||
<event name="OnIdle"></event> |
|||
<event name="OnKeyDown"></event> |
|||
<event name="OnKeyUp"></event> |
|||
<event name="OnKillFocus"></event> |
|||
<event name="OnLeaveWindow"></event> |
|||
<event name="OnLeftDClick"></event> |
|||
<event name="OnLeftDown"></event> |
|||
<event name="OnLeftUp"></event> |
|||
<event name="OnMaximize"></event> |
|||
<event name="OnMiddleDClick"></event> |
|||
<event name="OnMiddleDown"></event> |
|||
<event name="OnMiddleUp"></event> |
|||
<event name="OnMotion"></event> |
|||
<event name="OnMouseEvents"></event> |
|||
<event name="OnMouseWheel"></event> |
|||
<event name="OnMove"></event> |
|||
<event name="OnMoveEnd"></event> |
|||
<event name="OnMoveStart"></event> |
|||
<event name="OnMoving"></event> |
|||
<event name="OnPaint"></event> |
|||
<event name="OnRightDClick"></event> |
|||
<event name="OnRightDown"></event> |
|||
<event name="OnRightUp"></event> |
|||
<event name="OnSetFocus"></event> |
|||
<event name="OnShow"></event> |
|||
<event name="OnSize"></event> |
|||
<event name="OnUpdateUI"></event> |
|||
<object class="wxBoxSizer" expanded="1"> |
|||
<property name="minimum_size"></property> |
|||
<property name="name">bSizerMain</property> |
|||
<property name="orient">wxVERTICAL</property> |
|||
<property name="permission">none</property> |
|||
<object class="sizeritem" expanded="1"> |
|||
<property name="border">5</property> |
|||
<property name="flag">wxEXPAND | wxALL</property> |
|||
<property name="proportion">1</property> |
|||
<object class="wxPanel" expanded="1"> |
|||
<property name="BottomDockable">1</property> |
|||
<property name="LeftDockable">1</property> |
|||
<property name="RightDockable">1</property> |
|||
<property name="TopDockable">1</property> |
|||
<property name="aui_layer"></property> |
|||
<property name="aui_name"></property> |
|||
<property name="aui_position"></property> |
|||
<property name="aui_row"></property> |
|||
<property name="best_size"></property> |
|||
<property name="bg"></property> |
|||
<property name="caption"></property> |
|||
<property name="caption_visible">1</property> |
|||
<property name="center_pane">0</property> |
|||
<property name="close_button">1</property> |
|||
<property name="context_help"></property> |
|||
<property name="context_menu">1</property> |
|||
<property name="default_pane">0</property> |
|||
<property name="dock">Dock</property> |
|||
<property name="dock_fixed">0</property> |
|||
<property name="docking">Left</property> |
|||
<property name="enabled">1</property> |
|||
<property name="fg"></property> |
|||
<property name="floatable">1</property> |
|||
<property name="font"></property> |
|||
<property name="gripper">0</property> |
|||
<property name="hidden">0</property> |
|||
<property name="id">wxID_ANY</property> |
|||
<property name="max_size"></property> |
|||
<property name="maximize_button">0</property> |
|||
<property name="maximum_size"></property> |
|||
<property name="min_size"></property> |
|||
<property name="minimize_button">0</property> |
|||
<property name="minimum_size"></property> |
|||
<property name="moveable">1</property> |
|||
<property name="name">m_panelKicad2Step</property> |
|||
<property name="pane_border">1</property> |
|||
<property name="pane_position"></property> |
|||
<property name="pane_size"></property> |
|||
<property name="permission">public</property> |
|||
<property name="pin_button">1</property> |
|||
<property name="pos"></property> |
|||
<property name="resize">Resizable</property> |
|||
<property name="show">1</property> |
|||
<property name="size"></property> |
|||
<property name="subclass">PANEL_KICAD2STEP; panel_kicad2step.h; Not forward_declare</property> |
|||
<property name="toolbar_pane">0</property> |
|||
<property name="tooltip"></property> |
|||
<property name="window_extra_style"></property> |
|||
<property name="window_name"></property> |
|||
<property name="window_style">wxTAB_TRAVERSAL</property> |
|||
<event name="OnAux1DClick"></event> |
|||
<event name="OnAux1Down"></event> |
|||
<event name="OnAux1Up"></event> |
|||
<event name="OnAux2DClick"></event> |
|||
<event name="OnAux2Down"></event> |
|||
<event name="OnAux2Up"></event> |
|||
<event name="OnChar"></event> |
|||
<event name="OnCharHook"></event> |
|||
<event name="OnEnterWindow"></event> |
|||
<event name="OnEraseBackground"></event> |
|||
<event name="OnKeyDown"></event> |
|||
<event name="OnKeyUp"></event> |
|||
<event name="OnKillFocus"></event> |
|||
<event name="OnLeaveWindow"></event> |
|||
<event name="OnLeftDClick"></event> |
|||
<event name="OnLeftDown"></event> |
|||
<event name="OnLeftUp"></event> |
|||
<event name="OnMiddleDClick"></event> |
|||
<event name="OnMiddleDown"></event> |
|||
<event name="OnMiddleUp"></event> |
|||
<event name="OnMotion"></event> |
|||
<event name="OnMouseEvents"></event> |
|||
<event name="OnMouseWheel"></event> |
|||
<event name="OnPaint"></event> |
|||
<event name="OnRightDClick"></event> |
|||
<event name="OnRightDown"></event> |
|||
<event name="OnRightUp"></event> |
|||
<event name="OnSetFocus"></event> |
|||
<event name="OnSize"></event> |
|||
<event name="OnUpdateUI"></event> |
|||
</object> |
|||
</object> |
|||
</object> |
|||
</object> |
|||
</object> |
|||
</wxFormBuilder_Project> |
|||
@ -0,0 +1,47 @@ |
|||
/////////////////////////////////////////////////////////////////////////// |
|||
// C++ code generated with wxFormBuilder (version Jul 11 2018) |
|||
// http://www.wxformbuilder.org/ |
|||
// |
|||
// PLEASE DO *NOT* EDIT THIS FILE! |
|||
/////////////////////////////////////////////////////////////////////////// |
|||
|
|||
#ifndef __KICAD2STEP_FRAME_BASE_H__ |
|||
#define __KICAD2STEP_FRAME_BASE_H__ |
|||
|
|||
#include <wx/artprov.h> |
|||
#include <wx/xrc/xmlres.h> |
|||
#include <wx/intl.h> |
|||
#include "panel_kicad2step.h" |
|||
#include <wx/panel.h> |
|||
#include <wx/gdicmn.h> |
|||
#include <wx/font.h> |
|||
#include <wx/colour.h> |
|||
#include <wx/settings.h> |
|||
#include <wx/string.h> |
|||
#include <wx/sizer.h> |
|||
#include <wx/frame.h> |
|||
|
|||
/////////////////////////////////////////////////////////////////////////// |
|||
|
|||
|
|||
/////////////////////////////////////////////////////////////////////////////// |
|||
/// Class KICAD2STEP_FRAME_BASE |
|||
/////////////////////////////////////////////////////////////////////////////// |
|||
class KICAD2STEP_FRAME_BASE : public wxFrame |
|||
{ |
|||
private: |
|||
|
|||
protected: |
|||
|
|||
public: |
|||
PANEL_KICAD2STEP* m_panelKicad2Step; |
|||
|
|||
KICAD2STEP_FRAME_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, |
|||
const wxString& title = _("Kicad2step Converter"), const wxPoint& pos = wxDefaultPosition, |
|||
const wxSize& size = wxSize( 500,300 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL ); |
|||
|
|||
~KICAD2STEP_FRAME_BASE(); |
|||
|
|||
}; |
|||
|
|||
#endif //__KICAD2STEP_FRAME_BASE_H__ |
|||
@ -0,0 +1,81 @@ |
|||
/* |
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2016 |
|||
* |
|||
* 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 3 |
|||
* 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-3.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 panel_kicad2step.h |
|||
* declares the main PCB object |
|||
*/ |
|||
|
|||
#ifndef PANEL_KICAD2STEP_H |
|||
#define PANEL_KICAD2STEP_H |
|||
|
|||
#include <wx/sizer.h> |
|||
#include <wx/textctrl.h> |
|||
#include <wx/panel.h> |
|||
|
|||
class KICAD2MCAD_PRMS // A small class to handle parameters of conversion |
|||
{ |
|||
public: |
|||
KICAD2MCAD_PRMS(); |
|||
|
|||
///> Returns file extension for the selected output format |
|||
wxString getOutputExt() const; |
|||
|
|||
public: |
|||
#ifdef SUPPORTS_IGES |
|||
bool m_fmtIGES; |
|||
#endif |
|||
bool m_overwrite; |
|||
bool m_useGridOrigin; |
|||
bool m_useDrillOrigin; |
|||
bool m_includeVirtual; |
|||
wxString m_filename; |
|||
wxString m_outputFile; |
|||
double m_xOrigin; |
|||
double m_yOrigin; |
|||
double m_minDistance; |
|||
|
|||
}; |
|||
|
|||
class PANEL_KICAD2STEP: public wxPanel |
|||
{ |
|||
public: |
|||
PANEL_KICAD2STEP( wxWindow* parent, wxWindowID id = wxID_ANY, |
|||
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,300 ), |
|||
long style = wxTAB_TRAVERSAL ); |
|||
|
|||
/** Run the Kicad to STEP converter |
|||
*/ |
|||
int RunConverter(); |
|||
|
|||
/** Add a message to m_tcMessages |
|||
*/ |
|||
void AppendMessage( const wxString& aMessage ); |
|||
|
|||
KICAD2MCAD_PRMS m_params; |
|||
|
|||
private: |
|||
wxTextCtrl* m_tcMessages; |
|||
}; |
|||
|
|||
#endif // #ifndef PANEL_KICAD2STEP_H |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue