More internal unit improvements.
* Move all convert from internal to user units functions into separate file. * Remove internal units parameter from all moved conversion functions. * Revise all source code that calls the moved conversion functions. * Compile these conversion routines separately for the appropriate pcb or schematic internal units. * Move internal units specific status bar update code into the appropriate application for updating the status bar. * Move millimeter user units rounding function to common.cpp.
This commit is contained in:
parent
b28e976e35
commit
57d75a75a8
|
@ -83,6 +83,7 @@ add_library(common STATIC ${COMMON_SRCS})
|
||||||
|
|
||||||
set(PCB_COMMON_SRCS
|
set(PCB_COMMON_SRCS
|
||||||
base_screen.cpp
|
base_screen.cpp
|
||||||
|
base_units.cpp
|
||||||
eda_text.cpp
|
eda_text.cpp
|
||||||
class_page_info.cpp
|
class_page_info.cpp
|
||||||
pcbcommon.cpp
|
pcbcommon.cpp
|
||||||
|
|
|
@ -0,0 +1,161 @@
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 CERN
|
||||||
|
* Copyright (C) 1992-2011 KiCad Developers, see change_log.txt for contributors.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* @file base_units.cpp
|
||||||
|
* @brief Code to handle objects that require both schematic and board internal units.
|
||||||
|
* @note This file is an ugly hack to solve the problem of formatting the base units
|
||||||
|
* for either schematics or boards in objects that are include in both domains.
|
||||||
|
* At some point in the future. This code should be rolled back into the
|
||||||
|
* appropriate object and build with the correct internal unit formatting
|
||||||
|
* depending on the application.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <base_struct.h>
|
||||||
|
#include <class_title_block.h>
|
||||||
|
#include <common.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
|
|
||||||
|
#if defined( PCBNEW )
|
||||||
|
#if defined( USE_PCBNEW_NANOMETRES )
|
||||||
|
#define IU_TO_MM( x ) ( x * 1e-6 )
|
||||||
|
#define IU_TO_IN( x ) ( ( x * 1e-6 ) / 25.4 )
|
||||||
|
#else
|
||||||
|
#define IU_TO_MM( x ) ( ( x * 0.0001 ) * 25.4 )
|
||||||
|
#define IU_TO_IN( x ) ( x * 0.0001 )
|
||||||
|
#endif
|
||||||
|
#elif defined( EESCHEMA )
|
||||||
|
#define IU_TO_MM( x ) ( ( x * 0.001 ) * 25.4 )
|
||||||
|
#define IU_TO_IN( x ) ( x * 0.001 )
|
||||||
|
#else
|
||||||
|
#error "Cannot resolve internal units due to no definition of EESCHEMA or PCBNEW."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
double To_User_Unit( EDA_UNITS_T aUnit, double aValue )
|
||||||
|
{
|
||||||
|
switch( aUnit )
|
||||||
|
{
|
||||||
|
case MILLIMETRES:
|
||||||
|
return IU_TO_MM( aValue );
|
||||||
|
|
||||||
|
case INCHES:
|
||||||
|
return IU_TO_IN( aValue );
|
||||||
|
|
||||||
|
default:
|
||||||
|
return aValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
wxString CoordinateToString( int aValue, bool aConvertToMils )
|
||||||
|
{
|
||||||
|
wxString text;
|
||||||
|
const wxChar* format;
|
||||||
|
double value = To_User_Unit( g_UserUnit, aValue );
|
||||||
|
|
||||||
|
if( g_UserUnit == INCHES )
|
||||||
|
{
|
||||||
|
if( aConvertToMils )
|
||||||
|
{
|
||||||
|
#if defined( EESCHEMA )
|
||||||
|
format = wxT( "%.0f" );
|
||||||
|
#else
|
||||||
|
format = wxT( "%.1f" );
|
||||||
|
#endif
|
||||||
|
if( aConvertToMils )
|
||||||
|
value *= 1000;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#if defined( EESCHEMA )
|
||||||
|
format = wxT( "%.3f" );
|
||||||
|
#else
|
||||||
|
format = wxT( "%.4f" );
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#if defined( EESCHEMA )
|
||||||
|
format = wxT( "%.2f" );
|
||||||
|
#else
|
||||||
|
format = wxT( "%.3f" );
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
text.Printf( format, value );
|
||||||
|
|
||||||
|
if( g_UserUnit == INCHES )
|
||||||
|
text += ( aConvertToMils ) ? _( " mils" ) : _( " in" );
|
||||||
|
else
|
||||||
|
text += _( " mm" );
|
||||||
|
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
wxString ReturnStringFromValue( EDA_UNITS_T aUnit, int aValue, bool aAddUnitSymbol )
|
||||||
|
{
|
||||||
|
wxString StringValue;
|
||||||
|
double value_to_print;
|
||||||
|
|
||||||
|
value_to_print = To_User_Unit( aUnit, aValue );
|
||||||
|
|
||||||
|
#if defined( PCBNEW )
|
||||||
|
StringValue.Printf( wxT( "%.4f" ), value_to_print );
|
||||||
|
#else
|
||||||
|
StringValue.Printf( wxT( "%.3f" ), value_to_print );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if( aAddUnitSymbol )
|
||||||
|
{
|
||||||
|
switch( aUnit )
|
||||||
|
{
|
||||||
|
case INCHES:
|
||||||
|
StringValue += _( " \"" );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MILLIMETRES:
|
||||||
|
StringValue += _( " mm" );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case UNSCALED_UNITS:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return StringValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void PutValueInLocalUnits( wxTextCtrl& aTextCtr, int aValue )
|
||||||
|
{
|
||||||
|
wxString msg = ReturnStringFromValue( g_UserUnit, aValue );
|
||||||
|
|
||||||
|
aTextCtr.SetValue( msg );
|
||||||
|
}
|
|
@ -36,6 +36,8 @@
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <build_version.h>
|
#include <build_version.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <wx/process.h>
|
#include <wx/process.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -251,14 +253,6 @@ void AddUnitSymbol( wxStaticText& Stext, EDA_UNITS_T aUnit )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void PutValueInLocalUnits( wxTextCtrl& TextCtr, int Value, int Internal_Unit )
|
|
||||||
{
|
|
||||||
wxString msg = ReturnStringFromValue( g_UserUnit, Value, Internal_Unit );
|
|
||||||
|
|
||||||
TextCtr.SetValue( msg );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int ReturnValueFromTextCtrl( const wxTextCtrl& TextCtr, int Internal_Unit )
|
int ReturnValueFromTextCtrl( const wxTextCtrl& TextCtr, int Internal_Unit )
|
||||||
{
|
{
|
||||||
int value;
|
int value;
|
||||||
|
@ -270,37 +264,6 @@ int ReturnValueFromTextCtrl( const wxTextCtrl& TextCtr, int Internal_Unit )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
wxString ReturnStringFromValue( EDA_UNITS_T aUnit, int aValue, int aInternal_Unit,
|
|
||||||
bool aAdd_unit_symbol )
|
|
||||||
{
|
|
||||||
wxString StringValue;
|
|
||||||
double value_to_print;
|
|
||||||
|
|
||||||
value_to_print = To_User_Unit( aUnit, aValue, aInternal_Unit );
|
|
||||||
|
|
||||||
// Yet another 'if Pcbnew' :(
|
|
||||||
StringValue.Printf( ( aInternal_Unit > 1000 ) ? wxT( "%.4f" ) : wxT( "%.3f" ),
|
|
||||||
value_to_print );
|
|
||||||
|
|
||||||
if( aAdd_unit_symbol )
|
|
||||||
switch( aUnit )
|
|
||||||
{
|
|
||||||
case INCHES:
|
|
||||||
StringValue += _( " \"" );
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MILLIMETRES:
|
|
||||||
StringValue += _( " mm" );
|
|
||||||
break;
|
|
||||||
|
|
||||||
case UNSCALED_UNITS:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return StringValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int ReturnValueFromString( EDA_UNITS_T aUnit, const wxString& TextValue, int Internal_Unit )
|
int ReturnValueFromString( EDA_UNITS_T aUnit, const wxString& TextValue, int Internal_Unit )
|
||||||
{
|
{
|
||||||
int Value;
|
int Value;
|
||||||
|
@ -386,30 +349,6 @@ wxArrayString* wxStringSplit( wxString aString, wxChar aSplitter )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Function To_User_Unit
|
|
||||||
* Convert in inch or mm the variable "val" (double)given in internal units
|
|
||||||
* @return the converted value, in double
|
|
||||||
* @param aUnit : user measure unit
|
|
||||||
* @param val : double : the given value
|
|
||||||
* @param internal_unit_value = internal units per inch
|
|
||||||
*/
|
|
||||||
double To_User_Unit( EDA_UNITS_T aUnit, double val, int internal_unit_value )
|
|
||||||
{
|
|
||||||
switch( aUnit )
|
|
||||||
{
|
|
||||||
case MILLIMETRES:
|
|
||||||
return val * 25.4 / internal_unit_value;
|
|
||||||
|
|
||||||
case INCHES:
|
|
||||||
return val / internal_unit_value;
|
|
||||||
|
|
||||||
default:
|
|
||||||
return val;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return in internal units the value "val" given in inch or mm
|
* Return in internal units the value "val" given in inch or mm
|
||||||
*/
|
*/
|
||||||
|
@ -511,45 +450,6 @@ const wxString& valeur_param( int valeur, wxString& buf_texte )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
wxString CoordinateToString( int aValue, int aInternalUnits, bool aConvertToMils )
|
|
||||||
{
|
|
||||||
wxCHECK_MSG( (aInternalUnits == EESCHEMA_INTERNAL_UNIT)
|
|
||||||
|| (aInternalUnits == PCB_INTERNAL_UNIT),
|
|
||||||
wxString( _( "*** Bad Internal Units ***" ) ),
|
|
||||||
wxT( "Invalid interanl units value." ) );
|
|
||||||
|
|
||||||
wxString text;
|
|
||||||
const wxChar* format;
|
|
||||||
double value = To_User_Unit( g_UserUnit, aValue, aInternalUnits );
|
|
||||||
|
|
||||||
if( g_UserUnit == INCHES )
|
|
||||||
{
|
|
||||||
if( aConvertToMils )
|
|
||||||
{
|
|
||||||
format = ( aInternalUnits == EESCHEMA_INTERNAL_UNIT ) ? wxT( "%.0f" ) : wxT( "%.1f" );
|
|
||||||
value *= 1000;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
format = ( aInternalUnits == EESCHEMA_INTERNAL_UNIT ) ? wxT( "%.3f" ) : wxT( "%.4f" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
format = ( aInternalUnits == EESCHEMA_INTERNAL_UNIT ) ? wxT( "%.2f" ) : wxT( "%.3f" );
|
|
||||||
}
|
|
||||||
|
|
||||||
text.Printf( format, value );
|
|
||||||
|
|
||||||
if( g_UserUnit == INCHES )
|
|
||||||
text += ( aConvertToMils ) ? _( " mils" ) : _( " in" );
|
|
||||||
else
|
|
||||||
text += _( " mm" );
|
|
||||||
|
|
||||||
return text;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
wxString& operator <<( wxString& aString, const wxPoint& aPos )
|
wxString& operator <<( wxString& aString, const wxPoint& aPos )
|
||||||
{
|
{
|
||||||
wxString temp;
|
wxString temp;
|
||||||
|
@ -560,3 +460,26 @@ wxString& operator <<( wxString& aString, const wxPoint& aPos )
|
||||||
|
|
||||||
return aString;
|
return aString;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
double RoundTo0( double x, double precision )
|
||||||
|
{
|
||||||
|
assert( precision != 0 );
|
||||||
|
|
||||||
|
long long ix = wxRound( x * precision );
|
||||||
|
|
||||||
|
if ( x < 0.0 )
|
||||||
|
NEGATE( ix );
|
||||||
|
|
||||||
|
int remainder = ix % 10; // remainder is in precision mm
|
||||||
|
|
||||||
|
if ( remainder <= 2 )
|
||||||
|
ix -= remainder; // truncate to the near number
|
||||||
|
else if (remainder >= 8 )
|
||||||
|
ix += 10 - remainder; // round to near number
|
||||||
|
|
||||||
|
if ( x < 0 )
|
||||||
|
NEGATE( ix );
|
||||||
|
|
||||||
|
return (double) ix / precision;
|
||||||
|
}
|
||||||
|
|
|
@ -40,6 +40,7 @@
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <kicad_device_context.h>
|
#include <kicad_device_context.h>
|
||||||
#include <dialog_helpers.h>
|
#include <dialog_helpers.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <wx/fontdlg.h>
|
#include <wx/fontdlg.h>
|
||||||
|
|
||||||
|
@ -714,41 +715,9 @@ void EDA_DRAW_FRAME::SetLanguage( wxCommandEvent& event )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Round to the nearest precision.
|
|
||||||
*
|
|
||||||
* Try to approximate a coordinate using a given precision to prevent
|
|
||||||
* rounding errors when converting from inches to mm.
|
|
||||||
*
|
|
||||||
* ie round the unit value to 0 if unit is 1 or 2, or 8 or 9
|
|
||||||
*/
|
|
||||||
double RoundTo0( double x, double precision )
|
|
||||||
{
|
|
||||||
assert( precision != 0 );
|
|
||||||
|
|
||||||
long long ix = wxRound( x * precision );
|
|
||||||
|
|
||||||
if ( x < 0.0 )
|
|
||||||
NEGATE( ix );
|
|
||||||
|
|
||||||
int remainder = ix % 10; // remainder is in precision mm
|
|
||||||
|
|
||||||
if ( remainder <= 2 )
|
|
||||||
ix -= remainder; // truncate to the near number
|
|
||||||
else if (remainder >= 8 )
|
|
||||||
ix += 10 - remainder; // round to near number
|
|
||||||
|
|
||||||
if ( x < 0 )
|
|
||||||
NEGATE( ix );
|
|
||||||
|
|
||||||
return (double) ix / precision;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void EDA_DRAW_FRAME::UpdateStatusBar()
|
void EDA_DRAW_FRAME::UpdateStatusBar()
|
||||||
{
|
{
|
||||||
wxString Line;
|
wxString Line;
|
||||||
int dx, dy;
|
|
||||||
BASE_SCREEN* screen = GetScreen();
|
BASE_SCREEN* screen = GetScreen();
|
||||||
|
|
||||||
if( !screen )
|
if( !screen )
|
||||||
|
@ -759,76 +728,8 @@ void EDA_DRAW_FRAME::UpdateStatusBar()
|
||||||
|
|
||||||
SetStatusText( Line, 1 );
|
SetStatusText( Line, 1 );
|
||||||
|
|
||||||
// Display absolute coordinates:
|
// Absolute and relative cursor positions are handled by overloading this function and
|
||||||
double dXpos = To_User_Unit( g_UserUnit, screen->GetCrossHairPosition().x, m_internalUnits );
|
// handling the internal to user units conversion at the appropriate level.
|
||||||
double dYpos = To_User_Unit( g_UserUnit, screen->GetCrossHairPosition().y, m_internalUnits );
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Converting from inches to mm can give some coordinates due to
|
|
||||||
* float point precision rounding errors, like 1.999 or 2.001 so
|
|
||||||
* round to the nearest drawing precision required by the application.
|
|
||||||
*/
|
|
||||||
if ( g_UserUnit == MILLIMETRES )
|
|
||||||
{
|
|
||||||
dXpos = RoundTo0( dXpos, (double)( m_internalUnits / 10 ) );
|
|
||||||
dYpos = RoundTo0( dYpos, (double)( m_internalUnits / 10 ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
// The following sadly is an if Eeschema/if Pcbnew
|
|
||||||
wxString absformatter;
|
|
||||||
wxString locformatter;
|
|
||||||
switch( g_UserUnit )
|
|
||||||
{
|
|
||||||
case INCHES:
|
|
||||||
if( m_internalUnits == EESCHEMA_INTERNAL_UNIT )
|
|
||||||
{
|
|
||||||
absformatter = wxT( "X %.3f Y %.3f" );
|
|
||||||
locformatter = wxT( "dx %.3f dy %.3f d %.3f" );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
absformatter = wxT( "X %.4f Y %.4f" );
|
|
||||||
locformatter = wxT( "dx %.4f dy %.4f d %.4f" );
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MILLIMETRES:
|
|
||||||
if( m_internalUnits == EESCHEMA_INTERNAL_UNIT )
|
|
||||||
{
|
|
||||||
absformatter = wxT( "X %.2f Y %.2f" );
|
|
||||||
locformatter = wxT( "dx %.2f dy %.2f d %.2f" );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
absformatter = wxT( "X %.3f Y %.3f" );
|
|
||||||
locformatter = wxT( "dx %.3f dy %.3f d %.3f" );
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case UNSCALED_UNITS:
|
|
||||||
absformatter = wxT( "X %f Y %f" );
|
|
||||||
locformatter = wxT( "dx %f dy %f d %f" );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
Line.Printf( absformatter, dXpos, dYpos );
|
|
||||||
SetStatusText( Line, 2 );
|
|
||||||
|
|
||||||
// Display relative coordinates:
|
|
||||||
dx = screen->GetCrossHairPosition().x - screen->m_O_Curseur.x;
|
|
||||||
dy = screen->GetCrossHairPosition().y - screen->m_O_Curseur.y;
|
|
||||||
dXpos = To_User_Unit( g_UserUnit, dx, m_internalUnits );
|
|
||||||
dYpos = To_User_Unit( g_UserUnit, dy, m_internalUnits );
|
|
||||||
|
|
||||||
if( g_UserUnit == MILLIMETRES )
|
|
||||||
{
|
|
||||||
dXpos = RoundTo0( dXpos, (double) ( m_internalUnits / 10 ) );
|
|
||||||
dYpos = RoundTo0( dYpos, (double) ( m_internalUnits / 10 ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
// We already decided the formatter above
|
|
||||||
Line.Printf( locformatter, dXpos, dYpos, sqrt( dXpos * dXpos + dYpos * dYpos ) );
|
|
||||||
SetStatusText( Line, 3 );
|
|
||||||
|
|
||||||
// refresh units display
|
// refresh units display
|
||||||
DisplayUnitsMsg();
|
DisplayUnitsMsg();
|
||||||
|
@ -893,7 +794,7 @@ void EDA_DRAW_FRAME::ClearMsgPanel( void )
|
||||||
|
|
||||||
wxString EDA_DRAW_FRAME::CoordinateToString( int aValue, bool aConvertToMils )
|
wxString EDA_DRAW_FRAME::CoordinateToString( int aValue, bool aConvertToMils )
|
||||||
{
|
{
|
||||||
return ::CoordinateToString( aValue, m_internalUnits, aConvertToMils );
|
return ::CoordinateToString( aValue, aConvertToMils );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,27 @@
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
||||||
|
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file wxwineda.cpp
|
* @file wxwineda.cpp
|
||||||
*/
|
*/
|
||||||
|
@ -5,6 +29,7 @@
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <wxstruct.h>
|
#include <wxstruct.h>
|
||||||
#include <dialog_helpers.h>
|
#include <dialog_helpers.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************/
|
/*******************************************************/
|
||||||
|
@ -72,7 +97,7 @@ wxString EDA_GRAPHIC_TEXT_CTRL::FormatSize( int internalUnit, EDA_UNITS_T aUnit,
|
||||||
textSize = 3000;
|
textSize = 3000;
|
||||||
|
|
||||||
value.Printf( ( internalUnit > 1000 ) ? wxT( "%.4f" ) : wxT( "%.3f" ),
|
value.Printf( ( internalUnit > 1000 ) ? wxT( "%.4f" ) : wxT( "%.3f" ),
|
||||||
To_User_Unit( aUnit, textSize, internalUnit ) );
|
To_User_Unit( aUnit, textSize ) );
|
||||||
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
@ -220,11 +245,11 @@ void EDA_POSITION_CTRL::SetValue( int x_value, int y_value )
|
||||||
m_Pos_To_Edit.x = x_value;
|
m_Pos_To_Edit.x = x_value;
|
||||||
m_Pos_To_Edit.y = y_value;
|
m_Pos_To_Edit.y = y_value;
|
||||||
|
|
||||||
msg = ReturnStringFromValue( m_UserUnit, m_Pos_To_Edit.x, m_Internal_Unit );
|
msg = ReturnStringFromValue( m_UserUnit, m_Pos_To_Edit.x );
|
||||||
m_FramePosX->Clear();
|
m_FramePosX->Clear();
|
||||||
m_FramePosX->SetValue( msg );
|
m_FramePosX->SetValue( msg );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( m_UserUnit, m_Pos_To_Edit.y, m_Internal_Unit );
|
msg = ReturnStringFromValue( m_UserUnit, m_Pos_To_Edit.y );
|
||||||
m_FramePosY->Clear();
|
m_FramePosY->Clear();
|
||||||
m_FramePosY->SetValue( msg );
|
m_FramePosY->SetValue( msg );
|
||||||
}
|
}
|
||||||
|
@ -274,8 +299,7 @@ EDA_VALUE_CTRL::EDA_VALUE_CTRL( wxWindow* parent, const wxString& title,
|
||||||
BoxSizer->Add( m_Text, 0,
|
BoxSizer->Add( m_Text, 0,
|
||||||
wxGROW | wxLEFT | wxRIGHT | wxTOP, 5 );
|
wxGROW | wxLEFT | wxRIGHT | wxTOP, 5 );
|
||||||
|
|
||||||
wxString stringvalue = ReturnStringFromValue( m_UserUnit, m_Value,
|
wxString stringvalue = ReturnStringFromValue( m_UserUnit, m_Value );
|
||||||
m_Internal_Unit );
|
|
||||||
m_ValueCtrl = new wxTextCtrl( parent, -1, stringvalue );
|
m_ValueCtrl = new wxTextCtrl( parent, -1, stringvalue );
|
||||||
|
|
||||||
BoxSizer->Add( m_ValueCtrl,
|
BoxSizer->Add( m_ValueCtrl,
|
||||||
|
@ -308,7 +332,7 @@ void EDA_VALUE_CTRL::SetValue( int new_value )
|
||||||
|
|
||||||
m_Value = new_value;
|
m_Value = new_value;
|
||||||
|
|
||||||
buffer = ReturnStringFromValue( m_UserUnit, m_Value, m_Internal_Unit );
|
buffer = ReturnStringFromValue( m_UserUnit, m_Value );
|
||||||
m_ValueCtrl->SetValue( buffer );
|
m_ValueCtrl->SetValue( buffer );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,30 @@
|
||||||
/************/
|
/*
|
||||||
/* zoom.cpp */
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
/************/
|
*
|
||||||
|
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
||||||
|
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file zoom.cpp
|
||||||
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Manage zoom, grid step, and auto crop.
|
* Manage zoom, grid step, and auto crop.
|
||||||
|
@ -15,6 +39,7 @@
|
||||||
#include <kicad_device_context.h>
|
#include <kicad_device_context.h>
|
||||||
#include <hotkeys_basic.h>
|
#include <hotkeys_basic.h>
|
||||||
#include <menus_helpers.h>
|
#include <menus_helpers.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
|
|
||||||
void EDA_DRAW_FRAME::RedrawScreen( const wxPoint& aCenterPoint, bool aWarpPointer )
|
void EDA_DRAW_FRAME::RedrawScreen( const wxPoint& aCenterPoint, bool aWarpPointer )
|
||||||
|
@ -198,8 +223,8 @@ void EDA_DRAW_FRAME::AddMenuZoomAndGrid( wxMenu* MasterMenu )
|
||||||
for( size_t i = 0; i < screen->GetGridCount(); i++ )
|
for( size_t i = 0; i < screen->GetGridCount(); i++ )
|
||||||
{
|
{
|
||||||
tmp = screen->GetGrid( i );
|
tmp = screen->GetGrid( i );
|
||||||
double gridValueInch = To_User_Unit( INCHES, tmp.m_Size.x, m_internalUnits );
|
double gridValueInch = To_User_Unit( INCHES, tmp.m_Size.x );
|
||||||
double gridValue_mm = To_User_Unit( MILLIMETRES, tmp.m_Size.x, m_internalUnits );
|
double gridValue_mm = To_User_Unit( MILLIMETRES, tmp.m_Size.x );
|
||||||
|
|
||||||
if( tmp.m_Id == ID_POPUP_GRID_USER )
|
if( tmp.m_Id == ID_POPUP_GRID_USER )
|
||||||
{
|
{
|
||||||
|
|
|
@ -162,6 +162,7 @@ set(EESCHEMA_COMMON_SRCS
|
||||||
../common/base_screen.cpp
|
../common/base_screen.cpp
|
||||||
../common/eda_text.cpp
|
../common/eda_text.cpp
|
||||||
../common/class_page_info.cpp
|
../common/class_page_info.cpp
|
||||||
|
../common/base_units.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,8 @@
|
||||||
#include <class_sch_screen.h>
|
#include <class_sch_screen.h>
|
||||||
#include <wxEeschemaStruct.h>
|
#include <wxEeschemaStruct.h>
|
||||||
#include <dcsvg.h>
|
#include <dcsvg.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <libeditframe.h>
|
#include <libeditframe.h>
|
||||||
#include <sch_sheet_path.h>
|
#include <sch_sheet_path.h>
|
||||||
|
@ -78,8 +80,7 @@ void DIALOG_SVG_PRINT::OnInitDialog( wxInitDialogEvent& event )
|
||||||
|
|
||||||
AddUnitSymbol( *m_TextPenWidth, g_UserUnit );
|
AddUnitSymbol( *m_TextPenWidth, g_UserUnit );
|
||||||
m_DialogPenWidth->SetValue(
|
m_DialogPenWidth->SetValue(
|
||||||
ReturnStringFromValue( g_UserUnit, g_DrawDefaultLineThickness,
|
ReturnStringFromValue( g_UserUnit, g_DrawDefaultLineThickness ) );
|
||||||
m_Parent->GetInternalUnits() ) );
|
|
||||||
m_Print_Sheet_Ref->SetValue( s_Print_Frame_Ref );
|
m_Print_Sheet_Ref->SetValue( s_Print_Frame_Ref );
|
||||||
|
|
||||||
if( GetSizer() )
|
if( GetSizer() )
|
||||||
|
@ -105,8 +106,7 @@ void DIALOG_SVG_PRINT::SetPenWidth()
|
||||||
}
|
}
|
||||||
|
|
||||||
m_DialogPenWidth->SetValue(
|
m_DialogPenWidth->SetValue(
|
||||||
ReturnStringFromValue( g_UserUnit, g_DrawDefaultLineThickness,
|
ReturnStringFromValue( g_UserUnit, g_DrawDefaultLineThickness ) );
|
||||||
m_Parent->GetInternalUnits() ) );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <class_sch_screen.h>
|
#include <class_sch_screen.h>
|
||||||
#include <wxEeschemaStruct.h>
|
#include <wxEeschemaStruct.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <class_library.h>
|
#include <class_library.h>
|
||||||
|
@ -655,10 +656,10 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copySelectedFieldToPanel()
|
||||||
// top of each other.
|
// top of each other.
|
||||||
}
|
}
|
||||||
|
|
||||||
wxString coordText = ReturnStringFromValue( g_UserUnit, coord.x, EESCHEMA_INTERNAL_UNIT );
|
wxString coordText = ReturnStringFromValue( g_UserUnit, coord.x );
|
||||||
posXTextCtrl->SetValue( coordText );
|
posXTextCtrl->SetValue( coordText );
|
||||||
|
|
||||||
coordText = ReturnStringFromValue( g_UserUnit, coord.y, EESCHEMA_INTERNAL_UNIT );
|
coordText = ReturnStringFromValue( g_UserUnit, coord.y );
|
||||||
posYTextCtrl->SetValue( coordText );
|
posYTextCtrl->SetValue( coordText );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <wx/valgen.h>
|
#include <wx/valgen.h>
|
||||||
#include <wxEeschemaStruct.h>
|
#include <wxEeschemaStruct.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
|
@ -196,8 +197,7 @@ void DialogLabelEditor::InitDialog()
|
||||||
msg = _( "H" ) + units + _( " x W" ) + units;
|
msg = _( "H" ) + units + _( " x W" ) + units;
|
||||||
m_staticSizeUnits->SetLabel( msg );
|
m_staticSizeUnits->SetLabel( msg );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_CurrentText->m_Size.x,
|
msg = ReturnStringFromValue( g_UserUnit, m_CurrentText->m_Size.x );
|
||||||
m_Parent->GetInternalUnits() );
|
|
||||||
m_TextSize->SetValue( msg );
|
m_TextSize->SetValue( msg );
|
||||||
|
|
||||||
if( m_CurrentText->Type() != SCH_GLOBAL_LABEL_T
|
if( m_CurrentText->Type() != SCH_GLOBAL_LABEL_T
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <wxEeschemaStruct.h>
|
#include <wxEeschemaStruct.h>
|
||||||
#include <id.h>
|
#include <id.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <protos.h>
|
#include <protos.h>
|
||||||
|
@ -679,13 +680,13 @@ void DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::copySelectedFieldToPanel()
|
||||||
// top of each other.
|
// top of each other.
|
||||||
}
|
}
|
||||||
|
|
||||||
wxString coordText = ReturnStringFromValue( g_UserUnit, coord.x, EESCHEMA_INTERNAL_UNIT );
|
wxString coordText = ReturnStringFromValue( g_UserUnit, coord.x );
|
||||||
posXTextCtrl->SetValue( coordText );
|
posXTextCtrl->SetValue( coordText );
|
||||||
|
|
||||||
// Note: the Y axis for components in lib is from bottom to top
|
// Note: the Y axis for components in lib is from bottom to top
|
||||||
// and the screen axis is top to bottom: we must change the y coord sign for editing
|
// and the screen axis is top to bottom: we must change the y coord sign for editing
|
||||||
NEGATE( coord.y );
|
NEGATE( coord.y );
|
||||||
coordText = ReturnStringFromValue( g_UserUnit, coord.y, EESCHEMA_INTERNAL_UNIT );
|
coordText = ReturnStringFromValue( g_UserUnit, coord.y );
|
||||||
posYTextCtrl->SetValue( coordText );
|
posYTextCtrl->SetValue( coordText );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <sch_base_frame.h>
|
#include <sch_base_frame.h>
|
||||||
|
@ -52,8 +53,7 @@ void DIALOG_EDIT_ONE_FIELD::initDlg_base( )
|
||||||
m_CommonConvert->Show(false);
|
m_CommonConvert->Show(false);
|
||||||
m_CommonUnit->Show(false);
|
m_CommonUnit->Show(false);
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_textsize,
|
msg = ReturnStringFromValue( g_UserUnit, m_textsize );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
m_TextSize->SetValue( msg );
|
m_TextSize->SetValue( msg );
|
||||||
|
|
||||||
if( m_textorient == TEXT_ORIENT_VERT )
|
if( m_textorient == TEXT_ORIENT_VERT )
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
#include <gr_basic.h>
|
#include <gr_basic.h>
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <libeditframe.h>
|
#include <libeditframe.h>
|
||||||
|
@ -63,8 +64,7 @@ void DIALOG_LIB_EDIT_TEXT::initDlg( )
|
||||||
|
|
||||||
if ( m_graphicText )
|
if ( m_graphicText )
|
||||||
{
|
{
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_graphicText->m_Size.x,
|
msg = ReturnStringFromValue( g_UserUnit, m_graphicText->m_Size.x );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
m_TextSize->SetValue( msg );
|
m_TextSize->SetValue( msg );
|
||||||
m_TextValue->SetValue( m_graphicText->m_Text );
|
m_TextValue->SetValue( m_graphicText->m_Text );
|
||||||
|
|
||||||
|
@ -116,8 +116,7 @@ void DIALOG_LIB_EDIT_TEXT::initDlg( )
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_parent->m_textSize,
|
msg = ReturnStringFromValue( g_UserUnit, m_parent->m_textSize );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
m_TextSize->SetValue( msg );
|
m_TextSize->SetValue( msg );
|
||||||
|
|
||||||
if ( ! m_parent->m_drawSpecificUnit )
|
if ( ! m_parent->m_drawSpecificUnit )
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
#include <worksheet.h>
|
#include <worksheet.h>
|
||||||
#include <class_sch_screen.h>
|
#include <class_sch_screen.h>
|
||||||
#include <wxEeschemaStruct.h>
|
#include <wxEeschemaStruct.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <protos.h>
|
#include <protos.h>
|
||||||
|
@ -148,7 +149,7 @@ void DIALOG_PLOT_SCHEMATIC_HPGL::initDlg()
|
||||||
// Set validators
|
// Set validators
|
||||||
m_SizeOption->SetSelection( s_pageSizeSelect );
|
m_SizeOption->SetSelection( s_pageSizeSelect );
|
||||||
AddUnitSymbol( *m_penWidthTitle, g_UserUnit );
|
AddUnitSymbol( *m_penWidthTitle, g_UserUnit );
|
||||||
PutValueInLocalUnits( *m_penWidthCtrl, g_HPGL_Pen_Descr. m_Pen_Diam, EESCHEMA_INTERNAL_UNIT );
|
PutValueInLocalUnits( *m_penWidthCtrl, g_HPGL_Pen_Descr. m_Pen_Diam );
|
||||||
m_penSpeedCtrl->SetValue( g_HPGL_Pen_Descr. m_Pen_Speed );
|
m_penSpeedCtrl->SetValue( g_HPGL_Pen_Descr. m_Pen_Speed );
|
||||||
m_penNumCtrl->SetValue( g_HPGL_Pen_Descr. m_Pen_Num );
|
m_penNumCtrl->SetValue( g_HPGL_Pen_Descr. m_Pen_Num );
|
||||||
}
|
}
|
||||||
|
@ -179,15 +180,11 @@ void DIALOG_PLOT_SCHEMATIC_HPGL::SetPageOffsetValue()
|
||||||
|
|
||||||
if( s_pageSizeSelect != PAGE_DEFAULT )
|
if( s_pageSizeSelect != PAGE_DEFAULT )
|
||||||
{
|
{
|
||||||
msg = ReturnStringFromValue( g_UserUnit,
|
msg = ReturnStringFromValue( g_UserUnit, s_Offset.x );
|
||||||
s_Offset.x,
|
|
||||||
EESCHEMA_INTERNAL_UNIT );
|
|
||||||
|
|
||||||
m_PlotOrgPosition_X->SetValue( msg );
|
m_PlotOrgPosition_X->SetValue( msg );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit,
|
msg = ReturnStringFromValue( g_UserUnit, s_Offset.y );
|
||||||
s_Offset.y,
|
|
||||||
EESCHEMA_INTERNAL_UNIT );
|
|
||||||
|
|
||||||
m_PlotOrgPosition_Y->SetValue( msg );
|
m_PlotOrgPosition_Y->SetValue( msg );
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
#include <plot_common.h>
|
#include <plot_common.h>
|
||||||
#include <class_sch_screen.h>
|
#include <class_sch_screen.h>
|
||||||
#include <wxEeschemaStruct.h>
|
#include <wxEeschemaStruct.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <protos.h>
|
#include <protos.h>
|
||||||
|
@ -115,8 +116,7 @@ void DIALOG_PLOT_SCHEMATIC_PS::initDlg()
|
||||||
m_Plot_Sheet_Ref_Ctrl->SetValue( m_plot_Sheet_Ref );
|
m_Plot_Sheet_Ref_Ctrl->SetValue( m_plot_Sheet_Ref );
|
||||||
|
|
||||||
AddUnitSymbol( *m_defaultLineWidthTitle, g_UserUnit );
|
AddUnitSymbol( *m_defaultLineWidthTitle, g_UserUnit );
|
||||||
PutValueInLocalUnits( *m_DefaultLineSizeCtrl,
|
PutValueInLocalUnits( *m_DefaultLineSizeCtrl, g_DrawDefaultLineThickness );
|
||||||
g_DrawDefaultLineThickness, EESCHEMA_INTERNAL_UNIT );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <class_sch_screen.h>
|
#include <class_sch_screen.h>
|
||||||
#include <wxEeschemaStruct.h>
|
#include <wxEeschemaStruct.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <eeschema_config.h>
|
#include <eeschema_config.h>
|
||||||
|
|
|
@ -40,6 +40,7 @@
|
||||||
#include <kicad_string.h>
|
#include <kicad_string.h>
|
||||||
#include <gestfich.h>
|
#include <gestfich.h>
|
||||||
#include <wxEeschemaStruct.h>
|
#include <wxEeschemaStruct.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <protos.h>
|
#include <protos.h>
|
||||||
|
@ -95,10 +96,8 @@ void SCH_EDIT_FRAME::OnFindDrcMarker( wxFindDialogEvent& event )
|
||||||
|
|
||||||
wxString path = sheetFoundIn->Path();
|
wxString path = sheetFoundIn->Path();
|
||||||
wxString units = GetAbbreviatedUnitsLabel();
|
wxString units = GetAbbreviatedUnitsLabel();
|
||||||
double x = To_User_Unit( g_UserUnit, (double) lastMarker->GetPosition().x,
|
double x = To_User_Unit( g_UserUnit, (double) lastMarker->GetPosition().x );
|
||||||
m_internalUnits );
|
double y = To_User_Unit( g_UserUnit, (double) lastMarker->GetPosition().y );
|
||||||
double y = To_User_Unit( g_UserUnit, (double) lastMarker->GetPosition().y,
|
|
||||||
m_internalUnits );
|
|
||||||
msg.Printf( _( "Design rule check marker found in sheet %s at %0.3f%s, %0.3f%s" ),
|
msg.Printf( _( "Design rule check marker found in sheet %s at %0.3f%s, %0.3f%s" ),
|
||||||
GetChars( path ), x, GetChars( units ), y, GetChars( units) );
|
GetChars( path ), x, GetChars( units ), y, GetChars( units) );
|
||||||
SetStatusText( msg );
|
SetStatusText( msg );
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <wxstruct.h>
|
#include <wxstruct.h>
|
||||||
#include <richio.h>
|
#include <richio.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <protos.h>
|
#include <protos.h>
|
||||||
|
@ -507,7 +508,7 @@ void LIB_ARC::DisplayInfo( EDA_DRAW_FRAME* aFrame )
|
||||||
|
|
||||||
LIB_ITEM::DisplayInfo( aFrame );
|
LIB_ITEM::DisplayInfo( aFrame );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_Width, EESCHEMA_INTERNAL_UNIT, true );
|
msg = ReturnStringFromValue( g_UserUnit, m_Width, true );
|
||||||
|
|
||||||
aFrame->AppendMsgPanel( _( "Line width" ), msg, BLUE );
|
aFrame->AppendMsgPanel( _( "Line width" ), msg, BLUE );
|
||||||
|
|
||||||
|
@ -521,9 +522,9 @@ void LIB_ARC::DisplayInfo( EDA_DRAW_FRAME* aFrame )
|
||||||
wxString LIB_ARC::GetSelectMenuText() const
|
wxString LIB_ARC::GetSelectMenuText() const
|
||||||
{
|
{
|
||||||
return wxString::Format( _( "Arc center (%s, %s), radius %s" ),
|
return wxString::Format( _( "Arc center (%s, %s), radius %s" ),
|
||||||
GetChars( CoordinateToString( m_Pos.x, EESCHEMA_INTERNAL_UNIT ) ),
|
GetChars( CoordinateToString( m_Pos.x ) ),
|
||||||
GetChars( CoordinateToString( m_Pos.y, EESCHEMA_INTERNAL_UNIT ) ),
|
GetChars( CoordinateToString( m_Pos.y ) ),
|
||||||
GetChars( CoordinateToString( m_Radius, EESCHEMA_INTERNAL_UNIT ) ) );
|
GetChars( CoordinateToString( m_Radius ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
#include <wxstruct.h>
|
#include <wxstruct.h>
|
||||||
#include <bezier_curves.h>
|
#include <bezier_curves.h>
|
||||||
#include <richio.h>
|
#include <richio.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <protos.h>
|
#include <protos.h>
|
||||||
|
@ -410,7 +411,7 @@ void LIB_BEZIER::DisplayInfo( EDA_DRAW_FRAME* aFrame )
|
||||||
|
|
||||||
LIB_ITEM::DisplayInfo( aFrame );
|
LIB_ITEM::DisplayInfo( aFrame );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_Width, EESCHEMA_INTERNAL_UNIT, true );
|
msg = ReturnStringFromValue( g_UserUnit, m_Width, true );
|
||||||
|
|
||||||
aFrame->AppendMsgPanel( _( "Line width" ), msg, BLUE );
|
aFrame->AppendMsgPanel( _( "Line width" ), msg, BLUE );
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <wxstruct.h>
|
#include <wxstruct.h>
|
||||||
#include <richio.h>
|
#include <richio.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <protos.h>
|
#include <protos.h>
|
||||||
|
@ -270,11 +271,11 @@ void LIB_CIRCLE::DisplayInfo( EDA_DRAW_FRAME* aFrame )
|
||||||
|
|
||||||
LIB_ITEM::DisplayInfo( aFrame );
|
LIB_ITEM::DisplayInfo( aFrame );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_Width, EESCHEMA_INTERNAL_UNIT, true );
|
msg = ReturnStringFromValue( g_UserUnit, m_Width, true );
|
||||||
|
|
||||||
aFrame->AppendMsgPanel( _( "Line width" ), msg, BLUE );
|
aFrame->AppendMsgPanel( _( "Line width" ), msg, BLUE );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_Radius, EESCHEMA_INTERNAL_UNIT, true );
|
msg = ReturnStringFromValue( g_UserUnit, m_Radius, true );
|
||||||
aFrame->AppendMsgPanel( _( "Radius" ), msg, RED );
|
aFrame->AppendMsgPanel( _( "Radius" ), msg, RED );
|
||||||
|
|
||||||
msg.Printf( wxT( "(%d, %d, %d, %d)" ), bBox.GetOrigin().x,
|
msg.Printf( wxT( "(%d, %d, %d, %d)" ), bBox.GetOrigin().x,
|
||||||
|
@ -287,9 +288,9 @@ void LIB_CIRCLE::DisplayInfo( EDA_DRAW_FRAME* aFrame )
|
||||||
wxString LIB_CIRCLE::GetSelectMenuText() const
|
wxString LIB_CIRCLE::GetSelectMenuText() const
|
||||||
{
|
{
|
||||||
return wxString::Format( _( "Circle center (%s, %s), radius %s" ),
|
return wxString::Format( _( "Circle center (%s, %s), radius %s" ),
|
||||||
GetChars( CoordinateToString( m_Pos.x, EESCHEMA_INTERNAL_UNIT ) ),
|
GetChars( CoordinateToString( m_Pos.x ) ),
|
||||||
GetChars( CoordinateToString( m_Pos.y, EESCHEMA_INTERNAL_UNIT ) ),
|
GetChars( CoordinateToString( m_Pos.y ) ),
|
||||||
GetChars( CoordinateToString( m_Radius, EESCHEMA_INTERNAL_UNIT ) ) );
|
GetChars( CoordinateToString( m_Radius ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <plot_common.h>
|
#include <plot_common.h>
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <protos.h>
|
#include <protos.h>
|
||||||
|
@ -731,10 +732,10 @@ void LIB_FIELD::DisplayInfo( EDA_DRAW_FRAME* aFrame )
|
||||||
msg = GetTextStyleName();
|
msg = GetTextStyleName();
|
||||||
aFrame->AppendMsgPanel( _( "Style" ), msg, MAGENTA );
|
aFrame->AppendMsgPanel( _( "Style" ), msg, MAGENTA );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_Size.x, EESCHEMA_INTERNAL_UNIT, true );
|
msg = ReturnStringFromValue( g_UserUnit, m_Size.x, true );
|
||||||
aFrame->AppendMsgPanel( _( "Size X" ), msg, BLUE );
|
aFrame->AppendMsgPanel( _( "Size X" ), msg, BLUE );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_Size.y, EESCHEMA_INTERNAL_UNIT, true );
|
msg = ReturnStringFromValue( g_UserUnit, m_Size.y, true );
|
||||||
aFrame->AppendMsgPanel( _( "Size Y" ), msg, BLUE );
|
aFrame->AppendMsgPanel( _( "Size Y" ), msg, BLUE );
|
||||||
|
|
||||||
// Display field name (ref, value ...)
|
// Display field name (ref, value ...)
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
#include <plot_common.h>
|
#include <plot_common.h>
|
||||||
#include <wxEeschemaStruct.h>
|
#include <wxEeschemaStruct.h>
|
||||||
#include <richio.h>
|
#include <richio.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <protos.h>
|
#include <protos.h>
|
||||||
|
@ -1854,7 +1855,7 @@ void LIB_PIN::DisplayInfo( EDA_DRAW_FRAME* aFrame )
|
||||||
aFrame->AppendMsgPanel( _( "Visible" ), Text, DARKGREEN );
|
aFrame->AppendMsgPanel( _( "Visible" ), Text, DARKGREEN );
|
||||||
|
|
||||||
/* Display pin length */
|
/* Display pin length */
|
||||||
Text = ReturnStringFromValue( g_UserUnit, m_length, EESCHEMA_INTERNAL_UNIT, true );
|
Text = ReturnStringFromValue( g_UserUnit, m_length, true );
|
||||||
aFrame->AppendMsgPanel( _( "Length" ), Text, MAGENTA );
|
aFrame->AppendMsgPanel( _( "Length" ), Text, MAGENTA );
|
||||||
|
|
||||||
Text = wxGetTranslation( pin_orientation_names[ GetOrientationCodeIndex( m_orientation ) ] );
|
Text = wxGetTranslation( pin_orientation_names[ GetOrientationCodeIndex( m_orientation ) ] );
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <wxstruct.h>
|
#include <wxstruct.h>
|
||||||
#include <richio.h>
|
#include <richio.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <protos.h>
|
#include <protos.h>
|
||||||
|
@ -398,7 +399,7 @@ void LIB_POLYLINE::DisplayInfo( EDA_DRAW_FRAME* aFrame )
|
||||||
|
|
||||||
LIB_ITEM::DisplayInfo( aFrame );
|
LIB_ITEM::DisplayInfo( aFrame );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_Width, EESCHEMA_INTERNAL_UNIT, true );
|
msg = ReturnStringFromValue( g_UserUnit, m_Width, true );
|
||||||
|
|
||||||
aFrame->AppendMsgPanel( _( "Line width" ), msg, BLUE );
|
aFrame->AppendMsgPanel( _( "Line width" ), msg, BLUE );
|
||||||
|
|
||||||
|
@ -412,10 +413,8 @@ void LIB_POLYLINE::DisplayInfo( EDA_DRAW_FRAME* aFrame )
|
||||||
wxString LIB_POLYLINE::GetSelectMenuText() const
|
wxString LIB_POLYLINE::GetSelectMenuText() const
|
||||||
{
|
{
|
||||||
return wxString::Format( _( "Polyline at (%s, %s) with %u points" ),
|
return wxString::Format( _( "Polyline at (%s, %s) with %u points" ),
|
||||||
GetChars( CoordinateToString( m_PolyPoints[0].x,
|
GetChars( CoordinateToString( m_PolyPoints[0].x ) ),
|
||||||
EESCHEMA_INTERNAL_UNIT ) ),
|
GetChars( CoordinateToString( m_PolyPoints[0].y ) ),
|
||||||
GetChars( CoordinateToString( m_PolyPoints[0].y,
|
|
||||||
EESCHEMA_INTERNAL_UNIT ) ),
|
|
||||||
m_PolyPoints.size() );
|
m_PolyPoints.size() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <wxstruct.h>
|
#include <wxstruct.h>
|
||||||
#include <richio.h>
|
#include <richio.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <protos.h>
|
#include <protos.h>
|
||||||
|
@ -248,7 +249,7 @@ void LIB_RECTANGLE::DisplayInfo( EDA_DRAW_FRAME* aFrame )
|
||||||
|
|
||||||
LIB_ITEM::DisplayInfo( aFrame );
|
LIB_ITEM::DisplayInfo( aFrame );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_Width, EESCHEMA_INTERNAL_UNIT, true );
|
msg = ReturnStringFromValue( g_UserUnit, m_Width, true );
|
||||||
|
|
||||||
aFrame->AppendMsgPanel( _( "Line width" ), msg, BLUE );
|
aFrame->AppendMsgPanel( _( "Line width" ), msg, BLUE );
|
||||||
}
|
}
|
||||||
|
@ -324,10 +325,10 @@ bool LIB_RECTANGLE::HitTest( wxPoint aPosition, int aThreshold, const TRANSFORM&
|
||||||
wxString LIB_RECTANGLE::GetSelectMenuText() const
|
wxString LIB_RECTANGLE::GetSelectMenuText() const
|
||||||
{
|
{
|
||||||
return wxString::Format( _( "Rectangle from (%s, %s) to (%s, %s)" ),
|
return wxString::Format( _( "Rectangle from (%s, %s) to (%s, %s)" ),
|
||||||
GetChars( CoordinateToString( m_Pos.x, EESCHEMA_INTERNAL_UNIT ) ),
|
GetChars( CoordinateToString( m_Pos.x ) ),
|
||||||
GetChars( CoordinateToString( m_Pos.y, EESCHEMA_INTERNAL_UNIT ) ),
|
GetChars( CoordinateToString( m_Pos.y ) ),
|
||||||
GetChars( CoordinateToString( m_End.x, EESCHEMA_INTERNAL_UNIT ) ),
|
GetChars( CoordinateToString( m_End.x ) ),
|
||||||
GetChars( CoordinateToString( m_End.y, EESCHEMA_INTERNAL_UNIT ) ) );
|
GetChars( CoordinateToString( m_End.y ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <wxstruct.h>
|
#include <wxstruct.h>
|
||||||
#include <richio.h>
|
#include <richio.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <lib_draw_item.h>
|
#include <lib_draw_item.h>
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
|
@ -413,7 +414,7 @@ void LIB_TEXT::DisplayInfo( EDA_DRAW_FRAME* frame )
|
||||||
|
|
||||||
LIB_ITEM::DisplayInfo( frame );
|
LIB_ITEM::DisplayInfo( frame );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_Thickness, EESCHEMA_INTERNAL_UNIT, true );
|
msg = ReturnStringFromValue( g_UserUnit, m_Thickness, true );
|
||||||
|
|
||||||
frame->AppendMsgPanel( _( "Line width" ), msg, BLUE );
|
frame->AppendMsgPanel( _( "Line width" ), msg, BLUE );
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <class_sch_screen.h>
|
#include <class_sch_screen.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <libeditframe.h>
|
#include <libeditframe.h>
|
||||||
#include <eeschema_id.h>
|
#include <eeschema_id.h>
|
||||||
|
@ -84,14 +85,10 @@ void LIB_EDIT_FRAME::OnEditPin( wxCommandEvent& event )
|
||||||
LIB_PIN::GetElectricalTypeSymbols() );
|
LIB_PIN::GetElectricalTypeSymbols() );
|
||||||
dlg.SetElectricalType( pin->GetType() );
|
dlg.SetElectricalType( pin->GetType() );
|
||||||
dlg.SetName( pin->GetName() );
|
dlg.SetName( pin->GetName() );
|
||||||
dlg.SetNameTextSize( ReturnStringFromValue( g_UserUnit,
|
dlg.SetNameTextSize( ReturnStringFromValue( g_UserUnit, pin->GetNameTextSize() ) );
|
||||||
pin->GetNameTextSize(),
|
|
||||||
m_internalUnits ) );
|
|
||||||
dlg.SetNameTextSizeUnits( units );
|
dlg.SetNameTextSizeUnits( units );
|
||||||
dlg.SetPadName( pin->GetNumberString() );
|
dlg.SetPadName( pin->GetNumberString() );
|
||||||
dlg.SetPadNameTextSize( ReturnStringFromValue( g_UserUnit,
|
dlg.SetPadNameTextSize( ReturnStringFromValue( g_UserUnit, pin->GetNumberTextSize() ) );
|
||||||
pin->GetNumberTextSize(),
|
|
||||||
m_internalUnits ) );
|
|
||||||
|
|
||||||
dlg.SetPadNameTextSizeUnits( units );
|
dlg.SetPadNameTextSizeUnits( units );
|
||||||
dlg.SetLength( ReturnStringFromValue( g_UserUnit, pin->GetLength(), m_internalUnits ) );
|
dlg.SetLength( ReturnStringFromValue( g_UserUnit, pin->GetLength(), m_internalUnits ) );
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
#include <sch_base_frame.h>
|
#include <sch_base_frame.h>
|
||||||
#include <viewlib_frame.h>
|
#include <viewlib_frame.h>
|
||||||
#include <libeditframe.h>
|
#include <libeditframe.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
SCH_BASE_FRAME::SCH_BASE_FRAME( wxWindow* aParent,
|
SCH_BASE_FRAME::SCH_BASE_FRAME( wxWindow* aParent,
|
||||||
id_drawframe aWindowType,
|
id_drawframe aWindowType,
|
||||||
|
@ -107,3 +108,69 @@ void SCH_BASE_FRAME::SetTitleBlock( const TITLE_BLOCK& aTitleBlock )
|
||||||
wxASSERT( GetScreen() );
|
wxASSERT( GetScreen() );
|
||||||
GetScreen()->SetTitleBlock( aTitleBlock );
|
GetScreen()->SetTitleBlock( aTitleBlock );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void SCH_BASE_FRAME::UpdateStatusBar()
|
||||||
|
{
|
||||||
|
wxString line;
|
||||||
|
int dx, dy;
|
||||||
|
BASE_SCREEN* screen = GetScreen();
|
||||||
|
|
||||||
|
if( !screen )
|
||||||
|
return;
|
||||||
|
|
||||||
|
EDA_DRAW_FRAME::UpdateStatusBar();
|
||||||
|
|
||||||
|
// Display absolute coordinates:
|
||||||
|
double dXpos = To_User_Unit( g_UserUnit, screen->GetCrossHairPosition().x );
|
||||||
|
double dYpos = To_User_Unit( g_UserUnit, screen->GetCrossHairPosition().y );
|
||||||
|
|
||||||
|
if ( g_UserUnit == MILLIMETRES )
|
||||||
|
{
|
||||||
|
dXpos = RoundTo0( dXpos, 100.0 );
|
||||||
|
dYpos = RoundTo0( dYpos, 100.0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
wxString absformatter;
|
||||||
|
wxString locformatter;
|
||||||
|
|
||||||
|
switch( g_UserUnit )
|
||||||
|
{
|
||||||
|
case INCHES:
|
||||||
|
absformatter = wxT( "X %.3f Y %.3f" );
|
||||||
|
locformatter = wxT( "dx %.3f dy %.3f d %.3f" );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MILLIMETRES:
|
||||||
|
absformatter = wxT( "X %.2f Y %.2f" );
|
||||||
|
locformatter = wxT( "dx %.2f dy %.2f d %.2f" );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case UNSCALED_UNITS:
|
||||||
|
absformatter = wxT( "X %f Y %f" );
|
||||||
|
locformatter = wxT( "dx %f dy %f d %f" );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
line.Printf( absformatter, dXpos, dYpos );
|
||||||
|
SetStatusText( line, 2 );
|
||||||
|
|
||||||
|
// Display relative coordinates:
|
||||||
|
dx = screen->GetCrossHairPosition().x - screen->m_O_Curseur.x;
|
||||||
|
dy = screen->GetCrossHairPosition().y - screen->m_O_Curseur.y;
|
||||||
|
dXpos = To_User_Unit( g_UserUnit, dx );
|
||||||
|
dYpos = To_User_Unit( g_UserUnit, dy );
|
||||||
|
|
||||||
|
if( g_UserUnit == MILLIMETRES )
|
||||||
|
{
|
||||||
|
dXpos = RoundTo0( dXpos, 100.0 );
|
||||||
|
dYpos = RoundTo0( dYpos, 100.0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
// We already decided the formatter above
|
||||||
|
line.Printf( locformatter, dXpos, dYpos, sqrt( dXpos * dXpos + dYpos * dYpos ) );
|
||||||
|
SetStatusText( line, 3 );
|
||||||
|
|
||||||
|
// refresh units display
|
||||||
|
DisplayUnitsMsg();
|
||||||
|
}
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <richio.h>
|
#include <richio.h>
|
||||||
#include <plot_common.h>
|
#include <plot_common.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <protos.h>
|
#include <protos.h>
|
||||||
|
@ -502,10 +503,10 @@ wxString SCH_LINE::GetSelectMenuText() const
|
||||||
}
|
}
|
||||||
|
|
||||||
menuText.Printf( txtfmt, GetChars( orient ),
|
menuText.Printf( txtfmt, GetChars( orient ),
|
||||||
GetChars(CoordinateToString( m_start.x, EESCHEMA_INTERNAL_UNIT )),
|
GetChars( CoordinateToString( m_start.x ) ),
|
||||||
GetChars(CoordinateToString( m_start.y, EESCHEMA_INTERNAL_UNIT )),
|
GetChars( CoordinateToString( m_start.y ) ),
|
||||||
GetChars(CoordinateToString( m_end.x, EESCHEMA_INTERNAL_UNIT )),
|
GetChars( CoordinateToString( m_end.x ) ),
|
||||||
GetChars(CoordinateToString( m_end.y, EESCHEMA_INTERNAL_UNIT )) );
|
GetChars( CoordinateToString( m_end.y ) ) );
|
||||||
|
|
||||||
return menuText;
|
return menuText;
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <wxEeschemaStruct.h>
|
#include <wxEeschemaStruct.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <sch_sheet.h>
|
#include <sch_sheet.h>
|
||||||
|
@ -49,14 +50,10 @@ bool SCH_EDIT_FRAME::EditSheet( SCH_SHEET* aSheet, wxDC* aDC )
|
||||||
|
|
||||||
wxString units = GetUnitsLabel( g_UserUnit );
|
wxString units = GetUnitsLabel( g_UserUnit );
|
||||||
dlg.SetFileName( aSheet->GetFileName() );
|
dlg.SetFileName( aSheet->GetFileName() );
|
||||||
dlg.SetFileNameTextSize( ReturnStringFromValue( g_UserUnit,
|
dlg.SetFileNameTextSize( ReturnStringFromValue( g_UserUnit, aSheet->GetFileNameSize() ) );
|
||||||
aSheet->GetFileNameSize(),
|
|
||||||
m_internalUnits ) );
|
|
||||||
dlg.SetFileNameTextSizeUnits( units );
|
dlg.SetFileNameTextSizeUnits( units );
|
||||||
dlg.SetSheetName( aSheet->GetName() );
|
dlg.SetSheetName( aSheet->GetName() );
|
||||||
dlg.SetSheetNameTextSize( ReturnStringFromValue( g_UserUnit,
|
dlg.SetSheetNameTextSize( ReturnStringFromValue( g_UserUnit, aSheet->GetSheetNameSize() ) );
|
||||||
aSheet->GetSheetNameSize(),
|
|
||||||
m_internalUnits ) );
|
|
||||||
dlg.SetSheetNameTextSizeUnits( units );
|
dlg.SetSheetNameTextSizeUnits( units );
|
||||||
|
|
||||||
/* This ugly hack fixes a bug in wxWidgets 2.8.7 and likely earlier
|
/* This ugly hack fixes a bug in wxWidgets 2.8.7 and likely earlier
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <wxEeschemaStruct.h>
|
#include <wxEeschemaStruct.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
#include <protos.h>
|
#include <protos.h>
|
||||||
|
@ -56,9 +57,9 @@ int SCH_EDIT_FRAME::EditSheetPin( SCH_SHEET_PIN* aSheetPin, wxDC* aDC )
|
||||||
DIALOG_SCH_EDIT_SHEET_PIN dlg( this );
|
DIALOG_SCH_EDIT_SHEET_PIN dlg( this );
|
||||||
|
|
||||||
dlg.SetLabelName( aSheetPin->m_Text );
|
dlg.SetLabelName( aSheetPin->m_Text );
|
||||||
dlg.SetTextHeight( ReturnStringFromValue( g_UserUnit, aSheetPin->m_Size.y, m_internalUnits ) );
|
dlg.SetTextHeight( ReturnStringFromValue( g_UserUnit, aSheetPin->m_Size.y ) );
|
||||||
dlg.SetTextHeightUnits( GetUnitsLabel( g_UserUnit ) );
|
dlg.SetTextHeightUnits( GetUnitsLabel( g_UserUnit ) );
|
||||||
dlg.SetTextWidth( ReturnStringFromValue( g_UserUnit, aSheetPin->m_Size.x, m_internalUnits ) );
|
dlg.SetTextWidth( ReturnStringFromValue( g_UserUnit, aSheetPin->m_Size.x ) );
|
||||||
dlg.SetTextWidthUnits( GetUnitsLabel( g_UserUnit ) );
|
dlg.SetTextWidthUnits( GetUnitsLabel( g_UserUnit ) );
|
||||||
dlg.SetConnectionType( aSheetPin->GetShape() );
|
dlg.SetConnectionType( aSheetPin->GetShape() );
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <class_sch_screen.h>
|
#include <class_sch_screen.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <eeschema_id.h>
|
#include <eeschema_id.h>
|
||||||
#include <general.h>
|
#include <general.h>
|
||||||
|
@ -67,7 +68,7 @@ void LIB_EDIT_FRAME::EditGraphicSymbol( wxDC* DC, LIB_ITEM* DrawItem )
|
||||||
|
|
||||||
dialog.SetWidthUnits( ReturnUnitSymbol( g_UserUnit ) );
|
dialog.SetWidthUnits( ReturnUnitSymbol( g_UserUnit ) );
|
||||||
|
|
||||||
wxString val = ReturnStringFromValue( g_UserUnit, m_drawLineWidth, m_internalUnits );
|
wxString val = ReturnStringFromValue( g_UserUnit, m_drawLineWidth );
|
||||||
dialog.SetWidth( val );
|
dialog.SetWidth( val );
|
||||||
dialog.SetApplyToAllUnits( !m_drawSpecificUnit );
|
dialog.SetApplyToAllUnits( !m_drawSpecificUnit );
|
||||||
dialog.EnableApplyToAllUnits( component && component->GetPartCount() > 1 );
|
dialog.EnableApplyToAllUnits( component && component->GetPartCount() > 1 );
|
||||||
|
|
|
@ -0,0 +1,83 @@
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 CERN
|
||||||
|
* Copyright (C) 1992-2011 KiCad Developers, see change_log.txt for contributors.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* @file base_units.h
|
||||||
|
* @brief Implementation of conversion functions that require both schematic and board
|
||||||
|
* internal units.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _BASE_UNITS_H_
|
||||||
|
#define _BASE_UNITS_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <common.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function To_User_Unit
|
||||||
|
* convert \a aValue in internal units to the appropriate user units defined by \a aUnit.
|
||||||
|
*
|
||||||
|
* @return The converted value, in double
|
||||||
|
* @param aUnit The units to convert \a aValue to.
|
||||||
|
* @param aValue The value in internal units to convert.
|
||||||
|
*/
|
||||||
|
double To_User_Unit( EDA_UNITS_T aUnit, double aValue );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function CoordinateToString
|
||||||
|
* is a helper to convert the integer coordinate \a aValue to a string in inches,
|
||||||
|
* millimeters, or unscaled units according to the current user units setting.
|
||||||
|
*
|
||||||
|
* @param aValue The coordinate to convert.
|
||||||
|
* @param aConvertToMils Convert inch values to mils if true. This setting has no effect if
|
||||||
|
* the current user unit is millimeters.
|
||||||
|
* @return The converted string for display in user interface elements.
|
||||||
|
*/
|
||||||
|
wxString CoordinateToString( int aValue, bool aConvertToMils = false );
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function ReturnStringFromValue
|
||||||
|
* returns the string from \a aValue according to units (inch, mm ...) for display,
|
||||||
|
* and the initial unit for value.
|
||||||
|
* @param aUnit = display units (INCHES, MILLIMETRE ..)
|
||||||
|
* @param aValue = value in Internal_Unit
|
||||||
|
* @param aAddUnitSymbol = true to add symbol unit to the string value
|
||||||
|
* @return A wxString object containing value and optionally the symbol unit (like 2.000 mm)
|
||||||
|
*/
|
||||||
|
wxString ReturnStringFromValue( EDA_UNITS_T aUnit, int aValue, bool aAddUnitSymbol = false );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function PutValueInLocalUnits
|
||||||
|
* converts \a aValue from internal units to user units and append the units notation
|
||||||
|
* (mm or ")then inserts the string an \a aTextCtrl.
|
||||||
|
*
|
||||||
|
* This function is used in dialog boxes for entering values depending on selected units.
|
||||||
|
*/
|
||||||
|
void PutValueInLocalUnits( wxTextCtrl& aTextCtr, int aValue );
|
||||||
|
|
||||||
|
#endif // _BASE_UNITS_H_
|
|
@ -530,20 +530,6 @@ int GetCommandOptions( const int argc, const char** argv,
|
||||||
*/
|
*/
|
||||||
const wxString& valeur_param( int valeur, wxString& buf_texte );
|
const wxString& valeur_param( int valeur, wxString& buf_texte );
|
||||||
|
|
||||||
/**
|
|
||||||
* Function CoordinateToString
|
|
||||||
* is a helper to convert the integer coordinate \a aValue to a string in inches,
|
|
||||||
* millimeters, or unscaled units according to the current user units setting.
|
|
||||||
*
|
|
||||||
* @param aValue The coordinate to convert.
|
|
||||||
* @param aInternalUnits The internal units of the application. #EESCHEMA_INTERNAL_UNIT
|
|
||||||
* and #PCB_INTERNAL_UNIT are the only valid value.
|
|
||||||
* @param aConvertToMils Convert inch values to mils if true. This setting has no effect if
|
|
||||||
* the current user unit is millimeters.
|
|
||||||
* @return The converted string for display in user interface elements.
|
|
||||||
*/
|
|
||||||
wxString CoordinateToString( int aValue, int aInternalUnits, bool aConvertToMils = false );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the units symbol.
|
* Returns the units symbol.
|
||||||
*
|
*
|
||||||
|
@ -577,34 +563,22 @@ wxString GetAbbreviatedUnitsLabel( EDA_UNITS_T aUnit = g_UserUnit );
|
||||||
*/
|
*/
|
||||||
int ReturnValueFromString( EDA_UNITS_T aUnit, const wxString& TextValue, int Internal_Unit );
|
int ReturnValueFromString( EDA_UNITS_T aUnit, const wxString& TextValue, int Internal_Unit );
|
||||||
|
|
||||||
/**
|
void AddUnitSymbol( wxStaticText& Stext, EDA_UNITS_T aUnit = g_UserUnit );
|
||||||
* Function ReturnStringFromValue
|
|
||||||
* Return the string from Value, according to units (inch, mm ...) for display,
|
|
||||||
* and the initial unit for value
|
|
||||||
* @param aUnit = display units (INCHES, MILLIMETRE ..)
|
|
||||||
* @param aValue = value in Internal_Unit
|
|
||||||
* @param aInternal_Unit = units per inch for Value
|
|
||||||
* @param aAdd_unit_symbol = true to add symbol unit to the string value
|
|
||||||
* @return a wxString what contains value and optionally the symbol unit (like
|
|
||||||
* 2.000 mm)
|
|
||||||
*/
|
|
||||||
wxString ReturnStringFromValue( EDA_UNITS_T aUnit,
|
|
||||||
int aValue,
|
|
||||||
int aInternal_Unit,
|
|
||||||
bool aAdd_unit_symbol = false );
|
|
||||||
|
|
||||||
void AddUnitSymbol( wxStaticText& Stext, EDA_UNITS_T aUnit = g_UserUnit );
|
|
||||||
|
|
||||||
/* Add string " (mm):" or " ("):" to the static text Stext.
|
|
||||||
* Used in dialog boxes for entering values depending on selected units */
|
|
||||||
void PutValueInLocalUnits( wxTextCtrl& TextCtr, int Value,
|
|
||||||
int Internal_Unit );
|
|
||||||
|
|
||||||
/* Convert the number Value in a string according to the internal units
|
/* Convert the number Value in a string according to the internal units
|
||||||
* and the selected unit (g_UserUnit) and put it in the wxTextCtrl TextCtrl
|
* and the selected unit (g_UserUnit) and put it in the wxTextCtrl TextCtrl
|
||||||
**/
|
**/
|
||||||
int ReturnValueFromTextCtrl( const wxTextCtrl& TextCtr,
|
int ReturnValueFromTextCtrl( const wxTextCtrl& TextCtr, int Internal_Unit );
|
||||||
int Internal_Unit );
|
|
||||||
|
/**
|
||||||
|
* Round to the nearest precision.
|
||||||
|
*
|
||||||
|
* Try to approximate a coordinate using a given precision to prevent
|
||||||
|
* rounding errors when converting from inches to mm.
|
||||||
|
*
|
||||||
|
* ie round the unit value to 0 if unit is 1 or 2, or 8 or 9
|
||||||
|
*/
|
||||||
|
double RoundTo0( double x, double precision );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function wxStringSplit
|
* Function wxStringSplit
|
||||||
|
@ -615,17 +589,6 @@ int ReturnValueFromTextCtrl( const wxTextCtrl& TextCtr,
|
||||||
*/
|
*/
|
||||||
wxArrayString* wxStringSplit( wxString aString, wxChar aSplitter );
|
wxArrayString* wxStringSplit( wxString aString, wxChar aSplitter );
|
||||||
|
|
||||||
/**
|
|
||||||
* Function To_User_Unit
|
|
||||||
* Convert in inch or mm the variable "val" (double)given in internal units
|
|
||||||
* @return the converted value, in double
|
|
||||||
* @param aUnit : user unit to be converted to
|
|
||||||
* @param val : double : the given value
|
|
||||||
|
|
||||||
* @param internal_unit_value = internal units per inch
|
|
||||||
*/
|
|
||||||
double To_User_Unit( EDA_UNITS_T aUnit, double val, int internal_unit_value );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return in internal units the value "val" given in inch or mm
|
* Return in internal units the value "val" given in inch or mm
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -76,6 +76,8 @@ public:
|
||||||
const TITLE_BLOCK& GetTitleBlock() const; // overload EDA_DRAW_FRAME
|
const TITLE_BLOCK& GetTitleBlock() const; // overload EDA_DRAW_FRAME
|
||||||
void SetTitleBlock( const TITLE_BLOCK& aTitleBlock ); // overload EDA_DRAW_FRAME
|
void SetTitleBlock( const TITLE_BLOCK& aTitleBlock ); // overload EDA_DRAW_FRAME
|
||||||
|
|
||||||
|
void UpdateStatusBar(); // overload EDA_DRAW_FRAME
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
#include <dialog_helpers.h>
|
#include <dialog_helpers.h>
|
||||||
#include <kicad_device_context.h>
|
#include <kicad_device_context.h>
|
||||||
#include <wxBasePcbFrame.h>
|
#include <wxBasePcbFrame.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <pcbnew_id.h>
|
#include <pcbnew_id.h>
|
||||||
|
@ -78,7 +79,7 @@ PCB_BASE_FRAME::PCB_BASE_FRAME( wxWindow* father,
|
||||||
const wxString& title,
|
const wxString& title,
|
||||||
const wxPoint& pos,
|
const wxPoint& pos,
|
||||||
const wxSize& size,
|
const wxSize& size,
|
||||||
long style) :
|
long style) :
|
||||||
EDA_DRAW_FRAME( father, idtype, title, pos, size, style )
|
EDA_DRAW_FRAME( father, idtype, title, pos, size, style )
|
||||||
{
|
{
|
||||||
m_internalUnits = PCB_INTERNAL_UNIT; // Internal unit = 1/10000 inch
|
m_internalUnits = PCB_INTERNAL_UNIT; // Internal unit = 1/10000 inch
|
||||||
|
@ -552,18 +553,24 @@ void PCB_BASE_FRAME::UpdateStatusBar()
|
||||||
{
|
{
|
||||||
EDA_DRAW_FRAME::UpdateStatusBar();
|
EDA_DRAW_FRAME::UpdateStatusBar();
|
||||||
|
|
||||||
|
PCB_SCREEN* screen = GetScreen();
|
||||||
|
|
||||||
|
if( !screen )
|
||||||
|
return;
|
||||||
|
|
||||||
|
int dx;
|
||||||
|
int dy;
|
||||||
|
double dXpos;
|
||||||
|
double dYpos;
|
||||||
|
wxString line;
|
||||||
|
wxString locformatter;
|
||||||
|
|
||||||
if( DisplayOpt.DisplayPolarCood ) // display polar coordinates
|
if( DisplayOpt.DisplayPolarCood ) // display polar coordinates
|
||||||
{
|
{
|
||||||
PCB_SCREEN* screen = GetScreen();
|
|
||||||
|
|
||||||
if( !screen )
|
|
||||||
return;
|
|
||||||
|
|
||||||
wxString Line;
|
|
||||||
double theta, ro;
|
double theta, ro;
|
||||||
|
|
||||||
int dx = screen->GetCrossHairPosition().x - screen->m_O_Curseur.x;
|
dx = screen->GetCrossHairPosition().x - screen->m_O_Curseur.x;
|
||||||
int dy = screen->GetCrossHairPosition().y - screen->m_O_Curseur.y;
|
dy = screen->GetCrossHairPosition().y - screen->m_O_Curseur.y;
|
||||||
|
|
||||||
if( dx==0 && dy==0 )
|
if( dx==0 && dy==0 )
|
||||||
theta = 0.0;
|
theta = 0.0;
|
||||||
|
@ -589,11 +596,62 @@ void PCB_BASE_FRAME::UpdateStatusBar()
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
Line.Printf( formatter, To_User_Unit( g_UserUnit, ro, m_internalUnits ), theta );
|
line.Printf( formatter, To_User_Unit( g_UserUnit, ro ), theta );
|
||||||
|
|
||||||
// overwrite the absolute cartesian coordinates
|
SetStatusText( line, 2 );
|
||||||
SetStatusText( Line, 2 );
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Display absolute coordinates:
|
||||||
|
dXpos = To_User_Unit( g_UserUnit, screen->GetCrossHairPosition().x );
|
||||||
|
dYpos = To_User_Unit( g_UserUnit, screen->GetCrossHairPosition().y );
|
||||||
|
|
||||||
|
if ( g_UserUnit == MILLIMETRES )
|
||||||
|
{
|
||||||
|
dXpos = RoundTo0( dXpos, 1000.0 );
|
||||||
|
dYpos = RoundTo0( dYpos, 1000.0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
// The following sadly is an if Eeschema/if Pcbnew
|
||||||
|
wxString absformatter;
|
||||||
|
|
||||||
|
switch( g_UserUnit )
|
||||||
|
{
|
||||||
|
case INCHES:
|
||||||
|
absformatter = wxT( "X %.4f Y %.4f" );
|
||||||
|
locformatter = wxT( "dx %.4f dy %.4f d %.4f" );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MILLIMETRES:
|
||||||
|
absformatter = wxT( "X %.3f Y %.3f" );
|
||||||
|
locformatter = wxT( "dx %.3f dy %.3f d %.3f" );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case UNSCALED_UNITS:
|
||||||
|
absformatter = wxT( "X %f Y %f" );
|
||||||
|
locformatter = wxT( "dx %f dy %f d %f" );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
line.Printf( absformatter, dXpos, dYpos );
|
||||||
|
SetStatusText( line, 2 );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Display relative coordinates:
|
||||||
|
dx = screen->GetCrossHairPosition().x - screen->m_O_Curseur.x;
|
||||||
|
dy = screen->GetCrossHairPosition().y - screen->m_O_Curseur.y;
|
||||||
|
dXpos = To_User_Unit( g_UserUnit, dx );
|
||||||
|
dYpos = To_User_Unit( g_UserUnit, dy );
|
||||||
|
|
||||||
|
if ( g_UserUnit == MILLIMETRES )
|
||||||
|
{
|
||||||
|
dXpos = RoundTo0( dXpos, 1000.0 );
|
||||||
|
dYpos = RoundTo0( dYpos, 1000.0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
// We already decided the formatter above
|
||||||
|
line.Printf( locformatter, dXpos, dYpos, sqrt( dXpos * dXpos + dYpos * dYpos ) );
|
||||||
|
SetStatusText( line, 3 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -711,7 +769,7 @@ void PCB_BASE_FRAME::updateGridSelectBox()
|
||||||
for( size_t i = 0; i < GetScreen()->GetGridCount(); i++ )
|
for( size_t i = 0; i < GetScreen()->GetGridCount(); i++ )
|
||||||
{
|
{
|
||||||
GRID_TYPE& grid = GetScreen()->GetGrid( i );
|
GRID_TYPE& grid = GetScreen()->GetGrid( i );
|
||||||
double value = To_User_Unit( g_UserUnit, grid.m_Size.x, m_internalUnits );
|
double value = To_User_Unit( g_UserUnit, grid.m_Size.x );
|
||||||
|
|
||||||
if( grid.m_Id != ID_POPUP_GRID_USER )
|
if( grid.m_Id != ID_POPUP_GRID_USER )
|
||||||
{
|
{
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#include <wxBasePcbFrame.h>
|
#include <wxBasePcbFrame.h>
|
||||||
#include <class_pcb_screen.h>
|
#include <class_pcb_screen.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <pcbplot.h>
|
#include <pcbplot.h>
|
||||||
|
@ -70,8 +71,7 @@ void DIALOG_SVG_PRINT::initDialog( )
|
||||||
s_Parameters.m_PenDefaultSize = g_DrawDefaultLineThickness;
|
s_Parameters.m_PenDefaultSize = g_DrawDefaultLineThickness;
|
||||||
AddUnitSymbol( *m_TextPenWidth, g_UserUnit );
|
AddUnitSymbol( *m_TextPenWidth, g_UserUnit );
|
||||||
m_DialogPenWidth->SetValue(
|
m_DialogPenWidth->SetValue(
|
||||||
ReturnStringFromValue( g_UserUnit, s_Parameters.m_PenDefaultSize,
|
ReturnStringFromValue( g_UserUnit, s_Parameters.m_PenDefaultSize ) );
|
||||||
m_Parent->GetInternalUnits() ) );
|
|
||||||
|
|
||||||
m_Print_Frame_Ref_Ctrl->SetValue( s_Parameters.m_Print_Sheet_Ref );
|
m_Print_Frame_Ref_Ctrl->SetValue( s_Parameters.m_Print_Sheet_Ref );
|
||||||
|
|
||||||
|
@ -150,8 +150,7 @@ void DIALOG_SVG_PRINT::SetPenWidth()
|
||||||
|
|
||||||
g_DrawDefaultLineThickness = s_Parameters.m_PenDefaultSize;
|
g_DrawDefaultLineThickness = s_Parameters.m_PenDefaultSize;
|
||||||
m_DialogPenWidth->SetValue(
|
m_DialogPenWidth->SetValue(
|
||||||
ReturnStringFromValue( g_UserUnit, s_Parameters.m_PenDefaultSize,
|
ReturnStringFromValue( g_UserUnit, s_Parameters.m_PenDefaultSize ) );
|
||||||
m_Parent->GetInternalUnits() ) );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <zones.h>
|
#include <zones.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <class_zone_settings.h>
|
#include <class_zone_settings.h>
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
|
@ -178,15 +179,11 @@ void DIALOG_COPPER_ZONE::initDialog()
|
||||||
m_FillModeCtrl->SetSelection( m_settings.m_FillMode ? 1 : 0 );
|
m_FillModeCtrl->SetSelection( m_settings.m_FillMode ? 1 : 0 );
|
||||||
|
|
||||||
AddUnitSymbol( *m_ClearanceValueTitle, g_UserUnit );
|
AddUnitSymbol( *m_ClearanceValueTitle, g_UserUnit );
|
||||||
msg = ReturnStringFromValue( g_UserUnit,
|
msg = ReturnStringFromValue( g_UserUnit, m_settings.m_ZoneClearance );
|
||||||
m_settings.m_ZoneClearance,
|
|
||||||
m_Parent->GetInternalUnits() );
|
|
||||||
m_ZoneClearanceCtrl->SetValue( msg );
|
m_ZoneClearanceCtrl->SetValue( msg );
|
||||||
|
|
||||||
AddUnitSymbol( *m_MinThicknessValueTitle, g_UserUnit );
|
AddUnitSymbol( *m_MinThicknessValueTitle, g_UserUnit );
|
||||||
msg = ReturnStringFromValue( g_UserUnit,
|
msg = ReturnStringFromValue( g_UserUnit, m_settings.m_ZoneMinThickness );
|
||||||
m_settings.m_ZoneMinThickness,
|
|
||||||
m_Parent->GetInternalUnits() );
|
|
||||||
m_ZoneMinThicknessCtrl->SetValue( msg );
|
m_ZoneMinThicknessCtrl->SetValue( msg );
|
||||||
|
|
||||||
switch( m_settings.GetPadConnection() )
|
switch( m_settings.GetPadConnection() )
|
||||||
|
@ -220,18 +217,12 @@ void DIALOG_COPPER_ZONE::initDialog()
|
||||||
|
|
||||||
AddUnitSymbol( *m_AntipadSizeText, g_UserUnit );
|
AddUnitSymbol( *m_AntipadSizeText, g_UserUnit );
|
||||||
AddUnitSymbol( *m_CopperBridgeWidthText, g_UserUnit );
|
AddUnitSymbol( *m_CopperBridgeWidthText, g_UserUnit );
|
||||||
PutValueInLocalUnits( *m_AntipadSizeValue,
|
PutValueInLocalUnits( *m_AntipadSizeValue, m_settings.m_ThermalReliefGap );
|
||||||
m_settings.m_ThermalReliefGap,
|
PutValueInLocalUnits( *m_CopperWidthValue, m_settings.m_ThermalReliefCopperBridge );
|
||||||
PCB_INTERNAL_UNIT );
|
|
||||||
PutValueInLocalUnits( *m_CopperWidthValue,
|
|
||||||
m_settings.m_ThermalReliefCopperBridge,
|
|
||||||
PCB_INTERNAL_UNIT );
|
|
||||||
|
|
||||||
m_cornerSmoothingChoice->SetSelection( m_settings.GetCornerSmoothingType() );
|
m_cornerSmoothingChoice->SetSelection( m_settings.GetCornerSmoothingType() );
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_cornerSmoothingCtrl,
|
PutValueInLocalUnits( *m_cornerSmoothingCtrl, m_settings.GetCornerRadius() );
|
||||||
m_settings.GetCornerRadius(),
|
|
||||||
PCB_INTERNAL_UNIT );
|
|
||||||
|
|
||||||
switch( m_settings.m_Zone_HatchingStyle )
|
switch( m_settings.m_Zone_HatchingStyle )
|
||||||
{
|
{
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
|
@ -207,26 +208,19 @@ DIALOG_DESIGN_RULES::DIALOG_DESIGN_RULES( PCB_EDIT_FRAME* parent ) :
|
||||||
void DIALOG_DESIGN_RULES::PrintCurrentSettings()
|
void DIALOG_DESIGN_RULES::PrintCurrentSettings()
|
||||||
{
|
{
|
||||||
wxString msg, value;
|
wxString msg, value;
|
||||||
int internal_units = m_Parent->GetInternalUnits();
|
|
||||||
|
|
||||||
m_MessagesList->AppendToPage( _( "<b>Current general settings:</b><br>" ) );
|
m_MessagesList->AppendToPage( _( "<b>Current general settings:</b><br>" ) );
|
||||||
|
|
||||||
// Display min values:
|
// Display min values:
|
||||||
value = ReturnStringFromValue( g_UserUnit,
|
value = ReturnStringFromValue( g_UserUnit, m_BrdSettings.m_TrackMinWidth, true );
|
||||||
m_BrdSettings.m_TrackMinWidth,
|
|
||||||
internal_units,
|
|
||||||
true );
|
|
||||||
msg.Printf( _( "Minimum value for tracks width: <b>%s</b><br>\n" ), GetChars( value ) );
|
msg.Printf( _( "Minimum value for tracks width: <b>%s</b><br>\n" ), GetChars( value ) );
|
||||||
m_MessagesList->AppendToPage( msg );
|
m_MessagesList->AppendToPage( msg );
|
||||||
|
|
||||||
value = ReturnStringFromValue( g_UserUnit, m_BrdSettings.m_ViasMinSize, internal_units, true );
|
value = ReturnStringFromValue( g_UserUnit, m_BrdSettings.m_ViasMinSize, true );
|
||||||
msg.Printf( _( "Minimum value for vias diameter: <b>%s</b><br>\n" ), GetChars( value ) );
|
msg.Printf( _( "Minimum value for vias diameter: <b>%s</b><br>\n" ), GetChars( value ) );
|
||||||
m_MessagesList->AppendToPage( msg );
|
m_MessagesList->AppendToPage( msg );
|
||||||
|
|
||||||
value = ReturnStringFromValue( g_UserUnit,
|
value = ReturnStringFromValue( g_UserUnit, m_BrdSettings.m_MicroViasMinSize, true );
|
||||||
m_BrdSettings.m_MicroViasMinSize,
|
|
||||||
internal_units,
|
|
||||||
true );
|
|
||||||
msg.Printf( _( "Minimum value for microvias diameter: <b>%s</b><br>\n" ), GetChars( value ) );
|
msg.Printf( _( "Minimum value for microvias diameter: <b>%s</b><br>\n" ), GetChars( value ) );
|
||||||
m_MessagesList->AppendToPage( msg );
|
m_MessagesList->AppendToPage( msg );
|
||||||
}
|
}
|
||||||
|
@ -290,22 +284,16 @@ void DIALOG_DESIGN_RULES::InitGlobalRules()
|
||||||
AddUnitSymbol( *m_MicroViaMinDrillTitle );
|
AddUnitSymbol( *m_MicroViaMinDrillTitle );
|
||||||
AddUnitSymbol( *m_TrackMinWidthTitle );
|
AddUnitSymbol( *m_TrackMinWidthTitle );
|
||||||
|
|
||||||
int Internal_Unit = m_Parent->GetInternalUnits();
|
PutValueInLocalUnits( *m_SetViasMinSizeCtrl, m_BrdSettings.m_ViasMinSize );
|
||||||
PutValueInLocalUnits( *m_SetViasMinSizeCtrl, m_BrdSettings.m_ViasMinSize, Internal_Unit );
|
PutValueInLocalUnits( *m_SetViasMinDrillCtrl, m_BrdSettings.m_ViasMinDrill );
|
||||||
PutValueInLocalUnits( *m_SetViasMinDrillCtrl, m_BrdSettings.m_ViasMinDrill, Internal_Unit );
|
|
||||||
|
|
||||||
if( m_BrdSettings.m_CurrentViaType != VIA_THROUGH )
|
if( m_BrdSettings.m_CurrentViaType != VIA_THROUGH )
|
||||||
m_OptViaType->SetSelection( 1 );
|
m_OptViaType->SetSelection( 1 );
|
||||||
|
|
||||||
m_AllowMicroViaCtrl->SetSelection( m_BrdSettings.m_MicroViasAllowed ? 1 : 0 );
|
m_AllowMicroViaCtrl->SetSelection( m_BrdSettings.m_MicroViasAllowed ? 1 : 0 );
|
||||||
PutValueInLocalUnits( *m_SetMicroViasMinSizeCtrl,
|
PutValueInLocalUnits( *m_SetMicroViasMinSizeCtrl, m_BrdSettings.m_MicroViasMinSize );
|
||||||
m_BrdSettings.m_MicroViasMinSize,
|
PutValueInLocalUnits( *m_SetMicroViasMinDrillCtrl, m_BrdSettings.m_MicroViasMinDrill );
|
||||||
Internal_Unit );
|
PutValueInLocalUnits( *m_SetTrackMinWidthCtrl, m_BrdSettings.m_TrackMinWidth );
|
||||||
PutValueInLocalUnits( *m_SetMicroViasMinDrillCtrl,
|
|
||||||
m_BrdSettings.m_MicroViasMinDrill,
|
|
||||||
Internal_Unit );
|
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_SetTrackMinWidthCtrl, m_BrdSettings.m_TrackMinWidth, Internal_Unit );
|
|
||||||
|
|
||||||
// Initialize Vias and Tracks sizes lists.
|
// Initialize Vias and Tracks sizes lists.
|
||||||
// note we display only extra values, never the current netclass value.
|
// note we display only extra values, never the current netclass value.
|
||||||
|
@ -326,7 +314,6 @@ void DIALOG_DESIGN_RULES::InitDimensionsLists()
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
wxString msg;
|
wxString msg;
|
||||||
int Internal_Unit = m_Parent->GetInternalUnits();
|
|
||||||
|
|
||||||
// Compute the column widths here, after setting texts
|
// Compute the column widths here, after setting texts
|
||||||
msg = wxT("000000.000000"); // This is a very long text to display values.
|
msg = wxT("000000.000000"); // This is a very long text to display values.
|
||||||
|
@ -347,19 +334,17 @@ void DIALOG_DESIGN_RULES::InitDimensionsLists()
|
||||||
|
|
||||||
for( unsigned ii = 0; ii < m_TracksWidthList.size(); ii++ )
|
for( unsigned ii = 0; ii < m_TracksWidthList.size(); ii++ )
|
||||||
{
|
{
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_TracksWidthList[ii], Internal_Unit, false );
|
msg = ReturnStringFromValue( g_UserUnit, m_TracksWidthList[ii], false );
|
||||||
m_gridTrackWidthList->SetCellValue( ii, 0, msg );
|
m_gridTrackWidthList->SetCellValue( ii, 0, msg );
|
||||||
}
|
}
|
||||||
|
|
||||||
for( unsigned ii = 0; ii < m_ViasDimensionsList.size(); ii++ )
|
for( unsigned ii = 0; ii < m_ViasDimensionsList.size(); ii++ )
|
||||||
{
|
{
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_ViasDimensionsList[ii].m_Diameter,
|
msg = ReturnStringFromValue( g_UserUnit, m_ViasDimensionsList[ii].m_Diameter, false );
|
||||||
Internal_Unit, false );
|
|
||||||
m_gridViaSizeList->SetCellValue( ii, 0, msg );
|
m_gridViaSizeList->SetCellValue( ii, 0, msg );
|
||||||
if( m_ViasDimensionsList[ii].m_Drill > 0 )
|
if( m_ViasDimensionsList[ii].m_Drill > 0 )
|
||||||
{
|
{
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_ViasDimensionsList[ii].m_Drill,
|
msg = ReturnStringFromValue( g_UserUnit, m_ViasDimensionsList[ii].m_Drill, false );
|
||||||
Internal_Unit, false );
|
|
||||||
m_gridViaSizeList->SetCellValue( ii, 1, msg );
|
m_gridViaSizeList->SetCellValue( ii, 1, msg );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -495,22 +480,22 @@ static void class2gridRow( wxGrid* grid, int row, NETCLASS* nc, int units )
|
||||||
// label is netclass name
|
// label is netclass name
|
||||||
grid->SetRowLabelValue( row, nc->GetName() );
|
grid->SetRowLabelValue( row, nc->GetName() );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit, nc->GetClearance(), units );
|
msg = ReturnStringFromValue( g_UserUnit, nc->GetClearance() );
|
||||||
grid->SetCellValue( row, GRID_CLEARANCE, msg );
|
grid->SetCellValue( row, GRID_CLEARANCE, msg );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit, nc->GetTrackWidth(), units );
|
msg = ReturnStringFromValue( g_UserUnit, nc->GetTrackWidth() );
|
||||||
grid->SetCellValue( row, GRID_TRACKSIZE, msg );
|
grid->SetCellValue( row, GRID_TRACKSIZE, msg );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit, nc->GetViaDiameter(), units );
|
msg = ReturnStringFromValue( g_UserUnit, nc->GetViaDiameter() );
|
||||||
grid->SetCellValue( row, GRID_VIASIZE, msg );
|
grid->SetCellValue( row, GRID_VIASIZE, msg );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit, nc->GetViaDrill(), units );
|
msg = ReturnStringFromValue( g_UserUnit, nc->GetViaDrill() );
|
||||||
grid->SetCellValue( row, GRID_VIADRILL, msg );
|
grid->SetCellValue( row, GRID_VIADRILL, msg );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit, nc->GetuViaDiameter(), units );
|
msg = ReturnStringFromValue( g_UserUnit, nc->GetuViaDiameter() );
|
||||||
grid->SetCellValue( row, GRID_uVIASIZE, msg );
|
grid->SetCellValue( row, GRID_uVIASIZE, msg );
|
||||||
|
|
||||||
msg = ReturnStringFromValue( g_UserUnit, nc->GetuViaDrill(), units );
|
msg = ReturnStringFromValue( g_UserUnit, nc->GetuViaDrill() );
|
||||||
grid->SetCellValue( row, GRID_uVIADRILL, msg );
|
grid->SetCellValue( row, GRID_uVIADRILL, msg );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#include <3d_struct.h>
|
#include <3d_struct.h>
|
||||||
#include <3d_viewer.h>
|
#include <3d_viewer.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
#include <class_text_mod.h>
|
#include <class_text_mod.h>
|
||||||
|
@ -62,12 +63,10 @@ DIALOG_MODULE_BOARD_EDITOR::~DIALOG_MODULE_BOARD_EDITOR()
|
||||||
/* Creation of the panel properties of the module editor. */
|
/* Creation of the panel properties of the module editor. */
|
||||||
void DIALOG_MODULE_BOARD_EDITOR::InitBoardProperties()
|
void DIALOG_MODULE_BOARD_EDITOR::InitBoardProperties()
|
||||||
{
|
{
|
||||||
PutValueInLocalUnits( *m_ModPositionX,
|
PutValueInLocalUnits( *m_ModPositionX, m_CurrentModule->GetPosition().x );
|
||||||
m_CurrentModule->GetPosition().x, PCB_INTERNAL_UNIT );
|
|
||||||
AddUnitSymbol( *XPositionStatic, g_UserUnit );
|
AddUnitSymbol( *XPositionStatic, g_UserUnit );
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_ModPositionY,
|
PutValueInLocalUnits( *m_ModPositionY, m_CurrentModule->GetPosition().y );
|
||||||
m_CurrentModule->GetPosition().y, PCB_INTERNAL_UNIT );
|
|
||||||
AddUnitSymbol( *YPositionStatic, g_UserUnit );
|
AddUnitSymbol( *YPositionStatic, g_UserUnit );
|
||||||
|
|
||||||
m_LayerCtrl->SetSelection(
|
m_LayerCtrl->SetSelection(
|
||||||
|
@ -111,18 +110,13 @@ void DIALOG_MODULE_BOARD_EDITOR::InitBoardProperties()
|
||||||
m_SolderMaskMarginUnits->SetLabel( GetUnitsLabel( g_UserUnit ) );
|
m_SolderMaskMarginUnits->SetLabel( GetUnitsLabel( g_UserUnit ) );
|
||||||
m_SolderPasteMarginUnits->SetLabel( GetUnitsLabel( g_UserUnit ) );
|
m_SolderPasteMarginUnits->SetLabel( GetUnitsLabel( g_UserUnit ) );
|
||||||
|
|
||||||
int internalUnit = m_Parent->GetInternalUnits();
|
PutValueInLocalUnits( *m_NetClearanceValueCtrl, m_CurrentModule->m_LocalClearance );
|
||||||
PutValueInLocalUnits( *m_NetClearanceValueCtrl,
|
PutValueInLocalUnits( *m_SolderMaskMarginCtrl, m_CurrentModule->m_LocalSolderMaskMargin );
|
||||||
m_CurrentModule->m_LocalClearance, internalUnit );
|
|
||||||
PutValueInLocalUnits( *m_SolderMaskMarginCtrl,
|
|
||||||
m_CurrentModule->m_LocalSolderMaskMargin,
|
|
||||||
internalUnit );
|
|
||||||
|
|
||||||
// These 2 parameters are usually < 0, so prepare entering a negative
|
// These 2 parameters are usually < 0, so prepare entering a negative
|
||||||
// value, if current is 0
|
// value, if current is 0
|
||||||
PutValueInLocalUnits( *m_SolderPasteMarginCtrl,
|
PutValueInLocalUnits( *m_SolderPasteMarginCtrl, m_CurrentModule->GetLocalSolderPasteMargin() );
|
||||||
m_CurrentModule->GetLocalSolderPasteMargin(),
|
|
||||||
internalUnit );
|
|
||||||
if( m_CurrentModule->GetLocalSolderPasteMargin() == 0 )
|
if( m_CurrentModule->GetLocalSolderPasteMargin() == 0 )
|
||||||
m_SolderPasteMarginCtrl->SetValue( wxT( "-" ) +
|
m_SolderPasteMarginCtrl->SetValue( wxT( "-" ) +
|
||||||
m_SolderPasteMarginCtrl->GetValue() );
|
m_SolderPasteMarginCtrl->GetValue() );
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include <3d_struct.h>
|
#include <3d_struct.h>
|
||||||
#include <3d_viewer.h>
|
#include <3d_viewer.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
#include <class_text_mod.h>
|
#include <class_text_mod.h>
|
||||||
|
@ -148,20 +149,19 @@ void DIALOG_MODULE_MODULE_EDITOR::InitModeditProperties()
|
||||||
m_SolderPasteMarginUnits->SetLabel( GetUnitsLabel( g_UserUnit ) );
|
m_SolderPasteMarginUnits->SetLabel( GetUnitsLabel( g_UserUnit ) );
|
||||||
|
|
||||||
wxString msg;
|
wxString msg;
|
||||||
int internalUnit = m_Parent->GetInternalUnits();
|
PutValueInLocalUnits( *m_NetClearanceValueCtrl, m_CurrentModule->m_LocalClearance );
|
||||||
PutValueInLocalUnits( *m_NetClearanceValueCtrl,
|
PutValueInLocalUnits( *m_SolderMaskMarginCtrl, m_CurrentModule->m_LocalSolderMaskMargin );
|
||||||
m_CurrentModule->m_LocalClearance, internalUnit );
|
|
||||||
PutValueInLocalUnits( *m_SolderMaskMarginCtrl,
|
|
||||||
m_CurrentModule->m_LocalSolderMaskMargin, internalUnit );
|
|
||||||
// These 2 parameters are usually < 0, so prepare entering a negative value, if current is 0
|
// These 2 parameters are usually < 0, so prepare entering a negative value, if current is 0
|
||||||
PutValueInLocalUnits( *m_SolderPasteMarginCtrl,
|
PutValueInLocalUnits( *m_SolderPasteMarginCtrl, m_CurrentModule->GetLocalSolderPasteMargin() );
|
||||||
m_CurrentModule->GetLocalSolderPasteMargin(), internalUnit );
|
|
||||||
if( m_CurrentModule->GetLocalSolderPasteMargin() == 0 )
|
if( m_CurrentModule->GetLocalSolderPasteMargin() == 0 )
|
||||||
m_SolderPasteMarginCtrl->SetValue( wxT("-") + m_SolderPasteMarginCtrl->GetValue() );
|
m_SolderPasteMarginCtrl->SetValue( wxT("-") + m_SolderPasteMarginCtrl->GetValue() );
|
||||||
|
|
||||||
if( m_CurrentModule->GetLocalSolderPasteMarginRatio() == 0.0 )
|
if( m_CurrentModule->GetLocalSolderPasteMarginRatio() == 0.0 )
|
||||||
msg.Printf( wxT( "-%.1f" ), m_CurrentModule->GetLocalSolderPasteMarginRatio() * 100.0 );
|
msg.Printf( wxT( "-%.1f" ), m_CurrentModule->GetLocalSolderPasteMarginRatio() * 100.0 );
|
||||||
else
|
else
|
||||||
msg.Printf( wxT( "%.1f" ), m_CurrentModule->GetLocalSolderPasteMarginRatio() * 100.0 );
|
msg.Printf( wxT( "%.1f" ), m_CurrentModule->GetLocalSolderPasteMarginRatio() * 100.0 );
|
||||||
|
|
||||||
m_SolderPasteMarginRatioCtrl->SetValue( msg );
|
m_SolderPasteMarginRatioCtrl->SetValue( msg );
|
||||||
|
|
||||||
// if m_3D_ShapeNameListBox is not empty, preselect first 3D shape
|
// if m_3D_ShapeNameListBox is not empty, preselect first 3D shape
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
#include <drawtxt.h>
|
#include <drawtxt.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <wxBasePcbFrame.h>
|
#include <wxBasePcbFrame.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
#include <class_text_mod.h>
|
#include <class_text_mod.h>
|
||||||
|
@ -118,24 +119,19 @@ void DialogEditModuleText::initDlg( )
|
||||||
m_Style->SetSelection( m_currentText->m_Italic ? 1 : 0 );
|
m_Style->SetSelection( m_currentText->m_Italic ? 1 : 0 );
|
||||||
|
|
||||||
AddUnitSymbol( *m_SizeXTitle );
|
AddUnitSymbol( *m_SizeXTitle );
|
||||||
PutValueInLocalUnits( *m_TxtSizeCtrlX, m_currentText->m_Size.x,
|
PutValueInLocalUnits( *m_TxtSizeCtrlX, m_currentText->m_Size.x );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
AddUnitSymbol( *m_SizeYTitle );
|
AddUnitSymbol( *m_SizeYTitle );
|
||||||
PutValueInLocalUnits( *m_TxtSizeCtrlY, m_currentText->m_Size.y,
|
PutValueInLocalUnits( *m_TxtSizeCtrlY, m_currentText->m_Size.y );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
AddUnitSymbol( *m_PosXTitle );
|
AddUnitSymbol( *m_PosXTitle );
|
||||||
PutValueInLocalUnits( *m_TxtPosCtrlX, m_currentText->GetPos0().x,
|
PutValueInLocalUnits( *m_TxtPosCtrlX, m_currentText->GetPos0().x );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
AddUnitSymbol( *m_PosYTitle );
|
AddUnitSymbol( *m_PosYTitle );
|
||||||
PutValueInLocalUnits( *m_TxtPosCtrlY, m_currentText->GetPos0().y,
|
PutValueInLocalUnits( *m_TxtPosCtrlY, m_currentText->GetPos0().y );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
AddUnitSymbol( *m_WidthTitle );
|
AddUnitSymbol( *m_WidthTitle );
|
||||||
PutValueInLocalUnits( *m_TxtWidthCtlr, m_currentText->m_Thickness,
|
PutValueInLocalUnits( *m_TxtWidthCtlr, m_currentText->m_Thickness );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
int text_orient = m_currentText->m_Orient;
|
int text_orient = m_currentText->m_Orient;
|
||||||
NORMALIZE_ANGLE_90(text_orient)
|
NORMALIZE_ANGLE_90(text_orient)
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
|
|
||||||
|
@ -44,7 +45,6 @@ void DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::MyInit()
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
|
||||||
// Display current setup for tracks and vias
|
// Display current setup for tracks and vias
|
||||||
int Internal_Unit = m_Parent->GetInternalUnits();
|
|
||||||
BOARD* board = m_Parent->GetBoard();
|
BOARD* board = m_Parent->GetBoard();
|
||||||
NETCLASSES& netclasses = board->m_NetClasses;
|
NETCLASSES& netclasses = board->m_NetClasses;
|
||||||
NETINFO_ITEM* net = board->FindNet( m_Netcode );
|
NETINFO_ITEM* net = board->FindNet( m_Netcode );
|
||||||
|
@ -73,56 +73,56 @@ void DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::MyInit()
|
||||||
|
|
||||||
// Display current values, and current netclass values:
|
// Display current values, and current netclass values:
|
||||||
int value = netclass->GetTrackWidth(); // Display track width
|
int value = netclass->GetTrackWidth(); // Display track width
|
||||||
msg = ReturnStringFromValue( g_UserUnit, value, Internal_Unit, true );
|
msg = ReturnStringFromValue( g_UserUnit, value, true );
|
||||||
m_gridDisplayCurrentSettings->SetCellValue( 0, 0, msg );
|
m_gridDisplayCurrentSettings->SetCellValue( 0, 0, msg );
|
||||||
if( board->m_TrackWidthSelector )
|
if( board->m_TrackWidthSelector )
|
||||||
{
|
{
|
||||||
value = board->GetCurrentTrackWidth();
|
value = board->GetCurrentTrackWidth();
|
||||||
msg = ReturnStringFromValue( g_UserUnit, value, Internal_Unit, true );
|
msg = ReturnStringFromValue( g_UserUnit, value, true );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
msg = _( "Default" );
|
msg = _( "Default" );
|
||||||
m_gridDisplayCurrentSettings->SetCellValue( 1, 0, msg );
|
m_gridDisplayCurrentSettings->SetCellValue( 1, 0, msg );
|
||||||
|
|
||||||
value = netclass->GetViaDiameter(); // Display via diameter
|
value = netclass->GetViaDiameter(); // Display via diameter
|
||||||
msg = ReturnStringFromValue( g_UserUnit, value, Internal_Unit, true );
|
msg = ReturnStringFromValue( g_UserUnit, value, true );
|
||||||
m_gridDisplayCurrentSettings->SetCellValue( 0, 1, msg );
|
m_gridDisplayCurrentSettings->SetCellValue( 0, 1, msg );
|
||||||
if( board->m_ViaSizeSelector )
|
if( board->m_ViaSizeSelector )
|
||||||
{
|
{
|
||||||
value = board->GetCurrentViaSize();
|
value = board->GetCurrentViaSize();
|
||||||
msg = ReturnStringFromValue( g_UserUnit, value, Internal_Unit, true );
|
msg = ReturnStringFromValue( g_UserUnit, value, true );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
msg = _( "Default" );
|
msg = _( "Default" );
|
||||||
m_gridDisplayCurrentSettings->SetCellValue( 1, 1, msg );
|
m_gridDisplayCurrentSettings->SetCellValue( 1, 1, msg );
|
||||||
|
|
||||||
value = netclass->GetViaDrill(); // Display via drill
|
value = netclass->GetViaDrill(); // Display via drill
|
||||||
msg = ReturnStringFromValue( g_UserUnit, value, Internal_Unit, true );
|
msg = ReturnStringFromValue( g_UserUnit, value, true );
|
||||||
m_gridDisplayCurrentSettings->SetCellValue( 0, 2, msg );
|
m_gridDisplayCurrentSettings->SetCellValue( 0, 2, msg );
|
||||||
value = board->GetCurrentViaDrill();
|
value = board->GetCurrentViaDrill();
|
||||||
if( value >= 0 )
|
if( value >= 0 )
|
||||||
msg = ReturnStringFromValue( g_UserUnit, value, Internal_Unit, true );
|
msg = ReturnStringFromValue( g_UserUnit, value, true );
|
||||||
else
|
else
|
||||||
msg = _( "Default" );
|
msg = _( "Default" );
|
||||||
m_gridDisplayCurrentSettings->SetCellValue( 1, 2, msg );
|
m_gridDisplayCurrentSettings->SetCellValue( 1, 2, msg );
|
||||||
|
|
||||||
value = netclass->GetuViaDiameter(); // Display micro via diameter
|
value = netclass->GetuViaDiameter(); // Display micro via diameter
|
||||||
msg = ReturnStringFromValue( g_UserUnit, value, Internal_Unit, true );
|
msg = ReturnStringFromValue( g_UserUnit, value, true );
|
||||||
m_gridDisplayCurrentSettings->SetCellValue( 0, 3, msg );
|
m_gridDisplayCurrentSettings->SetCellValue( 0, 3, msg );
|
||||||
#if 0 // Currently we use always the default netclass value
|
#if 0 // Currently we use always the default netclass value
|
||||||
value = board->GetCurrentMicroViaSize();
|
value = board->GetCurrentMicroViaSize();
|
||||||
msg = ReturnStringFromValue( g_UserUnit, value, Internal_Unit, true );
|
msg = ReturnStringFromValue( g_UserUnit, value, true );
|
||||||
#endif
|
#endif
|
||||||
msg = _( "Default" );
|
msg = _( "Default" );
|
||||||
m_gridDisplayCurrentSettings->SetCellValue( 1, 3, msg );
|
m_gridDisplayCurrentSettings->SetCellValue( 1, 3, msg );
|
||||||
|
|
||||||
value = netclass->GetuViaDrill(); // Display micro via drill
|
value = netclass->GetuViaDrill(); // Display micro via drill
|
||||||
msg = ReturnStringFromValue( g_UserUnit, value, Internal_Unit, true );
|
msg = ReturnStringFromValue( g_UserUnit, value, true );
|
||||||
m_gridDisplayCurrentSettings->SetCellValue( 0, 4, msg );
|
m_gridDisplayCurrentSettings->SetCellValue( 0, 4, msg );
|
||||||
#if 0 // Currently we use always the default netclass value
|
#if 0 // Currently we use always the default netclass value
|
||||||
value = board->GetCurrentMicroViaDrill();
|
value = board->GetCurrentMicroViaDrill();
|
||||||
if( value >= 0 )
|
if( value >= 0 )
|
||||||
msg = ReturnStringFromValue( g_UserUnit, value, Internal_Unit, true );
|
msg = ReturnStringFromValue( g_UserUnit, value, true );
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
msg = _( "Default" );
|
msg = _( "Default" );
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <class_board_design_settings.h>
|
#include <class_board_design_settings.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_drawsegment.h>
|
#include <class_drawsegment.h>
|
||||||
|
@ -136,20 +137,15 @@ void DIALOG_GRAPHIC_ITEM_PROPERTIES::initDlg( )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_Center_StartXCtrl, m_Item->GetStart().x,
|
PutValueInLocalUnits( *m_Center_StartXCtrl, m_Item->GetStart().x );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_Center_StartYCtrl, m_Item->GetStart().y,
|
PutValueInLocalUnits( *m_Center_StartYCtrl, m_Item->GetStart().y );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_EndX_Radius_Ctrl, m_Item->GetEnd().x,
|
PutValueInLocalUnits( *m_EndX_Radius_Ctrl, m_Item->GetEnd().x );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_EndY_Ctrl, m_Item->GetEnd().y,
|
PutValueInLocalUnits( *m_EndY_Ctrl, m_Item->GetEnd().y );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_ThicknessCtrl, m_Item->GetWidth(),
|
PutValueInLocalUnits( *m_ThicknessCtrl, m_Item->GetWidth() );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
int thickness;
|
int thickness;
|
||||||
|
|
||||||
|
@ -158,8 +154,7 @@ void DIALOG_GRAPHIC_ITEM_PROPERTIES::initDlg( )
|
||||||
else
|
else
|
||||||
thickness = m_brdSettings.m_DrawSegmentWidth;
|
thickness = m_brdSettings.m_DrawSegmentWidth;
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_DefaultThicknessCtrl, thickness,
|
PutValueInLocalUnits( *m_DefaultThicknessCtrl, thickness );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
for( int layer=FIRST_NO_COPPER_LAYER; layer <= LAST_NO_COPPER_LAYER; ++layer )
|
for( int layer=FIRST_NO_COPPER_LAYER; layer <= LAST_NO_COPPER_LAYER; ++layer )
|
||||||
{
|
{
|
||||||
|
@ -187,8 +182,7 @@ void DIALOG_GRAPHIC_ITEM_PROPERTIES::OnLayerChoice( wxCommandEvent& event )
|
||||||
else
|
else
|
||||||
thickness = m_brdSettings.m_DrawSegmentWidth;
|
thickness = m_brdSettings.m_DrawSegmentWidth;
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_DefaultThicknessCtrl, thickness,
|
PutValueInLocalUnits( *m_DefaultThicknessCtrl, thickness );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <class_board_design_settings.h>
|
#include <class_board_design_settings.h>
|
||||||
#include <module_editor_frame.h>
|
#include <module_editor_frame.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
|
@ -138,23 +139,17 @@ void DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES::initDlg()
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_Center_StartXCtrl, m_item->GetStart().x,
|
PutValueInLocalUnits( *m_Center_StartXCtrl, m_item->GetStart().x );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_Center_StartYCtrl, m_item->GetStart().y,
|
PutValueInLocalUnits( *m_Center_StartYCtrl, m_item->GetStart().y );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_EndX_Radius_Ctrl, m_item->GetEnd().x,
|
PutValueInLocalUnits( *m_EndX_Radius_Ctrl, m_item->GetEnd().x );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_EndY_Ctrl, m_item->GetEnd().y,
|
PutValueInLocalUnits( *m_EndY_Ctrl, m_item->GetEnd().y );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_ThicknessCtrl, m_item->GetWidth(),
|
PutValueInLocalUnits( *m_ThicknessCtrl, m_item->GetWidth() );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_DefaultThicknessCtrl, m_brdSettings.m_ModuleSegmentWidth,
|
PutValueInLocalUnits( *m_DefaultThicknessCtrl, m_brdSettings.m_ModuleSegmentWidth );
|
||||||
m_parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
m_LayerSelectionCtrl->Append( m_parent->GetBoard()->GetLayerName( LAYER_N_BACK ) );
|
m_LayerSelectionCtrl->Append( m_parent->GetBoard()->GetLayerName( LAYER_N_BACK ) );
|
||||||
m_layerId.push_back( LAYER_N_BACK );
|
m_layerId.push_back( LAYER_N_BACK );
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
|
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <pcbnew_id.h>
|
#include <pcbnew_id.h>
|
||||||
#include <module_editor_frame.h>
|
#include <module_editor_frame.h>
|
||||||
|
@ -58,50 +59,39 @@ void DIALOG_GRAPHIC_ITEMS_OPTIONS::initValues()
|
||||||
|
|
||||||
/* Drawings width */
|
/* Drawings width */
|
||||||
AddUnitSymbol( *m_GraphicSegmWidthTitle );
|
AddUnitSymbol( *m_GraphicSegmWidthTitle );
|
||||||
PutValueInLocalUnits( *m_OptPcbSegmWidth,
|
PutValueInLocalUnits( *m_OptPcbSegmWidth, m_brdSettings.m_DrawSegmentWidth );
|
||||||
m_brdSettings.m_DrawSegmentWidth,
|
|
||||||
PCB_INTERNAL_UNIT );
|
|
||||||
/* Edges width */
|
/* Edges width */
|
||||||
AddUnitSymbol( *m_BoardEdgesWidthTitle );
|
AddUnitSymbol( *m_BoardEdgesWidthTitle );
|
||||||
PutValueInLocalUnits( *m_OptPcbEdgesWidth,
|
PutValueInLocalUnits( *m_OptPcbEdgesWidth, m_brdSettings.m_EdgeSegmentWidth );
|
||||||
m_brdSettings.m_EdgeSegmentWidth,
|
|
||||||
PCB_INTERNAL_UNIT );
|
|
||||||
|
|
||||||
/* Pcb Textes (Size & Width) */
|
/* Pcb Textes (Size & Width) */
|
||||||
AddUnitSymbol( *m_CopperTextWidthTitle );
|
AddUnitSymbol( *m_CopperTextWidthTitle );
|
||||||
PutValueInLocalUnits( *m_OptPcbTextWidth,
|
PutValueInLocalUnits( *m_OptPcbTextWidth, m_brdSettings.m_PcbTextWidth );
|
||||||
m_brdSettings.m_PcbTextWidth, PCB_INTERNAL_UNIT );
|
|
||||||
|
|
||||||
AddUnitSymbol( *m_TextSizeVTitle );
|
AddUnitSymbol( *m_TextSizeVTitle );
|
||||||
PutValueInLocalUnits( *m_OptPcbTextVSize,
|
PutValueInLocalUnits( *m_OptPcbTextVSize, m_brdSettings.m_PcbTextSize.y );
|
||||||
m_brdSettings.m_PcbTextSize.y, PCB_INTERNAL_UNIT );
|
|
||||||
|
|
||||||
AddUnitSymbol( *m_TextSizeHTitle );
|
AddUnitSymbol( *m_TextSizeHTitle );
|
||||||
PutValueInLocalUnits( *m_OptPcbTextHSize,
|
PutValueInLocalUnits( *m_OptPcbTextHSize, m_brdSettings.m_PcbTextSize.x );
|
||||||
m_brdSettings.m_PcbTextSize.x, PCB_INTERNAL_UNIT );
|
|
||||||
|
|
||||||
|
|
||||||
/* Modules: Edges width */
|
/* Modules: Edges width */
|
||||||
AddUnitSymbol( *m_EdgeModWidthTitle );
|
AddUnitSymbol( *m_EdgeModWidthTitle );
|
||||||
PutValueInLocalUnits( *m_OptModuleEdgesWidth,
|
PutValueInLocalUnits( *m_OptModuleEdgesWidth, m_brdSettings.m_ModuleSegmentWidth );
|
||||||
m_brdSettings.m_ModuleSegmentWidth, PCB_INTERNAL_UNIT );
|
|
||||||
|
|
||||||
/* Modules: Texts: Size & width */
|
/* Modules: Texts: Size & width */
|
||||||
AddUnitSymbol( *m_TextModWidthTitle );
|
AddUnitSymbol( *m_TextModWidthTitle );
|
||||||
PutValueInLocalUnits( *m_OptModuleTextWidth,
|
PutValueInLocalUnits( *m_OptModuleTextWidth, m_brdSettings.m_ModuleTextWidth );
|
||||||
m_brdSettings.m_ModuleTextWidth, PCB_INTERNAL_UNIT );
|
|
||||||
|
|
||||||
AddUnitSymbol( *m_TextModSizeVTitle );
|
AddUnitSymbol( *m_TextModSizeVTitle );
|
||||||
PutValueInLocalUnits( *m_OptModuleTextVSize,
|
PutValueInLocalUnits( *m_OptModuleTextVSize, m_brdSettings.m_ModuleTextSize.y );
|
||||||
m_brdSettings.m_ModuleTextSize.y, PCB_INTERNAL_UNIT );
|
|
||||||
|
|
||||||
AddUnitSymbol( *m_TextModSizeHTitle );
|
AddUnitSymbol( *m_TextModSizeHTitle );
|
||||||
PutValueInLocalUnits( *m_OptModuleTextHSize,
|
PutValueInLocalUnits( *m_OptModuleTextHSize, m_brdSettings.m_ModuleTextSize.x );
|
||||||
m_brdSettings.m_ModuleTextSize.x, PCB_INTERNAL_UNIT );
|
|
||||||
|
|
||||||
AddUnitSymbol( *m_DefaultPenSizeTitle );
|
AddUnitSymbol( *m_DefaultPenSizeTitle );
|
||||||
PutValueInLocalUnits( *m_DefaultPenSizeCtrl,
|
PutValueInLocalUnits( *m_DefaultPenSizeCtrl, g_DrawDefaultLineThickness );
|
||||||
g_DrawDefaultLineThickness, PCB_INTERNAL_UNIT );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <class_board_design_settings.h>
|
#include <class_board_design_settings.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
|
|
||||||
|
@ -59,16 +60,11 @@ void DIALOG_PADS_MASK_CLEARANCE::MyInit()
|
||||||
m_SolderMaskMarginUnits->SetLabel( GetUnitsLabel( g_UserUnit ) );
|
m_SolderMaskMarginUnits->SetLabel( GetUnitsLabel( g_UserUnit ) );
|
||||||
m_SolderPasteMarginUnits->SetLabel( GetUnitsLabel( g_UserUnit ) );
|
m_SolderPasteMarginUnits->SetLabel( GetUnitsLabel( g_UserUnit ) );
|
||||||
|
|
||||||
int Internal_Unit = m_Parent->GetInternalUnits();
|
PutValueInLocalUnits( *m_SolderMaskMarginCtrl, m_BrdSettings.m_SolderMaskMargin );
|
||||||
PutValueInLocalUnits( *m_SolderMaskMarginCtrl,
|
|
||||||
m_BrdSettings.m_SolderMaskMargin,
|
|
||||||
Internal_Unit );
|
|
||||||
|
|
||||||
// These 2 parameters are usually < 0, so prepare entering a negative
|
// These 2 parameters are usually < 0, so prepare entering a negative
|
||||||
// value, if current is 0
|
// value, if current is 0
|
||||||
PutValueInLocalUnits( *m_SolderPasteMarginCtrl,
|
PutValueInLocalUnits( *m_SolderPasteMarginCtrl, m_BrdSettings.m_SolderPasteMargin );
|
||||||
m_BrdSettings.m_SolderPasteMargin,
|
|
||||||
Internal_Unit );
|
|
||||||
|
|
||||||
if( m_BrdSettings.m_SolderPasteMargin == 0 )
|
if( m_BrdSettings.m_SolderPasteMargin == 0 )
|
||||||
m_SolderPasteMarginCtrl->SetValue( wxT( "-" ) +
|
m_SolderPasteMarginCtrl->SetValue( wxT( "-" ) +
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <wxBasePcbFrame.h>
|
#include <wxBasePcbFrame.h>
|
||||||
#include <pcbcommon.h>
|
#include <pcbcommon.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <wx/dcbuffer.h>
|
#include <wx/dcbuffer.h>
|
||||||
#include <protos.h>
|
#include <protos.h>
|
||||||
|
@ -243,7 +244,6 @@ void PCB_BASE_FRAME::InstallPadOptionsFrame( D_PAD* aPad )
|
||||||
|
|
||||||
void DIALOG_PAD_PROPERTIES::initValues()
|
void DIALOG_PAD_PROPERTIES::initValues()
|
||||||
{
|
{
|
||||||
int internalUnits = m_Parent->GetInternalUnits();
|
|
||||||
wxString msg;
|
wxString msg;
|
||||||
double angle;
|
double angle;
|
||||||
|
|
||||||
|
@ -319,42 +319,38 @@ void DIALOG_PAD_PROPERTIES::initValues()
|
||||||
m_ThermalGapUnits->SetLabel( GetUnitsLabel( g_UserUnit ) );
|
m_ThermalGapUnits->SetLabel( GetUnitsLabel( g_UserUnit ) );
|
||||||
|
|
||||||
// Display current pad parameters units:
|
// Display current pad parameters units:
|
||||||
PutValueInLocalUnits( *m_PadPosition_X_Ctrl, m_dummyPad->GetPosition().x, internalUnits );
|
PutValueInLocalUnits( *m_PadPosition_X_Ctrl, m_dummyPad->GetPosition().x );
|
||||||
PutValueInLocalUnits( *m_PadPosition_Y_Ctrl, m_dummyPad->GetPosition().y, internalUnits );
|
PutValueInLocalUnits( *m_PadPosition_Y_Ctrl, m_dummyPad->GetPosition().y );
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_PadDrill_X_Ctrl, m_dummyPad->GetDrillSize().x, internalUnits );
|
PutValueInLocalUnits( *m_PadDrill_X_Ctrl, m_dummyPad->GetDrillSize().x );
|
||||||
PutValueInLocalUnits( *m_PadDrill_Y_Ctrl, m_dummyPad->GetDrillSize().y, internalUnits );
|
PutValueInLocalUnits( *m_PadDrill_Y_Ctrl, m_dummyPad->GetDrillSize().y );
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_ShapeSize_X_Ctrl, m_dummyPad->GetSize().x, internalUnits );
|
PutValueInLocalUnits( *m_ShapeSize_X_Ctrl, m_dummyPad->GetSize().x );
|
||||||
PutValueInLocalUnits( *m_ShapeSize_Y_Ctrl, m_dummyPad->GetSize().y, internalUnits );
|
PutValueInLocalUnits( *m_ShapeSize_Y_Ctrl, m_dummyPad->GetSize().y );
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_ShapeOffset_X_Ctrl, m_dummyPad->GetOffset().x, internalUnits );
|
PutValueInLocalUnits( *m_ShapeOffset_X_Ctrl, m_dummyPad->GetOffset().x );
|
||||||
PutValueInLocalUnits( *m_ShapeOffset_Y_Ctrl, m_dummyPad->GetOffset().y, internalUnits );
|
PutValueInLocalUnits( *m_ShapeOffset_Y_Ctrl, m_dummyPad->GetOffset().y );
|
||||||
|
|
||||||
if( m_dummyPad->GetDelta().x )
|
if( m_dummyPad->GetDelta().x )
|
||||||
{
|
{
|
||||||
PutValueInLocalUnits( *m_ShapeDelta_Ctrl, m_dummyPad->GetDelta().x, internalUnits );
|
PutValueInLocalUnits( *m_ShapeDelta_Ctrl, m_dummyPad->GetDelta().x );
|
||||||
m_trapDeltaDirChoice->SetSelection( 0 );
|
m_trapDeltaDirChoice->SetSelection( 0 );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PutValueInLocalUnits( *m_ShapeDelta_Ctrl, m_dummyPad->GetDelta().y, internalUnits );
|
PutValueInLocalUnits( *m_ShapeDelta_Ctrl, m_dummyPad->GetDelta().y );
|
||||||
m_trapDeltaDirChoice->SetSelection( 1 );
|
m_trapDeltaDirChoice->SetSelection( 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_LengthDieCtrl, m_dummyPad->GetDieLength(), internalUnits );
|
PutValueInLocalUnits( *m_LengthDieCtrl, m_dummyPad->GetDieLength() );
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_NetClearanceValueCtrl, m_dummyPad->GetLocalClearance(), internalUnits );
|
PutValueInLocalUnits( *m_NetClearanceValueCtrl, m_dummyPad->GetLocalClearance() );
|
||||||
PutValueInLocalUnits( *m_SolderMaskMarginCtrl,
|
PutValueInLocalUnits( *m_SolderMaskMarginCtrl, m_dummyPad->GetLocalSolderMaskMargin() );
|
||||||
m_dummyPad->GetLocalSolderMaskMargin(),
|
PutValueInLocalUnits( *m_ThermalWidthCtrl, m_dummyPad->GetThermalWidth() );
|
||||||
internalUnits );
|
PutValueInLocalUnits( *m_ThermalGapCtrl, m_dummyPad->GetThermalGap() );
|
||||||
PutValueInLocalUnits( *m_ThermalWidthCtrl, m_dummyPad->GetThermalWidth(), internalUnits );
|
|
||||||
PutValueInLocalUnits( *m_ThermalGapCtrl, m_dummyPad->GetThermalGap(), internalUnits );
|
|
||||||
|
|
||||||
// These 2 parameters are usually < 0, so prepare entering a negative value, if current is 0
|
// These 2 parameters are usually < 0, so prepare entering a negative value, if current is 0
|
||||||
PutValueInLocalUnits( *m_SolderPasteMarginCtrl,
|
PutValueInLocalUnits( *m_SolderPasteMarginCtrl, m_dummyPad->GetLocalSolderPasteMargin() );
|
||||||
m_dummyPad->GetLocalSolderPasteMargin(),
|
|
||||||
internalUnits );
|
|
||||||
|
|
||||||
if( m_dummyPad->GetLocalSolderPasteMargin() == 0 )
|
if( m_dummyPad->GetLocalSolderPasteMargin() == 0 )
|
||||||
m_SolderPasteMarginCtrl->SetValue( wxT( "-" ) + m_SolderPasteMarginCtrl->GetValue() );
|
m_SolderPasteMarginCtrl->SetValue( wxT( "-" ) + m_SolderPasteMarginCtrl->GetValue() );
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <drawtxt.h>
|
#include <drawtxt.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_pcb_text.h>
|
#include <class_pcb_text.h>
|
||||||
|
@ -113,16 +114,11 @@ void DIALOG_PCB_TEXT_PROPERTIES::MyInit()
|
||||||
// Fill fields with current values
|
// Fill fields with current values
|
||||||
*m_TextContentCtrl << m_SelectedPCBText->m_Text;
|
*m_TextContentCtrl << m_SelectedPCBText->m_Text;
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_SizeXCtrl, m_SelectedPCBText->m_Size.x,
|
PutValueInLocalUnits( *m_SizeXCtrl, m_SelectedPCBText->m_Size.x );
|
||||||
m_Parent->GetInternalUnits() );
|
PutValueInLocalUnits( *m_SizeYCtrl, m_SelectedPCBText->m_Size.y );
|
||||||
PutValueInLocalUnits( *m_SizeYCtrl, m_SelectedPCBText->m_Size.y,
|
PutValueInLocalUnits( *m_ThicknessCtrl, m_SelectedPCBText->m_Thickness );
|
||||||
m_Parent->GetInternalUnits() );
|
PutValueInLocalUnits( *m_PositionXCtrl, m_SelectedPCBText->m_Pos.x );
|
||||||
PutValueInLocalUnits( *m_ThicknessCtrl, m_SelectedPCBText->m_Thickness,
|
PutValueInLocalUnits( *m_PositionYCtrl, m_SelectedPCBText->m_Pos.y );
|
||||||
m_Parent->GetInternalUnits() );
|
|
||||||
PutValueInLocalUnits( *m_PositionXCtrl, m_SelectedPCBText->m_Pos.x,
|
|
||||||
m_Parent->GetInternalUnits() );
|
|
||||||
PutValueInLocalUnits( *m_PositionYCtrl, m_SelectedPCBText->m_Pos.y,
|
|
||||||
m_Parent->GetInternalUnits() );
|
|
||||||
|
|
||||||
int enabledLayers = m_Parent->GetBoard()->GetEnabledLayers();
|
int enabledLayers = m_Parent->GetBoard()->GetEnabledLayers();
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <printout_controler.h>
|
#include <printout_controler.h>
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
|
@ -260,7 +261,7 @@ void DIALOG_PRINT_USING_PRINTER::InitValues( )
|
||||||
s_Parameters.m_PenDefaultSize = g_DrawDefaultLineThickness;
|
s_Parameters.m_PenDefaultSize = g_DrawDefaultLineThickness;
|
||||||
AddUnitSymbol( *m_TextPenWidth, g_UserUnit );
|
AddUnitSymbol( *m_TextPenWidth, g_UserUnit );
|
||||||
m_DialogPenWidth->SetValue(
|
m_DialogPenWidth->SetValue(
|
||||||
ReturnStringFromValue( g_UserUnit, s_Parameters.m_PenDefaultSize, m_parent->GetInternalUnits() ) );
|
ReturnStringFromValue( g_UserUnit, s_Parameters.m_PenDefaultSize ) );
|
||||||
|
|
||||||
// Create scale adjust option
|
// Create scale adjust option
|
||||||
msg.Printf( wxT( "%f" ), s_Parameters.m_XScaleAdjust );
|
msg.Printf( wxT( "%f" ), s_Parameters.m_XScaleAdjust );
|
||||||
|
@ -399,7 +400,7 @@ void DIALOG_PRINT_USING_PRINTER::SetPenWidth()
|
||||||
g_DrawDefaultLineThickness = s_Parameters.m_PenDefaultSize;
|
g_DrawDefaultLineThickness = s_Parameters.m_PenDefaultSize;
|
||||||
|
|
||||||
m_DialogPenWidth->SetValue(
|
m_DialogPenWidth->SetValue(
|
||||||
ReturnStringFromValue( g_UserUnit, s_Parameters.m_PenDefaultSize, m_parent->GetInternalUnits() ) );
|
ReturnStringFromValue( g_UserUnit, s_Parameters.m_PenDefaultSize ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void DIALOG_PRINT_USING_PRINTER::OnScaleSelectionClick( wxCommandEvent& event )
|
void DIALOG_PRINT_USING_PRINTER::OnScaleSelectionClick( wxCommandEvent& event )
|
||||||
|
@ -416,7 +417,7 @@ void DIALOG_PRINT_USING_PRINTER::OnScaleSelectionClick( wxCommandEvent& event )
|
||||||
|
|
||||||
void DIALOG_PRINT_USING_PRINTER::OnPageSetup( wxCommandEvent& event )
|
void DIALOG_PRINT_USING_PRINTER::OnPageSetup( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
wxPageSetupDialog pageSetupDialog(this, s_pageSetupData);
|
wxPageSetupDialog pageSetupDialog( this, s_pageSetupData );
|
||||||
pageSetupDialog.ShowModal();
|
pageSetupDialog.ShowModal();
|
||||||
|
|
||||||
(*s_PrintData) = pageSetupDialog.GetPageSetupDialogData().GetPrintData();
|
(*s_PrintData) = pageSetupDialog.GetPageSetupDialogData().GetPrintData();
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include <drawtxt.h>
|
#include <drawtxt.h>
|
||||||
#include <dialog_helpers.h>
|
#include <dialog_helpers.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_pcb_text.h>
|
#include <class_pcb_text.h>
|
||||||
|
@ -91,24 +92,19 @@ DIALOG_DIMENSION_EDITOR::DIALOG_DIMENSION_EDITOR( PCB_EDIT_FRAME* aParent,
|
||||||
m_Name->SetValue( aDimension->m_Text.m_Text );
|
m_Name->SetValue( aDimension->m_Text.m_Text );
|
||||||
|
|
||||||
// Enter size value in dialog
|
// Enter size value in dialog
|
||||||
PutValueInLocalUnits( *m_TxtSizeXCtrl, aDimension->m_Text.m_Size.x,
|
PutValueInLocalUnits( *m_TxtSizeXCtrl, aDimension->m_Text.m_Size.x );
|
||||||
m_Parent->GetInternalUnits() );
|
|
||||||
AddUnitSymbol( *m_staticTextSizeX );
|
AddUnitSymbol( *m_staticTextSizeX );
|
||||||
PutValueInLocalUnits( *m_TxtSizeYCtrl, aDimension->m_Text.m_Size.y,
|
PutValueInLocalUnits( *m_TxtSizeYCtrl, aDimension->m_Text.m_Size.y );
|
||||||
m_Parent->GetInternalUnits() );
|
|
||||||
AddUnitSymbol( *m_staticTextSizeY );
|
AddUnitSymbol( *m_staticTextSizeY );
|
||||||
|
|
||||||
// Enter lines thickness value in dialog
|
// Enter lines thickness value in dialog
|
||||||
PutValueInLocalUnits( *m_TxtWidthCtrl, aDimension->m_Width,
|
PutValueInLocalUnits( *m_TxtWidthCtrl, aDimension->m_Width );
|
||||||
m_Parent->GetInternalUnits() );
|
|
||||||
AddUnitSymbol( *m_staticTextWidth );
|
AddUnitSymbol( *m_staticTextWidth );
|
||||||
|
|
||||||
// Enter position value in dialog
|
// Enter position value in dialog
|
||||||
PutValueInLocalUnits( *m_textCtrlPosX, aDimension->m_Text.m_Pos.x,
|
PutValueInLocalUnits( *m_textCtrlPosX, aDimension->m_Text.m_Pos.x );
|
||||||
m_Parent->GetInternalUnits() );
|
|
||||||
AddUnitSymbol( *m_staticTextPosX );
|
AddUnitSymbol( *m_staticTextPosX );
|
||||||
PutValueInLocalUnits( *m_textCtrlPosY, aDimension->m_Text.m_Pos.y,
|
PutValueInLocalUnits( *m_textCtrlPosY, aDimension->m_Text.m_Pos.y );
|
||||||
m_Parent->GetInternalUnits() );
|
|
||||||
AddUnitSymbol( *m_staticTextPosY );
|
AddUnitSymbol( *m_staticTextPosY );
|
||||||
|
|
||||||
for( int layer = FIRST_NO_COPPER_LAYER; layer<NB_LAYERS; layer++ )
|
for( int layer = FIRST_NO_COPPER_LAYER; layer<NB_LAYERS; layer++ )
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
|
#include <base_units.h>
|
||||||
#include <class_board_design_settings.h>
|
#include <class_board_design_settings.h>
|
||||||
|
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
|
@ -55,14 +56,11 @@ void DRC::ShowDialog()
|
||||||
// copy data retained in this DRC object into the m_ui DrcPanel:
|
// copy data retained in this DRC object into the m_ui DrcPanel:
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_ui->m_SetTrackMinWidthCtrl,
|
PutValueInLocalUnits( *m_ui->m_SetTrackMinWidthCtrl,
|
||||||
m_pcb->GetDesignSettings().m_TrackMinWidth,
|
m_pcb->GetDesignSettings().m_TrackMinWidth );
|
||||||
m_mainWindow->GetInternalUnits() );
|
|
||||||
PutValueInLocalUnits( *m_ui->m_SetViaMinSizeCtrl,
|
PutValueInLocalUnits( *m_ui->m_SetViaMinSizeCtrl,
|
||||||
m_pcb->GetDesignSettings().m_ViasMinSize,
|
m_pcb->GetDesignSettings().m_ViasMinSize );
|
||||||
m_mainWindow->GetInternalUnits() );
|
|
||||||
PutValueInLocalUnits( *m_ui->m_SetMicroViakMinSizeCtrl,
|
PutValueInLocalUnits( *m_ui->m_SetMicroViakMinSizeCtrl,
|
||||||
m_pcb->GetDesignSettings().m_MicroViasMinSize,
|
m_pcb->GetDesignSettings().m_MicroViasMinSize );
|
||||||
m_mainWindow->GetInternalUnits() );
|
|
||||||
|
|
||||||
m_ui->m_CreateRptCtrl->SetValue( m_doCreateRptFile );
|
m_ui->m_CreateRptCtrl->SetValue( m_doCreateRptFile );
|
||||||
m_ui->m_RptFilenameCtrl->SetValue( m_rptFilename );
|
m_ui->m_RptFilenameCtrl->SetValue( m_rptFilename );
|
||||||
|
@ -294,7 +292,7 @@ bool DRC::doNetClass( NETCLASS* nc, wxString& msg )
|
||||||
|
|
||||||
const BOARD_DESIGN_SETTINGS& g = m_pcb->GetDesignSettings();
|
const BOARD_DESIGN_SETTINGS& g = m_pcb->GetDesignSettings();
|
||||||
|
|
||||||
#define FmtVal( x ) GetChars( ReturnStringFromValue( g_UserUnit, x, PCB_INTERNAL_UNIT ) )
|
#define FmtVal( x ) GetChars( ReturnStringFromValue( g_UserUnit, x ) )
|
||||||
|
|
||||||
#if 0 // set to 1 when (if...) BOARD_DESIGN_SETTINGS has a m_MinClearance value
|
#if 0 // set to 1 when (if...) BOARD_DESIGN_SETTINGS has a m_MinClearance value
|
||||||
if( nc->GetClearance() < g.m_MinClearance )
|
if( nc->GetClearance() < g.m_MinClearance )
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <module_editor_frame.h>
|
#include <module_editor_frame.h>
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
|
@ -238,8 +239,7 @@ void FOOTPRINT_EDIT_FRAME::Enter_Edge_Width( EDGE_MODULE* aEdge )
|
||||||
{
|
{
|
||||||
wxString buffer;
|
wxString buffer;
|
||||||
|
|
||||||
buffer = ReturnStringFromValue( g_UserUnit, GetDesignSettings().m_ModuleSegmentWidth,
|
buffer = ReturnStringFromValue( g_UserUnit, GetDesignSettings().m_ModuleSegmentWidth );
|
||||||
GetScreen()->GetInternalUnits() );
|
|
||||||
wxTextEntryDialog dlg( this, _( "New Width:" ), _( "Edge Width" ), buffer );
|
wxTextEntryDialog dlg( this, _( "New Width:" ), _( "Edge Width" ), buffer );
|
||||||
|
|
||||||
if( dlg.ShowModal() != wxID_OK )
|
if( dlg.ShowModal() != wxID_OK )
|
||||||
|
|
|
@ -41,6 +41,7 @@
|
||||||
#include <gr_basic.h>
|
#include <gr_basic.h>
|
||||||
#include <pcbcommon.h>
|
#include <pcbcommon.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
|
@ -197,7 +198,7 @@ MODULE* PCB_EDIT_FRAME::Genere_Self( wxDC* DC )
|
||||||
Mself.lng = min_len;
|
Mself.lng = min_len;
|
||||||
|
|
||||||
// Enter the desired length.
|
// Enter the desired length.
|
||||||
msg = ReturnStringFromValue( g_UserUnit, Mself.lng, GetScreen()->GetInternalUnits() );
|
msg = ReturnStringFromValue( g_UserUnit, Mself.lng );
|
||||||
wxTextEntryDialog dlg( this, _( "Length:" ), _( "Length" ), msg );
|
wxTextEntryDialog dlg( this, _( "Length:" ), _( "Length" ), msg );
|
||||||
|
|
||||||
if( dlg.ShowModal() != wxID_OK )
|
if( dlg.ShowModal() != wxID_OK )
|
||||||
|
@ -610,8 +611,7 @@ MODULE* PCB_EDIT_FRAME::Create_MuWaveComponent( int shape_type )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxString value = ReturnStringFromValue( g_UserUnit, gap_size,
|
wxString value = ReturnStringFromValue( g_UserUnit, gap_size );
|
||||||
GetScreen()->GetInternalUnits() );
|
|
||||||
wxTextEntryDialog dlg( this, msg, _( "Create microwave module" ), value );
|
wxTextEntryDialog dlg( this, msg, _( "Create microwave module" ), value );
|
||||||
|
|
||||||
if( dlg.ShowModal() != wxID_OK )
|
if( dlg.ShowModal() != wxID_OK )
|
||||||
|
@ -1087,7 +1087,7 @@ void PCB_EDIT_FRAME::Edit_Gap( wxDC* DC, MODULE* aModule )
|
||||||
gap_size = next_pad->GetPos0().x - pad->GetPos0().x - pad->GetSize().x;
|
gap_size = next_pad->GetPos0().x - pad->GetPos0().x - pad->GetSize().x;
|
||||||
|
|
||||||
// Entrer the desired length of the gap.
|
// Entrer the desired length of the gap.
|
||||||
msg = ReturnStringFromValue( g_UserUnit, gap_size, GetScreen()->GetInternalUnits() );
|
msg = ReturnStringFromValue( g_UserUnit, gap_size );
|
||||||
wxTextEntryDialog dlg( this, _( "Gap:" ), _( "Create Microwave Gap" ), msg );
|
wxTextEntryDialog dlg( this, _( "Gap:" ), _( "Create Microwave Gap" ), msg );
|
||||||
|
|
||||||
if( dlg.ShowModal() != wxID_OK )
|
if( dlg.ShowModal() != wxID_OK )
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
|
@ -888,8 +889,7 @@ static wxMenu* Append_Track_Width_List( BOARD* aBoard )
|
||||||
|
|
||||||
for( unsigned ii = 0; ii < aBoard->m_TrackWidthList.size(); ii++ )
|
for( unsigned ii = 0; ii < aBoard->m_TrackWidthList.size(); ii++ )
|
||||||
{
|
{
|
||||||
value = ReturnStringFromValue( g_UserUnit, aBoard->m_TrackWidthList[ii],
|
value = ReturnStringFromValue( g_UserUnit, aBoard->m_TrackWidthList[ii], true );
|
||||||
PCB_INTERNAL_UNIT, true );
|
|
||||||
msg.Printf( _( "Track %s" ), GetChars( value ) );
|
msg.Printf( _( "Track %s" ), GetChars( value ) );
|
||||||
|
|
||||||
if( ii == 0 )
|
if( ii == 0 )
|
||||||
|
@ -903,10 +903,10 @@ static wxMenu* Append_Track_Width_List( BOARD* aBoard )
|
||||||
for( unsigned ii = 0; ii < aBoard->m_ViasDimensionsList.size(); ii++ )
|
for( unsigned ii = 0; ii < aBoard->m_ViasDimensionsList.size(); ii++ )
|
||||||
{
|
{
|
||||||
value = ReturnStringFromValue( g_UserUnit, aBoard->m_ViasDimensionsList[ii].m_Diameter,
|
value = ReturnStringFromValue( g_UserUnit, aBoard->m_ViasDimensionsList[ii].m_Diameter,
|
||||||
PCB_INTERNAL_UNIT, true );
|
true );
|
||||||
wxString drill = ReturnStringFromValue( g_UserUnit,
|
wxString drill = ReturnStringFromValue( g_UserUnit,
|
||||||
aBoard->m_ViasDimensionsList[ii].m_Drill,
|
aBoard->m_ViasDimensionsList[ii].m_Drill,
|
||||||
PCB_INTERNAL_UNIT, true );
|
true );
|
||||||
|
|
||||||
if( aBoard->m_ViasDimensionsList[ii].m_Drill <= 0 )
|
if( aBoard->m_ViasDimensionsList[ii].m_Drill <= 0 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#include <worksheet.h>
|
#include <worksheet.h>
|
||||||
#include <pcbstruct.h>
|
#include <pcbstruct.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
|
|
||||||
|
@ -120,21 +121,20 @@ void DIALOG_PLOT::Init_Dialog()
|
||||||
|
|
||||||
// Set units and value for HPGL pen size.
|
// Set units and value for HPGL pen size.
|
||||||
AddUnitSymbol( *m_textPenSize, g_UserUnit );
|
AddUnitSymbol( *m_textPenSize, g_UserUnit );
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_plotOpts.GetHpglPenDiameter(), UNITS_MILS );
|
msg = ReturnStringFromValue( g_UserUnit, m_plotOpts.GetHpglPenDiameter() * 10 );
|
||||||
m_HPGLPenSizeOpt->AppendText( msg );
|
m_HPGLPenSizeOpt->AppendText( msg );
|
||||||
|
|
||||||
// Set units to cm/s for standard HPGL pen speed.
|
// Set units to cm/s for standard HPGL pen speed.
|
||||||
msg = ReturnStringFromValue( UNSCALED_UNITS, m_plotOpts.GetHpglPenSpeed(), 1 );
|
msg = ReturnStringFromValue( UNSCALED_UNITS, m_plotOpts.GetHpglPenSpeed() * 10000 );
|
||||||
m_HPGLPenSpeedOpt->AppendText( msg );
|
m_HPGLPenSpeedOpt->AppendText( msg );
|
||||||
|
|
||||||
// Set units and value for HPGL pen overlay.
|
// Set units and value for HPGL pen overlay.
|
||||||
AddUnitSymbol( *m_textPenOvr, g_UserUnit );
|
AddUnitSymbol( *m_textPenOvr, g_UserUnit );
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_plotOpts.GetHpglPenOverlay(), UNITS_MILS );
|
msg = ReturnStringFromValue( g_UserUnit, m_plotOpts.GetHpglPenOverlay() * 10 );
|
||||||
m_HPGLPenOverlayOpt->AppendText( msg );
|
m_HPGLPenOverlayOpt->AppendText( msg );
|
||||||
|
|
||||||
AddUnitSymbol( *m_textDefaultPenSize, g_UserUnit );
|
AddUnitSymbol( *m_textDefaultPenSize, g_UserUnit );
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_plotOpts.GetPlotLineWidth(),
|
msg = ReturnStringFromValue( g_UserUnit, m_plotOpts.GetPlotLineWidth() );
|
||||||
PCB_INTERNAL_UNIT );
|
|
||||||
m_linesWidth->AppendText( msg );
|
m_linesWidth->AppendText( msg );
|
||||||
|
|
||||||
// Set units for PS global width correction.
|
// Set units for PS global width correction.
|
||||||
|
@ -157,7 +157,7 @@ void DIALOG_PLOT::Init_Dialog()
|
||||||
if( m_PSWidthAdjust < m_WidthAdjustMinValue || m_PSWidthAdjust > m_WidthAdjustMaxValue )
|
if( m_PSWidthAdjust < m_WidthAdjustMinValue || m_PSWidthAdjust > m_WidthAdjustMaxValue )
|
||||||
m_PSWidthAdjust = 0.;
|
m_PSWidthAdjust = 0.;
|
||||||
|
|
||||||
msg.Printf( wxT( "%f" ), To_User_Unit( g_UserUnit, m_PSWidthAdjust, PCB_INTERNAL_UNIT ) );
|
msg.Printf( wxT( "%f" ), To_User_Unit( g_UserUnit, m_PSWidthAdjust ) );
|
||||||
m_PSFineAdjustWidthOpt->AppendText( msg );
|
m_PSFineAdjustWidthOpt->AppendText( msg );
|
||||||
|
|
||||||
m_plotPSNegativeOpt->SetValue( m_plotOpts.m_PlotPSNegative );
|
m_plotPSNegativeOpt->SetValue( m_plotOpts.m_PlotPSNegative );
|
||||||
|
@ -454,7 +454,7 @@ void DIALOG_PLOT::applyPlotSettings()
|
||||||
|
|
||||||
if( !tempOptions.SetHpglPenDiameter( tmp ) )
|
if( !tempOptions.SetHpglPenDiameter( tmp ) )
|
||||||
{
|
{
|
||||||
msg = ReturnStringFromValue( g_UserUnit, tempOptions.GetHpglPenDiameter(), UNITS_MILS );
|
msg = ReturnStringFromValue( g_UserUnit, tempOptions.GetHpglPenDiameter() * 10 );
|
||||||
m_HPGLPenSizeOpt->SetValue( msg );
|
m_HPGLPenSizeOpt->SetValue( msg );
|
||||||
msg.Printf( _( "HPGL pen size constrained!\n" ) );
|
msg.Printf( _( "HPGL pen size constrained!\n" ) );
|
||||||
m_messagesBox->AppendText( msg );
|
m_messagesBox->AppendText( msg );
|
||||||
|
@ -466,7 +466,7 @@ void DIALOG_PLOT::applyPlotSettings()
|
||||||
|
|
||||||
if( !tempOptions.SetHpglPenSpeed( tmp ) )
|
if( !tempOptions.SetHpglPenSpeed( tmp ) )
|
||||||
{
|
{
|
||||||
msg = ReturnStringFromValue( UNSCALED_UNITS, tempOptions.GetHpglPenSpeed(), 1 );
|
msg = ReturnStringFromValue( UNSCALED_UNITS, tempOptions.GetHpglPenSpeed() * 1000 );
|
||||||
m_HPGLPenSpeedOpt->SetValue( msg );
|
m_HPGLPenSpeedOpt->SetValue( msg );
|
||||||
msg.Printf( _( "HPGL pen speed constrained!\n" ) );
|
msg.Printf( _( "HPGL pen speed constrained!\n" ) );
|
||||||
m_messagesBox->AppendText( msg );
|
m_messagesBox->AppendText( msg );
|
||||||
|
@ -478,7 +478,7 @@ void DIALOG_PLOT::applyPlotSettings()
|
||||||
|
|
||||||
if( !tempOptions.SetHpglPenOverlay( tmp ) )
|
if( !tempOptions.SetHpglPenOverlay( tmp ) )
|
||||||
{
|
{
|
||||||
msg = ReturnStringFromValue( g_UserUnit, tempOptions.GetHpglPenOverlay(), UNITS_MILS );
|
msg = ReturnStringFromValue( g_UserUnit, tempOptions.GetHpglPenOverlay() * 10 );
|
||||||
m_HPGLPenOverlayOpt->SetValue( msg );
|
m_HPGLPenOverlayOpt->SetValue( msg );
|
||||||
msg.Printf( _( "HPGL pen overlay constrained!\n" ) );
|
msg.Printf( _( "HPGL pen overlay constrained!\n" ) );
|
||||||
m_messagesBox->AppendText( msg );
|
m_messagesBox->AppendText( msg );
|
||||||
|
@ -490,8 +490,7 @@ void DIALOG_PLOT::applyPlotSettings()
|
||||||
|
|
||||||
if( !tempOptions.SetPlotLineWidth( tmp ) )
|
if( !tempOptions.SetPlotLineWidth( tmp ) )
|
||||||
{
|
{
|
||||||
msg = ReturnStringFromValue( g_UserUnit, tempOptions.GetPlotLineWidth(),
|
msg = ReturnStringFromValue( g_UserUnit, tempOptions.GetPlotLineWidth() );
|
||||||
PCB_INTERNAL_UNIT );
|
|
||||||
m_linesWidth->SetValue( msg );
|
m_linesWidth->SetValue( msg );
|
||||||
msg.Printf( _( "Default linewidth constrained!\n" ) );
|
msg.Printf( _( "Default linewidth constrained!\n" ) );
|
||||||
m_messagesBox->AppendText( msg );
|
m_messagesBox->AppendText( msg );
|
||||||
|
@ -532,13 +531,13 @@ void DIALOG_PLOT::applyPlotSettings()
|
||||||
|
|
||||||
if( !setDouble( &m_PSWidthAdjust, tmpDouble, m_WidthAdjustMinValue, m_WidthAdjustMaxValue ) )
|
if( !setDouble( &m_PSWidthAdjust, tmpDouble, m_WidthAdjustMinValue, m_WidthAdjustMaxValue ) )
|
||||||
{
|
{
|
||||||
msg = ReturnStringFromValue( g_UserUnit, m_PSWidthAdjust, PCB_INTERNAL_UNIT );
|
msg = ReturnStringFromValue( g_UserUnit, m_PSWidthAdjust );
|
||||||
m_PSFineAdjustWidthOpt->SetValue( msg );
|
m_PSFineAdjustWidthOpt->SetValue( msg );
|
||||||
msg.Printf( _( "Width correction constrained!\n"
|
msg.Printf( _( "Width correction constrained!\n"
|
||||||
"The reasonable width correction value must be in a range of\n"
|
"The reasonable width correction value must be in a range of\n"
|
||||||
" [%+f; %+f] (%s) for current design rules!\n" ),
|
" [%+f; %+f] (%s) for current design rules!\n" ),
|
||||||
To_User_Unit( g_UserUnit, m_WidthAdjustMinValue, PCB_INTERNAL_UNIT ),
|
To_User_Unit( g_UserUnit, m_WidthAdjustMinValue ),
|
||||||
To_User_Unit( g_UserUnit, m_WidthAdjustMaxValue, PCB_INTERNAL_UNIT ),
|
To_User_Unit( g_UserUnit, m_WidthAdjustMaxValue ),
|
||||||
( g_UserUnit == INCHES )? wxT("\"") : wxT("mm") );
|
( g_UserUnit == INCHES )? wxT("\"") : wxT("mm") );
|
||||||
m_messagesBox->AppendText( msg );
|
m_messagesBox->AppendText( msg );
|
||||||
}
|
}
|
||||||
|
@ -610,7 +609,7 @@ void DIALOG_PLOT::Plot( wxCommandEvent& event )
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
wxMessageBox( _( "Cannot create output directory!" ),
|
wxMessageBox( _( "Cannot create output directory!" ),
|
||||||
_( "Plot" ), wxOK | wxICON_ERROR );
|
_( "Plot" ), wxOK | wxICON_ERROR );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <wxBasePcbFrame.h>
|
#include <wxBasePcbFrame.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <pcbnew_id.h>
|
#include <pcbnew_id.h>
|
||||||
|
@ -135,8 +136,8 @@ void DIALOG_SET_GRID::SetGridOrigin( const wxPoint& grid )
|
||||||
{
|
{
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
|
||||||
PutValueInLocalUnits( *m_GridOriginXCtrl, grid.x, m_internalUnits );
|
PutValueInLocalUnits( *m_GridOriginXCtrl, grid.x );
|
||||||
PutValueInLocalUnits( *m_GridOriginYCtrl, grid.y, m_internalUnits );
|
PutValueInLocalUnits( *m_GridOriginYCtrl, grid.y );
|
||||||
}
|
}
|
||||||
|
|
||||||
void DIALOG_SET_GRID::SetGridForFastSwitching( wxArrayString aGrids, int aGrid1, int aGrid2 )
|
void DIALOG_SET_GRID::SetGridForFastSwitching( wxArrayString aGrids, int aGrid1, int aGrid2 )
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
#include <appl_wxstruct.h>
|
#include <appl_wxstruct.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
|
#include <base_units.h>
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_zone.h>
|
#include <class_zone.h>
|
||||||
|
@ -79,9 +80,7 @@ void DIALOG_NON_COPPER_ZONES_EDITOR::Init()
|
||||||
m_FillModeCtrl->SetSelection( m_settings.m_FillMode ? 1 : 0 );
|
m_FillModeCtrl->SetSelection( m_settings.m_FillMode ? 1 : 0 );
|
||||||
|
|
||||||
AddUnitSymbol( *m_MinThicknessValueTitle, g_UserUnit );
|
AddUnitSymbol( *m_MinThicknessValueTitle, g_UserUnit );
|
||||||
wxString msg = ReturnStringFromValue( g_UserUnit,
|
wxString msg = ReturnStringFromValue( g_UserUnit, m_settings.m_ZoneMinThickness );
|
||||||
m_settings.m_ZoneMinThickness,
|
|
||||||
m_Parent->GetInternalUnits() );
|
|
||||||
m_ZoneMinThicknessCtrl->SetValue( msg );
|
m_ZoneMinThicknessCtrl->SetValue( msg );
|
||||||
|
|
||||||
if( m_settings.m_Zone_45_Only )
|
if( m_settings.m_Zone_45_Only )
|
||||||
|
|
Loading…
Reference in New Issue