1. 25 Apr, 2014 1 commit
    • Lorenzo Marcantonio's avatar
      TRACK/SEGVIA cleanup · 3f2c0e1a
      Lorenzo Marcantonio authored
      - SEGVIA becomes VIA
      - Drill size moved from TRACK to VIA
      - Removed shape from TRACK, becomes ViaType in VIA
      - GetTrace becomes GetTrack, for uniformity
      - Some minor constification and typo fixes
      3f2c0e1a
  2. 20 Mar, 2014 1 commit
    • Dick Hollenbeck's avatar
      * KIWAY Milestone A): Make major modules into DLL/DSOs. · 2c67c3ff
      Dick Hollenbeck authored
      !   The initial testing of this commit should be done using a Debug build so that
          all the wxASSERT()s are enabled.  Also, be sure and keep enabled the
          USE_KIWAY_DLLs option.  The tree won't likely build without it.  Turning it
          off is senseless anyways.  If you want stable code, go back to a prior version,
          the one tagged with "stable".
      
      *   Relocate all functionality out of the wxApp derivative into more finely
          targeted purposes:
          a) DLL/DSO specific
          b) PROJECT specific
          c) EXE or process specific
          d) configuration file specific data
          e) configuration file manipulations functions.
      
          All of this functionality was blended into an extremely large wxApp derivative
          and that was incompatible with the desire to support multiple concurrently
          loaded DLL/DSO's ("KIFACE")s and multiple concurrently open projects.
          An amazing amount of organization come from simply sorting each bit of
          functionality into the proper box.
      
      *   Switch to wxConfigBase from wxConfig everywhere except instantiation.
      *   Add classes KIWAY, KIFACE, KIFACE_I, SEARCH_STACK, PGM_BASE, PGM_KICAD,
          PGM_SINGLE_TOP,
      *   Remove "Return" prefix on many function names.
      *   Remove obvious comments from CMakeLists.txt files, and from else() and endif()s.
      *   Fix building boost for use in a DSO on linux.
      *   Remove some of the assumptions in the CMakeLists.txt files that windows had
          to be the host platform when building windows binaries.
      *   Reduce the number of wxStrings being constructed at program load time via
          static construction.
      *   Pass wxConfigBase* to all SaveSettings() and LoadSettings() functions so that
          these functions are useful even when the wxConfigBase comes from another
          source, as is the case in the KICAD_MANAGER_FRAME.
      *   Move the setting of the KIPRJMOD environment variable into class PROJECT,
          so that it can be moved into a project variable soon, and out of FP_LIB_TABLE.
      *   Add the KIWAY_PLAYER which is associated with a particular PROJECT, and all
          its child wxFrames and wxDialogs now have a Kiway() member function which
          returns a KIWAY& that that window tree branch is in support of.  This is like
          wxWindows DNA in that child windows get this member with proper value at time
          of construction.
      *   Anticipate some of the needs for milestones B) and C) and make code
          adjustments now in an effort to reduce work in those milestones.
      *   No testing has been done for python scripting, since milestone C) has that
          being largely reworked and re-thought-out.
      2c67c3ff
  3. 05 May, 2013 1 commit
    • Lorenzo Marcantonio's avatar
      Migrated the interfaces accepting angles to the double type · d00c83cd
      Lorenzo Marcantonio authored
      The plan goes like this:
      - eeschema still uses int in decidegrees
      - all the other things internally use double in decidegrees (or radians
        in temporaries)
      - in pcbnew UI the unit is *still* int in decidegrees
      
      The idea is to have better precision everywhere while keeping the user with int i
      angles. Hopefully, if a fractional angle doesn't come in from the outside, everything
      should *look* like an integer angle (unless I forgot something and it broke)
      
      When the time comes, simply updating the UI for allowing doubles from the user should
      be enough to get arbitrary angles in pcbnew.
      d00c83cd
  4. 02 May, 2013 1 commit
  5. 01 May, 2013 1 commit
    • Lorenzo Marcantonio's avatar
      Angle and distances cleanup (preparing for angles in doubles) · 0e903dba
      Lorenzo Marcantonio authored
      - Removed spurious int casts (these are truncated anyway and will break
        doubles)
      
      - Applied the Distance, GetLineLength, EuclideanNorm, DEG2RAD, RAD2DEG
        ArcTangente and NORMALIZE* functions where possible
      
      - ArcTangente now returns double and handles the 0,0 case like atan2, so
        it's no longer necessary to check for it before calling
      
      - Small functions in trigo moved as inline
      0e903dba
  6. 06 Apr, 2013 1 commit
  7. 04 Apr, 2013 1 commit
    • Lorenzo Marcantonio's avatar
      More work on EDA_COLOR_T and layers. · d12a4592
      Lorenzo Marcantonio authored
      In particular the new mechanism for handling extended color palettes is in place,
      included renaming the ini keys and saving the color name instead of its index; this means better forward compatibility with palette changes.
      
      Since ini keys are changed, colors will be reset
      d12a4592
  8. 27 Mar, 2013 1 commit
    • Lorenzo Marcantonio's avatar
      Renamed global variables: · aae87178
      Lorenzo Marcantonio authored
      Drc_On => g_Drc_On
      Route_Layer_TOP => g_Route_Layer_TOP
      Route_Layer_BOTTOM => g_Route_Layer_BOTTOM
      Track_45_Only_Allowed => g_Track_45_Only_Allowed
      aae87178
  9. 06 Mar, 2013 1 commit
  10. 13 Jan, 2013 1 commit
  11. 26 Jun, 2012 1 commit
  12. 17 Jun, 2012 1 commit
  13. 10 Jun, 2012 1 commit
  14. 08 Jun, 2012 1 commit
  15. 05 Jun, 2012 1 commit
  16. 19 Feb, 2012 1 commit
  17. 23 Jan, 2012 1 commit
  18. 31 Dec, 2011 1 commit
  19. 21 Dec, 2011 1 commit
  20. 06 Dec, 2011 1 commit
  21. 05 Dec, 2011 1 commit
    • Dick Hollenbeck's avatar
      ++PCBNew · b26580d5
      Dick Hollenbeck authored
        * Removed Pcb_Frame argument from BOARD() constructor, since it precludes
          having a BOARD being edited by more than one editor, it was a bad design.
          And this meant removing m_PcbFrame from BOARD.
        * removed BOARD::SetWindowFrame(), and BOARD::m_PcbFrame
        * Removed the global BOARD_DESIGN_SETTINGS which was in class_board.cpp
        * added BOARD_DESIGN_SETTINGS to the BOARD class, a full instance
        * a couple dialogs now only change BOARD_DESIGN_SETTINGS when OK is pressed,
          such as dialog_mask_clearance, dialog_drc, etc.
        * Removed common/pcbcommon.cpp's int g_CurrentVersionPCB = 1 and replaced it
          with build_version.h's #define BOARD_FILE_VERSION, although there may be a
          better place for this constant.
        * Made the public functions in PARAM_CFG_ARRAY be type const.
          void SaveParam(..) const and void ReadParam(..) const
        * PARAM_CFG_BASE now has virtual destructor since we have various way of
          destroying the derived class and boost::ptr_vector must be told about this.
        * Pass const PARAM_CFG_ARRAY& instead of PARAM_CFG_ARRAY so that we can use
          an automatic PARAM_CFG_ARRAY which is on the stack.\
        * PCB_EDIT_FRAME::GetProjectFileParameters() may no longer cache the array,
          since it has to access the current BOARD and the BOARD can change.
          Remember BOARD_DESIGN_SETTINGS are now in the BOARD.
        * Made the m_BoundingBox member private, this was a brutally hard task,
          and indicative of the lack of commitment to accessors and object oriented
          design on the part of KiCad developers.  We must do better.
          Added BOARD::GetBoundingBox, SetBoundingBox(), ComputeBoundingBox().
        * Added PCB_BASE_FRAME::GetBoardBoundingBox() which calls BOARD::ComputeBoundingBox()
      b26580d5
  22. 24 Nov, 2011 1 commit
  23. 15 Nov, 2011 1 commit
  24. 11 Nov, 2011 1 commit
  25. 01 Oct, 2011 1 commit
  26. 23 Sep, 2011 1 commit
    • Wayne Stambaugh's avatar
      PCB common library header rationalization. · edd35b4e
      Wayne Stambaugh authored
      * All header files used to create the PCB common library now compile as
        stand alone code.  This prevents the need to define them in a specific
        order to make source code compile properly.  It should also now be
        possible to relocate the source code to build the common PCB library
        to a separate folder.
      edd35b4e
  27. 20 Sep, 2011 1 commit
    • Wayne Stambaugh's avatar
      Remove sine and cosine look up tables and other minor fixes. · 4230ac4c
      Wayne Stambaugh authored
      * Remove sine and cosine look up tables from trigo.cpp and replace them with
        sin() and cos() math functions.
      * Large include file clean up to prevent header ordering dependency build
        failures.
      * Translate French code names and comments.
      * Lots of coding style policy and doxygen comment fixes.
      4230ac4c
  28. 07 Sep, 2011 1 commit
    • Wayne Stambaugh's avatar
      Lots and lots of PCBNew code cleaning and fix build bug introduced in r3108. · 0c443357
      Wayne Stambaugh authored
      * Changed <wx-2.8/xml/xml.h> to "xnode.h" in pcbnew_config.cpp to fix bug
        when building against wxWidgets 2.9 and above.
      * Convert broken wxXmlNode code to use XNODE.
      * Overloaded XNODE constructor for creating child nodes.
      * Translate French naming conventions.
      * Translate French comments.
      * Remove tabs from several source files.
      * Coding style policy and Doxygen comment fixes.
      0c443357
  29. 13 May, 2011 1 commit
  30. 09 Mar, 2011 1 commit
  31. 03 Mar, 2011 1 commit
  32. 12 Nov, 2010 1 commit
  33. 14 Nov, 2009 1 commit
    • stambaughw's avatar
      More comment translation work. · 506a73c3
      stambaughw authored
      * Translate source files D through L in pcbnew.
      * Add translate tag for comments that did not translate correctly.
      506a73c3
  34. 28 Jun, 2009 1 commit
  35. 04 Dec, 2008 1 commit
  36. 29 Oct, 2008 1 commit
  37. 20 Oct, 2008 1 commit
  38. 12 Sep, 2008 1 commit
  39. 05 Mar, 2008 1 commit
  40. 05 Jan, 2008 1 commit