Implement user units uniformly in EDA_DRAW_FRAME
Step 1 of the g_UserUnit global eradication. This commit includes basic hookup of hotkeys, units tool-buttons and grid dialogs. (cherry picked from commit e0500ab)
This commit is contained in:
parent
b99ea159c8
commit
4f8c546140
|
@ -45,8 +45,10 @@
|
|||
#if defined( PCBNEW ) || defined( CVPCB ) || defined( EESCHEMA ) || defined( GERBVIEW ) || defined( PL_EDITOR )
|
||||
#define IU_TO_MM( x ) ( x / IU_PER_MM )
|
||||
#define IU_TO_IN( x ) ( x / IU_PER_MILS / 1000 )
|
||||
#define IU_TO_MILS( x ) ( x / IU_PER_MILS )
|
||||
#define MM_TO_IU( x ) ( x * IU_PER_MM )
|
||||
#define IN_TO_IU( x ) ( x * IU_PER_MILS * 1000 )
|
||||
#define MILS_TO_IU( x ) ( x * IU_PER_MILS )
|
||||
#else
|
||||
#error "Cannot resolve internal units due to no definition of EESCHEMA, CVPCB or PCBNEW."
|
||||
#endif
|
||||
|
@ -88,7 +90,7 @@ std::string Double2Str( double aValue )
|
|||
}
|
||||
|
||||
|
||||
double To_User_Unit( EDA_UNITS_T aUnit, double aValue )
|
||||
double To_User_Unit( EDA_UNITS_T aUnit, double aValue, bool aUseMils )
|
||||
{
|
||||
switch( aUnit )
|
||||
{
|
||||
|
@ -96,7 +98,10 @@ double To_User_Unit( EDA_UNITS_T aUnit, double aValue )
|
|||
return IU_TO_MM( aValue );
|
||||
|
||||
case INCHES:
|
||||
return IU_TO_IN( aValue );
|
||||
if( aUseMils )
|
||||
return IU_TO_MILS( aValue );
|
||||
else
|
||||
return IU_TO_IN( aValue );
|
||||
|
||||
case DEGREES:
|
||||
return aValue / 10.0f;
|
||||
|
@ -115,12 +120,14 @@ double To_User_Unit( EDA_UNITS_T aUnit, double aValue )
|
|||
* but not in dialogs, because 4 digits only
|
||||
* could truncate the actual value
|
||||
*/
|
||||
wxString CoordinateToString( int aValue, bool aConvertToMils )
|
||||
wxString CoordinateToString( int aValue, bool aUseMils )
|
||||
{
|
||||
return LengthDoubleToString( (double) aValue, aConvertToMils );
|
||||
return LengthDoubleToString( (double) aValue, aUseMils );
|
||||
}
|
||||
|
||||
wxString LengthDoubleToString( double aValue, bool aConvertToMils )
|
||||
|
||||
// JEY TODO: remove; use StringFromValue() instead
|
||||
wxString LengthDoubleToString( double aValue, bool aUseMils )
|
||||
{
|
||||
wxString text;
|
||||
const wxChar* format;
|
||||
|
@ -128,7 +135,7 @@ wxString LengthDoubleToString( double aValue, bool aConvertToMils )
|
|||
|
||||
if( g_UserUnit == INCHES )
|
||||
{
|
||||
if( aConvertToMils )
|
||||
if( aUseMils )
|
||||
{
|
||||
#if defined( EESCHEMA )
|
||||
format = wxT( "%.0f" );
|
||||
|
@ -159,7 +166,7 @@ wxString LengthDoubleToString( double aValue, bool aConvertToMils )
|
|||
text += " ";
|
||||
|
||||
if( g_UserUnit == INCHES )
|
||||
text += ( aConvertToMils ) ? _( "mils" ) : _( "in" );
|
||||
text += ( aUseMils ) ? _( " mils" ) : _( " in" );
|
||||
else
|
||||
text += _( "mm" );
|
||||
|
||||
|
@ -202,9 +209,9 @@ void StripTrailingZeros( wxString& aStringValue, unsigned aTrailingZeroAllowed )
|
|||
* otherwise the actual value is rounded when read from dialog and converted
|
||||
* in internal units, and therefore modified.
|
||||
*/
|
||||
wxString StringFromValue( EDA_UNITS_T aUnit, int aValue, bool aAddUnitSymbol )
|
||||
wxString StringFromValue( EDA_UNITS_T aUnit, int aValue, bool aAddUnitSymbol, bool aUseMils )
|
||||
{
|
||||
double value_to_print = To_User_Unit( aUnit, aValue );
|
||||
double value_to_print = To_User_Unit( aUnit, aValue, aUseMils );
|
||||
|
||||
#if defined( EESCHEMA )
|
||||
wxString stringValue = wxString::Format( wxT( "%.3f" ), value_to_print );
|
||||
|
@ -244,15 +251,18 @@ wxString StringFromValue( EDA_UNITS_T aUnit, int aValue, bool aAddUnitSymbol )
|
|||
switch( aUnit )
|
||||
{
|
||||
case INCHES:
|
||||
stringValue += " " + _( "\"" );
|
||||
if( aUseMils )
|
||||
stringValue += wxT( " mils" );
|
||||
else
|
||||
stringValue += wxT( " in" );
|
||||
break;
|
||||
|
||||
case MILLIMETRES:
|
||||
stringValue += " " + _( "mm" );
|
||||
stringValue += wxT( " mm" );
|
||||
break;
|
||||
|
||||
case DEGREES:
|
||||
stringValue += " " + _( "deg" );
|
||||
stringValue += wxT( " deg" );
|
||||
break;
|
||||
|
||||
case UNSCALED_UNITS:
|
||||
|
@ -264,6 +274,7 @@ wxString StringFromValue( EDA_UNITS_T aUnit, int aValue, bool aAddUnitSymbol )
|
|||
}
|
||||
|
||||
|
||||
// JEY TODO: remove
|
||||
void PutValueInLocalUnits( wxTextCtrl& aTextCtr, int aValue )
|
||||
{
|
||||
wxString msg = StringFromValue( g_UserUnit, aValue );
|
||||
|
@ -272,35 +283,31 @@ void PutValueInLocalUnits( wxTextCtrl& aTextCtr, int aValue )
|
|||
}
|
||||
|
||||
|
||||
double From_User_Unit( EDA_UNITS_T aUnit, double aValue )
|
||||
double From_User_Unit( EDA_UNITS_T aUnit, double aValue, bool aUseMils )
|
||||
{
|
||||
double value;
|
||||
|
||||
switch( aUnit )
|
||||
{
|
||||
case MILLIMETRES:
|
||||
value = MM_TO_IU( aValue );
|
||||
break;
|
||||
return MM_TO_IU( aValue );
|
||||
|
||||
case INCHES:
|
||||
value = IN_TO_IU( aValue );
|
||||
break;
|
||||
if( aUseMils )
|
||||
return MILS_TO_IU( aValue );
|
||||
else
|
||||
return IN_TO_IU( aValue );
|
||||
|
||||
case DEGREES:
|
||||
// Convert to "decidegrees"
|
||||
value = aValue * 10;
|
||||
break;
|
||||
return aValue * 10;
|
||||
|
||||
default:
|
||||
case UNSCALED_UNITS:
|
||||
value = aValue;
|
||||
return aValue;
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
double DoubleValueFromString( EDA_UNITS_T aUnits, const wxString& aTextValue )
|
||||
double DoubleValueFromString( EDA_UNITS_T aUnits, const wxString& aTextValue, bool aUseMils )
|
||||
{
|
||||
double value;
|
||||
double dtmp = 0;
|
||||
|
@ -342,15 +349,16 @@ double DoubleValueFromString( EDA_UNITS_T aUnits, const wxString& aTextValue )
|
|||
if( unit == wxT( "in" ) || unit == wxT( "\"" ) )
|
||||
{
|
||||
aUnits = INCHES;
|
||||
aUseMils = false;
|
||||
}
|
||||
else if( unit == wxT( "mm" ) )
|
||||
{
|
||||
aUnits = MILLIMETRES;
|
||||
}
|
||||
else if( unit == wxT( "mi" ) || unit == wxT( "th" ) ) // Mils or thous
|
||||
else if( unit == wxT( "mi" ) || unit == wxT( "th" ) ) // "mils" or "thou"
|
||||
{
|
||||
aUnits = INCHES;
|
||||
dtmp /= 1000;
|
||||
aUseMils = true;
|
||||
}
|
||||
}
|
||||
else if( aUnits == DEGREES )
|
||||
|
@ -361,19 +369,20 @@ double DoubleValueFromString( EDA_UNITS_T aUnits, const wxString& aTextValue )
|
|||
}
|
||||
}
|
||||
|
||||
value = From_User_Unit( aUnits, dtmp );
|
||||
value = From_User_Unit( aUnits, dtmp, aUseMils );
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
int ValueFromString( EDA_UNITS_T aUnits, const wxString& aTextValue )
|
||||
int ValueFromString( EDA_UNITS_T aUnits, const wxString& aTextValue, bool aUseMils )
|
||||
{
|
||||
double value = DoubleValueFromString( aUnits, aTextValue );
|
||||
double value = DoubleValueFromString( aUnits, aTextValue, aUseMils );
|
||||
return KiROUND( value );
|
||||
}
|
||||
|
||||
|
||||
// JEY TODO: remove
|
||||
int ValueFromString( const wxString& aTextValue )
|
||||
{
|
||||
int value;
|
||||
|
@ -383,6 +392,7 @@ int ValueFromString( const wxString& aTextValue )
|
|||
return value;
|
||||
}
|
||||
|
||||
// JEY TODO: remove; use a UNIT_BINDER instead
|
||||
int ValueFromTextCtrl( const wxTextCtrl& aTextCtr )
|
||||
{
|
||||
int value;
|
||||
|
@ -455,60 +465,53 @@ wxString ReturnUnitSymbol( EDA_UNITS_T aUnit, const wxString& formatString )
|
|||
}
|
||||
|
||||
|
||||
wxString GetUnitsLabel( EDA_UNITS_T aUnit )
|
||||
wxString GetUnitsLabel( EDA_UNITS_T aUnit, bool aUseMils )
|
||||
{
|
||||
wxString label;
|
||||
|
||||
switch( aUnit )
|
||||
{
|
||||
case INCHES:
|
||||
label = _( "inches" );
|
||||
break;
|
||||
if( aUseMils )
|
||||
return _( "mils" );
|
||||
else
|
||||
return _( "inches" );
|
||||
|
||||
case MILLIMETRES:
|
||||
label = _( "millimeters" );
|
||||
break;
|
||||
return _( "millimeters" );
|
||||
|
||||
case UNSCALED_UNITS:
|
||||
label = _( "units" );
|
||||
break;
|
||||
return _( "units" );
|
||||
|
||||
case DEGREES:
|
||||
label = _( "degrees" );
|
||||
break;
|
||||
}
|
||||
return _( "degrees" );
|
||||
|
||||
return label;
|
||||
default:
|
||||
return wxT( "??" );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
wxString GetAbbreviatedUnitsLabel( EDA_UNITS_T aUnit )
|
||||
wxString GetAbbreviatedUnitsLabel( EDA_UNITS_T aUnit, bool aUseMils )
|
||||
{
|
||||
wxString label;
|
||||
|
||||
switch( aUnit )
|
||||
{
|
||||
case INCHES:
|
||||
label = _( "in" );
|
||||
break;
|
||||
if( aUseMils )
|
||||
return _( "mils" );
|
||||
else
|
||||
return _( "in" );
|
||||
|
||||
case MILLIMETRES:
|
||||
label = _( "mm" );
|
||||
break;
|
||||
return _( "mm" );
|
||||
|
||||
case UNSCALED_UNITS:
|
||||
break;
|
||||
return wxEmptyString;
|
||||
|
||||
case DEGREES:
|
||||
label = _( "deg" );
|
||||
break;
|
||||
return _( "deg" );
|
||||
|
||||
default:
|
||||
label = wxT( "??" );
|
||||
break;
|
||||
return wxT( "??" );
|
||||
}
|
||||
|
||||
return label;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -66,6 +66,9 @@ static const wxString traceScrollSettings( wxT( "KicadScrollSettings" ) );
|
|||
///@{
|
||||
/// \ingroup config
|
||||
|
||||
/// User units
|
||||
static const wxString UserUnitsEntryKeyword( wxT( "Units" ) );
|
||||
static const wxString FpEditorUserUnitsEntryKeyword( wxT( "FpEditorUnits" ) );
|
||||
/// Nonzero to show grid (suffix)
|
||||
static const wxString ShowGridEntryKeyword( wxT( "ShowGrid" ) );
|
||||
/// Grid color ID (suffix)
|
||||
|
@ -350,14 +353,16 @@ wxAuiToolBarItem* EDA_DRAW_FRAME::GetToolbarTool( int aToolId )
|
|||
|
||||
void EDA_DRAW_FRAME::OnSelectUnits( wxCommandEvent& aEvent )
|
||||
{
|
||||
if( aEvent.GetId() == ID_TB_OPTIONS_SELECT_UNIT_MM && g_UserUnit != MILLIMETRES )
|
||||
if( aEvent.GetId() == ID_TB_OPTIONS_SELECT_UNIT_MM && m_UserUnits != MILLIMETRES )
|
||||
{
|
||||
g_UserUnit = MILLIMETRES;
|
||||
g_UserUnit = MILLIMETRES; // JEY TODO: double-up while in transition...
|
||||
m_UserUnits = MILLIMETRES;
|
||||
unitsChangeRefresh();
|
||||
}
|
||||
else if( aEvent.GetId() == ID_TB_OPTIONS_SELECT_UNIT_INCH && g_UserUnit != INCHES )
|
||||
else if( aEvent.GetId() == ID_TB_OPTIONS_SELECT_UNIT_INCH && m_UserUnits != INCHES )
|
||||
{
|
||||
g_UserUnit = INCHES;
|
||||
g_UserUnit = INCHES; // JEY TODO: double-up while in transition...
|
||||
m_UserUnits = INCHES;
|
||||
unitsChangeRefresh();
|
||||
}
|
||||
}
|
||||
|
@ -394,8 +399,8 @@ void EDA_DRAW_FRAME::OnUpdateUnits( wxUpdateUIEvent& aEvent )
|
|||
{
|
||||
bool enable;
|
||||
|
||||
enable = ( ((aEvent.GetId() == ID_TB_OPTIONS_SELECT_UNIT_MM) && (g_UserUnit == MILLIMETRES))
|
||||
|| ((aEvent.GetId() == ID_TB_OPTIONS_SELECT_UNIT_INCH) && (g_UserUnit == INCHES)) );
|
||||
enable = ( ((aEvent.GetId() == ID_TB_OPTIONS_SELECT_UNIT_MM) && (m_UserUnits == MILLIMETRES))
|
||||
|| ((aEvent.GetId() == ID_TB_OPTIONS_SELECT_UNIT_INCH) && (m_UserUnits == INCHES)) );
|
||||
|
||||
aEvent.Check( enable );
|
||||
DisplayUnitsMsg();
|
||||
|
@ -559,7 +564,7 @@ void EDA_DRAW_FRAME::DisplayUnitsMsg()
|
|||
{
|
||||
wxString msg;
|
||||
|
||||
switch( g_UserUnit )
|
||||
switch( m_UserUnits )
|
||||
{
|
||||
case INCHES:
|
||||
msg = _( "Inches" );
|
||||
|
@ -763,6 +768,17 @@ void EDA_DRAW_FRAME::LoadSettings( wxConfigBase* aCfg )
|
|||
|
||||
wxString baseCfgName = ConfigBaseName();
|
||||
|
||||
// Read units used in dialogs and toolbars
|
||||
EDA_UNITS_T unitsTmp;
|
||||
|
||||
if( aCfg->Read( baseCfgName + UserUnitsEntryKeyword, (int*) &unitsTmp ) )
|
||||
SetUserUnits( unitsTmp );
|
||||
else
|
||||
SetUserUnits( MILLIMETRES );
|
||||
|
||||
g_UserUnit = GetUserUnits(); // JEY TODO: double-up while in transition
|
||||
|
||||
// Read show/hide grid entry
|
||||
bool btmp;
|
||||
if( aCfg->Read( baseCfgName + ShowGridEntryKeyword, &btmp ) )
|
||||
SetGridVisibility( btmp );
|
||||
|
@ -795,6 +811,7 @@ void EDA_DRAW_FRAME::SaveSettings( wxConfigBase* aCfg )
|
|||
|
||||
wxString baseCfgName = ConfigBaseName();
|
||||
|
||||
aCfg->Write( baseCfgName + UserUnitsEntryKeyword, (int) m_UserUnits );
|
||||
aCfg->Write( baseCfgName + ShowGridEntryKeyword, IsGridVisible() );
|
||||
aCfg->Write( baseCfgName + GridColorEntryKeyword,
|
||||
GetGridColor().ToColour().GetAsString( wxC2S_CSS_SYNTAX ) );
|
||||
|
|
|
@ -231,7 +231,7 @@ void SCH_EDIT_FRAME::OnPreferencesOptions( wxCommandEvent& event )
|
|||
units.Add( GetUnitsLabel( INCHES ) );
|
||||
units.Add( GetUnitsLabel( MILLIMETRES ) );
|
||||
|
||||
dlg.SetUnits( units, g_UserUnit );
|
||||
dlg.SetUnits( units, GetUserUnits() );
|
||||
dlg.SetGridSizes( grid_list, GetScreen()->GetGridCmdId() );
|
||||
dlg.SetBusWidth( GetDefaultBusThickness() );
|
||||
dlg.SetLineWidth( GetDefaultLineThickness() );
|
||||
|
@ -262,7 +262,10 @@ void SCH_EDIT_FRAME::OnPreferencesOptions( wxCommandEvent& event )
|
|||
if( dlg.ShowModal() == wxID_CANCEL )
|
||||
return;
|
||||
|
||||
g_UserUnit = (EDA_UNITS_T)dlg.GetUnitsSelection();
|
||||
wxCommandEvent cmd( wxEVT_COMMAND_MENU_SELECTED );
|
||||
cmd.SetId( (dlg.GetUnitsSelection() == MILLIMETRES) ?
|
||||
ID_TB_OPTIONS_SELECT_UNIT_MM : ID_TB_OPTIONS_SELECT_UNIT_INCH );
|
||||
GetEventHandler()->ProcessEvent( cmd );
|
||||
|
||||
wxRealPoint gridsize = grid_list[ (size_t) dlg.GetGridSelection() ].m_Size;
|
||||
m_LastGridSizeId = GetScreen()->SetGrid( gridsize );
|
||||
|
@ -484,7 +487,7 @@ PARAM_CFG_ARRAY& SCH_EDIT_FRAME::GetConfigurationSettings()
|
|||
m_configSettings.push_back( new PARAM_CFG_BOOL( true, ShowPageLimitsEntry,
|
||||
&m_showPageLimits, true ) );
|
||||
m_configSettings.push_back( new PARAM_CFG_INT( true, UnitsEntry,
|
||||
(int*)&g_UserUnit, MILLIMETRES ) );
|
||||
(int*)&m_UserUnits, MILLIMETRES ) );
|
||||
|
||||
m_configSettings.push_back( new PARAM_CFG_BOOL( true, PrintMonochromeEntry,
|
||||
&m_printMonochrome, true ) );
|
||||
|
|
|
@ -77,9 +77,6 @@ PARAM_CFG_ARRAY& GERBVIEW_FRAME::GetConfigurationSettings()
|
|||
if( !m_configSettings.empty() )
|
||||
return m_configSettings;
|
||||
|
||||
m_configSettings.push_back( new PARAM_CFG_INT( true, wxT( "Units" ),
|
||||
(int*) &g_UserUnit, 0, 0, 1 ) );
|
||||
|
||||
m_configSettings.push_back( new PARAM_CFG_INT( true, wxT( "DrawModeOption" ),
|
||||
&m_displayMode, 2, 0, 2 ) );
|
||||
m_configSettings.push_back( new PARAM_CFG_SETCOLOR( true,
|
||||
|
|
|
@ -601,7 +601,7 @@ void GERBVIEW_FRAME::Liste_D_Codes()
|
|||
int ii, jj;
|
||||
wxString Line;
|
||||
wxArrayString list;
|
||||
double scale = g_UserUnit == INCHES ? IU_PER_MILS * 1000 : IU_PER_MM;
|
||||
double scale = GetUserUnits() == INCHES ? IU_PER_MILS * 1000 : IU_PER_MM;
|
||||
int curr_layer = GetActiveLayer();
|
||||
|
||||
for( int layer = 0; layer < (int)ImagesMaxCount(); ++layer )
|
||||
|
@ -621,7 +621,7 @@ void GERBVIEW_FRAME::Liste_D_Codes()
|
|||
|
||||
list.Add( Line );
|
||||
|
||||
const char* units = g_UserUnit == INCHES ? "\"" : "mm";
|
||||
const char* units = GetUserUnits() == INCHES ? "\"" : "mm";
|
||||
|
||||
for( ii = 0, jj = 1; ii < TOOLS_MAX_COUNT; ii++ )
|
||||
{
|
||||
|
@ -1119,7 +1119,7 @@ void GERBVIEW_FRAME::UpdateStatusBar()
|
|||
|
||||
ro = hypot( dx, dy );
|
||||
wxString formatter;
|
||||
switch( g_UserUnit )
|
||||
switch( GetUserUnits() )
|
||||
{
|
||||
case INCHES:
|
||||
formatter = wxT( "r %.6f theta %.1f" );
|
||||
|
@ -1138,18 +1138,18 @@ void GERBVIEW_FRAME::UpdateStatusBar()
|
|||
break;
|
||||
}
|
||||
|
||||
line.Printf( formatter, To_User_Unit( g_UserUnit, ro ), theta );
|
||||
line.Printf( formatter, To_User_Unit( GetUserUnits(), ro ), theta );
|
||||
|
||||
SetStatusText( line, 3 );
|
||||
}
|
||||
|
||||
// Display absolute coordinates:
|
||||
dXpos = To_User_Unit( g_UserUnit, GetCrossHairPosition().x );
|
||||
dYpos = To_User_Unit( g_UserUnit, GetCrossHairPosition().y );
|
||||
dXpos = To_User_Unit( GetUserUnits(), GetCrossHairPosition().x );
|
||||
dYpos = To_User_Unit( GetUserUnits(), GetCrossHairPosition().y );
|
||||
|
||||
wxString absformatter;
|
||||
|
||||
switch( g_UserUnit )
|
||||
switch( GetUserUnits() )
|
||||
{
|
||||
case INCHES:
|
||||
absformatter = wxT( "X %.6f Y %.6f" );
|
||||
|
@ -1179,8 +1179,8 @@ void GERBVIEW_FRAME::UpdateStatusBar()
|
|||
// Display relative coordinates:
|
||||
dx = GetCrossHairPosition().x - screen->m_O_Curseur.x;
|
||||
dy = GetCrossHairPosition().y - screen->m_O_Curseur.y;
|
||||
dXpos = To_User_Unit( g_UserUnit, dx );
|
||||
dYpos = To_User_Unit( g_UserUnit, dy );
|
||||
dXpos = To_User_Unit( GetUserUnits(), dx );
|
||||
dYpos = To_User_Unit( GetUserUnits(), dy );
|
||||
|
||||
// We already decided the formatter above
|
||||
line.Printf( locformatter, dXpos, dYpos, hypot( dXpos, dYpos ) );
|
||||
|
|
|
@ -207,7 +207,9 @@ bool GERBVIEW_FRAME::OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosit
|
|||
break;
|
||||
|
||||
case HK_SWITCH_UNITS:
|
||||
g_UserUnit = (g_UserUnit == INCHES ) ? MILLIMETRES : INCHES;
|
||||
cmd.SetId( (GetUserUnits() == INCHES) ?
|
||||
ID_TB_OPTIONS_SELECT_UNIT_MM : ID_TB_OPTIONS_SELECT_UNIT_INCH );
|
||||
GetEventHandler()->ProcessEvent( cmd );
|
||||
break;
|
||||
|
||||
case HK_GBR_LINES_DISPLAY_MODE:
|
||||
|
|
|
@ -69,8 +69,9 @@ void StripTrailingZeros( wxString& aStringValue, unsigned aTrailingZeroAllowed =
|
|||
* @return The converted value, in double
|
||||
* @param aUnit The units to convert \a aValue to.
|
||||
* @param aValue The value in internal units to convert.
|
||||
* @param aUseMils Indicates mils should be used for imperial units (inches).
|
||||
*/
|
||||
double To_User_Unit( EDA_UNITS_T aUnit, double aValue );
|
||||
double To_User_Unit( EDA_UNITS_T aUnit, double aValue, bool aUseMils = false );
|
||||
|
||||
/**
|
||||
* Function CoordinateToString
|
||||
|
@ -83,11 +84,10 @@ double To_User_Unit( EDA_UNITS_T aUnit, double aValue );
|
|||
* However the actual internal value could need up to 8 digits to be printed
|
||||
*
|
||||
* @param aValue The integer coordinate to convert.
|
||||
* @param aConvertToMils Convert inch values to mils if true. This setting has no effect if
|
||||
* the current user unit is millimeters.
|
||||
* @param aUseMils Convert inch values to mils if true.
|
||||
* @return The converted string for display in user interface elements.
|
||||
*/
|
||||
wxString CoordinateToString( int aValue, bool aConvertToMils = false );
|
||||
wxString CoordinateToString( int aValue, bool aUseMils = false );
|
||||
|
||||
/**
|
||||
* Function AngleToStringDegrees
|
||||
|
@ -107,11 +107,10 @@ wxString AngleToStringDegrees( double aAngle );
|
|||
* However the actual internal value could need up to 8 digits to be printed
|
||||
*
|
||||
* @param aValue The double value to convert.
|
||||
* @param aConvertToMils Convert inch values to mils if true. This setting has no effect if
|
||||
* the current user unit is millimeters.
|
||||
* @param aUseMils Convert inch values to mils if true.
|
||||
* @return The converted string for display in user interface elements.
|
||||
*/
|
||||
wxString LengthDoubleToString( double aValue, bool aConvertToMils = false );
|
||||
wxString LengthDoubleToString( double aValue, bool aUseMils = false );
|
||||
|
||||
/**
|
||||
* Function StringFromValue
|
||||
|
@ -130,9 +129,11 @@ wxString LengthDoubleToString( double aValue, bool aConvertToMils = false );
|
|||
* @param aUnit = display units (INCHES, MILLIMETRE ..)
|
||||
* @param aValue = value in Internal_Unit
|
||||
* @param aAddUnitSymbol = true to add symbol unit to the string value
|
||||
* @param aUseMils Indicates mils should be used for imperial units (inches).
|
||||
* @return A wxString object containing value and optionally the symbol unit (like 2.000 mm)
|
||||
*/
|
||||
wxString StringFromValue( EDA_UNITS_T aUnit, int aValue, bool aAddUnitSymbol = false );
|
||||
wxString StringFromValue( EDA_UNITS_T aUnit, int aValue, bool aAddUnitSymbol = false,
|
||||
bool aUseMils = false );
|
||||
|
||||
/**
|
||||
* Operator << overload
|
||||
|
@ -157,7 +158,7 @@ void PutValueInLocalUnits( wxTextCtrl& aTextCtr, int aValue );
|
|||
* Return in internal units the value "val" given in a real unit
|
||||
* such as "in", "mm" or "deg"
|
||||
*/
|
||||
double From_User_Unit( EDA_UNITS_T aUnit, double aValue );
|
||||
double From_User_Unit( EDA_UNITS_T aUnit, double aValue, bool aUseMils = false );
|
||||
|
||||
|
||||
/**
|
||||
|
@ -165,9 +166,11 @@ double From_User_Unit( EDA_UNITS_T aUnit, double aValue );
|
|||
* converts \a aTextValue to a double
|
||||
* @param aUnits The units of \a aTextValue.
|
||||
* @param aTextValue A reference to a wxString object containing the string to convert.
|
||||
* @param aUseMils Indicates mils should be used for imperial units (inches).
|
||||
* @return A double representing that value in internal units
|
||||
*/
|
||||
double DoubleValueFromString( EDA_UNITS_T aUnits, const wxString& aTextValue );
|
||||
double DoubleValueFromString( EDA_UNITS_T aUnits, const wxString& aTextValue,
|
||||
bool aUseMils = false );
|
||||
|
||||
/**
|
||||
* Function ValueFromString
|
||||
|
@ -175,9 +178,10 @@ double DoubleValueFromString( EDA_UNITS_T aUnits, const wxString& aTextValue );
|
|||
*
|
||||
* @param aUnits The units of \a aTextValue.
|
||||
* @param aTextValue A reference to a wxString object containing the string to convert.
|
||||
* @param aUseMils Indicates mils should be used for imperial units (inches).
|
||||
* @return The string from Value, according to units (inch, mm ...) for display,
|
||||
*/
|
||||
int ValueFromString( EDA_UNITS_T aUnits, const wxString& aTextValue );
|
||||
int ValueFromString( EDA_UNITS_T aUnits, const wxString& aTextValue, bool aUseMils = false );
|
||||
|
||||
/**
|
||||
* Function ValueFromString
|
||||
|
@ -217,8 +221,8 @@ wxString ReturnUnitSymbol( EDA_UNITS_T aUnits = g_UserUnit,
|
|||
* @param aUnits - The units text to return.
|
||||
* @return The human readable units string.
|
||||
*/
|
||||
wxString GetUnitsLabel( EDA_UNITS_T aUnits );
|
||||
wxString GetAbbreviatedUnitsLabel( EDA_UNITS_T aUnit = g_UserUnit );
|
||||
wxString GetUnitsLabel( EDA_UNITS_T aUnits, bool aUseMils = false );
|
||||
wxString GetAbbreviatedUnitsLabel( EDA_UNITS_T aUnit = g_UserUnit, bool aUseMils = false );
|
||||
|
||||
void AddUnitSymbol( wxStaticText& Stext, EDA_UNITS_T aUnit = g_UserUnit );
|
||||
|
||||
|
|
|
@ -101,6 +101,7 @@ protected:
|
|||
// is at scale = 1
|
||||
int m_UndoRedoCountMax; ///< default Undo/Redo command Max depth, to be handed
|
||||
// to screens
|
||||
EDA_UNITS_T m_UserUnits;
|
||||
|
||||
/// The area to draw on.
|
||||
EDA_DRAW_PANEL* m_canvas;
|
||||
|
@ -253,6 +254,13 @@ public:
|
|||
*/
|
||||
virtual const wxSize GetPageSizeIU() const = 0;
|
||||
|
||||
/**
|
||||
* Function GetUserUnits
|
||||
* returns the user unit currently in use
|
||||
*/
|
||||
EDA_UNITS_T GetUserUnits() const { return m_UserUnits; }
|
||||
void SetUserUnits( EDA_UNITS_T aUnits ) { m_UserUnits = aUnits; }
|
||||
|
||||
/**
|
||||
* Function GetAuxOrigin
|
||||
* returns the origin of the axis used for plotting and various exports.
|
||||
|
|
|
@ -97,8 +97,7 @@ PARAM_CFG_ARRAY& PL_EDITOR_FRAME::GetConfigurationSettings()
|
|||
if( !m_configSettings.empty() )
|
||||
return m_configSettings;
|
||||
|
||||
m_configSettings.push_back( new PARAM_CFG_INT( true, wxT( "Units" ),
|
||||
(int*) &g_UserUnit, 0, 0, 1 ) );
|
||||
// Add settings here....
|
||||
|
||||
return m_configSettings;
|
||||
}
|
||||
|
|
|
@ -53,6 +53,7 @@ class DIALOG_SET_GRID : public DIALOG_SET_GRID_BASE
|
|||
{
|
||||
PCB_BASE_FRAME* m_parent;
|
||||
wxArrayString m_fast_grid_opts;
|
||||
EDA_UNITS_T m_units;
|
||||
|
||||
public:
|
||||
/// This has no dependencies on calling wxFrame derivative, such as PCB_BASE_FRAME.
|
||||
|
@ -72,14 +73,8 @@ private:
|
|||
FinishDialogSettings();
|
||||
}
|
||||
|
||||
void setGridSize( const wxPoint& grid );
|
||||
bool getGridSize( wxPoint& aGrisSize );
|
||||
|
||||
void setGridOrigin( const wxPoint& grid );
|
||||
bool getGridOrigin( wxPoint& aGridOrigin );
|
||||
|
||||
void setGridForFastSwitching( const wxArrayString& aGrids, int aGrid1, int aGrid2 );
|
||||
void getGridForFastSwitching( int& aGrid1, int& aGrid2 );
|
||||
bool getGridSize( wxPoint& aGrisSize );
|
||||
bool getGridOrigin( wxPoint& aGridOrigin );
|
||||
};
|
||||
|
||||
|
||||
|
@ -90,11 +85,13 @@ DIALOG_SET_GRID::DIALOG_SET_GRID( PCB_BASE_FRAME* aParent, const wxArrayString&
|
|||
{
|
||||
m_sdbSizerOK->SetDefault(); // set OK button as default response to 'Enter' key
|
||||
|
||||
m_TextPosXUnits->SetLabel( GetAbbreviatedUnitsLabel( g_UserUnit ) );
|
||||
m_TextPosYUnits->SetLabel( GetAbbreviatedUnitsLabel( g_UserUnit ) );
|
||||
m_units = m_parent->GetUserUnits();
|
||||
|
||||
m_TextSizeXUnits->SetLabel( GetAbbreviatedUnitsLabel( g_UserUnit ) );
|
||||
m_TextSizeYUnits->SetLabel( GetAbbreviatedUnitsLabel( g_UserUnit ) );
|
||||
m_TextPosXUnits->SetLabel( GetAbbreviatedUnitsLabel( m_units ) );
|
||||
m_TextPosYUnits->SetLabel( GetAbbreviatedUnitsLabel( m_units ) );
|
||||
|
||||
m_TextSizeXUnits->SetLabel( GetAbbreviatedUnitsLabel( m_units, true ) );
|
||||
m_TextSizeYUnits->SetLabel( GetAbbreviatedUnitsLabel( m_units, true ) );
|
||||
}
|
||||
|
||||
|
||||
|
@ -105,10 +102,9 @@ bool DIALOG_SET_GRID::TransferDataFromWindow()
|
|||
|
||||
if( !getGridOrigin( gridOrigin ) )
|
||||
{
|
||||
wxMessageBox( wxString::Format( _( "Incorrect grid origin "
|
||||
"(coordinates must be >= %.3f mm and <= %.3f mm)" ),
|
||||
-MAX_GRID_OFFSET/IU_PER_MM, MAX_GRID_OFFSET/IU_PER_MM ) );
|
||||
|
||||
wxMessageBox( wxString::Format( _( "Invalid grid origin (must be between %.3f mm and %.3f mm)" ),
|
||||
-MAX_GRID_OFFSET/IU_PER_MM,
|
||||
MAX_GRID_OFFSET/IU_PER_MM ) );
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -116,24 +112,20 @@ bool DIALOG_SET_GRID::TransferDataFromWindow()
|
|||
|
||||
if( !getGridSize( gridSize ) )
|
||||
{
|
||||
wxMessageBox( wxString::Format( _( "Incorrect grid size "
|
||||
"(size must be >= %.3f mm and <= %.3f mm)" ),
|
||||
MIN_GRID_SIZE/IU_PER_MM, MAX_GRID_SIZE/IU_PER_MM ) );
|
||||
|
||||
wxMessageBox( wxString::Format( _( "Invalid grid size (must be between %.3f mm and %.3f mm)" ),
|
||||
MIN_GRID_SIZE/IU_PER_MM,
|
||||
MAX_GRID_SIZE/IU_PER_MM ) );
|
||||
return false;
|
||||
}
|
||||
|
||||
int fastGrid1, fastGrid2;
|
||||
getGridForFastSwitching( fastGrid1, fastGrid2 );
|
||||
|
||||
// Apply the new settings
|
||||
|
||||
// Because grid origin is saved in board, show as modified
|
||||
// Because grid origin is saved in board, show as modified
|
||||
m_parent->OnModify();
|
||||
m_parent->SetGridOrigin( gridOrigin );
|
||||
m_parent->m_UserGridSize = gridSize;
|
||||
m_parent->m_FastGrid1 = fastGrid1;
|
||||
m_parent->m_FastGrid2 = fastGrid2;
|
||||
m_parent->m_FastGrid1 = m_comboBoxGrid1->GetSelection();
|
||||
m_parent->m_FastGrid2 = m_comboBoxGrid2->GetSelection();
|
||||
|
||||
// User grid
|
||||
BASE_SCREEN* screen = m_parent->GetScreen();
|
||||
|
@ -163,49 +155,31 @@ bool DIALOG_SET_GRID::TransferDataFromWindow()
|
|||
|
||||
bool DIALOG_SET_GRID::TransferDataToWindow()
|
||||
{
|
||||
setGridSize( m_parent->m_UserGridSize );
|
||||
setGridOrigin( m_parent->GetGridOrigin() );
|
||||
setGridForFastSwitching( m_fast_grid_opts, m_parent->m_FastGrid1, m_parent->m_FastGrid2 );
|
||||
m_OptGridSizeX->SetValue( StringFromValue( m_units, m_parent->m_UserGridSize.x, false, true ) );
|
||||
m_OptGridSizeY->SetValue( StringFromValue( m_units, m_parent->m_UserGridSize.y, false, true ) );
|
||||
|
||||
m_GridOriginXCtrl->SetValue( StringFromValue( m_units, m_parent->GetGridOrigin().x ) );
|
||||
m_GridOriginYCtrl->SetValue( StringFromValue( m_units, m_parent->GetGridOrigin().y ) );
|
||||
|
||||
m_comboBoxGrid1->Append( m_fast_grid_opts );
|
||||
m_comboBoxGrid2->Append( m_fast_grid_opts );
|
||||
|
||||
m_comboBoxGrid1->SetSelection( m_parent->m_FastGrid1 );
|
||||
m_comboBoxGrid2->SetSelection( m_parent->m_FastGrid2 );
|
||||
|
||||
return wxDialog::TransferDataToWindow();
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_SET_GRID::setGridSize( const wxPoint& grid )
|
||||
{
|
||||
wxString msg;
|
||||
|
||||
msg.Printf( wxT( "%.10g" ), To_User_Unit( g_UserUnit, grid.x ) );
|
||||
m_OptGridSizeX->SetValue( msg );
|
||||
|
||||
msg.Printf( wxT( "%.10g" ), To_User_Unit( g_UserUnit, grid.y ) );
|
||||
m_OptGridSizeY->SetValue( msg );
|
||||
}
|
||||
|
||||
|
||||
bool DIALOG_SET_GRID::getGridSize( wxPoint& aGridSize )
|
||||
{
|
||||
double x, y;
|
||||
double x = DoubleValueFromString( m_units, m_OptGridSizeX->GetValue(), true );
|
||||
|
||||
const wxString& x_str = m_OptGridSizeX->GetValue();
|
||||
|
||||
if( !x_str.ToDouble( &x ) )
|
||||
return false;
|
||||
|
||||
x = DoubleValueFromString( g_UserUnit, x_str );
|
||||
|
||||
// Some error checking here is a good thing.
|
||||
if( x < MIN_GRID_SIZE || x > MAX_GRID_SIZE )
|
||||
return false;
|
||||
|
||||
const wxString& y_str = m_OptGridSizeY->GetValue();
|
||||
double y = DoubleValueFromString( m_units, m_OptGridSizeY->GetValue(), true );
|
||||
|
||||
if( !y_str.ToDouble( &y ) )
|
||||
return false;
|
||||
|
||||
y = DoubleValueFromString( g_UserUnit, y_str );
|
||||
|
||||
// Some error checking here is a good thing.
|
||||
if( y < MIN_GRID_SIZE || y > MAX_GRID_SIZE )
|
||||
return false;
|
||||
|
||||
|
@ -218,31 +192,17 @@ bool DIALOG_SET_GRID::getGridSize( wxPoint& aGridSize )
|
|||
|
||||
bool DIALOG_SET_GRID::getGridOrigin( wxPoint& aGridOrigin )
|
||||
{
|
||||
double x, y;
|
||||
|
||||
const wxString& x_str = m_GridOriginXCtrl->GetValue();
|
||||
|
||||
if( !x_str.ToDouble( &x ) )
|
||||
return false;
|
||||
|
||||
x = DoubleValueFromString( g_UserUnit, x_str );
|
||||
double x = DoubleValueFromString( m_units, m_GridOriginXCtrl->GetValue() );
|
||||
|
||||
// Some error checking here is a good thing.
|
||||
if( x < -MAX_GRID_OFFSET || x > MAX_GRID_OFFSET )
|
||||
return false;
|
||||
|
||||
|
||||
const wxString& y_str = m_GridOriginYCtrl->GetValue();
|
||||
|
||||
if( !y_str.ToDouble( &y ) )
|
||||
return false;
|
||||
|
||||
y = DoubleValueFromString( g_UserUnit, y_str );
|
||||
double y = DoubleValueFromString( m_units, m_GridOriginYCtrl->GetValue() );
|
||||
|
||||
if( y < -MAX_GRID_OFFSET || y > MAX_GRID_OFFSET )
|
||||
return false;
|
||||
|
||||
|
||||
aGridOrigin.x = KiROUND( x );
|
||||
aGridOrigin.y = KiROUND( y );
|
||||
|
||||
|
@ -250,33 +210,10 @@ bool DIALOG_SET_GRID::getGridOrigin( wxPoint& aGridOrigin )
|
|||
}
|
||||
|
||||
|
||||
void DIALOG_SET_GRID::setGridOrigin( const wxPoint& grid )
|
||||
{
|
||||
PutValueInLocalUnits( *m_GridOriginXCtrl, grid.x );
|
||||
PutValueInLocalUnits( *m_GridOriginYCtrl, grid.y );
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_SET_GRID::setGridForFastSwitching( const wxArrayString& aGrids, int aGrid1, int aGrid2 )
|
||||
{
|
||||
m_comboBoxGrid1->Append( aGrids );
|
||||
m_comboBoxGrid2->Append( aGrids );
|
||||
|
||||
m_comboBoxGrid1->SetSelection( aGrid1 );
|
||||
m_comboBoxGrid2->SetSelection( aGrid2 );
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_SET_GRID::getGridForFastSwitching( int& aGrid1, int& aGrid2 )
|
||||
{
|
||||
aGrid1 = m_comboBoxGrid1->GetSelection();
|
||||
aGrid2 = m_comboBoxGrid2->GetSelection();
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_SET_GRID::OnResetGridOrgClick( wxCommandEvent& event )
|
||||
{
|
||||
setGridOrigin( wxPoint( 0, 0 ) );
|
||||
m_GridOriginXCtrl->SetValue( wxT( "0" ) );
|
||||
m_GridOriginYCtrl->SetValue( wxT( "0" ) );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -73,14 +73,14 @@ DIALOG_SET_GRID_BASE::DIALOG_SET_GRID_BASE( wxWindow* parent, wxWindowID id, con
|
|||
|
||||
m_staticTextSizeX = new wxStaticText( sbUserGridSizer->GetStaticBox(), wxID_ANY, _("Size X:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextSizeX->Wrap( -1 );
|
||||
fgSizer31->Add( m_staticTextSizeX, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
|
||||
fgSizer31->Add( m_staticTextSizeX, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRIGHT, 5 );
|
||||
|
||||
m_OptGridSizeX = new wxTextCtrl( sbUserGridSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizer31->Add( m_OptGridSizeX, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
|
||||
|
||||
m_TextSizeXUnits = new wxStaticText( sbUserGridSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_TextSizeXUnits->Wrap( -1 );
|
||||
fgSizer31->Add( m_TextSizeXUnits, 0, wxALIGN_CENTER_VERTICAL, 5 );
|
||||
fgSizer31->Add( m_TextSizeXUnits, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );
|
||||
|
||||
m_staticTextSizeY = new wxStaticText( sbUserGridSizer->GetStaticBox(), wxID_ANY, _("Size Y:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextSizeY->Wrap( -1 );
|
||||
|
|
|
@ -778,7 +778,7 @@
|
|||
<property name="vgap">0</property>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRIGHT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
|
@ -952,7 +952,7 @@
|
|||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxBOTTOM</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
|
|
|
@ -89,8 +89,6 @@ PARAM_CFG_ARRAY& FOOTPRINT_EDIT_FRAME::GetConfigurationSettings()
|
|||
m_configParams.clear(); // boost::ptr_vector destroys the pointers inside
|
||||
|
||||
// Display options:
|
||||
m_configParams.push_back( new PARAM_CFG_INT( true, wxT( "FpEditorUnits" ),
|
||||
(int*)&g_UserUnit, MILLIMETRES ) );
|
||||
m_configParams.push_back( new PARAM_CFG_BOOL( true, wxT( "FpEditorDisplayPolarCoords" ),
|
||||
&displ_opts->m_DisplayPolarCood, false ) );
|
||||
m_configParams.push_back( new PARAM_CFG_BOOL( true, wxT( "FpEditorPadDisplayMode" ),
|
||||
|
|
|
@ -587,7 +587,7 @@ bool FOOTPRINT_VIEWER_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aP
|
|||
break;
|
||||
|
||||
case HK_SWITCH_UNITS:
|
||||
cmd.SetId( (g_UserUnit == INCHES) ?
|
||||
cmd.SetId( (GetUserUnits() == INCHES) ?
|
||||
ID_TB_OPTIONS_SELECT_UNIT_MM : ID_TB_OPTIONS_SELECT_UNIT_INCH );
|
||||
GetEventHandler()->ProcessEvent( cmd );
|
||||
break;
|
||||
|
|
|
@ -278,7 +278,7 @@ bool PCB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosit
|
|||
break;
|
||||
|
||||
case HK_SWITCH_UNITS:
|
||||
evt_type = (g_UserUnit == INCHES) ?
|
||||
evt_type = (GetUserUnits() == INCHES) ?
|
||||
ID_TB_OPTIONS_SELECT_UNIT_MM : ID_TB_OPTIONS_SELECT_UNIT_INCH;
|
||||
break;
|
||||
|
||||
|
|
|
@ -977,8 +977,8 @@ void PCB_BASE_FRAME::SaveSettings( wxConfigBase* aCfg )
|
|||
|
||||
wxString baseCfgName = GetName();
|
||||
|
||||
aCfg->Write( baseCfgName + UserGridSizeXEntry, To_User_Unit( g_UserUnit, m_UserGridSize.x ) );
|
||||
aCfg->Write( baseCfgName + UserGridSizeYEntry, To_User_Unit( g_UserUnit, m_UserGridSize.y ) );
|
||||
aCfg->Write( baseCfgName + UserGridSizeXEntry, To_User_Unit( m_UserUnits, m_UserGridSize.x ) );
|
||||
aCfg->Write( baseCfgName + UserGridSizeYEntry, To_User_Unit( m_UserUnits, m_UserGridSize.y ) );
|
||||
aCfg->Write( baseCfgName + UserGridUnitsEntry, ( long )g_UserUnit );
|
||||
aCfg->Write( baseCfgName + DisplayPadFillEntry, m_DisplayOptions.m_DisplayPadFill );
|
||||
aCfg->Write( baseCfgName + DisplayViaFillEntry, m_DisplayOptions.m_DisplayViaFill );
|
||||
|
|
|
@ -302,11 +302,6 @@ PARAM_CFG_ARRAY& PCB_EDIT_FRAME::GetConfigurationSettings()
|
|||
|
||||
if( m_configParams.empty() )
|
||||
{
|
||||
|
||||
// Units used in dialogs and toolbars
|
||||
m_configParams.push_back( new PARAM_CFG_INT( true, wxT( "Units" ),
|
||||
(int*)&g_UserUnit, MILLIMETRES ) );
|
||||
|
||||
m_configParams.push_back( new PARAM_CFG_BOOL( true, wxT( "DisplayPolarCoords" ),
|
||||
&displ_opts->m_DisplayPolarCood, false ) );
|
||||
// Display options and modes:
|
||||
|
|
Loading…
Reference in New Issue