use the same format string in the test program as in LEGACY_PLUGIN for record keeping purposes

This commit is contained in:
Dick Hollenbeck 2012-06-25 09:44:47 -05:00
parent e5452a7a39
commit f94a95ab5b
3 changed files with 21 additions and 28 deletions

View File

@ -48,37 +48,30 @@ E6) Start initial work for changing component library file format to use Dick's
PCBNew PCBNew
------ ------
* Make the zone hit testing be done in screen coordinates, not internal units. *) Make the zone hit testing be done in screen coordinates, not internal units.
See the @todos in class_zone.cpp See the @todos in class_zone.cpp. A fixed distance in internal units becomes
a variable distance based on zoom factor, leading to inconsistent results at
various zoom factors. I believe that a fixed distance in pixels might make
for a friendlier UI.
*) Check that the new load visibility BOARD settings is properly setting the toolbar
Dick's Peronal TODO Items (Last Update: 24-April-2012)
-----------------------------------------------------
1) Work through some scroll, pan, zoom overflows in PCBNEW's nanometer build mode.
It is thought that if we can constrain the virtual IU space to within
INT_MIN to INT_MAX then a whole host of other problems will go away. Most
of the evil is in EDA_DRAW_FRAME::AdjustScrollBars() which assumes the
virtual IU space is infinite. This function triggers a movement of the
viewport within the virtual IU space and also a change in size of the virtual
IU space. Once this happens, you can end up thinking there are problems in
functions like EDA_DRAW_PANE::DrawCrossHair(), but this may be an artifact
of having traveled outside a limited virtual IU space.
2) Check that the new load visibility BOARD settings is properly setting the toolbar
buttons like show grid or ratsnest. Add PCB_EDIT_FRAME::SetVisibleElements() so buttons like show grid or ratsnest. Add PCB_EDIT_FRAME::SetVisibleElements() so
toolbar crap is not known to a BOARD. toolbar crap is not known to a BOARD.
3) Finish removing global access requirements from KICAD_PLUGIN, so that: *) Finish removing global access requirements from PLUGINs, so that:
*) a BOARD is a fully self contained document description. *) a BOARD is a fully self contained document description.
*) plugin developers do not have to access globals, since a plugin could *) plugin developers do not have to access globals, since a plugin could
very well be a dynamically loaded DLL/DSO. very well be a dynamically loaded DLL/DSO in the future.
One final problem remains with BASE_SCREEN's grid origin, easy solution is to One final problem remains is the BASE_SCREEN's grid origin. An easy
move just that one field into the BOARD. solution is to move just that one field into the BOARD.
*) Add ::Footprint*() functions to EAGLE_PLUGIN, so that Eagle footprint libraries
can be used in situ.
*) Add a library table for Pcbnew like that in the sweet library and get rid of the
damn search path strategy. This will enable concurrent usage of various types
of PLUGIN::Footprint*() functions. At least LEGACY and KICAD are both needed
concurrently.
4) Do an EAGLE XML import PCBNEW PLUGIN, and possibly add export support to it.
This is PLUGIN::Load() and maybe PLUGIN::Save().
5) Get back to the SWEET work.

View File

@ -2659,7 +2659,7 @@ BIU LEGACY_PLUGIN::biuParse( const char* aValue, const char** nptrptr )
// fval is up into the whole number realm here, and should be bounded // fval is up into the whole number realm here, and should be bounded
// within INT_MIN to INT_MAX since BIU's are nanometers. // within INT_MIN to INT_MAX since BIU's are nanometers.
return BIU( KiROUND( double( fval ) ) ); return KiROUND( fval );
} }

View File

@ -43,7 +43,7 @@ std::string biuFmt( BIU aValue )
if( engUnits != 0.0 && fabsl( engUnits ) <= 0.0001 ) if( engUnits != 0.0 && fabsl( engUnits ) <= 0.0001 )
{ {
len = snprintf( temp, sizeof( temp ), "%.16f", engUnits ); len = snprintf( temp, sizeof( temp ), "%.10f", engUnits );
while( --len > 0 && temp[len] == '0' ) while( --len > 0 && temp[len] == '0' )
temp[len] = '\0'; temp[len] = '\0';
@ -52,7 +52,7 @@ std::string biuFmt( BIU aValue )
} }
else else
{ {
len = snprintf( temp, sizeof( temp ), "%.16g", engUnits ); len = snprintf( temp, sizeof( temp ), "%.10g", engUnits );
} }
return std::string( temp, len );; return std::string( temp, len );;