Commit f94a95ab authored by Dick Hollenbeck's avatar Dick Hollenbeck
Browse files

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

parent e5452a7a
Loading
Loading
Loading
Loading
+18 −25
Original line number Original line Diff line number Diff line
@@ -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.
+1 −1
Original line number Original line Diff line number Diff line
@@ -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 );
}
}




+2 −2
Original line number Original line Diff line number Diff line
@@ -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 );;