More dialogs derived from DIALO_SHIM

This commit is contained in:
jean-pierre charras 2012-10-04 08:57:15 +02:00
parent bae892dfe5
commit 7c0af1bf9d
28 changed files with 1150 additions and 679 deletions

View File

@ -139,7 +139,7 @@ void PAGE_INFO::setMargins()
m_left_margin = m_left_margin =
m_right_margin = m_right_margin =
m_top_margin = m_top_margin =
m_bottom_margin = 400; m_bottom_margin = 400; // Units = mils
} }
} }

View File

@ -45,10 +45,6 @@
#include <dialog_page_settings.h> #include <dialog_page_settings.h>
// dialog should remember its previous screen position and size
wxPoint DIALOG_PAGES_SETTINGS::s_LastPos( -1, -1 );
wxSize DIALOG_PAGES_SETTINGS::s_LastSize;
// List of page formats. // List of page formats.
// should be statically initialized, because we need both // should be statically initialized, because we need both
// the translated and the not translated version. // the translated and the not translated version.
@ -130,7 +126,7 @@ void DIALOG_PAGES_SETTINGS::initDialog()
#ifdef EESCHEMA #ifdef EESCHEMA
// Init display value for sheet User size // Init display value for schematic sub-sheet number
wxString format = m_TextSheetCount->GetLabel(); wxString format = m_TextSheetCount->GetLabel();
msg.Printf( format, m_Screen->m_NumberOfScreens ); msg.Printf( format, m_Screen->m_NumberOfScreens );
m_TextSheetCount->SetLabel( msg ); m_TextSheetCount->SetLabel( msg );
@ -214,35 +210,6 @@ void DIALOG_PAGES_SETTINGS::initDialog()
} }
bool DIALOG_PAGES_SETTINGS::Show( bool show )
{
bool ret;
if( show )
{
ret = DIALOG_PAGES_SETTINGS_BASE::Show( show );
if( s_LastPos.x != -1 )
{
SetSize( s_LastPos.x, s_LastPos.y, s_LastSize.x, s_LastSize.y, 0 );
}
else
{
// Do nothing: last position not yet saved.
}
}
else
{
// Save the dialog's position before hiding
s_LastPos = GetPosition();
s_LastSize = GetSize();
ret = DIALOG_PAGES_SETTINGS_BASE::Show( show );
}
return ret;
}
void DIALOG_PAGES_SETTINGS::OnCloseWindow( wxCloseEvent& event ) void DIALOG_PAGES_SETTINGS::OnCloseWindow( wxCloseEvent& event )
{ {
EndModal( m_modified ); EndModal( m_modified );

View File

@ -47,21 +47,10 @@ private:
PAGE_INFO m_pageInfo; /// Temporary page info. PAGE_INFO m_pageInfo; /// Temporary page info.
TITLE_BLOCK m_tb; /// Temporary title block (basic inscriptions). TITLE_BLOCK m_tb; /// Temporary title block (basic inscriptions).
static wxSize s_LastSize; /// Last position and size.
static wxPoint s_LastPos;
public: public:
DIALOG_PAGES_SETTINGS( EDA_DRAW_FRAME* parent ); DIALOG_PAGES_SETTINGS( EDA_DRAW_FRAME* parent );
~DIALOG_PAGES_SETTINGS(); ~DIALOG_PAGES_SETTINGS();
/**
* Function Show
* overloads the wxDialog::Show() function so it can position the
* dialog at its remembered size and position.
*/
bool Show( bool show );
private: private:
/// Initialises member variables /// Initialises member variables
void initDialog(); void initDialog();

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Mar 17 2012) // C++ code generated with wxFormBuilder (version Apr 10 2012)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
@ -9,7 +9,7 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
DIALOG_PAGES_SETTINGS_BASE::DIALOG_PAGES_SETTINGS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) DIALOG_PAGES_SETTINGS_BASE::DIALOG_PAGES_SETTINGS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
{ {
this->SetSizeHints( wxDefaultSize, wxDefaultSize ); this->SetSizeHints( wxDefaultSize, wxDefaultSize );

View File

@ -25,62 +25,28 @@
<property name="use_enum">0</property> <property name="use_enum">0</property>
<property name="use_microsoft_bom">0</property> <property name="use_microsoft_bom">0</property>
<object class="Dialog" expanded="1"> <object class="Dialog" 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_managed">0</property> <property name="aui_managed">0</property>
<property name="aui_name"></property> <property name="aui_manager_style">wxAUI_MGR_DEFAULT</property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property> <property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center"></property> <property name="center"></property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property> <property name="context_help"></property>
<property name="context_menu">1</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="enabled">1</property>
<property name="event_handler">impl_virtual</property> <property name="event_handler">impl_virtual</property>
<property name="extra_style"></property> <property name="extra_style"></property>
<property name="fg"></property> <property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property> <property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="id">wxID_ANY</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="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property> <property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">DIALOG_PAGES_SETTINGS_BASE</property> <property name="name">DIALOG_PAGES_SETTINGS_BASE</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="pin_button">1</property>
<property name="pos"></property> <property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size">748,495</property> <property name="size">748,495</property>
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property> <property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
<property name="subclass"></property> <property name="subclass">DIALOG_SHIM; dialog_shim.h</property>
<property name="title">Page Settings</property> <property name="title">Page Settings</property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
@ -216,10 +182,6 @@
<property name="subclass"></property> <property name="subclass"></property>
<property name="toolbar_pane">0</property> <property name="toolbar_pane">0</property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
@ -391,10 +353,6 @@
<property name="subclass"></property> <property name="subclass"></property>
<property name="toolbar_pane">0</property> <property name="toolbar_pane">0</property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
@ -843,10 +801,6 @@
<property name="subclass"></property> <property name="subclass"></property>
<property name="toolbar_pane">0</property> <property name="toolbar_pane">0</property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style">wxFULL_REPAINT_ON_RESIZE|wxSIMPLE_BORDER</property> <property name="window_style">wxFULL_REPAINT_ON_RESIZE|wxSIMPLE_BORDER</property>
@ -980,10 +934,6 @@
<property name="subclass"></property> <property name="subclass"></property>
<property name="toolbar_pane">0</property> <property name="toolbar_pane">0</property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
@ -1077,10 +1027,6 @@
<property name="subclass"></property> <property name="subclass"></property>
<property name="toolbar_pane">0</property> <property name="toolbar_pane">0</property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Mar 17 2012) // C++ code generated with wxFormBuilder (version Apr 10 2012)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
@ -11,6 +11,7 @@
#include <wx/artprov.h> #include <wx/artprov.h>
#include <wx/xrc/xmlres.h> #include <wx/xrc/xmlres.h>
#include <wx/intl.h> #include <wx/intl.h>
#include "dialog_shim.h"
#include <wx/string.h> #include <wx/string.h>
#include <wx/stattext.h> #include <wx/stattext.h>
#include <wx/gdicmn.h> #include <wx/gdicmn.h>
@ -54,7 +55,7 @@
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_PAGES_SETTINGS_BASE /// Class DIALOG_PAGES_SETTINGS_BASE
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
class DIALOG_PAGES_SETTINGS_BASE : public wxDialog class DIALOG_PAGES_SETTINGS_BASE : public DIALOG_SHIM
{ {
private: private:

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Sep 8 2010) // C++ code generated with wxFormBuilder (version Apr 10 2012)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
@ -9,7 +9,7 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
{ {
this->SetSizeHints( wxDefaultSize, wxDefaultSize ); this->SetSizeHints( wxDefaultSize, wxDefaultSize );
@ -49,8 +49,10 @@ DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID i
m_buttonLibDown = new wxButton( this, ID_LIB_DOWN, _("Down"), wxDefaultPosition, wxDefaultSize, 0 ); m_buttonLibDown = new wxButton( this, ID_LIB_DOWN, _("Down"), wxDefaultPosition, wxDefaultSize, 0 );
bSizerLibButtons->Add( m_buttonLibDown, 0, wxRIGHT|wxLEFT, 5 ); bSizerLibButtons->Add( m_buttonLibDown, 0, wxRIGHT|wxLEFT, 5 );
sbLibsChoiceSizer->Add( bSizerLibButtons, 0, wxALIGN_CENTER_VERTICAL, 5 ); sbLibsChoiceSizer->Add( bSizerLibButtons, 0, wxALIGN_CENTER_VERTICAL, 5 );
bMainSizer->Add( sbLibsChoiceSizer, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 ); bMainSizer->Add( sbLibsChoiceSizer, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
wxStaticBoxSizer* sbEquivChoiceSizer; wxStaticBoxSizer* sbEquivChoiceSizer;
@ -86,8 +88,10 @@ DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID i
m_buttonEquDown = new wxButton( this, ID_EQU_DOWN, _("Down"), wxDefaultPosition, wxDefaultSize, 0 ); m_buttonEquDown = new wxButton( this, ID_EQU_DOWN, _("Down"), wxDefaultPosition, wxDefaultSize, 0 );
bSizerEquButtons->Add( m_buttonEquDown, 0, wxRIGHT|wxLEFT, 5 ); bSizerEquButtons->Add( m_buttonEquDown, 0, wxRIGHT|wxLEFT, 5 );
sbEquivChoiceSizer->Add( bSizerEquButtons, 0, wxALIGN_CENTER_VERTICAL, 5 ); sbEquivChoiceSizer->Add( bSizerEquButtons, 0, wxALIGN_CENTER_VERTICAL, 5 );
bMainSizer->Add( sbEquivChoiceSizer, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 ); bMainSizer->Add( sbEquivChoiceSizer, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
wxStaticBoxSizer* sbModulesDocSizer; wxStaticBoxSizer* sbModulesDocSizer;
@ -99,6 +103,7 @@ DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID i
m_buttonModDoc = new wxButton( this, ID_BROWSE_MOD_DOC, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 ); m_buttonModDoc = new wxButton( this, ID_BROWSE_MOD_DOC, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
sbModulesDocSizer->Add( m_buttonModDoc, 0, wxRIGHT|wxLEFT, 5 ); sbModulesDocSizer->Add( m_buttonModDoc, 0, wxRIGHT|wxLEFT, 5 );
bMainSizer->Add( sbModulesDocSizer, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 ); bMainSizer->Add( sbModulesDocSizer, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
wxStaticBoxSizer* sbSizer4; wxStaticBoxSizer* sbSizer4;
@ -113,6 +118,7 @@ DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID i
bUserListSizer->Add( m_listUserPaths, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 ); bUserListSizer->Add( m_listUserPaths, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
sbSizer4->Add( bUserListSizer, 1, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 ); sbSizer4->Add( bUserListSizer, 1, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
wxBoxSizer* bUserPathsButtonsSizer; wxBoxSizer* bUserPathsButtonsSizer;
@ -127,8 +133,10 @@ DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID i
m_buttonRemovePath = new wxButton( this, ID_REMOVE_PATH, _("Remove"), wxDefaultPosition, wxDefaultSize, 0 ); m_buttonRemovePath = new wxButton( this, ID_REMOVE_PATH, _("Remove"), wxDefaultPosition, wxDefaultSize, 0 );
bUserPathsButtonsSizer->Add( m_buttonRemovePath, 0, wxRIGHT|wxLEFT, 5 ); bUserPathsButtonsSizer->Add( m_buttonRemovePath, 0, wxRIGHT|wxLEFT, 5 );
sbSizer4->Add( bUserPathsButtonsSizer, 0, wxALIGN_CENTER_VERTICAL, 5 ); sbSizer4->Add( bUserPathsButtonsSizer, 0, wxALIGN_CENTER_VERTICAL, 5 );
bMainSizer->Add( sbSizer4, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 ); bMainSizer->Add( sbSizer4, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
wxStaticBoxSizer* sbSizer6; wxStaticBoxSizer* sbSizer6;
@ -140,6 +148,7 @@ DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID i
sbSizer6->Add( m_DefaultLibraryPathslistBox, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); sbSizer6->Add( m_DefaultLibraryPathslistBox, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
bMainSizer->Add( sbSizer6, 1, wxALL|wxEXPAND, 5 ); bMainSizer->Add( sbSizer6, 1, wxALL|wxEXPAND, 5 );
m_staticline2 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); m_staticline2 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
@ -151,8 +160,10 @@ DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID i
m_sdbSizer2Cancel = new wxButton( this, wxID_CANCEL ); m_sdbSizer2Cancel = new wxButton( this, wxID_CANCEL );
m_sdbSizer2->AddButton( m_sdbSizer2Cancel ); m_sdbSizer2->AddButton( m_sdbSizer2Cancel );
m_sdbSizer2->Realize(); m_sdbSizer2->Realize();
bMainSizer->Add( m_sdbSizer2, 0, wxALL|wxEXPAND, 5 ); bMainSizer->Add( m_sdbSizer2, 0, wxALL|wxEXPAND, 5 );
this->SetSizer( bMainSizer ); this->SetSizer( bMainSizer );
this->Layout(); this->Layout();

File diff suppressed because it is too large Load Diff

View File

@ -1,15 +1,17 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Sep 8 2010) // C++ code generated with wxFormBuilder (version Apr 10 2012)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
#ifndef __dialog_cvpcb_config_fbp__ #ifndef __DIALOG_CVPCB_CONFIG_FBP_H__
#define __dialog_cvpcb_config_fbp__ #define __DIALOG_CVPCB_CONFIG_FBP_H__
#include <wx/artprov.h>
#include <wx/xrc/xmlres.h>
#include <wx/intl.h> #include <wx/intl.h>
#include "dialog_shim.h"
#include <wx/string.h> #include <wx/string.h>
#include <wx/listbox.h> #include <wx/listbox.h>
#include <wx/gdicmn.h> #include <wx/gdicmn.h>
@ -28,7 +30,7 @@
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_CVPCB_CONFIG_FBP /// Class DIALOG_CVPCB_CONFIG_FBP
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
class DIALOG_CVPCB_CONFIG_FBP : public wxDialog class DIALOG_CVPCB_CONFIG_FBP : public DIALOG_SHIM
{ {
private: private:
@ -48,7 +50,7 @@ class DIALOG_CVPCB_CONFIG_FBP : public wxDialog
ID_BROWSE_MOD_DOC, ID_BROWSE_MOD_DOC,
ID_LIB_PATH_SEL, ID_LIB_PATH_SEL,
ID_INSERT_PATH, ID_INSERT_PATH,
ID_REMOVE_PATH, ID_REMOVE_PATH
}; };
wxListBox* m_ListLibr; wxListBox* m_ListLibr;
@ -90,9 +92,9 @@ class DIALOG_CVPCB_CONFIG_FBP : public wxDialog
public: public:
DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 570,625 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 570,625 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
~DIALOG_CVPCB_CONFIG_FBP(); ~DIALOG_CVPCB_CONFIG_FBP();
}; };
#endif //__dialog_cvpcb_config_fbp__ #endif //__DIALOG_CVPCB_CONFIG_FBP_H__

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Mar 17 2012) // C++ code generated with wxFormBuilder (version Apr 10 2012)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
@ -9,7 +9,7 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
DIALOG_FOOTPRINTS_DISPLAY_OPTIONS_BASE::DIALOG_FOOTPRINTS_DISPLAY_OPTIONS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) DIALOG_FOOTPRINTS_DISPLAY_OPTIONS_BASE::DIALOG_FOOTPRINTS_DISPLAY_OPTIONS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
{ {
this->SetSizeHints( wxDefaultSize, wxDefaultSize ); this->SetSizeHints( wxDefaultSize, wxDefaultSize );
@ -53,7 +53,7 @@ DIALOG_FOOTPRINTS_DISPLAY_OPTIONS_BASE::DIALOG_FOOTPRINTS_DISPLAY_OPTIONS_BASE(
bSizerRight->Add( sbSizerPads, 1, wxEXPAND|wxALL, 5 ); bSizerRight->Add( sbSizerPads, 1, wxEXPAND|wxALL, 5 );
wxStaticBoxSizer* sbSizerViewOpt; wxStaticBoxSizer* sbSizerViewOpt;
sbSizerViewOpt = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("View:") ), wxVERTICAL ); sbSizerViewOpt = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Pan:") ), wxVERTICAL );
m_IsMiddleButtonPan = new wxCheckBox( this, wxID_ANY, _("Middle Button PAN Enabled"), wxDefaultPosition, wxDefaultSize, 0 ); m_IsMiddleButtonPan = new wxCheckBox( this, wxID_ANY, _("Middle Button PAN Enabled"), wxDefaultPosition, wxDefaultSize, 0 );
sbSizerViewOpt->Add( m_IsMiddleButtonPan, 0, wxALL|wxEXPAND, 5 ); sbSizerViewOpt->Add( m_IsMiddleButtonPan, 0, wxALL|wxEXPAND, 5 );

View File

@ -25,62 +25,28 @@
<property name="use_enum">0</property> <property name="use_enum">0</property>
<property name="use_microsoft_bom">0</property> <property name="use_microsoft_bom">0</property>
<object class="Dialog" expanded="1"> <object class="Dialog" 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_managed">0</property> <property name="aui_managed">0</property>
<property name="aui_name"></property> <property name="aui_manager_style">wxAUI_MGR_DEFAULT</property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property> <property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center"></property> <property name="center"></property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property> <property name="context_help"></property>
<property name="context_menu">1</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="enabled">1</property>
<property name="event_handler">impl_virtual</property> <property name="event_handler">impl_virtual</property>
<property name="extra_style"></property> <property name="extra_style"></property>
<property name="fg"></property> <property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property> <property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="id">wxID_ANY</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="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property> <property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">DIALOG_FOOTPRINTS_DISPLAY_OPTIONS_BASE</property> <property name="name">DIALOG_FOOTPRINTS_DISPLAY_OPTIONS_BASE</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="pin_button">1</property>
<property name="pos"></property> <property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size">362,251</property> <property name="size">362,251</property>
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property> <property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
<property name="subclass"></property> <property name="subclass">DIALOG_SHIM; dialog_shim.h</property>
<property name="title">Display Options</property> <property name="title">Display Options</property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
@ -771,10 +737,6 @@
<property name="subclass"></property> <property name="subclass"></property>
<property name="toolbar_pane">0</property> <property name="toolbar_pane">0</property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Mar 17 2012) // C++ code generated with wxFormBuilder (version Apr 10 2012)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
@ -11,6 +11,7 @@
#include <wx/artprov.h> #include <wx/artprov.h>
#include <wx/xrc/xmlres.h> #include <wx/xrc/xmlres.h>
#include <wx/intl.h> #include <wx/intl.h>
#include "dialog_shim.h"
#include <wx/string.h> #include <wx/string.h>
#include <wx/radiobox.h> #include <wx/radiobox.h>
#include <wx/gdicmn.h> #include <wx/gdicmn.h>
@ -33,7 +34,7 @@
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_FOOTPRINTS_DISPLAY_OPTIONS_BASE /// Class DIALOG_FOOTPRINTS_DISPLAY_OPTIONS_BASE
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
class DIALOG_FOOTPRINTS_DISPLAY_OPTIONS_BASE : public wxDialog class DIALOG_FOOTPRINTS_DISPLAY_OPTIONS_BASE : public DIALOG_SHIM
{ {
private: private:

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Nov 17 2010) // C++ code generated with wxFormBuilder (version Apr 10 2012)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
@ -9,7 +9,7 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
BEGIN_EVENT_TABLE( LAYERS_MAP_DIALOG_BASE, wxDialog ) BEGIN_EVENT_TABLE( LAYERS_MAP_DIALOG_BASE, DIALOG_SHIM )
EVT_COMBOBOX( ID_M_COMBOCOPPERLAYERSCOUNT, LAYERS_MAP_DIALOG_BASE::_wxFB_OnBrdLayersCountSelection ) EVT_COMBOBOX( ID_M_COMBOCOPPERLAYERSCOUNT, LAYERS_MAP_DIALOG_BASE::_wxFB_OnBrdLayersCountSelection )
EVT_BUTTON( ID_STORE_CHOICE, LAYERS_MAP_DIALOG_BASE::_wxFB_OnStoreSetup ) EVT_BUTTON( ID_STORE_CHOICE, LAYERS_MAP_DIALOG_BASE::_wxFB_OnStoreSetup )
EVT_BUTTON( ID_GET_PREVIOUS_CHOICE, LAYERS_MAP_DIALOG_BASE::_wxFB_OnGetSetup ) EVT_BUTTON( ID_GET_PREVIOUS_CHOICE, LAYERS_MAP_DIALOG_BASE::_wxFB_OnGetSetup )
@ -18,7 +18,7 @@ BEGIN_EVENT_TABLE( LAYERS_MAP_DIALOG_BASE, wxDialog )
EVT_BUTTON( wxID_OK, LAYERS_MAP_DIALOG_BASE::_wxFB_OnOkClick ) EVT_BUTTON( wxID_OK, LAYERS_MAP_DIALOG_BASE::_wxFB_OnOkClick )
END_EVENT_TABLE() END_EVENT_TABLE()
LAYERS_MAP_DIALOG_BASE::LAYERS_MAP_DIALOG_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) LAYERS_MAP_DIALOG_BASE::LAYERS_MAP_DIALOG_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
{ {
this->SetSizeHints( wxDefaultSize, wxDefaultSize ); this->SetSizeHints( wxDefaultSize, wxDefaultSize );
@ -38,11 +38,13 @@ LAYERS_MAP_DIALOG_BASE::LAYERS_MAP_DIALOG_BASE( wxWindow* parent, wxWindowID id,
m_flexLeftColumnBoxSizer->SetFlexibleDirection( wxBOTH ); m_flexLeftColumnBoxSizer->SetFlexibleDirection( wxBOTH );
m_flexLeftColumnBoxSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); m_flexLeftColumnBoxSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
sbSizerLayersTable->Add( m_flexLeftColumnBoxSizer, 1, wxEXPAND, 5 ); sbSizerLayersTable->Add( m_flexLeftColumnBoxSizer, 1, wxEXPAND, 5 );
m_staticlineSep = new wxStaticLine( this, ID_M_STATICLINESEP, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL ); m_staticlineSep = new wxStaticLine( this, ID_M_STATICLINESEP, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
sbSizerLayersTable->Add( m_staticlineSep, 0, wxEXPAND | wxALL, 5 ); sbSizerLayersTable->Add( m_staticlineSep, 0, wxEXPAND | wxALL, 5 );
sbUpperSizer->Add( sbSizerLayersTable, 1, wxEXPAND, 5 ); sbUpperSizer->Add( sbSizerLayersTable, 1, wxEXPAND, 5 );
wxBoxSizer* bRightSizer; wxBoxSizer* bRightSizer;
@ -66,6 +68,7 @@ LAYERS_MAP_DIALOG_BASE::LAYERS_MAP_DIALOG_BASE( wxWindow* parent, wxWindowID id,
m_comboCopperLayersCount->Append( _("16 Layers") ); m_comboCopperLayersCount->Append( _("16 Layers") );
bSizerLyrCnt->Add( m_comboCopperLayersCount, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); bSizerLyrCnt->Add( m_comboCopperLayersCount, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
bRightSizer->Add( bSizerLyrCnt, 0, wxEXPAND, 5 ); bRightSizer->Add( bSizerLyrCnt, 0, wxEXPAND, 5 );
@ -83,10 +86,13 @@ LAYERS_MAP_DIALOG_BASE::LAYERS_MAP_DIALOG_BASE( wxWindow* parent, wxWindowID id,
m_buttonReset = new wxButton( this, ID_RESET_CHOICE, _("Reset"), wxDefaultPosition, wxDefaultSize, 0 ); m_buttonReset = new wxButton( this, ID_RESET_CHOICE, _("Reset"), wxDefaultPosition, wxDefaultSize, 0 );
bSizerButtons->Add( m_buttonReset, 0, wxALL|wxEXPAND, 5 ); bSizerButtons->Add( m_buttonReset, 0, wxALL|wxEXPAND, 5 );
bRightSizer->Add( bSizerButtons, 0, wxEXPAND, 5 ); bRightSizer->Add( bSizerButtons, 0, wxEXPAND, 5 );
sbUpperSizer->Add( bRightSizer, 0, wxALIGN_CENTER_VERTICAL, 5 ); sbUpperSizer->Add( bRightSizer, 0, wxALIGN_CENTER_VERTICAL, 5 );
bSizerMain->Add( sbUpperSizer, 1, wxEXPAND, 5 ); bSizerMain->Add( sbUpperSizer, 1, wxEXPAND, 5 );
m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
@ -98,8 +104,10 @@ LAYERS_MAP_DIALOG_BASE::LAYERS_MAP_DIALOG_BASE( wxWindow* parent, wxWindowID id,
m_sdbSizerButtonsCancel = new wxButton( this, wxID_CANCEL ); m_sdbSizerButtonsCancel = new wxButton( this, wxID_CANCEL );
m_sdbSizerButtons->AddButton( m_sdbSizerButtonsCancel ); m_sdbSizerButtons->AddButton( m_sdbSizerButtonsCancel );
m_sdbSizerButtons->Realize(); m_sdbSizerButtons->Realize();
bSizerMain->Add( m_sdbSizerButtons, 0, wxALIGN_RIGHT|wxALL, 5 ); bSizerMain->Add( m_sdbSizerButtons, 0, wxALIGN_RIGHT|wxALL, 5 );
this->SetSizer( bSizerMain ); this->SetSizer( bSizerMain );
this->Layout(); this->Layout();

View File

@ -44,7 +44,7 @@
<property name="pos"></property> <property name="pos"></property>
<property name="size">400,286</property> <property name="size">400,286</property>
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property> <property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
<property name="subclass"></property> <property name="subclass">DIALOG_SHIM; dialog_shim.h</property>
<property name="title">Layer selection:</property> <property name="title">Layer selection:</property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="window_extra_style"></property> <property name="window_extra_style"></property>

View File

@ -1,22 +1,24 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Nov 17 2010) // C++ code generated with wxFormBuilder (version Apr 10 2012)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
#ifndef __dialog_layers_select_to_pcb_base__ #ifndef __DIALOG_LAYERS_SELECT_TO_PCB_BASE_H__
#define __dialog_layers_select_to_pcb_base__ #define __DIALOG_LAYERS_SELECT_TO_PCB_BASE_H__
#include <wx/artprov.h>
#include <wx/xrc/xmlres.h>
#include <wx/intl.h> #include <wx/intl.h>
#include "dialog_shim.h"
#include <wx/sizer.h> #include <wx/sizer.h>
#include <wx/gdicmn.h> #include <wx/gdicmn.h>
#include <wx/statline.h> #include <wx/statline.h>
#include <wx/string.h>
#include <wx/font.h> #include <wx/font.h>
#include <wx/colour.h> #include <wx/colour.h>
#include <wx/settings.h> #include <wx/settings.h>
#include <wx/string.h>
#include <wx/statbox.h> #include <wx/statbox.h>
#include <wx/stattext.h> #include <wx/stattext.h>
#include <wx/combobox.h> #include <wx/combobox.h>
@ -28,7 +30,7 @@
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
/// Class LAYERS_MAP_DIALOG_BASE /// Class LAYERS_MAP_DIALOG_BASE
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
class LAYERS_MAP_DIALOG_BASE : public wxDialog class LAYERS_MAP_DIALOG_BASE : public DIALOG_SHIM
{ {
DECLARE_EVENT_TABLE() DECLARE_EVENT_TABLE()
private: private:
@ -51,7 +53,7 @@ class LAYERS_MAP_DIALOG_BASE : public wxDialog
ID_M_COMBOCOPPERLAYERSCOUNT, ID_M_COMBOCOPPERLAYERSCOUNT,
ID_STORE_CHOICE, ID_STORE_CHOICE,
ID_GET_PREVIOUS_CHOICE, ID_GET_PREVIOUS_CHOICE,
ID_RESET_CHOICE, ID_RESET_CHOICE
}; };
wxStaticBoxSizer* sbSizerLayersTable; wxStaticBoxSizer* sbSizerLayersTable;
@ -59,7 +61,6 @@ class LAYERS_MAP_DIALOG_BASE : public wxDialog
wxStaticLine* m_staticlineSep; wxStaticLine* m_staticlineSep;
wxStaticText* m_staticTextCopperlayerCount; wxStaticText* m_staticTextCopperlayerCount;
wxComboBox* m_comboCopperLayersCount; wxComboBox* m_comboCopperLayersCount;
wxButton* m_buttonStore; wxButton* m_buttonStore;
wxButton* m_buttonRetrieve; wxButton* m_buttonRetrieve;
wxButton* m_buttonReset; wxButton* m_buttonReset;
@ -84,4 +85,4 @@ class LAYERS_MAP_DIALOG_BASE : public wxDialog
}; };
#endif //__dialog_layers_select_to_pcb_base__ #endif //__DIALOG_LAYERS_SELECT_TO_PCB_BASE_H__

View File

@ -1,451 +1,417 @@
/****************************************/ /****************************************/
/* File: dialog_print_using_printer.cpp */ /* File: dialog_print_using_printer.cpp */
/****************************************/ /****************************************/
// Set this to 1 if you want to test PostScript printing under MSW. // Set this to 1 if you want to test PostScript printing under MSW.
#define wxTEST_POSTSCRIPT_IN_MSW 1 #define wxTEST_POSTSCRIPT_IN_MSW 1
#include <fctsys.h> #include <fctsys.h>
#include <appl_wxstruct.h> #include <appl_wxstruct.h>
#include <common.h> #include <common.h>
#include <class_drawpanel.h> #include <class_drawpanel.h>
#include <confirm.h> #include <confirm.h>
#include <dialog_print_using_printer_base.h> #include <dialog_print_using_printer_base.h>
#include <printout_controler.h> #include <printout_controler.h>
#include <gerbview.h> #include <gerbview.h>
#include <pcbplot.h> #include <pcbplot.h>
#include <class_board_design_settings.h> #include <class_board_design_settings.h>
#define WIDTH_MAX_VALUE 1000 #define WIDTH_MAX_VALUE 1000
#define WIDTH_MIN_VALUE 1 #define WIDTH_MIN_VALUE 1
static long s_SelectedLayers; static long s_SelectedLayers;
static double s_ScaleList[] = static double s_ScaleList[] =
{ 0, 0.5, 0.7, 0.999, 1.0, 1.4, 2.0, 3.0, 4.0 }; { 0, 0.5, 0.7, 0.999, 1.0, 1.4, 2.0, 3.0, 4.0 };
// Define min et max reasonnable values for print scale // Define min et max reasonnable values for print scale
#define MIN_SCALE 0.01 #define MIN_SCALE 0.01
#define MAX_SCALE 100.0 #define MAX_SCALE 100.0
// static print data and page setup data, to remember settings during the session // static print data and page setup data, to remember settings during the session
static wxPrintData* g_PrintData; static wxPrintData* g_PrintData;
static wxPageSetupDialogData* g_pageSetupData = (wxPageSetupDialogData*) NULL; static wxPageSetupDialogData* g_pageSetupData = (wxPageSetupDialogData*) NULL;
// Variables locales // Variables locales
static PRINT_PARAMETERS s_Parameters; static PRINT_PARAMETERS s_Parameters;
/* Dialog to print schematic. Class derived from DIALOG_PRINT_USING_PRINTER_base /* Dialog to print schematic. Class derived from DIALOG_PRINT_USING_PRINTER_base
* created by wxFormBuilder * created by wxFormBuilder
*/ */
class DIALOG_PRINT_USING_PRINTER : public DIALOG_PRINT_USING_PRINTER_base class DIALOG_PRINT_USING_PRINTER : public DIALOG_PRINT_USING_PRINTER_base
{ {
private: private:
GERBVIEW_FRAME* m_Parent; GERBVIEW_FRAME* m_Parent;
wxConfig* m_Config; wxConfig* m_Config;
wxCheckBox* m_BoxSelectLayer[32]; wxCheckBox* m_BoxSelectLayer[32];
static wxPoint s_LastPos;
static wxSize s_LastSize; public:
DIALOG_PRINT_USING_PRINTER( GERBVIEW_FRAME* parent );
public: ~DIALOG_PRINT_USING_PRINTER() {};
DIALOG_PRINT_USING_PRINTER( GERBVIEW_FRAME* parent );
~DIALOG_PRINT_USING_PRINTER() {}; private:
void OnCloseWindow( wxCloseEvent& event );
private: void OnInitDialog( wxInitDialogEvent& event );
void OnCloseWindow( wxCloseEvent& event ); void OnPageSetup( wxCommandEvent& event );
void OnInitDialog( wxInitDialogEvent& event ); void OnPrintPreview( wxCommandEvent& event );
void OnPageSetup( wxCommandEvent& event ); void OnPrintButtonClick( wxCommandEvent& event );
void OnPrintPreview( wxCommandEvent& event ); void OnScaleSelectionClick( wxCommandEvent& event );
void OnPrintButtonClick( wxCommandEvent& event );
void OnScaleSelectionClick( wxCommandEvent& event ); void OnButtonCancelClick( wxCommandEvent& event ) { Close(); }
void SetPrintParameters( );
void OnButtonCancelClick( wxCommandEvent& event ) { Close(); } void InitValues( );
void SetPrintParameters( );
void InitValues( ); public:
bool IsMirrored() { return m_Print_Mirror->IsChecked(); }
bool Show( bool show ); // overload stock function bool PrintUsingSinglePage() { return true; }
int SetLayerMaskFromListSelection();
public: };
bool IsMirrored() { return m_Print_Mirror->IsChecked(); }
bool PrintUsingSinglePage() { return true; }
int SetLayerMaskFromListSelection(); /*******************************************************/
}; void GERBVIEW_FRAME::ToPrinter( wxCommandEvent& event )
/*******************************************************/
// We want our dialog to remember its previous screen position
wxPoint DIALOG_PRINT_USING_PRINTER::s_LastPos( -1, -1 ); /* Virtual function:
wxSize DIALOG_PRINT_USING_PRINTER::s_LastSize; * Display the print dialog
*/
{
/*******************************************************/ if( g_PrintData == NULL ) // First print
void GERBVIEW_FRAME::ToPrinter( wxCommandEvent& event ) {
/*******************************************************/ g_PrintData = new wxPrintData();
/* Virtual function: if( !g_PrintData->Ok() )
* Display the print dialog {
*/ DisplayError( this, _( "Error Init Printer info" ) );
{ }
if( g_PrintData == NULL ) // First print g_PrintData->SetQuality( wxPRINT_QUALITY_HIGH ); // Default resolution = HIGHT;
{ }
g_PrintData = new wxPrintData();
g_PrintData->SetOrientation( GetPageSettings().IsPortrait() ? wxPORTRAIT : wxLANDSCAPE );
if( !g_PrintData->Ok() )
{ DIALOG_PRINT_USING_PRINTER* frame = new DIALOG_PRINT_USING_PRINTER( this );
DisplayError( this, _( "Error Init Printer info" ) );
} frame->ShowModal();
g_PrintData->SetQuality( wxPRINT_QUALITY_HIGH ); // Default resolution = HIGHT; frame->Destroy();
} }
g_PrintData->SetOrientation( GetPageSettings().IsPortrait() ? wxPORTRAIT : wxLANDSCAPE );
/*************************************************************************************/
DIALOG_PRINT_USING_PRINTER* frame = new DIALOG_PRINT_USING_PRINTER( this ); DIALOG_PRINT_USING_PRINTER::DIALOG_PRINT_USING_PRINTER( GERBVIEW_FRAME* parent ) :
DIALOG_PRINT_USING_PRINTER_base( parent )
frame->ShowModal(); /*************************************************************************************/
frame->Destroy(); {
} m_Parent = parent;
m_Config = wxGetApp().GetSettings();
/*************************************************************************************/ InitValues( );
DIALOG_PRINT_USING_PRINTER::DIALOG_PRINT_USING_PRINTER( GERBVIEW_FRAME* parent ) :
DIALOG_PRINT_USING_PRINTER_base( parent ) if( GetSizer() )
/*************************************************************************************/ {
{ GetSizer()->SetSizeHints( this );
m_Parent = parent; }
m_Config = wxGetApp().GetSettings(); #ifdef __WXMAC__
/* Problems with modal on wx-2.9 - Anyway preview is standard for OSX */
InitValues( ); m_buttonPreview->Hide();
#endif
if( GetSizer() )
{ m_buttonPrint->SetDefault();
GetSizer()->SetSizeHints( this ); }
}
#ifdef __WXMAC__
/* Problems with modal on wx-2.9 - Anyway preview is standard for OSX */ /************************************************************************/
m_buttonPreview->Hide(); void DIALOG_PRINT_USING_PRINTER::InitValues( )
#endif /************************************************************************/
{
m_buttonPrint->SetDefault(); SetFocus();
} int layer_max = GERBVIEW_LAYER_COUNT;
wxString msg;
/************************************************************************/ if( g_pageSetupData == NULL )
void DIALOG_PRINT_USING_PRINTER::InitValues( ) {
/************************************************************************/ g_pageSetupData = new wxPageSetupDialogData;
{ // Set initial page margins.
SetFocus(); // Margins are already set in Pcbnew, so we cans use 0
int layer_max = GERBVIEW_LAYER_COUNT; g_pageSetupData->SetMarginTopLeft(wxPoint(0, 0));
wxString msg; g_pageSetupData->SetMarginBottomRight(wxPoint(0, 0));
}
if( g_pageSetupData == NULL )
{ s_Parameters.m_PageSetupData = g_pageSetupData;
g_pageSetupData = new wxPageSetupDialogData;
// Set initial page margins. layer_max = 32;
// Margins are already set in Pcbnew, so we cans use 0 /* Create layer list */
g_pageSetupData->SetMarginTopLeft(wxPoint(0, 0)); int mask = 1, ii;
g_pageSetupData->SetMarginBottomRight(wxPoint(0, 0)); for( ii = 0; ii < layer_max; ii++, mask <<= 1 )
} {
msg = _( "Layer" );
s_Parameters.m_PageSetupData = g_pageSetupData; msg << wxT( " " ) << ii + 1;
m_BoxSelectLayer[ii] = new wxCheckBox( this, -1, msg );
layer_max = 32;
/* Create layer list */ if( mask & s_SelectedLayers )
int mask = 1, ii; m_BoxSelectLayer[ii]->SetValue( true );
for( ii = 0; ii < layer_max; ii++, mask <<= 1 ) if( ii < 16 )
{ m_leftLayersBoxSizer->Add( m_BoxSelectLayer[ii],
msg = _( "Layer" ); wxGROW | wxLEFT | wxRIGHT | wxTOP );
msg << wxT( " " ) << ii + 1; else
m_BoxSelectLayer[ii] = new wxCheckBox( this, -1, msg ); m_rightLayersBoxSizer->Add( m_BoxSelectLayer[ii],
wxGROW | wxLEFT | wxRIGHT | wxTOP );
if( mask & s_SelectedLayers ) }
m_BoxSelectLayer[ii]->SetValue( true );
if( ii < 16 )
m_leftLayersBoxSizer->Add( m_BoxSelectLayer[ii], // Read the scale adjust option
wxGROW | wxLEFT | wxRIGHT | wxTOP ); int scale_idx = 4; // default selected scale = ScaleList[4] = 1.000
else
m_rightLayersBoxSizer->Add( m_BoxSelectLayer[ii], if( m_Config )
wxGROW | wxLEFT | wxRIGHT | wxTOP ); {
} m_Config->Read( OPTKEY_PRINT_X_FINESCALE_ADJ, &s_Parameters.m_XScaleAdjust );
m_Config->Read( OPTKEY_PRINT_Y_FINESCALE_ADJ, &s_Parameters.m_YScaleAdjust );
m_Config->Read( OPTKEY_PRINT_SCALE, &scale_idx );
// Read the scale adjust option m_Config->Read( OPTKEY_PRINT_PAGE_FRAME, &s_Parameters.m_Print_Sheet_Ref, 1);
int scale_idx = 4; // default selected scale = ScaleList[4] = 1.000 m_Config->Read( OPTKEY_PRINT_MONOCHROME_MODE, &s_Parameters.m_Print_Black_and_White, 1);
if( m_Config ) // Test for a reasonnable scale value. Set to 1 if problem
{ if( s_Parameters.m_XScaleAdjust < MIN_SCALE ||
m_Config->Read( OPTKEY_PRINT_X_FINESCALE_ADJ, &s_Parameters.m_XScaleAdjust ); s_Parameters.m_YScaleAdjust < MIN_SCALE ||
m_Config->Read( OPTKEY_PRINT_Y_FINESCALE_ADJ, &s_Parameters.m_YScaleAdjust ); s_Parameters.m_XScaleAdjust > MAX_SCALE ||
m_Config->Read( OPTKEY_PRINT_SCALE, &scale_idx ); s_Parameters.m_YScaleAdjust > MAX_SCALE )
m_Config->Read( OPTKEY_PRINT_PAGE_FRAME, &s_Parameters.m_Print_Sheet_Ref, 1); s_Parameters.m_XScaleAdjust = s_Parameters.m_YScaleAdjust = 1.0;
m_Config->Read( OPTKEY_PRINT_MONOCHROME_MODE, &s_Parameters.m_Print_Black_and_White, 1);
s_SelectedLayers = 0;
// Test for a reasonnable scale value. Set to 1 if problem for( int layer = 0; layer<layer_max; ++layer )
if( s_Parameters.m_XScaleAdjust < MIN_SCALE || {
s_Parameters.m_YScaleAdjust < MIN_SCALE || wxString layerKey;
s_Parameters.m_XScaleAdjust > MAX_SCALE || bool option;
s_Parameters.m_YScaleAdjust > MAX_SCALE )
s_Parameters.m_XScaleAdjust = s_Parameters.m_YScaleAdjust = 1.0; layerKey.Printf( OPTKEY_LAYERBASE, layer );
s_SelectedLayers = 0; option = false;
for( int layer = 0; layer<layer_max; ++layer ) if( m_Config->Read( layerKey, &option ) )
{ {
wxString layerKey; m_BoxSelectLayer[layer]->SetValue( option );
bool option; if( option )
s_SelectedLayers |= 1 << layer;
layerKey.Printf( OPTKEY_LAYERBASE, layer ); }
}
option = false; }
if( m_Config->Read( layerKey, &option ) )
{ m_ScaleOption->SetSelection( scale_idx );
m_BoxSelectLayer[layer]->SetValue( option ); scale_idx = m_ScaleOption->GetSelection();
if( option ) s_Parameters.m_PrintScale = s_ScaleList[scale_idx];
s_SelectedLayers |= 1 << layer; m_Print_Mirror->SetValue(s_Parameters.m_PrintMirror);
}
}
} if( s_Parameters.m_Print_Black_and_White )
m_ModeColorOption->SetSelection( 1 );
m_ScaleOption->SetSelection( scale_idx ); else
scale_idx = m_ScaleOption->GetSelection(); m_ModeColorOption->SetSelection( 0 );
s_Parameters.m_PrintScale = s_ScaleList[scale_idx];
m_Print_Mirror->SetValue(s_Parameters.m_PrintMirror); s_Parameters.m_PenDefaultSize = 0;
// Create scale adjust option
if( s_Parameters.m_Print_Black_and_White ) msg.Printf( wxT( "%f" ), s_Parameters.m_XScaleAdjust );
m_ModeColorOption->SetSelection( 1 ); m_FineAdjustXscaleOpt->SetValue( msg );
else msg.Printf( wxT( "%f" ), s_Parameters.m_YScaleAdjust );
m_ModeColorOption->SetSelection( 0 ); m_FineAdjustYscaleOpt->SetValue( msg );
s_Parameters.m_PenDefaultSize = 0; bool enable = (s_Parameters.m_PrintScale == 1.0);
if( m_FineAdjustXscaleOpt )
// Create scale adjust option m_FineAdjustXscaleOpt->Enable(enable);
msg.Printf( wxT( "%f" ), s_Parameters.m_XScaleAdjust ); if( m_FineAdjustYscaleOpt )
m_FineAdjustXscaleOpt->SetValue( msg ); m_FineAdjustYscaleOpt->Enable(enable);
msg.Printf( wxT( "%f" ), s_Parameters.m_YScaleAdjust ); }
m_FineAdjustYscaleOpt->SetValue( msg );
/**************************************************************/
bool enable = (s_Parameters.m_PrintScale == 1.0); int DIALOG_PRINT_USING_PRINTER::SetLayerMaskFromListSelection()
if( m_FineAdjustXscaleOpt ) /**************************************************************/
m_FineAdjustXscaleOpt->Enable(enable); {
if( m_FineAdjustYscaleOpt ) int page_count;
m_FineAdjustYscaleOpt->Enable(enable); s_Parameters.m_PrintMaskLayer = 0;
} int ii;
for( ii = 0, page_count = 0; ii < GERBVIEW_LAYER_COUNT; ii++ )
/*************************************************/ {
bool DIALOG_PRINT_USING_PRINTER::Show( bool show ) if( m_BoxSelectLayer[ii]->IsChecked() )
/*************************************************/ {
{ page_count++;
bool ret; s_Parameters.m_PrintMaskLayer |= 1 << ii;
}
if( show ) }
{
if( s_LastPos.x != -1 ) s_Parameters.m_PageCount = page_count;
{
SetSize( s_LastPos.x, s_LastPos.y, s_LastSize.x, s_LastSize.y, 0 ); return page_count;
} }
ret = DIALOG_PRINT_USING_PRINTER_base::Show( show );
}
else /********************************************************************/
{ void DIALOG_PRINT_USING_PRINTER::OnCloseWindow( wxCloseEvent& event )
// Save the dialog's position before hiding /********************************************************************/
s_LastPos = GetPosition(); {
s_LastSize = GetSize(); SetPrintParameters();
ret = DIALOG_PRINT_USING_PRINTER_base::Show( show ); if( m_Config )
} {
m_Config->Write( OPTKEY_PRINT_X_FINESCALE_ADJ, s_Parameters.m_XScaleAdjust );
return ret; m_Config->Write( OPTKEY_PRINT_Y_FINESCALE_ADJ, s_Parameters.m_YScaleAdjust );
} m_Config->Write( OPTKEY_PRINT_SCALE, m_ScaleOption->GetSelection() );
m_Config->Write( OPTKEY_PRINT_PAGE_FRAME, s_Parameters.m_Print_Sheet_Ref);
/**************************************************************/ m_Config->Write( OPTKEY_PRINT_MONOCHROME_MODE, s_Parameters.m_Print_Black_and_White);
int DIALOG_PRINT_USING_PRINTER::SetLayerMaskFromListSelection() wxString layerKey;
/**************************************************************/ for( int layer = 0; layer < GERBVIEW_LAYER_COUNT; ++layer )
{ {
int page_count; layerKey.Printf( OPTKEY_LAYERBASE, layer );
s_Parameters.m_PrintMaskLayer = 0; m_Config->Write( layerKey, m_BoxSelectLayer[layer]->IsChecked() );
int ii; }
for( ii = 0, page_count = 0; ii < GERBVIEW_LAYER_COUNT; ii++ ) }
{ EndModal( 0 );
if( m_BoxSelectLayer[ii]->IsChecked() ) }
{
page_count++;
s_Parameters.m_PrintMaskLayer |= 1 << ii; /******************************************************************/
} void DIALOG_PRINT_USING_PRINTER::SetPrintParameters( )
} /******************************************************************/
{
s_Parameters.m_PageCount = page_count; s_Parameters.m_PrintMirror = m_Print_Mirror->GetValue();
s_Parameters.m_Print_Black_and_White =
return page_count; m_ModeColorOption->GetSelection() != 0;
}
// Due to negative objects in gerber objects, always use one page per image,
// because these objects create artefact when they are printed on an existing image.
/********************************************************************/ s_Parameters.m_OptionPrintPage = false;
void DIALOG_PRINT_USING_PRINTER::OnCloseWindow( wxCloseEvent& event )
/********************************************************************/ SetLayerMaskFromListSelection();
{
SetPrintParameters(); int idx = m_ScaleOption->GetSelection();
s_Parameters.m_PrintScale = s_ScaleList[idx];
if( m_Config )
{ if( m_FineAdjustXscaleOpt )
m_Config->Write( OPTKEY_PRINT_X_FINESCALE_ADJ, s_Parameters.m_XScaleAdjust ); {
m_Config->Write( OPTKEY_PRINT_Y_FINESCALE_ADJ, s_Parameters.m_YScaleAdjust ); if( s_Parameters.m_XScaleAdjust > MAX_SCALE ||
m_Config->Write( OPTKEY_PRINT_SCALE, m_ScaleOption->GetSelection() ); s_Parameters.m_YScaleAdjust > MAX_SCALE )
m_Config->Write( OPTKEY_PRINT_PAGE_FRAME, s_Parameters.m_Print_Sheet_Ref); DisplayInfoMessage( NULL, _( "Warning: Scale option set to a very large value" ) );
m_Config->Write( OPTKEY_PRINT_MONOCHROME_MODE, s_Parameters.m_Print_Black_and_White); m_FineAdjustXscaleOpt->GetValue().ToDouble( &s_Parameters.m_XScaleAdjust );
wxString layerKey; }
for( int layer = 0; layer < GERBVIEW_LAYER_COUNT; ++layer ) if( m_FineAdjustYscaleOpt )
{ {
layerKey.Printf( OPTKEY_LAYERBASE, layer ); // Test for a reasonnable scale value
m_Config->Write( layerKey, m_BoxSelectLayer[layer]->IsChecked() ); if( s_Parameters.m_XScaleAdjust < MIN_SCALE ||
} s_Parameters.m_YScaleAdjust < MIN_SCALE )
} DisplayInfoMessage( NULL, _( "Warning: Scale option set to a very small value" ) );
EndModal( 0 ); m_FineAdjustYscaleOpt->GetValue().ToDouble( &s_Parameters.m_YScaleAdjust );
} }
}
/******************************************************************/ void DIALOG_PRINT_USING_PRINTER::OnScaleSelectionClick( wxCommandEvent& event )
void DIALOG_PRINT_USING_PRINTER::SetPrintParameters( ) {
/******************************************************************/ double scale = s_ScaleList[m_ScaleOption->GetSelection()];
{ bool enable = (scale == 1.0);
s_Parameters.m_PrintMirror = m_Print_Mirror->GetValue(); if( m_FineAdjustXscaleOpt )
s_Parameters.m_Print_Black_and_White = m_FineAdjustXscaleOpt->Enable(enable);
m_ModeColorOption->GetSelection() != 0; if( m_FineAdjustYscaleOpt )
m_FineAdjustYscaleOpt->Enable(enable);
// Due to negative objects in gerber objects, always use one page per image, }
// because these objects create artefact when they are printed on an existing image.
s_Parameters.m_OptionPrintPage = false; /**********************************************************/
void DIALOG_PRINT_USING_PRINTER::OnPageSetup( wxCommandEvent& event )
SetLayerMaskFromListSelection(); /**********************************************************/
int idx = m_ScaleOption->GetSelection(); /* Open a dialog box for printer setup (printer options, page size ...)
s_Parameters.m_PrintScale = s_ScaleList[idx]; */
{
if( m_FineAdjustXscaleOpt ) *g_pageSetupData = *g_PrintData;
{
if( s_Parameters.m_XScaleAdjust > MAX_SCALE || wxPageSetupDialog pageSetupDialog(this, g_pageSetupData);
s_Parameters.m_YScaleAdjust > MAX_SCALE ) pageSetupDialog.ShowModal();
DisplayInfoMessage( NULL, _( "Warning: Scale option set to a very large value" ) );
m_FineAdjustXscaleOpt->GetValue().ToDouble( &s_Parameters.m_XScaleAdjust ); (*g_PrintData) = pageSetupDialog.GetPageSetupDialogData().GetPrintData();
} (*g_pageSetupData) = pageSetupDialog.GetPageSetupDialogData();
if( m_FineAdjustYscaleOpt ) }
{
// Test for a reasonnable scale value
if( s_Parameters.m_XScaleAdjust < MIN_SCALE || /************************************************************/
s_Parameters.m_YScaleAdjust < MIN_SCALE ) void DIALOG_PRINT_USING_PRINTER::OnPrintPreview( wxCommandEvent& event )
DisplayInfoMessage( NULL, _( "Warning: Scale option set to a very small value" ) ); /************************************************************/
m_FineAdjustYscaleOpt->GetValue().ToDouble( &s_Parameters.m_YScaleAdjust );
} /* Open and display a previewer frame for printing
} */
{
void DIALOG_PRINT_USING_PRINTER::OnScaleSelectionClick( wxCommandEvent& event ) SetPrintParameters( );
{
double scale = s_ScaleList[m_ScaleOption->GetSelection()]; // Pass two printout objects: for preview, and possible printing.
bool enable = (scale == 1.0); wxString title = _( "Print Preview" );
if( m_FineAdjustXscaleOpt ) wxPrintPreview* preview =
m_FineAdjustXscaleOpt->Enable(enable); new wxPrintPreview( new BOARD_PRINTOUT_CONTROLER( s_Parameters, m_Parent, title ),
if( m_FineAdjustYscaleOpt ) new BOARD_PRINTOUT_CONTROLER( s_Parameters, m_Parent, title ),
m_FineAdjustYscaleOpt->Enable(enable); g_PrintData );
}
if( preview == NULL )
/**********************************************************/ {
void DIALOG_PRINT_USING_PRINTER::OnPageSetup( wxCommandEvent& event ) DisplayError( this, wxT( "OnPrintPreview() problem" ) );
/**********************************************************/ return;
}
/* Open a dialog box for printer setup (printer options, page size ...)
*/ SetLayerMaskFromListSelection();
{
*g_pageSetupData = *g_PrintData; // If no layer selected, we have no plot. prompt user if it happens
// because he could think there is a bug in Pcbnew:
wxPageSetupDialog pageSetupDialog(this, g_pageSetupData); if( s_Parameters.m_PrintMaskLayer == 0 )
pageSetupDialog.ShowModal(); {
DisplayError( this, _( "No layer selected" ) );
(*g_PrintData) = pageSetupDialog.GetPageSetupDialogData().GetPrintData(); return;
(*g_pageSetupData) = pageSetupDialog.GetPageSetupDialogData(); }
}
// Uses the parent position and size.
/************************************************************/ // @todo uses last position and size ans store them when exit in m_Config
void DIALOG_PRINT_USING_PRINTER::OnPrintPreview( wxCommandEvent& event ) wxPoint WPos = m_Parent->GetPosition();
/************************************************************/ wxSize WSize = m_Parent->GetSize();
/* Open and display a previewer frame for printing wxPreviewFrame* frame = new wxPreviewFrame( preview, this, title, WPos, WSize );
*/
{ frame->Initialize();
SetPrintParameters( ); frame->Show( true );
}
// Pass two printout objects: for preview, and possible printing.
wxString title = _( "Print Preview" );
wxPrintPreview* preview = /***************************************************************************/
new wxPrintPreview( new BOARD_PRINTOUT_CONTROLER( s_Parameters, m_Parent, title ), void DIALOG_PRINT_USING_PRINTER::OnPrintButtonClick( wxCommandEvent& event )
new BOARD_PRINTOUT_CONTROLER( s_Parameters, m_Parent, title ), /***************************************************************************/
g_PrintData );
/* Called on activate Print button
if( preview == NULL ) */
{ {
DisplayError( this, wxT( "OnPrintPreview() problem" ) ); SetPrintParameters( );
return;
} // If no layer selected, we have no plot. prompt user if it happens
// because he could think there is a bug in Pcbnew:
SetLayerMaskFromListSelection(); if( s_Parameters.m_PrintMaskLayer == 0 )
{
// If no layer selected, we have no plot. prompt user if it happens DisplayError( this, _( "No layer selected" ) );
// because he could think there is a bug in Pcbnew: return;
if( s_Parameters.m_PrintMaskLayer == 0 ) }
{
DisplayError( this, _( "No layer selected" ) ); wxPrintDialogData printDialogData( *g_PrintData );
return;
} wxPrinter printer( &printDialogData );
wxString title = _( "Print" );
// Uses the parent position and size. BOARD_PRINTOUT_CONTROLER printout( s_Parameters, m_Parent, title );
// @todo uses last position and size ans store them when exit in m_Config
wxPoint WPos = m_Parent->GetPosition(); #if !defined(__WINDOWS__) && !wxCHECK_VERSION(2,9,0)
wxSize WSize = m_Parent->GetSize(); wxDC* dc = printout.GetDC();
( (wxPostScriptDC*) dc )->SetResolution( 600 ); // Postscript DC resolution is 600 ppi
wxPreviewFrame* frame = new wxPreviewFrame( preview, this, title, WPos, WSize ); #endif
frame->Initialize(); if( !printer.Print( this, &printout, true ) )
frame->Show( true ); {
} if( wxPrinter::GetLastError() == wxPRINTER_ERROR )
DisplayError( this, _( "There was a problem printing" ) );
return;
/***************************************************************************/ }
void DIALOG_PRINT_USING_PRINTER::OnPrintButtonClick( wxCommandEvent& event ) else
/***************************************************************************/ {
*g_PrintData = printer.GetPrintDialogData().GetPrintData();
/* Called on activate Print button }
*/ }
{
SetPrintParameters( );
// If no layer selected, we have no plot. prompt user if it happens
// because he could think there is a bug in Pcbnew:
if( s_Parameters.m_PrintMaskLayer == 0 )
{
DisplayError( this, _( "No layer selected" ) );
return;
}
wxPrintDialogData printDialogData( *g_PrintData );
wxPrinter printer( &printDialogData );
wxString title = _( "Print" );
BOARD_PRINTOUT_CONTROLER printout( s_Parameters, m_Parent, title );
#if !defined(__WINDOWS__) && !wxCHECK_VERSION(2,9,0)
wxDC* dc = printout.GetDC();
( (wxPostScriptDC*) dc )->SetResolution( 600 ); // Postscript DC resolution is 600 ppi
#endif
if( !printer.Print( this, &printout, true ) )
{
if( wxPrinter::GetLastError() == wxPRINTER_ERROR )
DisplayError( this, _( "There was a problem printing" ) );
return;
}
else
{
*g_PrintData = printer.GetPrintDialogData().GetPrintData();
}
}

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Sep 8 2010) // C++ code generated with wxFormBuilder (version Apr 10 2012)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
@ -9,7 +9,7 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
DIALOG_PRINT_USING_PRINTER_base::DIALOG_PRINT_USING_PRINTER_base( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) DIALOG_PRINT_USING_PRINTER_base::DIALOG_PRINT_USING_PRINTER_base( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
{ {
this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize ); this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
@ -24,14 +24,18 @@ DIALOG_PRINT_USING_PRINTER_base::DIALOG_PRINT_USING_PRINTER_base( wxWindow* pare
m_leftLayersBoxSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Layers:") ), wxVERTICAL ); m_leftLayersBoxSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Layers:") ), wxVERTICAL );
bleftSizer->Add( m_leftLayersBoxSizer, 1, wxALL, 5 ); bleftSizer->Add( m_leftLayersBoxSizer, 1, wxALL, 5 );
m_rightLayersBoxSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Layers:") ), wxVERTICAL ); m_rightLayersBoxSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Layers:") ), wxVERTICAL );
bleftSizer->Add( m_rightLayersBoxSizer, 1, wxALL, 5 ); bleftSizer->Add( m_rightLayersBoxSizer, 1, wxALL, 5 );
sbLayersSizer->Add( bleftSizer, 1, wxEXPAND, 5 ); sbLayersSizer->Add( bleftSizer, 1, wxEXPAND, 5 );
bMainSizer->Add( sbLayersSizer, 1, wxEXPAND, 5 ); bMainSizer->Add( sbLayersSizer, 1, wxEXPAND, 5 );
wxBoxSizer* bmiddleLeftSizer; wxBoxSizer* bmiddleLeftSizer;
@ -61,6 +65,7 @@ DIALOG_PRINT_USING_PRINTER_base::DIALOG_PRINT_USING_PRINTER_base( wxWindow* pare
bmiddleLeftSizer->Add( m_FineAdjustYscaleOpt, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 ); bmiddleLeftSizer->Add( m_FineAdjustYscaleOpt, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
bMainSizer->Add( bmiddleLeftSizer, 0, wxEXPAND, 5 ); bMainSizer->Add( bmiddleLeftSizer, 0, wxEXPAND, 5 );
wxBoxSizer* bmiddleRightSizer; wxBoxSizer* bmiddleRightSizer;
@ -72,6 +77,7 @@ DIALOG_PRINT_USING_PRINTER_base::DIALOG_PRINT_USING_PRINTER_base( wxWindow* pare
m_Print_Mirror = new wxCheckBox( this, wxID_ANY, _("Mirror"), wxDefaultPosition, wxDefaultSize, 0 ); m_Print_Mirror = new wxCheckBox( this, wxID_ANY, _("Mirror"), wxDefaultPosition, wxDefaultSize, 0 );
sbOptionsSizer->Add( m_Print_Mirror, 0, wxALL, 5 ); sbOptionsSizer->Add( m_Print_Mirror, 0, wxALL, 5 );
bmiddleRightSizer->Add( sbOptionsSizer, 0, wxEXPAND|wxALL, 5 ); bmiddleRightSizer->Add( sbOptionsSizer, 0, wxEXPAND|wxALL, 5 );
wxString m_ModeColorOptionChoices[] = { _("Color"), _("Black and white") }; wxString m_ModeColorOptionChoices[] = { _("Color"), _("Black and white") };
@ -82,6 +88,7 @@ DIALOG_PRINT_USING_PRINTER_base::DIALOG_PRINT_USING_PRINTER_base( wxWindow* pare
bmiddleRightSizer->Add( m_ModeColorOption, 0, wxALL|wxEXPAND, 5 ); bmiddleRightSizer->Add( m_ModeColorOption, 0, wxALL|wxEXPAND, 5 );
bMainSizer->Add( bmiddleRightSizer, 0, wxEXPAND, 5 ); bMainSizer->Add( bmiddleRightSizer, 0, wxEXPAND, 5 );
wxBoxSizer* b_buttonsSizer; wxBoxSizer* b_buttonsSizer;
@ -99,8 +106,10 @@ DIALOG_PRINT_USING_PRINTER_base::DIALOG_PRINT_USING_PRINTER_base( wxWindow* pare
m_buttonQuit = new wxButton( this, wxID_CANCEL, _("Close"), wxDefaultPosition, wxDefaultSize, 0 ); m_buttonQuit = new wxButton( this, wxID_CANCEL, _("Close"), wxDefaultPosition, wxDefaultSize, 0 );
b_buttonsSizer->Add( m_buttonQuit, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 ); b_buttonsSizer->Add( m_buttonQuit, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
bMainSizer->Add( b_buttonsSizer, 0, wxALIGN_CENTER_VERTICAL, 5 ); bMainSizer->Add( b_buttonsSizer, 0, wxALIGN_CENTER_VERTICAL, 5 );
this->SetSizer( bMainSizer ); this->SetSizer( bMainSizer );
this->Layout(); this->Layout();

View File

@ -44,7 +44,7 @@
<property name="pos"></property> <property name="pos"></property>
<property name="size">551,314</property> <property name="size">551,314</property>
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property> <property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
<property name="subclass"></property> <property name="subclass">DIALOG_SHIM; dialog_shim.h</property>
<property name="title">Print</property> <property name="title">Print</property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="window_extra_style"></property> <property name="window_extra_style"></property>

View File

@ -1,15 +1,17 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Sep 8 2010) // C++ code generated with wxFormBuilder (version Apr 10 2012)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
#ifndef __dialog_print_using_printer_base__ #ifndef __DIALOG_PRINT_USING_PRINTER_BASE_H__
#define __dialog_print_using_printer_base__ #define __DIALOG_PRINT_USING_PRINTER_BASE_H__
#include <wx/artprov.h>
#include <wx/xrc/xmlres.h>
#include <wx/intl.h> #include <wx/intl.h>
#include "dialog_shim.h"
#include <wx/string.h> #include <wx/string.h>
#include <wx/sizer.h> #include <wx/sizer.h>
#include <wx/statbox.h> #include <wx/statbox.h>
@ -29,7 +31,7 @@
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_PRINT_USING_PRINTER_base /// Class DIALOG_PRINT_USING_PRINTER_base
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
class DIALOG_PRINT_USING_PRINTER_base : public wxDialog class DIALOG_PRINT_USING_PRINTER_base : public DIALOG_SHIM
{ {
private: private:
@ -38,7 +40,7 @@ class DIALOG_PRINT_USING_PRINTER_base : public wxDialog
{ {
wxID_PRINT_MODE = 1000, wxID_PRINT_MODE = 1000,
wxID_PRINT_OPTIONS, wxID_PRINT_OPTIONS,
wxID_PRINT_ALL, wxID_PRINT_ALL
}; };
wxStaticBoxSizer* m_leftLayersBoxSizer; wxStaticBoxSizer* m_leftLayersBoxSizer;
@ -66,9 +68,9 @@ class DIALOG_PRINT_USING_PRINTER_base : public wxDialog
public: public:
DIALOG_PRINT_USING_PRINTER_base( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Print"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 551,314 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); DIALOG_PRINT_USING_PRINTER_base( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Print"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 551,314 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
~DIALOG_PRINT_USING_PRINTER_base(); ~DIALOG_PRINT_USING_PRINTER_base();
}; };
#endif //__dialog_print_using_printer_base__ #endif //__DIALOG_PRINT_USING_PRINTER_BASE_H__

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Jun 30 2011) // C++ code generated with wxFormBuilder (version Apr 10 2012)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
@ -9,7 +9,7 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE::DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE::DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
{ {
this->SetSizeHints( wxDefaultSize, wxDefaultSize ); this->SetSizeHints( wxDefaultSize, wxDefaultSize );
@ -28,8 +28,10 @@ DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE::DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE( wxWindow
m_ShowPageLimits->SetSelection( 0 ); m_ShowPageLimits->SetSelection( 0 );
bRightSizer->Add( m_ShowPageLimits, 0, wxALL|wxEXPAND, 5 ); bRightSizer->Add( m_ShowPageLimits, 0, wxALL|wxEXPAND, 5 );
bUpperSizer->Add( bRightSizer, 1, wxEXPAND, 5 ); bUpperSizer->Add( bRightSizer, 1, wxEXPAND, 5 );
bDialogSizer->Add( bUpperSizer, 1, wxEXPAND, 5 ); bDialogSizer->Add( bUpperSizer, 1, wxEXPAND, 5 );
m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
@ -41,8 +43,10 @@ DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE::DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE( wxWindow
m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL ); m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL );
m_sdbSizer1->AddButton( m_sdbSizer1Cancel ); m_sdbSizer1->AddButton( m_sdbSizer1Cancel );
m_sdbSizer1->Realize(); m_sdbSizer1->Realize();
bDialogSizer->Add( m_sdbSizer1, 0, wxEXPAND|wxALL, 5 ); bDialogSizer->Add( m_sdbSizer1, 0, wxEXPAND|wxALL, 5 );
this->SetSizer( bDialogSizer ); this->SetSizer( bDialogSizer );
this->Layout(); this->Layout();

View File

@ -44,7 +44,7 @@
<property name="pos"></property> <property name="pos"></property>
<property name="size">263,254</property> <property name="size">263,254</property>
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property> <property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
<property name="subclass"></property> <property name="subclass">DIALOG_SHIM; dialog_shim.h</property>
<property name="title">Page Borders</property> <property name="title">Page Borders</property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="window_extra_style"></property> <property name="window_extra_style"></property>

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Jun 30 2011) // C++ code generated with wxFormBuilder (version Apr 10 2012)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
@ -11,6 +11,7 @@
#include <wx/artprov.h> #include <wx/artprov.h>
#include <wx/xrc/xmlres.h> #include <wx/xrc/xmlres.h>
#include <wx/intl.h> #include <wx/intl.h>
#include "dialog_shim.h"
#include <wx/string.h> #include <wx/string.h>
#include <wx/radiobox.h> #include <wx/radiobox.h>
#include <wx/gdicmn.h> #include <wx/gdicmn.h>
@ -28,7 +29,7 @@
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE /// Class DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
class DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE : public wxDialog class DIALOG_PAGE_SHOW_PAGE_BORDERS_BASE : public DIALOG_SHIM
{ {
private: private:

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Mar 17 2012) // C++ code generated with wxFormBuilder (version Apr 10 2012)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
@ -9,7 +9,7 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
DIALOG_DISPLAY_OPTIONS_BASE::DIALOG_DISPLAY_OPTIONS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) DIALOG_DISPLAY_OPTIONS_BASE::DIALOG_DISPLAY_OPTIONS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
{ {
this->SetSizeHints( wxDefaultSize, wxDefaultSize ); this->SetSizeHints( wxDefaultSize, wxDefaultSize );

View File

@ -44,7 +44,7 @@
<property name="pos"></property> <property name="pos"></property>
<property name="size">446,330</property> <property name="size">446,330</property>
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property> <property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
<property name="subclass"></property> <property name="subclass">DIALOG_SHIM; dialog_shim.h</property>
<property name="title">Gerbview Options</property> <property name="title">Gerbview Options</property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="window_extra_style"></property> <property name="window_extra_style"></property>

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Mar 17 2012) // C++ code generated with wxFormBuilder (version Apr 10 2012)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
@ -11,6 +11,7 @@
#include <wx/artprov.h> #include <wx/artprov.h>
#include <wx/xrc/xmlres.h> #include <wx/xrc/xmlres.h>
#include <wx/intl.h> #include <wx/intl.h>
#include "dialog_shim.h"
#include <wx/string.h> #include <wx/string.h>
#include <wx/radiobox.h> #include <wx/radiobox.h>
#include <wx/gdicmn.h> #include <wx/gdicmn.h>
@ -30,7 +31,7 @@
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_DISPLAY_OPTIONS_BASE /// Class DIALOG_DISPLAY_OPTIONS_BASE
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
class DIALOG_DISPLAY_OPTIONS_BASE : public wxDialog class DIALOG_DISPLAY_OPTIONS_BASE : public DIALOG_SHIM
{ {
private: private:

View File

@ -55,13 +55,6 @@ DIALOG_DRC_CONTROL::DIALOG_DRC_CONTROL( DRC* aTester, PCB_EDIT_FRAME* parent ) :
} }
bool DIALOG_DRC_CONTROL::Show( bool show )
{
return DIALOG_DRC_CONTROL_BASE::Show( show );
}
void DIALOG_DRC_CONTROL::InitValues() void DIALOG_DRC_CONTROL::InitValues()
{ {
// Connect events and objects // Connect events and objects

View File

@ -60,14 +60,6 @@ public:
DIALOG_DRC_CONTROL( DRC* aTester, PCB_EDIT_FRAME* parent ); DIALOG_DRC_CONTROL( DRC* aTester, PCB_EDIT_FRAME* parent );
~DIALOG_DRC_CONTROL(){}; ~DIALOG_DRC_CONTROL(){};
/**
* Function Show
* overloads the wxDialog::Show() function so it can position the
* dialog at its remembered size and position.
*/
bool Show( bool show );
private: private:
/** /**
* Function writeReport * Function writeReport

View File

@ -155,8 +155,6 @@ public:
DIALOG_LAYERS_SETUP( PCB_EDIT_FRAME* parent ); DIALOG_LAYERS_SETUP( PCB_EDIT_FRAME* parent );
~DIALOG_LAYERS_SETUP( ) { }; ~DIALOG_LAYERS_SETUP( ) { };
bool Show( bool show ); // overload stock function
/** /**
* Function Layout * Function Layout
* overrides the standard Layout() function so that the column titles can * overrides the standard Layout() function so that the column titles can
@ -307,12 +305,6 @@ DIALOG_LAYERS_SETUP::DIALOG_LAYERS_SETUP( PCB_EDIT_FRAME* parent ) :
} }
bool DIALOG_LAYERS_SETUP::Show( bool show )
{
return DIALOG_LAYERS_SETUP_BASE::Show( show );
}
void DIALOG_LAYERS_SETUP::showCopperChoice( int copperCount ) void DIALOG_LAYERS_SETUP::showCopperChoice( int copperCount )
{ {
static const int copperCounts[] = { 2,4,6,8,10,12,14,16 }; static const int copperCounts[] = { 2,4,6,8,10,12,14,16 };