1
0
mirror of git://projects.qi-hardware.com/eda-tools.git synced 2024-10-01 13:04:11 +03:00
eda-tools/kicad-patches/cmdline-eeschema.patch
Wolfgang Spraul 724ca1e3ec patch cleanup
2012-01-11 11:50:47 +01:00

153 lines
5.7 KiB
Diff

diff -ru kicad.orig/eeschema/CMakeLists.txt kicad/eeschema/CMakeLists.txt
--- kicad.orig/eeschema/CMakeLists.txt 2012-01-02 15:12:29.461843000 +0100
+++ kicad/eeschema/CMakeLists.txt 2012-01-04 00:55:02.169540766 +0100
@@ -78,6 +78,7 @@
eeredraw.cpp
eeschema.cpp
eeschema_config.cpp
+ eeschema_cmdline.cpp
erc.cpp
events_called_functions_for_edit.cpp
files-io.cpp
diff -ru kicad.orig/eeschema/dialogs/dialog_build_BOM.h kicad/eeschema/dialogs/dialog_build_BOM.h
--- kicad.orig/eeschema/dialogs/dialog_build_BOM.h 2012-01-02 15:12:29.461843000 +0100
+++ kicad/eeschema/dialogs/dialog_build_BOM.h 2012-01-04 01:04:19.481832883 +0100
@@ -17,6 +17,7 @@
class DIALOG_BUILD_BOM : public DIALOG_BUILD_BOM_BASE
{
+friend class EESCHEMA_CMDLINE;
private:
EDA_DRAW_FRAME* m_Parent;
wxConfig* m_Config;
diff -ru kicad.orig/eeschema/dialogs/dialog_erc.cpp kicad/eeschema/dialogs/dialog_erc.cpp
--- kicad.orig/eeschema/dialogs/dialog_erc.cpp 2012-01-02 15:12:29.461843000 +0100
+++ kicad/eeschema/dialogs/dialog_erc.cpp 2012-01-10 23:17:59.518338725 +0100
@@ -574,10 +574,10 @@
_( "Electronic rule check file (.erc)|*.erc" ),
wxFD_SAVE | wxFD_OVERWRITE_PROMPT );
- if( dlg.ShowModal() == wxID_CANCEL )
+ if( !g_CmdLineMode && dlg.ShowModal() == wxID_CANCEL )
return;
- if( WriteDiagnosticERC( dlg.GetPath() ) )
+ if( WriteDiagnosticERC( g_CmdLineMode ? fn.GetFullPath() : dlg.GetPath() ) )
{
Close( true );
ExecuteFile( this, wxGetApp().GetEditorName(), QuoteFullPath( fn ) );
diff -ru kicad.orig/eeschema/dialogs/dialog_erc.h kicad/eeschema/dialogs/dialog_erc.h
--- kicad.orig/eeschema/dialogs/dialog_erc.h 2012-01-02 15:12:29.461843000 +0100
+++ kicad/eeschema/dialogs/dialog_erc.h 2012-01-04 01:03:05.419550431 +0100
@@ -29,6 +29,7 @@
class DIALOG_ERC : public DIALOG_ERC_BASE
{
+friend class EESCHEMA_CMDLINE;
DECLARE_EVENT_TABLE()
private:
diff -ru kicad.orig/eeschema/dialogs/dialog_plot_schematic_DXF.cpp kicad/eeschema/dialogs/dialog_plot_schematic_DXF.cpp
--- kicad.orig/eeschema/dialogs/dialog_plot_schematic_DXF.cpp 2012-01-02 15:12:29.461843000 +0100
+++ kicad/eeschema/dialogs/dialog_plot_schematic_DXF.cpp 2012-01-04 02:05:43.305394193 +0100
@@ -42,6 +42,7 @@
class DIALOG_PLOT_SCHEMATIC_DXF : public DIALOG_PLOT_SCHEMATIC_DXF_BASE
{
+friend class SCH_EDIT_FRAME;
private:
SCH_EDIT_FRAME* m_Parent;
@@ -73,6 +74,15 @@
+void SCH_EDIT_FRAME::CmdLineToPlot_DXF( bool PlotBW, bool PlotSheetRef )
+{
+ DIALOG_PLOT_SCHEMATIC_DXF::m_plotColorOpt = !PlotBW;
+ DIALOG_PLOT_SCHEMATIC_DXF::m_plot_Sheet_Ref = PlotSheetRef;
+ DIALOG_PLOT_SCHEMATIC_DXF dlg( this );
+ wxCommandEvent dummy;
+ dlg.OnPlotAll( dummy );
+}
+
void SCH_EDIT_FRAME::ToPlot_DXF( wxCommandEvent& event )
{
DIALOG_PLOT_SCHEMATIC_DXF DXF_frame( this );
diff -ru kicad.orig/eeschema/dialogs/dialog_plot_schematic_PS.cpp kicad/eeschema/dialogs/dialog_plot_schematic_PS.cpp
--- kicad.orig/eeschema/dialogs/dialog_plot_schematic_PS.cpp 2012-01-02 15:12:29.461843000 +0100
+++ kicad/eeschema/dialogs/dialog_plot_schematic_PS.cpp 2012-01-04 01:20:57.415188192 +0100
@@ -48,6 +48,7 @@
class DIALOG_PLOT_SCHEMATIC_PS : public DIALOG_PLOT_SCHEMATIC_PS_BASE
{
+friend class SCH_EDIT_FRAME;
private:
SCH_EDIT_FRAME* m_Parent;
@@ -79,6 +80,15 @@
bool DIALOG_PLOT_SCHEMATIC_PS::m_plot_Sheet_Ref = true;
+void SCH_EDIT_FRAME::CmdLineToPlot_PS( bool PlotBW, bool PlotSheetRef )
+{
+ DIALOG_PLOT_SCHEMATIC_PS::m_plotColorOpt = !PlotBW;
+ DIALOG_PLOT_SCHEMATIC_PS::m_plot_Sheet_Ref = PlotSheetRef;
+ DIALOG_PLOT_SCHEMATIC_PS dlg( this );
+ wxCommandEvent dummy;
+ dlg.OnPlotAll( dummy );
+}
+
void SCH_EDIT_FRAME::ToPlot_PS( wxCommandEvent& event )
{
DIALOG_PLOT_SCHEMATIC_PS dlg( this );
diff -ru kicad.orig/eeschema/dialogs/dialog_SVG_print.cpp kicad/eeschema/dialogs/dialog_SVG_print.cpp
--- kicad.orig/eeschema/dialogs/dialog_SVG_print.cpp 2012-01-02 15:12:29.461843000 +0100
+++ kicad/eeschema/dialogs/dialog_SVG_print.cpp 2012-01-10 23:20:13.888411068 +0100
@@ -53,6 +53,13 @@
static bool s_Print_Frame_Ref = true;
static int s_PlotBlackAndWhite = 0;
+void CmdLinePrintSVGDoc( EDA_DRAW_FRAME* frame, bool aPrintAll, bool aPrint_Sheet_Ref, bool aPrintBlackAndWhite )
+{
+ class DIALOG_SVG_PRINT* dlg = new DIALOG_SVG_PRINT( frame );
+ dlg->m_ModeColorOption->SetSelection( aPrintBlackAndWhite );
+ dlg->PrintSVGDoc( aPrintAll, aPrint_Sheet_Ref );
+ delete dlg;
+}
/*!
* DIALOG_SVG_PRINT functions
diff -ru kicad.orig/eeschema/dialogs/dialog_SVG_print.h kicad/eeschema/dialogs/dialog_SVG_print.h
--- kicad.orig/eeschema/dialogs/dialog_SVG_print.h 2012-01-02 15:12:29.461843000 +0100
+++ kicad/eeschema/dialogs/dialog_SVG_print.h 2012-01-04 01:03:17.627432139 +0100
@@ -12,6 +12,7 @@
class DIALOG_SVG_PRINT : public DIALOG_SVG_PRINT_base
{
+friend void CmdLinePrintSVGDoc( EDA_DRAW_FRAME* frame, bool aPrintAll, bool aPrint_Sheet_Ref, bool aPrintBlackAndWhite );
private:
EDA_DRAW_FRAME* m_Parent;
wxConfig* m_Config;
diff -ru kicad.orig/eeschema/eeschema.cpp kicad/eeschema/eeschema.cpp
--- kicad.orig/eeschema/eeschema.cpp 2012-01-02 15:12:29.461843000 +0100
+++ kicad/eeschema/eeschema.cpp 2012-01-04 01:05:55.083907033 +0100
@@ -41,6 +41,7 @@
#include "hotkeys.h"
#include "dialogs/dialog_color_config.h"
#include "transform.h"
+#include "eeschema_cmdline.h"
#include <wx/snglinst.h>
@@ -122,6 +123,9 @@
wxFileName filename;
SCH_EDIT_FRAME* frame = NULL;
+ if ( argc >= 2 && argv[1][0] == '-' )
+ return g_EESchemaCmdLine.Run();
+
InitEDA_Appl( wxT( "Eeschema" ), APP_EESCHEMA_T );
if( m_Checker && m_Checker->IsAnotherRunning() )