1. 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
  2. 18 Mar, 2014 1 commit
  3. 09 Mar, 2014 1 commit
  4. 08 Mar, 2014 1 commit
  5. 05 Mar, 2014 1 commit
  6. 28 Feb, 2014 1 commit
  7. 24 Feb, 2014 1 commit
  8. 08 Feb, 2014 1 commit
  9. 03 Feb, 2014 1 commit
  10. 01 Feb, 2014 1 commit
  11. 30 Jan, 2014 1 commit
  12. 29 Jan, 2014 1 commit
  13. 28 Jan, 2014 1 commit
  14. 25 Jan, 2014 1 commit
  15. 08 Jan, 2014 1 commit
  16. 27 Nov, 2013 1 commit
  17. 18 Oct, 2013 1 commit
  18. 14 Oct, 2013 1 commit
    • jean-pierre charras's avatar
      Pcbnew: Fix issue when displaying net names and/or pad numbers including the... · 082b8326
      jean-pierre charras authored
      Pcbnew: Fix issue when displaying net names and/or pad numbers including the "<" char in drc dialog, because drc dialog uses an wxHtmlWindow to display drc messages, and the "<" char has a special meaning and is not allowed in texts (now replaced by the" &lt;" sequence in messages displayed in html)
      Eeschema: replace "<" and ">" by "(" and ")" in autogenerated net names, to avoid other issues in html messages.
      Very minor other fixes.
      082b8326
  19. 13 Oct, 2013 1 commit
    • jean-pierre charras's avatar
      specctra_export.cpp: fix a bug in my export function to 3D viewer which... · 7f648995
      jean-pierre charras authored
      specctra_export.cpp: fix a bug in my export function to 3D viewer which generates bad shapes for holes generated by outlines
      inside the main board outlines.
      specctra_export.cpp: always approximate arcs in outlines by 36 segm for 360 degrees,
      even for arc angle which differs from 90 degrees.
      90 degrees is the default when creating an arc, but the arc value can be edited and have any value between 0 and 360 degrees.
      Previously, 9 segments were used regardless the arc angle.
      7f648995
  20. 07 Oct, 2013 2 commits
  21. 04 Oct, 2013 2 commits
  22. 10 Sep, 2013 1 commit
  23. 28 Aug, 2013 1 commit
  24. 20 Aug, 2013 1 commit
  25. 26 May, 2013 1 commit
  26. 25 May, 2013 1 commit
  27. 16 May, 2013 1 commit
  28. 14 May, 2013 1 commit
  29. 09 May, 2013 1 commit
  30. 08 May, 2013 1 commit
  31. 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
  32. 04 May, 2013 1 commit
  33. 03 May, 2013 1 commit
  34. 01 May, 2013 2 commits
    • jean-pierre charras's avatar
      3D viewer: Modify yhe way board items shapes are built: · 4ac7dd58
      jean-pierre charras authored
      * All items shapes  are converted to polygons.
      * Polygons are merged layer by layer (for calculation time reasons,zones are not merged)
      * for copper layers, vias and pads holes are substracted from polygons (but, for calculation time reasons,  not inside zones areas).
      * the look is better, mainly when displaying the copper thickness
      * solder and paste layers are now shown in 3D viewer.
      * the code was seriously cleaned (but still needs to be enhanced).
      * Note this is a work in progress which needs refinements.
      4ac7dd58
    • 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
  35. 25 Apr, 2013 2 commits
    • Wayne Stambaugh's avatar
      Pcbnew NETLIST_READER improvements. · 61b4f8a9
      Wayne Stambaugh authored
      * Create separate NETLIST object to hold contents of netlist files.
      * Read entire netlist and footprint link files before making applying
        changes to board.
      * Add BOARD::ReplaceNetlist() function to eliminate the calls between the
        NETLIST_READER, PCB_EDIT_FRAME, and BOARD objects.
      * Change placement of new components below the center of the current board
        or in the center of the page if the BOARD is empty.
      * Add dry run option to netlist dialog to print changes to message control
        without making changes.
      * Add button to netlist dialog to allow saving contents of message control
        to a file.
      * Eliminate the need to compile netlist_reader_*.cpp in both CvPcb and Pcbnew.
      * Add netlist_reader_*.cpp to the pcbcommon library.
      * Remove redundant load component link file code from CvPcb.
      * Modify CvPcb new to work with the new NETLIST_READER object.
      * Add compare() function and < and == operators to FPID object.
      * Add REPORTER class to hide an underlying string writing implementation for
        use in low level objects.  Thank you Dick for the idea.
      * Lots of minor coding policy, Doxygen comment, and missing license fixes.
      61b4f8a9
    • jean-pierre charras's avatar
  36. 06 Apr, 2013 1 commit