Commit 34e6314a authored by Dick Hollenbeck's avatar Dick Hollenbeck

dialog information hiding, initial Fit()

parent 8c2d3d12
...@@ -226,7 +226,6 @@ double From_User_Unit( EDA_UNITS_T aUnit, double aValue ) ...@@ -226,7 +226,6 @@ double From_User_Unit( EDA_UNITS_T aUnit, double aValue )
default: default:
case UNSCALED_UNITS: case UNSCALED_UNITS:
value = aValue; value = aValue;
} }
...@@ -243,8 +242,9 @@ int ReturnValueFromString( EDA_UNITS_T aUnits, const wxString& aTextValue ) ...@@ -243,8 +242,9 @@ int ReturnValueFromString( EDA_UNITS_T aUnits, const wxString& aTextValue )
// Acquire the 'right' decimal point separator // Acquire the 'right' decimal point separator
const struct lconv* lc = localeconv(); const struct lconv* lc = localeconv();
wxChar decimal_point = lc->decimal_point[0];
wxString buf( aTextValue.Strip( wxString::both ) ); wxChar decimal_point = lc->decimal_point[0];
wxString buf( aTextValue.Strip( wxString::both ) );
// Convert the period in decimal point // Convert the period in decimal point
buf.Replace( wxT( "." ), wxString( decimal_point, 1 ) ); buf.Replace( wxT( "." ), wxString( decimal_point, 1 ) );
...@@ -270,7 +270,9 @@ int ReturnValueFromString( EDA_UNITS_T aUnits, const wxString& aTextValue ) ...@@ -270,7 +270,9 @@ int ReturnValueFromString( EDA_UNITS_T aUnits, const wxString& aTextValue )
} }
// Extract the numeric part // Extract the numeric part
buf.Left( brk_point ).ToDouble( &dtmp ); buf.Left( brk_point );
buf.ToDouble( &dtmp );
// Check the optional unit designator (2 ch significant) // Check the optional unit designator (2 ch significant)
wxString unit( buf.Mid( brk_point ).Strip( wxString::leading ).Left( 2 ).Lower() ); wxString unit( buf.Mid( brk_point ).Strip( wxString::leading ).Left( 2 ).Lower() );
......
...@@ -632,8 +632,6 @@ public: ...@@ -632,8 +632,6 @@ public:
void SelectLayerPair(); void SelectLayerPair();
virtual void SwitchLayer( wxDC* DC, LAYER_NUM layer ); virtual void SwitchLayer( wxDC* DC, LAYER_NUM layer );
void InstallGridFrame( const wxPoint& pos );
/** /**
* Load applications settings common to PCB draw frame objects. * Load applications settings common to PCB draw frame objects.
* *
...@@ -646,6 +644,8 @@ public: ...@@ -646,6 +644,8 @@ public:
*/ */
virtual void LoadSettings(); virtual void LoadSettings();
bool InvokeDialogGrid();
/** /**
* Save applications settings common to PCB draw frame objects. * Save applications settings common to PCB draw frame objects.
* *
......
...@@ -85,7 +85,7 @@ static const LAYER_MSK Std_Pad_Layers[] = { ...@@ -85,7 +85,7 @@ static const LAYER_MSK Std_Pad_Layers[] = {
* class DIALOG_PAD_PROPERTIES, derived from DIALOG_PAD_PROPERTIES_BASE, * class DIALOG_PAD_PROPERTIES, derived from DIALOG_PAD_PROPERTIES_BASE,
* created by wxFormBuilder * created by wxFormBuilder
*/ */
class DIALOG_PAD_PROPERTIES : public DIALOG_PAD_PROPERTIES_BASE class DIALOG_PAD_PROPERTIES : public DIALOG_PAD_PROPERTIES_BASE
{ {
public: public:
DIALOG_PAD_PROPERTIES( PCB_BASE_FRAME* aParent, D_PAD* aPad ); DIALOG_PAD_PROPERTIES( PCB_BASE_FRAME* aParent, D_PAD* aPad );
......
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Oct 8 2012) // C++ code generated with wxFormBuilder (version Apr 30 2013)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
...@@ -253,7 +253,7 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind ...@@ -253,7 +253,7 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind
m_LeftBoxSizer->Add( sbSizeModuleInfo, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 ); m_LeftBoxSizer->Add( sbSizeModuleInfo, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
bGeneralSizer->Add( m_LeftBoxSizer, 1, wxALL|wxEXPAND, 5 ); bGeneralSizer->Add( m_LeftBoxSizer, 3, wxALL|wxEXPAND, 5 );
wxBoxSizer* bSizer10; wxBoxSizer* bSizer10;
bSizer10 = new wxBoxSizer( wxVERTICAL ); bSizer10 = new wxBoxSizer( wxVERTICAL );
...@@ -287,7 +287,7 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind ...@@ -287,7 +287,7 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind
m_PadDrill_X_Ctrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_PadDrill_X_Ctrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_PadDrill_X_Ctrl->SetMaxLength( 0 ); m_PadDrill_X_Ctrl->SetMaxLength( 0 );
fgSizerGeometry->Add( m_PadDrill_X_Ctrl, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 ); fgSizerGeometry->Add( m_PadDrill_X_Ctrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxTOP, 5 );
m_PadDrill_X_Unit = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 ); m_PadDrill_X_Unit = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
m_PadDrill_X_Unit->Wrap( -1 ); m_PadDrill_X_Unit->Wrap( -1 );
...@@ -299,7 +299,7 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind ...@@ -299,7 +299,7 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind
m_PadDrill_Y_Ctrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_PadDrill_Y_Ctrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_PadDrill_Y_Ctrl->SetMaxLength( 0 ); m_PadDrill_Y_Ctrl->SetMaxLength( 0 );
fgSizerGeometry->Add( m_PadDrill_Y_Ctrl, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxTOP, 5 ); fgSizerGeometry->Add( m_PadDrill_Y_Ctrl, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxEXPAND|wxLEFT|wxTOP, 5 );
m_PadDrill_Y_Unit = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 ); m_PadDrill_Y_Unit = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
m_PadDrill_Y_Unit->Wrap( -1 ); m_PadDrill_Y_Unit->Wrap( -1 );
...@@ -325,7 +325,7 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind ...@@ -325,7 +325,7 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind
int m_rbCopperLayersSelNChoices = sizeof( m_rbCopperLayersSelChoices ) / sizeof( wxString ); int m_rbCopperLayersSelNChoices = sizeof( m_rbCopperLayersSelChoices ) / sizeof( wxString );
m_rbCopperLayersSel = new wxChoice( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_rbCopperLayersSelNChoices, m_rbCopperLayersSelChoices, 0 ); m_rbCopperLayersSel = new wxChoice( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_rbCopperLayersSelNChoices, m_rbCopperLayersSelChoices, 0 );
m_rbCopperLayersSel->SetSelection( 0 ); m_rbCopperLayersSel->SetSelection( 0 );
bSizer11->Add( m_rbCopperLayersSel, 1, wxALL, 5 ); bSizer11->Add( m_rbCopperLayersSel, 1, wxALL|wxEXPAND, 5 );
m_LayersSizer->Add( bSizer11, 0, wxEXPAND, 5 ); m_LayersSizer->Add( bSizer11, 0, wxEXPAND, 5 );
...@@ -373,7 +373,7 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind ...@@ -373,7 +373,7 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind
bSizer10->Add( m_LayersSizer, 0, wxALL|wxEXPAND, 5 ); bSizer10->Add( m_LayersSizer, 0, wxALL|wxEXPAND, 5 );
bGeneralSizer->Add( bSizer10, 0, wxALL|wxEXPAND, 5 ); bGeneralSizer->Add( bSizer10, 2, wxALL|wxEXPAND, 5 );
m_panelGeneral->SetSizer( bGeneralSizer ); m_panelGeneral->SetSizer( bGeneralSizer );
...@@ -534,7 +534,7 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind ...@@ -534,7 +534,7 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind
m_panelShowPad = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxSize( 200,200 ), wxFULL_REPAINT_ON_RESIZE|wxSIMPLE_BORDER ); m_panelShowPad = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxSize( 200,200 ), wxFULL_REPAINT_ON_RESIZE|wxSIMPLE_BORDER );
m_panelShowPad->SetBackgroundColour( wxColour( 0, 0, 0 ) ); m_panelShowPad->SetBackgroundColour( wxColour( 0, 0, 0 ) );
bSizerDisplayPad->Add( m_panelShowPad, 1, wxRIGHT|wxTOP|wxEXPAND, 5 ); bSizerDisplayPad->Add( m_panelShowPad, 4, wxRIGHT|wxTOP|wxEXPAND, 5 );
bSizerUpper->Add( bSizerDisplayPad, 1, wxEXPAND|wxTOP|wxBOTTOM, 5 ); bSizerUpper->Add( bSizerDisplayPad, 1, wxEXPAND|wxTOP|wxBOTTOM, 5 );
...@@ -560,6 +560,7 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind ...@@ -560,6 +560,7 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind
this->SetSizer( m_MainSizer ); this->SetSizer( m_MainSizer );
this->Layout(); this->Layout();
m_MainSizer->Fit( this );
this->Centre( wxBOTH ); this->Centre( wxBOTH );
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
<property name="minimum_size">-1,-1</property> <property name="minimum_size">-1,-1</property>
<property name="name">DIALOG_PAD_PROPERTIES_BASE</property> <property name="name">DIALOG_PAD_PROPERTIES_BASE</property>
<property name="pos"></property> <property name="pos"></property>
<property name="size">745,725</property> <property name="size">-1,-1</property>
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property> <property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
<property name="subclass">DIALOG_SHIM; dialog_shim.h</property> <property name="subclass">DIALOG_SHIM; dialog_shim.h</property>
<property name="title">Pad Properties</property> <property name="title">Pad Properties</property>
...@@ -268,8 +268,8 @@ ...@@ -268,8 +268,8 @@
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property> <property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">1</property> <property name="proportion">3</property>
<object class="wxBoxSizer" expanded="1"> <object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property> <property name="minimum_size"></property>
<property name="name">m_LeftBoxSizer</property> <property name="name">m_LeftBoxSizer</property>
<property name="orient">wxVERTICAL</property> <property name="orient">wxVERTICAL</property>
...@@ -3821,11 +3821,11 @@ ...@@ -3821,11 +3821,11 @@
</object> </object>
</object> </object>
</object> </object>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="0">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND</property> <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND</property>
<property name="proportion">0</property> <property name="proportion">0</property>
<object class="wxStaticBoxSizer" expanded="1"> <object class="wxStaticBoxSizer" expanded="0">
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">Parent footprint orientation</property> <property name="label">Parent footprint orientation</property>
<property name="minimum_size"></property> <property name="minimum_size"></property>
...@@ -3833,11 +3833,11 @@ ...@@ -3833,11 +3833,11 @@
<property name="orient">wxVERTICAL</property> <property name="orient">wxVERTICAL</property>
<property name="permission">none</property> <property name="permission">none</property>
<event name="OnUpdateUI"></event> <event name="OnUpdateUI"></event>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="0">
<property name="border">5</property> <property name="border">5</property>
<property name="flag"></property> <property name="flag"></property>
<property name="proportion">0</property> <property name="proportion">0</property>
<object class="wxFlexGridSizer" expanded="1"> <object class="wxFlexGridSizer" expanded="0">
<property name="cols">2</property> <property name="cols">2</property>
<property name="flexible_direction">wxBOTH</property> <property name="flexible_direction">wxBOTH</property>
<property name="growablecols">1</property> <property name="growablecols">1</property>
...@@ -4190,17 +4190,17 @@ ...@@ -4190,17 +4190,17 @@
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property> <property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property> <property name="proportion">2</property>
<object class="wxBoxSizer" expanded="1"> <object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property> <property name="minimum_size"></property>
<property name="name">bSizer10</property> <property name="name">bSizer10</property>
<property name="orient">wxVERTICAL</property> <property name="orient">wxVERTICAL</property>
<property name="permission">none</property> <property name="permission">none</property>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="0">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property> <property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property> <property name="proportion">0</property>
<object class="wxStaticBoxSizer" expanded="1"> <object class="wxStaticBoxSizer" expanded="0">
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">Drill</property> <property name="label">Drill</property>
<property name="minimum_size"></property> <property name="minimum_size"></property>
...@@ -4208,11 +4208,11 @@ ...@@ -4208,11 +4208,11 @@
<property name="orient">wxVERTICAL</property> <property name="orient">wxVERTICAL</property>
<property name="permission">none</property> <property name="permission">none</property>
<event name="OnUpdateUI"></event> <event name="OnUpdateUI"></event>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="0">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxEXPAND</property> <property name="flag">wxEXPAND</property>
<property name="proportion">0</property> <property name="proportion">0</property>
<object class="wxFlexGridSizer" expanded="1"> <object class="wxFlexGridSizer" expanded="0">
<property name="cols">3</property> <property name="cols">3</property>
<property name="flexible_direction">wxBOTH</property> <property name="flexible_direction">wxBOTH</property>
<property name="growablecols">1</property> <property name="growablecols">1</property>
...@@ -4563,7 +4563,7 @@ ...@@ -4563,7 +4563,7 @@
</object> </object>
<object class="sizeritem" expanded="0"> <object class="sizeritem" expanded="0">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP</property> <property name="flag">wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxTOP</property>
<property name="proportion">0</property> <property name="proportion">0</property>
<object class="wxTextCtrl" expanded="0"> <object class="wxTextCtrl" expanded="0">
<property name="BottomDockable">1</property> <property name="BottomDockable">1</property>
...@@ -4820,7 +4820,7 @@ ...@@ -4820,7 +4820,7 @@
</object> </object>
<object class="sizeritem" expanded="0"> <object class="sizeritem" expanded="0">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxTOP</property> <property name="flag">wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxEXPAND|wxLEFT|wxTOP</property>
<property name="proportion">0</property> <property name="proportion">0</property>
<object class="wxTextCtrl" expanded="0"> <object class="wxTextCtrl" expanded="0">
<property name="BottomDockable">1</property> <property name="BottomDockable">1</property>
...@@ -4996,11 +4996,11 @@ ...@@ -4996,11 +4996,11 @@
</object> </object>
</object> </object>
</object> </object>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="0">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property> <property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property> <property name="proportion">0</property>
<object class="wxStaticBoxSizer" expanded="1"> <object class="wxStaticBoxSizer" expanded="0">
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">Layers</property> <property name="label">Layers</property>
<property name="minimum_size"></property> <property name="minimum_size"></property>
...@@ -5102,7 +5102,7 @@ ...@@ -5102,7 +5102,7 @@
</object> </object>
<object class="sizeritem" expanded="0"> <object class="sizeritem" expanded="0">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxALL</property> <property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">1</property> <property name="proportion">1</property>
<object class="wxChoice" expanded="0"> <object class="wxChoice" expanded="0">
<property name="BottomDockable">1</property> <property name="BottomDockable">1</property>
...@@ -8233,7 +8233,7 @@ ...@@ -8233,7 +8233,7 @@
<object class="sizeritem" expanded="0"> <object class="sizeritem" expanded="0">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxRIGHT|wxTOP|wxEXPAND</property> <property name="flag">wxRIGHT|wxTOP|wxEXPAND</property>
<property name="proportion">1</property> <property name="proportion">4</property>
<object class="wxPanel" expanded="0"> <object class="wxPanel" expanded="0">
<property name="BottomDockable">1</property> <property name="BottomDockable">1</property>
<property name="LeftDockable">1</property> <property name="LeftDockable">1</property>
......
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Oct 8 2012) // C++ code generated with wxFormBuilder (version Apr 30 2013)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
...@@ -162,7 +162,7 @@ class DIALOG_PAD_PROPERTIES_BASE : public DIALOG_SHIM ...@@ -162,7 +162,7 @@ class DIALOG_PAD_PROPERTIES_BASE : public DIALOG_SHIM
public: public:
DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWindowID id = wxID_DIALOG_EDIT_PAD, const wxString& title = _("Pad Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 745,725 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxSUNKEN_BORDER ); DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWindowID id = wxID_DIALOG_EDIT_PAD, const wxString& title = _("Pad Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxSUNKEN_BORDER );
~DIALOG_PAD_PROPERTIES_BASE(); ~DIALOG_PAD_PROPERTIES_BASE();
}; };
......
...@@ -26,81 +26,90 @@ ...@@ -26,81 +26,90 @@
*/ */
#include <fctsys.h> #include <fctsys.h>
#include <macros.h>
#include <common.h> #include <common.h>
#include <class_drawpanel.h>
#include <wxBasePcbFrame.h>
#include <base_units.h> #include <base_units.h>
#include <pcbnew.h> #include <pcbnew.h>
#include <pcbnew_id.h> #include <pcbnew_id.h>
#include <dialog_set_grid_base.h> #include <dialog_set_grid_base.h>
#include <invoke_pcb_dialog.h>
class DIALOG_SET_GRID : public DIALOG_SET_GRID_BASE class DIALOG_SET_GRID : public DIALOG_SET_GRID_BASE
{ {
public: public:
DIALOG_SET_GRID( wxWindow* parent, const wxPoint& pos );
void SetGridSize( const wxRealPoint& grid ); /// This has no dependencies on calling wxFrame derivative, such as PCB_BASE_FRAME.
wxRealPoint GetGridSize(); DIALOG_SET_GRID( wxFrame* aCaller, EDA_UNITS_T* aGridUnits, EDA_UNITS_T aBoardUnits,
void SetGridUnits( int units ); wxRealPoint* aUserSize, wxPoint* aOrigin,
int GetGridUnits(); int* aFastGrid1, int* aFastGrid2, const wxArrayString& aGridChoices );
void SetGridOrigin( const wxPoint& grid );
wxPoint GetGridOrigin();
void SetGridForFastSwitching( wxArrayString aGrids, int aGrid1, int aGrid2 );
void GetGridForFastSwitching( int& aGrid1, int& aGrid2 );
private: private:
void OnResetGridOrgClick( wxCommandEvent& event ); void OnResetGridOrgClick( wxCommandEvent& event );
void OnCancelClick( wxCommandEvent& event ); void OnCancelClick( wxCommandEvent& event );
void OnOkClick( wxCommandEvent& event ); void OnOkClick( wxCommandEvent& event );
};
EDA_UNITS_T& m_callers_grid_units;
EDA_UNITS_T m_callers_board_units;
wxRealPoint& m_callers_user_size;
wxPoint& m_callers_origin;
int& m_callers_fast_grid1;
int& m_callers_fast_grid2;
void PCB_BASE_FRAME::InstallGridFrame( const wxPoint& pos ) void setGridUnits( EDA_UNITS_T units );
{ EDA_UNITS_T getGridUnits();
DIALOG_SET_GRID dlg( this, pos );
dlg.SetGridUnits( m_UserGridUnit ); void setGridSize( const wxRealPoint& grid );
dlg.SetGridSize( m_UserGridSize ); wxRealPoint getGridSize();
dlg.SetGridOrigin( GetScreen()->m_GridOrigin );
if( m_gridSelectBox ) void setGridOrigin( const wxPoint& grid );
dlg.SetGridForFastSwitching( m_gridSelectBox->GetStrings(), m_FastGrid1, m_FastGrid2 ); wxPoint getGridOrigin();
if( dlg.ShowModal() == wxID_CANCEL ) void setGridForFastSwitching( const wxArrayString& aGrids, int aGrid1, int aGrid2 );
return; void getGridForFastSwitching( int& aGrid1, int& aGrid2 );
};
m_UserGridSize = dlg.GetGridSize();
m_UserGridUnit = (EDA_UNITS_T) dlg.GetGridUnits();
GetScreen()->m_GridOrigin = dlg.GetGridOrigin();
GetScreen()->AddGrid( m_UserGridSize, m_UserGridUnit, ID_POPUP_GRID_USER ); DIALOG_SET_GRID::DIALOG_SET_GRID( wxFrame* aCaller, EDA_UNITS_T* aGridUnits, EDA_UNITS_T aBoardUnits,
wxRealPoint* aUserSize, wxPoint* aOrigin, int* aFastGrid1, int* aFastGrid2, const wxArrayString& aGridChoices ):
DIALOG_SET_GRID_BASE( aCaller ),
m_callers_grid_units( *aGridUnits ),
m_callers_board_units( aBoardUnits ),
m_callers_user_size( *aUserSize ),
m_callers_origin( *aOrigin ),
m_callers_fast_grid1( *aFastGrid1 ),
m_callers_fast_grid2( *aFastGrid2 )
{
m_TextPosXUnits->SetLabel( GetUnitsLabel( m_callers_board_units ) );
m_TextPosYUnits->SetLabel( GetUnitsLabel( m_callers_board_units ) );
dlg.GetGridForFastSwitching( m_FastGrid1, m_FastGrid2 ); m_sdbSizer1OK->SetDefault(); // set OK button as default response to 'Enter' key
// If the user grid is the current option, recall SetGrid() setGridUnits( m_callers_grid_units );
// to force new values put in list as current grid value setGridSize( m_callers_user_size );
if( GetScreen()->GetGridId() == ID_POPUP_GRID_USER ) setGridOrigin( m_callers_origin );
GetScreen()->SetGrid( ID_POPUP_GRID_USER ); setGridForFastSwitching( aGridChoices, m_callers_fast_grid1, m_callers_fast_grid2 );
m_canvas->Refresh(); GetSizer()->SetSizeHints( this );
Fit();
Centre();
} }
DIALOG_SET_GRID::DIALOG_SET_GRID( wxWindow* parent, const wxPoint& pos ) : void DIALOG_SET_GRID::setGridUnits( EDA_UNITS_T aUnits )
DIALOG_SET_GRID_BASE( parent )
{ {
m_TextPosXUnits->SetLabel( GetUnitsLabel( g_UserUnit ) ); m_UnitGrid->SetSelection( aUnits != INCHES );
m_TextPosYUnits->SetLabel( GetUnitsLabel( g_UserUnit ) ); }
m_sdbSizer1OK->SetDefault();
GetSizer()->SetSizeHints( this ); EDA_UNITS_T DIALOG_SET_GRID::getGridUnits()
Centre(); {
return m_UnitGrid->GetSelection() == 0 ? INCHES : MILLIMETRES;
} }
void DIALOG_SET_GRID::SetGridSize( const wxRealPoint& grid ) void DIALOG_SET_GRID::setGridSize( const wxRealPoint& grid )
{ {
wxString msg; wxString msg;
...@@ -112,37 +121,26 @@ void DIALOG_SET_GRID::SetGridSize( const wxRealPoint& grid ) ...@@ -112,37 +121,26 @@ void DIALOG_SET_GRID::SetGridSize( const wxRealPoint& grid )
} }
wxRealPoint DIALOG_SET_GRID::GetGridSize() wxRealPoint DIALOG_SET_GRID::getGridSize()
{ {
wxRealPoint grid; wxRealPoint grid;
// @todo: Some error checking here would be a good thing.
wxString x = m_OptGridSizeX->GetValue();
wxString y = m_OptGridSizeY->GetValue();
/* TODO: Some error checking here would be a good thing. */ x.ToDouble( &grid.x );
m_OptGridSizeX->GetValue().ToDouble( &grid.x ); y.ToDouble( &grid.y );
m_OptGridSizeY->GetValue().ToDouble( &grid.y );
return grid; return grid;
} }
void DIALOG_SET_GRID::SetGridUnits( int units ) wxPoint DIALOG_SET_GRID::getGridOrigin()
{
if( units != INCHES )
m_UnitGrid->SetSelection( 1 );
}
int DIALOG_SET_GRID::GetGridUnits()
{
return m_UnitGrid->GetSelection();
}
wxPoint DIALOG_SET_GRID::GetGridOrigin()
{ {
wxPoint grid; wxPoint grid;
/* TODO: Some error checking here would be a good thing. */ // @todo Some error checking here would be a good thing.
grid.x = ReturnValueFromTextCtrl( *m_GridOriginXCtrl ); grid.x = ReturnValueFromTextCtrl( *m_GridOriginXCtrl );
grid.y = ReturnValueFromTextCtrl( *m_GridOriginYCtrl ); grid.y = ReturnValueFromTextCtrl( *m_GridOriginYCtrl );
...@@ -150,16 +148,14 @@ wxPoint DIALOG_SET_GRID::GetGridOrigin() ...@@ -150,16 +148,14 @@ wxPoint DIALOG_SET_GRID::GetGridOrigin()
} }
void DIALOG_SET_GRID::SetGridOrigin( const wxPoint& grid ) void DIALOG_SET_GRID::setGridOrigin( const wxPoint& grid )
{ {
wxString msg;
PutValueInLocalUnits( *m_GridOriginXCtrl, grid.x ); PutValueInLocalUnits( *m_GridOriginXCtrl, grid.x );
PutValueInLocalUnits( *m_GridOriginYCtrl, grid.y ); PutValueInLocalUnits( *m_GridOriginYCtrl, grid.y );
} }
void DIALOG_SET_GRID::SetGridForFastSwitching( wxArrayString aGrids, int aGrid1, int aGrid2 ) void DIALOG_SET_GRID::setGridForFastSwitching( const wxArrayString& aGrids, int aGrid1, int aGrid2 )
{ {
m_comboBoxGrid1->Append( aGrids ); m_comboBoxGrid1->Append( aGrids );
m_comboBoxGrid2->Append( aGrids ); m_comboBoxGrid2->Append( aGrids );
...@@ -169,7 +165,7 @@ void DIALOG_SET_GRID::SetGridForFastSwitching( wxArrayString aGrids, int aGrid1, ...@@ -169,7 +165,7 @@ void DIALOG_SET_GRID::SetGridForFastSwitching( wxArrayString aGrids, int aGrid1,
} }
void DIALOG_SET_GRID::GetGridForFastSwitching( int& aGrid1, int& aGrid2 ) void DIALOG_SET_GRID::getGridForFastSwitching( int& aGrid1, int& aGrid2 )
{ {
aGrid1 = m_comboBoxGrid1->GetSelection(); aGrid1 = m_comboBoxGrid1->GetSelection();
aGrid2 = m_comboBoxGrid2->GetSelection(); aGrid2 = m_comboBoxGrid2->GetSelection();
...@@ -178,7 +174,7 @@ void DIALOG_SET_GRID::GetGridForFastSwitching( int& aGrid1, int& aGrid2 ) ...@@ -178,7 +174,7 @@ void DIALOG_SET_GRID::GetGridForFastSwitching( int& aGrid1, int& aGrid2 )
void DIALOG_SET_GRID::OnResetGridOrgClick( wxCommandEvent& event ) void DIALOG_SET_GRID::OnResetGridOrgClick( wxCommandEvent& event )
{ {
SetGridOrigin( wxPoint(0,0) ); setGridOrigin( wxPoint( 0, 0 ) );
} }
...@@ -190,5 +186,40 @@ void DIALOG_SET_GRID::OnCancelClick( wxCommandEvent& event ) ...@@ -190,5 +186,40 @@ void DIALOG_SET_GRID::OnCancelClick( wxCommandEvent& event )
void DIALOG_SET_GRID::OnOkClick( wxCommandEvent& event ) void DIALOG_SET_GRID::OnOkClick( wxCommandEvent& event )
{ {
m_callers_grid_units = getGridUnits();
m_callers_user_size = getGridSize();
m_callers_origin = getGridOrigin();
getGridForFastSwitching( m_callers_fast_grid1, m_callers_fast_grid2 );
EndModal( wxID_OK ); EndModal( wxID_OK );
} }
#include <class_drawpanel.h>
#include <wxBasePcbFrame.h>
bool PCB_BASE_FRAME::InvokeDialogGrid()
{
DIALOG_SET_GRID dlg( this, &m_UserGridUnit, g_UserUnit, &m_UserGridSize,
&GetScreen()->m_GridOrigin, &m_FastGrid1, &m_FastGrid2,
m_gridSelectBox->GetStrings() );
int ret = dlg.ShowModal();
if( ret == wxID_OK )
{
GetScreen()->AddGrid( m_UserGridSize, m_UserGridUnit, ID_POPUP_GRID_USER );
// If the user grid is the current option, recall SetGrid()
// to force new values put in list as current grid value
if( GetScreen()->GetGridId() == ID_POPUP_GRID_USER )
GetScreen()->SetGrid( ID_POPUP_GRID_USER );
m_canvas->Refresh();
return true;
}
return false;
}
...@@ -114,15 +114,15 @@ DIALOG_SET_GRID_BASE::DIALOG_SET_GRID_BASE( wxWindow* parent, wxWindowID id, con ...@@ -114,15 +114,15 @@ DIALOG_SET_GRID_BASE::DIALOG_SET_GRID_BASE( wxWindow* parent, wxWindowID id, con
m_staticTextGrid1->Wrap( -1 ); m_staticTextGrid1->Wrap( -1 );
fgSizer3->Add( m_staticTextGrid1, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT|wxTOP, 5 ); fgSizer3->Add( m_staticTextGrid1, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT|wxTOP, 5 );
m_comboBoxGrid1 = new wxComboBox( this, wxID_ANY, _("Combo!"), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); m_comboBoxGrid1 = new wxComboBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
fgSizer3->Add( m_comboBoxGrid1, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 ); fgSizer3->Add( m_comboBoxGrid1, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
m_staticTextGrid2 = new wxStaticText( this, wxID_ANY, _("Grid 2:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextGrid2 = new wxStaticText( this, wxID_ANY, _("Grid 2:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextGrid2->Wrap( -1 ); m_staticTextGrid2->Wrap( -1 );
fgSizer3->Add( m_staticTextGrid2, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxBOTTOM|wxLEFT|wxTOP, 5 ); fgSizer3->Add( m_staticTextGrid2, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxBOTTOM|wxLEFT|wxTOP, 5 );
m_comboBoxGrid2 = new wxComboBox( this, wxID_ANY, _("Combo!"), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); m_comboBoxGrid2 = new wxComboBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
fgSizer3->Add( m_comboBoxGrid2, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 ); fgSizer3->Add( m_comboBoxGrid2, 1, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
sbSizer4->Add( fgSizer3, 1, wxALL|wxEXPAND, 5 ); sbSizer4->Add( fgSizer3, 1, wxALL|wxEXPAND, 5 );
......
...@@ -1327,7 +1327,7 @@ ...@@ -1327,7 +1327,7 @@
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxRIGHT|wxTOP</property> <property name="flag">wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxRIGHT|wxTOP</property>
<property name="proportion">0</property> <property name="proportion">1</property>
<object class="wxComboBox" expanded="1"> <object class="wxComboBox" expanded="1">
<property name="BottomDockable">1</property> <property name="BottomDockable">1</property>
<property name="LeftDockable">1</property> <property name="LeftDockable">1</property>
...@@ -1383,7 +1383,7 @@ ...@@ -1383,7 +1383,7 @@
<property name="validator_style">wxFILTER_NONE</property> <property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property> <property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property> <property name="validator_variable"></property>
<property name="value">Combo!</property> <property name="value"></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>
...@@ -1501,7 +1501,7 @@ ...@@ -1501,7 +1501,7 @@
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND</property> <property name="flag">wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND</property>
<property name="proportion">0</property> <property name="proportion">1</property>
<object class="wxComboBox" expanded="1"> <object class="wxComboBox" expanded="1">
<property name="BottomDockable">1</property> <property name="BottomDockable">1</property>
<property name="LeftDockable">1</property> <property name="LeftDockable">1</property>
...@@ -1557,7 +1557,7 @@ ...@@ -1557,7 +1557,7 @@
<property name="validator_style">wxFILTER_NONE</property> <property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property> <property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property> <property name="validator_variable"></property>
<property name="value">Combo!</property> <property name="value"></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>
......
...@@ -1129,16 +1129,16 @@ void PCB_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event ) ...@@ -1129,16 +1129,16 @@ void PCB_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
break; break;
case ID_PCB_USER_GRID_SETUP: case ID_PCB_USER_GRID_SETUP:
InstallGridFrame( pos ); InvokeDialogGrid();
break; break;
case ID_POPUP_PCB_DISPLAY_FOOTPRINT_DOC: case ID_POPUP_PCB_DISPLAY_FOOTPRINT_DOC:
{ {
wxConfig* cfg = wxGetApp().GetCommonSettings(); wxConfig* cfg = wxGetApp().GetCommonSettings();
cfg->Read( wxT( "module_doc_file" ), g_DocModulesFileName ); cfg->Read( wxT( "module_doc_file" ), g_DocModulesFileName );
GetAssociatedDocument( this, g_DocModulesFileName, &wxGetApp().GetLibraryPathList() ); GetAssociatedDocument( this, g_DocModulesFileName, &wxGetApp().GetLibraryPathList() );
} }
break; break;
case ID_MENU_ARCHIVE_NEW_MODULES: case ID_MENU_ARCHIVE_NEW_MODULES:
ArchiveModulesOnBoard( wxEmptyString, true ); ArchiveModulesOnBoard( wxEmptyString, true );
...@@ -1201,15 +1201,14 @@ void PCB_EDIT_FRAME::RemoveStruct( BOARD_ITEM* Item, wxDC* DC ) ...@@ -1201,15 +1201,14 @@ void PCB_EDIT_FRAME::RemoveStruct( BOARD_ITEM* Item, wxDC* DC )
break; break;
case PCB_ZONE_AREA_T: case PCB_ZONE_AREA_T:
{ {
SetCurItem( NULL ); SetCurItem( NULL );
int netcode = ( (ZONE_CONTAINER*) Item )->GetNet(); int netcode = ( (ZONE_CONTAINER*) Item )->GetNet();
Delete_Zone_Contour( DC, (ZONE_CONTAINER*) Item ); Delete_Zone_Contour( DC, (ZONE_CONTAINER*) Item );
TestNetConnection( NULL, netcode ); TestNetConnection( NULL, netcode );
SetMsgPanel( GetBoard() ); SetMsgPanel( GetBoard() );
} }
break;
break;
case PCB_MARKER_T: case PCB_MARKER_T:
if( Item == GetCurItem() ) if( Item == GetCurItem() )
...@@ -1229,12 +1228,12 @@ void PCB_EDIT_FRAME::RemoveStruct( BOARD_ITEM* Item, wxDC* DC ) ...@@ -1229,12 +1228,12 @@ void PCB_EDIT_FRAME::RemoveStruct( BOARD_ITEM* Item, wxDC* DC )
case TYPE_NOT_INIT: case TYPE_NOT_INIT:
case PCB_T: case PCB_T:
default: default:
{ {
wxString Line; wxString msg = wxString::Format(
Line.Printf( wxT( "Remove: item type %d unknown." ), Item->Type() ); wxT( "Remove: item type %d unknown." ), Item->Type() );
DisplayError( this, Line ); DisplayError( this, msg );
} }
break; break;
} }
} }
......
...@@ -43,6 +43,10 @@ ...@@ -43,6 +43,10 @@
class wxFrame; class wxFrame;
class wxDialog; class wxDialog;
class wxPoint;
class wxSize;
class wxRealPoint;
// Often this is not used in the prototypes, since wxFrame is good enough and would // Often this is not used in the prototypes, since wxFrame is good enough and would
// represent maximum information hiding. // represent maximum information hiding.
...@@ -64,6 +68,4 @@ wxDialog* InvokeDialogERC( SCH_EDIT_FRAME* aCaller ); ...@@ -64,6 +68,4 @@ wxDialog* InvokeDialogERC( SCH_EDIT_FRAME* aCaller );
int InvokeDialogPrintUsingPrinter( SCH_EDIT_FRAME* aCaller ); int InvokeDialogPrintUsingPrinter( SCH_EDIT_FRAME* aCaller );
*/ */
#endif // INVOKE_A_DIALOG_H_ #endif // INVOKE_A_DIALOG_H_
...@@ -728,7 +728,7 @@ void FOOTPRINT_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event ) ...@@ -728,7 +728,7 @@ void FOOTPRINT_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
break; break;
case ID_PCB_USER_GRID_SETUP: case ID_PCB_USER_GRID_SETUP:
InstallGridFrame( pos ); InvokeDialogGrid();
break; break;
case ID_POPUP_PLACE_BLOCK: case ID_POPUP_PLACE_BLOCK:
......
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
#include <wxPcbStruct.h> #include <wxPcbStruct.h>
#include <module_editor_frame.h> #include <module_editor_frame.h>
#include <dialog_design_rules.h> #include <dialog_design_rules.h>
#include <pcbnew_id.h> #include <pcbnew_id.h>
...@@ -71,7 +70,7 @@ void PCB_EDIT_FRAME::ToolOnRightClick( wxCommandEvent& event ) ...@@ -71,7 +70,7 @@ void PCB_EDIT_FRAME::ToolOnRightClick( wxCommandEvent& event )
break; break;
case ID_PCB_PLACE_GRID_COORD_BUTT: case ID_PCB_PLACE_GRID_COORD_BUTT:
InstallGridFrame( wxDefaultPosition ); InvokeDialogGrid();
break; break;
default: default:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment