Commit Graph

111 Commits

Author SHA1 Message Date
Dick Hollenbeck 96bb90dee1 kicad_plugin 2011-12-13 22:29:25 -06:00
Dick Hollenbeck b979d1e0b9 plugin work, accessors 2011-12-12 02:37:05 -06:00
Dick Hollenbeck 4c2a1dd5d1 more kicad_plugin work, make BOARD::m_NetInfo private 2011-12-09 23:33:24 -06:00
Dick Hollenbeck b26580d5df ++PCBNew
* 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()
2011-12-05 00:15:33 -06:00
Dick Hollenbeck 1b5edd6d4c KICAD_PLUG work 2011-12-01 16:50:41 -06:00
Dick Hollenbeck cc097762c7 Temporarily reverse out the evolving support for finer Board Internal Units (BIU)s. 2011-11-24 11:32:51 -06:00
Vladimir Uryvaev d4bfa450e0 Debug bug:) fix. Wayne found it. 2011-11-18 03:16:36 +04:00
Vladimir Ur 09a61396ba Some code restyling: VECTOR_PCB is an array. Cleanup uncontrolled definitions of abs, max, etc. max is now overloaded function and MAX is a macro. 2011-11-15 22:26:06 +04:00
Vladimir Ur 4b9b2f4e66 Nanometric work. Design rules, D_PAD (except m_Pos) is now in new units. Metric files can be loaded w/o KICAD_NANOMETRE flag set but saved only with this flag, this could help to gain some compatibility during transition process. ifdef'd code is somewhat minimized by using transition macros. Some potential code bugs are commented. 2011-11-14 20:56:05 +04:00
Vladimir Ur 6ebb044d45 Metric KiCad work continues. Partially processed D_PAD class. It is still need to be tested including all these import and export procedures... 2011-11-11 21:44:20 +04:00
Vladimir Ur 0fdf71a80e General design rules tab converted to nanoscale. A bit of refactorisation in via sizes. And build key is KICAD_NANOMETRE not KICAD_NANOMETRIC (as I stated in previous commit). 2011-11-09 21:35:16 +04:00
Wayne Stambaugh c2f1113e5d Fix Pcbnew KICAD_T enum names for consistency. 2011-10-01 15:24:27 -04:00
Wayne Stambaugh 4b853dedb4 Application name capitalization fixes.
* Correct all user strings and comments for the correct capitalization of
  application names according to JP.  They are KiCad, Pcbnew, CvPcb,
  Eeschema, and GerbView.
* Add a note the the user interface policy about the correct capitalization.
2011-09-30 14:15:37 -04:00
Wayne Stambaugh edd35b4e90 PCB common library header rationalization.
* 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.
2011-09-23 09:57:12 -04:00
Wayne Stambaugh 0c44335795 Lots and lots of PCBNew code cleaning and fix build bug introduced in r3108.
* 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.
2011-09-07 15:41:04 -04:00
Wayne Stambaugh 1010601a78 PCBNew control update bug fixes, fixes lp:725963.
* Fix grid select box update bug on context menu.
* Fix via size and track width select box update bugs.
* Fix layer pair indicator button update bug.
* Fix auto track width tool bar control enable bug.
* Fix via size and track width select status bug in context menu.
* Fix layer select box and layer control widget select bug when current
  layer is removed.
* Add virtual function to notify objects derived from EDA_DRAW_FRAME that
  the units setting has changed.
* Coding policy class naming fixes.
2011-03-01 14:26:17 -05:00
Marco Mattila 97003fefae Change board bounding box calculation to include all board items by default in pcbnew. Add a parameter to look for board edges only. 2011-02-25 18:23:24 +02:00
Wayne Stambaugh 7b8b51b240 Draw panel object refactoring and other minor code cleaning.
* 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.
2011-02-11 15:48:13 -05:00
Dick Hollenbeck 0093f4f612 ++common:
* macros.h now has TO_UTF8() and FROM_UTF8() which are working converters
    to and from UTF-8 encoding for any wxWidgets build mode.  We can switch to
    them at any time.  I am using them now for specctra conversions and
    elsewhere where I wanted gauranteed UTF8 encoding.
  * added OUTPUTFORMATTER::Quoted( const wxString& ) to simplify converting
    to UTF8 encoded s-expression atoms.  The recommended technique is now simply:
        out->Quoted( wxString ).c_str()
2011-02-02 09:31:48 -06:00
Wayne Stambaugh e560573c5e Schematic object encapsulation and other minor improvements.
* Encapsulate file name member of base screen object.
* Encapsulate associated screen member of schematic sheet object.
* Create add screen method to schematic sheet object to simplify setting
  the associated screen.
* Move the change file name code in the schematic sheet object to the edit
  sheet method in the schematic editor frame object to eliminate message
  dialogs.
* Improve reference counting in schematic screen object.
* Add helper type definitions for changing schematic object storage to C++
  containers.
2011-01-20 11:34:57 -05:00
Dick Hollenbeck 84ed5f501d ++new:
* Added the basic structure to the Sweet parser in sch_part.cpp.
  * Got inheritence working off of the 'extends' keyword and PART::inherit()
  * Tossed the units support out of sweet.keywords, since we agreed to go dimensionless.
++richio:
  * Added the problemInputLine support to PARSE_ERROR, so UI can show the
    offending line of bytes.  Yes bytes, not even guaranteed to be characters.
2011-01-01 16:56:07 -06:00
Wayne Stambaugh 7cb34aece7 Schematic component object encapsulation and Doxygen comment warning fixes. 2010-12-14 10:56:30 -05:00
jean-pierre charras cdd9e8cabe Pcbnew: code cleanup 2010-11-26 18:47:35 +01:00
Dick Hollenbeck 067bf8518c change IOError class name spelling to IO_ERROR to conform to coding standards 2010-11-09 09:45:11 -06:00
Dick Hollenbeck f360d5ccb6 got bit by a bug in freerouter 2010-09-07 12:04:39 -05:00
Dick Hollenbeck c38b25194b negative starts with an n 2010-09-07 11:21:26 -05:00
Dick Hollenbeck 774e6dbbd5 support trapezoid padstacks in specctra export 2010-09-07 10:46:55 -05:00
Dick Hollenbeck fb0bb79a8d TokenList2DsnLexer.cmake, netform.cpp enhancements 2010-08-08 21:03:16 -05:00
dickelbeck e5bfcbbd91 Fix a bug in board edges export to specctra DSN format. If the direction
of the S_SEGMENTs were not all the same, the specctra PATH points would 
come out wrong.
2010-04-01 15:00:47 +00:00
dickelbeck 860fbb16d7 ++pcbnew & gerbview
* Moved ReturnLayerName() to static BOARD::GetDefaultLayerName() and migrated
    to a Specctra DSN compatible default layer naming scheme:
        Component becomes Front, Copper becomes Back.
  * set_color.h: Cmp becomes Front, Cu becomes Back.
  * D_PAD::DisplayInfo() changed to use actual copper layer names.
  * more layer setup dialog work, moved all programmatic wxControl instantiation
    into the wxFormbuilder environment, but this is fraught with danger:
    wxFlexGridSizer used the tallest control to establish the row heights, so
    be careful about changing control borders in the scroll panel. The vertical
    size can explode since just a couple of pixels times the number of rows
    is substantial.  Currently I am setting a 5 pixel border only left, top, and right
    but not bottom.
  * Set copper layer count is back in place as a hack until I can get the enabled
    layer bit map fully operational.
2009-12-07 03:46:13 +00:00
dickelbeck 3da78c5da1 default_smd was too big for low density boards 2009-11-13 14:37:37 +00:00
dickelbeck 0c6a37f89e ++pcbnew
* Added exporting of netclass vias to specctra_export.
  * DIALOG_DESIGN_RULES now remembers it last selected TAB and screen position and
    window size, and its grid columns are automatically expanded to fit the
    column titles.  Remembering screen position and size allows someone with
    multiple monitors, to have a given window always come up on the monitor last chosen
    for it.
2009-11-02 05:20:58 +00:00
dickelbeck ba78c6ec5e add a compile time option to report an islanded circle as a specctra_export error 2009-11-01 14:25:58 +00:00
charras 29e217d310 pcbnew Rewrite the GUI relative to the tracks widths and vias diameters and drills selection and edition, for compatibility with new netclass approach. 2009-10-30 17:58:15 +00:00
charras e027e65971 code and files cleanup 2009-10-28 11:48:47 +00:00
charras fe10a9938f Removed global default clearance, track size and vias drill. Use netclasses values only. 2009-10-21 19:16:25 +00:00
charras c974c42daf eeschema: 2 bugs fixed
pcbnew: more about netclass work
2009-10-06 13:19:40 +00:00
charras f3590e51ff pcbnew: fixed a crash when removing A netclass. More about netclass work. 2009-09-28 16:14:45 +00:00
dickelbeck 362b6b53f6 NETCLASS work, see CHANGELOG.txt 2009-09-10 15:22:26 +00:00
dickelbeck 85dc98a58a more netclass work 2009-08-17 02:59:38 +00:00
charras 5699ee3b91 More about pcbnew undo/redo 2009-08-06 07:11:04 +00:00
charras edb48d461b Fixed minor bugs. Code cleaning 2009-06-06 18:08:49 +00:00
charras e073bdc042 Pcbnew: cleaned code in ratsnet calculations (work in progress). The new code is also faster. 2009-05-24 18:28:36 +00:00
dickelbeck 69fd16ed26 switch to GetChars() and away from wxString::GetData() 2009-04-17 06:37:23 +00:00
dickelbeck d58296c804 netless zone support fix to specctra export 2009-02-07 16:06:55 +00:00
dickelbeck 35e8a286e8 resolved the zone 'cutout' support to specctra, handle zones with attached to no nets, namelessly 2009-02-06 22:10:37 +00:00
dickelbeck 31aee8ef3e specctra export zone 'cutout' support 2009-02-06 14:23:56 +00:00
stambaughw b833a46bad More header file realignments to reduce recompiling and general code cleaning. 2009-02-04 15:25:03 +00:00
dickelbeck b603580355 WinEDA_BasePcbFrame::m_Pcb is now private, use GetBoard() to access it. 2009-01-05 05:21:35 +00:00
charras 6d856f60a6 Pcbnew: Added display a short net name on vias and pads. Also, code cleaning 2008-12-14 19:45:05 +00:00