1. 03 May, 2014 2 commits
    • Dick Hollenbeck's avatar
      Modular-Kicad milestone B), major portions: · 991926d3
      Dick Hollenbeck authored
      *) Rework the set language support, simplify it by using KIWAY.  Now any major
         frame with a "change language" menu can change the language for all KIWAY_PLAYERs
         in the whole KIWAY.  Multiple KIWAYs are not supported yet.
      
      *) Simplify "modal wxFrame" support, and add that support exclusively to
         KIWAY_PLAYER where it is inherited by all derivatives.  The function
         KIWAY_PLAYER::ShowModal() is in the vtable and so is cross module capable.
      
      *) Remove the requirements and assumptions that the wxFrame hierarchy always
         had PCB_EDIT_FRAME and SCH_EDIT_FRAME as immediate parents of their viewers
         and editors. This is no longer the case, nor required.
      
      *) Use KIWAY::Player() everywhere to make KIWAY_PLAYERs, this registers the
         KIWAY_PLAYER within the KIWAY and makes it very easy to find an open frame
         quickly.  It also gives control to the KIWAY as to frame hierarchical
         relationships.
      
      *) Change single_top to use the KIWAY for loading a KIFACE and instantiating
         the single KIWAY_PLAYER, see bullet immediately above.
      
      *) Add KIWAY::OnKiwayEnd() and call it from PGM_BASE at program termination, this
         gives the KIFACEs a chance to save their final configuration dope to disk.
      
      *) Add dedicated FRAME_T's for the modal frames, so m_Ident can be tested and
         these modal frames are distinctly different than their non-modal equivalents.
         KIWAY_PLAYER::IsModal() is !not! a valid test during the wxFrame's constructor,
         so this is another important reason for having a dedicated FRAME_T for each
         modal wxFrame.
      
      On balance, more lines were deleted than were added to achieve all this.
      991926d3
    • Dick Hollenbeck's avatar
      Modular-Kicad milestone B), major portions: · 25d1ab40
      Dick Hollenbeck authored
      *) Rework the set language support, simplify it by using KIWAY.  Now any major
         frame with a "change language" menu can change the language for all KIWAY_PLAYERs
         in the whole KIWAY.  Multiple KIWAYs are not supported yet.
      
      *) Simplify "modal wxFrame" support, and add that support exclusively to
         KIWAY_PLAYER where it is inherited by all derivatives.  The function
         KIWAY_PLAYER::ShowModal() is in the vtable and so is cross module capable.
      
      *) Remove the requirements and assumptions that the wxFrame hierarchy always
         had PCB_EDIT_FRAME and SCH_EDIT_FRAME as immediate parents of their viewers
         and editors. This is no longer the case, nor required.
      
      *) Use KIWAY::Player() everywhere to make KIWAY_PLAYERs, this registers the
         KIWAY_PLAYER within the KIWAY and makes it very easy to find an open frame
         quickly.  It also gives control to the KIWAY as to frame hierarchical
         relationships.
      
      *) Change single_top to use the KIWAY for loading a KIFACE and instantiating
         the single KIWAY_PLAYER, see bullet immediately above.
      
      *) Add KIWAY::OnKiwayEnd() and call it from PGM_BASE at program termination, this
         gives the KIFACEs a chance to save their final configuration dope to disk.
      
      *) Add dedicated FRAME_T's for the modal frames, so m_Ident can be tested and
         these modal frames are distinctly different than their non-modal equivalents.
         KIWAY_PLAYER::IsModal() is !not! a valid test during the wxFrame's constructor,
         so this is another important reason for having a dedicated FRAME_T for each
         modal wxFrame.
      
      On balance, more lines were deleted than were added to achieve all this.
      25d1ab40
  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. 03 Aug, 2013 1 commit
  4. 02 Sep, 2012 2 commits
  5. 13 May, 2012 1 commit
  6. 26 Mar, 2012 1 commit
    • Wayne Stambaugh's avatar
      Minor code improvements and coding policy fixes. · 45445dd8
      Wayne Stambaugh authored
      * BLOCK_SELECTOR class is not longer derived from EDA_ITEM.
      * Encapsulate BLOCK_SELECTOR class member variables and add access methods.
      * Move HandleBlockBegin() function from block_commande.cpp to drawframe.cpp.
      * Remove virtual methods from top level derived objects per future
        coding policy change.
      * Remove Doxygen copydoc statement from objects derived from EDA_ITEM
        since the comments are automatically copied to the derived object.
      * Removed copy and pasted Doxygen comments from objects derived from
        EDA_ITEM.
      45445dd8
  7. 24 Mar, 2012 1 commit
  8. 23 Jan, 2012 1 commit
  9. 29 Dec, 2011 1 commit
  10. 22 Dec, 2011 1 commit
  11. 21 Dec, 2011 1 commit
  12. 10 Nov, 2011 1 commit
    • Wayne Stambaugh's avatar
      Memory allocation improvements and other minor fixes. · cc7e7fc5
      Wayne Stambaugh authored
      * Replace C malloc() and free() functions with C++ new and delete
        operators or the appropriate STL container.
      * Add option to end mouse capture function to skip executing the end
        mouse capture callback.
      * Lots of coding policy and Doxygen comment goodness.
      cc7e7fc5
  13. 28 Oct, 2011 1 commit
    • Wayne Stambaugh's avatar
      Fix schematic library pin editing bug. Fixes lp:809506 · a834c47b
      Wayne Stambaugh authored
      * Change edit pin per part flag to only have effect when editing
        component with multiple parts or alternate body styles.
      * Move global edit pin pert part variable into library editor frame
        object.
      * Note that this only fixes the bug when the component does not have
        multiple parts or alternate body styles.
      a834c47b
  14. 07 Oct, 2011 1 commit
    • Wayne Stambaugh's avatar
      Eeschema ERC improvements and other minor fixes. · d4fb921b
      Wayne Stambaugh authored
      * Move the hierarchical label connected test into the NETLIST_OBJECT class.
      * ERC pin type strings can now be translated.
      * Remove unused EDA_DRAW_PANEL attribute from all ERC test functions.
      * Add get marker count method to SCH_SCREENS object.
      * Redundant header removal.
      * Lots of coding style policy fixes.
      d4fb921b
  15. 06 Sep, 2011 1 commit
  16. 20 May, 2011 1 commit
  17. 13 May, 2011 1 commit
  18. 10 Mar, 2011 1 commit
  19. 24 Feb, 2011 1 commit
    • Wayne Stambaugh's avatar
      Improve handling of tool bar command IDs. · cb647737
      Wayne Stambaugh authored
      * Make EDA_DRAW_FRAME current tool ID member variable private.
      * Added global no tool selected ID to replace application specific no
        tool selected IDs.
      * Change SetToolID to prevent setting the tool ID to anything less than
        the new global no tool selected ID and assert on debug builds.
      * Change command and update user interface command event handlers to use
        new global no tool selected ID.
      * Fixed schematic library editor add pin hot key handler.
      cb647737
  20. 11 Feb, 2011 1 commit
    • Wayne Stambaugh's avatar
      Draw panel object refactoring and other minor code cleaning. · 7b8b51b2
      Wayne Stambaugh authored
      * Rename all member variables and methods that reference the cross hair
        code in draw panel object from cursor to cross hair to eliminate confusion
        between the two concepts.
      * Rename cursor capture call backs in draw panel object to improve code
        readability.
      * Create helper class for turning off the cross hair while drawing.
      * Remove redundant block clear code.
      * Remove redundant mouse capture call back reset code when end capture
        call back is called.
      * Remove unused function definitions in base draw frame object.
      * Lots of minor coding policy and doxygen comment fixes.
      7b8b51b2
  21. 08 Feb, 2011 1 commit
    • Wayne Stambaugh's avatar
      GerbView rendering bug fix and other minor improvements. · e01f8967
      Wayne Stambaugh authored
      * Fix rendering bug in GerbView caused by wxDC scaling change caused by
        setting the wxDC clipping region.
      * Eliminate the need to have optional background erasing as the change
        above fixed that problem as well.
      * Default cursor handling improvements.
      e01f8967
  22. 03 Feb, 2011 1 commit
    • Wayne Stambaugh's avatar
      Changes to use cursor position as parameter and snap to grid settings. · 50f063da
      Wayne Stambaugh authored
      * Changed managed cursor callback definition to include the current
        cursor drawing position.
      * Modified all managed cursor callbacks to match new definition.
      * Added snap to grid option to base drawing frame object.
      * Changed add no connect managed cursor callback to use new position
        parameter instead of the stored one.
      * Lots of coding policy fixes.
      50f063da
  23. 23 Jan, 2011 1 commit
  24. 21 Jan, 2011 1 commit
    • Wayne Stambaugh's avatar
      EESchema code refactoring and coding policy naming fixes. · 73e38ce9
      Wayne Stambaugh authored
      * Move schematic wire and bus break code into schematic screen object.
      * Move schematic test for dangling ends into schematic screen object.
      * Remove left over debugging output in schematic screen object.
      * Remove unused file eeschema/cleanup.cpp.
      * Fix bug in schematic line object hit test algorithm.
      * Fix a string concatenation compile error added in r2752.
      * Rename class WinEDA_BasicFrame to EDA_BASE_FRAME.
      * Rename class WinEDA_DrawFrame to EDA_DRAW_FRAME.
      * Rename class WinEDA_DrawPanel to EDA_DRAW_PANEL.
      73e38ce9
  25. 19 Nov, 2010 1 commit
  26. 13 Nov, 2010 1 commit
  27. 10 Nov, 2010 1 commit
  28. 20 Oct, 2010 1 commit
    • Wayne Stambaugh's avatar
      Major component library ojbect editing code refactor. · 285d9b64
      Wayne Stambaugh authored
      * All library component object editing is now performed with the ojbect
        except LIB_PIN (coming soon).
      * Added TRANFORM class to handle coordinate transforms.
      * Remove old transform matrix functions.
      * More file renaming to align them with the other component library
        object file names.
      * Fix hot key bugs in library editor to disable edit keys while an item
        is being edited.
      * Fixed bug when cancelling rotation of text and field objects while
        being moved.
      285d9b64
  29. 18 Feb, 2010 1 commit
  30. 16 Feb, 2010 1 commit
  31. 03 Nov, 2009 1 commit
  32. 10 Oct, 2009 1 commit
  33. 29 Sep, 2009 1 commit
    • stambaughw's avatar
      Component library editor improvements. · b762f6aa
      stambaughw authored
      * Eliminate external direct manipulation of component draw item pointer.
      * Add draw item remove, add, and locate methods to library component object.
      * Remove redundant locate pin, field, and draw item code.
      * Fix add new pin drawing bug that left initial pin draw in place.
      * Improved best zoom calculations for small components.
      * Library component bounding box calculation now includes fields.
      * Removed unnecessary header file "libcmp.h".
      * Fixed potential locate draw item bug in library editor hot key handler.
      b762f6aa
  34. 25 Sep, 2009 1 commit
    • stambaughw's avatar
      Component library editor improvements and minor bug fixes. · 8570d331
      stambaughw authored
      * Component library objects renamed for improved readability.
      * Fields now move when selected in library editor.
      * Add copy constructor to all library draw and library component objects.
      * Added copy constructor to EDA_BaseStruct.
      * Delete base screen in WinEDA_DrawFrame destructor to prevent potential memory leak.
      * Fixed memory access bug when replacing and adding a component to library.
      * Moved library component block manipulation code into component object.
      * Removed all of the global variables used by the library editor main window object.
      * The usual code cleaning and refactoring.
      8570d331
  35. 22 Sep, 2009 1 commit
    • stambaughw's avatar
      Command ID refactoring and other minor improvements. · 43d6c685
      stambaughw authored
      * Split out application specific command IDs to prevent unnecessary rebuilding.
      * Eliminate duplicate menu and tool bar command IDs.
      * Split component library editor and viewer definitions to separate header files.
      * More component library and document file merge code.
      * A bunch of minor string readability and consistency fixes.
      43d6c685
  36. 18 Sep, 2009 1 commit
    • stambaughw's avatar
      Component library object and other minor improvements. · f7452ce1
      stambaughw authored
      * Create static component library methods to manage library list.
      * Rename component library, component, and alias objects to more readable name.
      * Use pointer to component instead of root name to prevent redundant library searches.
      * Add append message helper to message panel that calculates string length.
      * Initial ground work for merging library and library document files.
      * Improved component library file load error checking.
      * Minor component library editor improvements.
      f7452ce1
  37. 14 Sep, 2009 1 commit
    • stambaughw's avatar
      Component library editor improvements, build fix, and bug fixes. · 3803b79a
      stambaughw authored
      * Add offset and block hit testing to library component objects.
      * Improved search for library entries.
      * Fixed library component editor component removal and addition.
      * Library editor now uses wxUpdateUIEvents for updating all UI objects.
      * Added version check to cmake find boost macro.
      * Removed unused code in file libalias.cpp.
      * Added method to WinEDA_DrawPanel to take mouse out of managed mode.
      3803b79a
  38. 10 Sep, 2009 1 commit