Commit Graph

177 Commits

Author SHA1 Message Date
Wayne Stambaugh ebc7259a91 Rename WinEDA_App class to EDA_APP and remove redundant includes. 2011-09-06 10:09:40 -04:00
jean-pierre charras f00696e835 Pcbnew: fix bug 804780.
All: use double instead of int to store zoom values.
2011-07-05 14:46:14 +02:00
jean-pierre charras 16e9ddc27a * Gerbview, Pcbnew: add SetLocaleTo_Default() after reading double in config to fix issues with decimal separator (when the separator is not a point).
(WxWidgets 2.9.1 seems call setlocale( LC_NUMERIC, "" ) when wxConfig read doubles stored in config, but forget to back to current locale.)
Note: perhaps there are some dialogs that need this call to  SetLocaleTo_Default() ).
* Minor  code cleanup in pcbnew/netlist.cpp
2011-04-02 18:14:07 +02:00
Wayne Stambaugh 283cfa67ff Set default button on all dialogs. Fixes lp:665703
* Set default button on all dialogs that do not already have a defined
  default button.  The only exception is the EESchema net list dialog
  which needs converted over to wxFormBuilder and due to it's design makes
  setting the default button in any tab other than the default tab
  problematic.
* Fix escape key dialog handling bug in EESchema print post script
  dialog.
2011-03-14 11:17:18 -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 cb647737ee Improve handling of tool bar command IDs.
* 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.
2011-02-24 15:22:12 -05:00
Wayne Stambaugh c02d90e9a7 Use wxUpdateUIEvent in CVPcb and other minor changes.
* CVPcb now uses wxUpdateUIEvent instead of set toolbars.
* Removed duplicate event handlers in CVPcb that were factored into
  EDA_DRAW_FRAME.
* Fix definition of GeneralControle() in CVPcb that prevented it from being
  called.
* Remove rarely used and scary refresh code GeneralControle() method in all
  main frame windows.
* Factor zoom menu and tool bar command IDs down to EDA_DRAW_FRAME.
2011-02-21 16:07:00 -05:00
Wayne Stambaugh bdca3c5efb All control state handling is now performed in wxUpdateUIEvent handlers.
* Old control state handling code completely removed in all applications.
* Factor common control state handlers into EDA_DRAW_FRAME.
* Replaced EDA_ITEM test for newness with IsNew() method.
* Factor vertical right toolbar command handlers out of giant edit command
  switch statement in EESchema and PCBNew.
2011-02-21 08:54:29 -05:00
jean-pierre charras 640a06850f Fix some issues. 2011-02-17 19:34:27 +01: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
Wayne Stambaugh 0d8cb9b53c EESchema improvements and other minor fixes.
* Remove base screen methods from draw frame object and correct current
  screen methods in derived objects.
* Move restore old wires function code into schematic screen object.
* Make add junction method use current screen position instead of store
  position.
* Move poly line ghosting function into the delete current segment method
  as that was the only place is was being used.
* Add method to base schematic object of testing if object has a label
  that can be incremented.
* Simplified the schematic hierarchy traversing code.
* PCBNew Doxygen warning fixes.
2011-02-04 21:21:11 -05:00
Wayne Stambaugh d657b43052 Use wxDC for all coordinate manipulations.
* Remove all occurrences if #ifdef USE_WX_ZOOM and all associated code within
  the #else/#endif block ( old zoom code ).
* Removed the build option for USE_WX_ZOOM from CMakeList.txt and config.h.in.
* Removed all scaling code in base screen object.
* Fixed buffered paint and buffered client DC on Windows.  Buffering works
  properly on Linux and Windows.
* Modified kicad_device_context.h to automatically uses buffering on platforms
  where double buffering is supported natively.
* Remove all of the scaled versions of the drawing functions in gr_basic.cpp
  and any support code.
* Removed all traces of ActiveScreen global variable from eeschema and
  gerbview.
* Renamed Recadre_Trace to RedrawScreen in draw frame object.
* Renamed PostDirtyRect to RefreshDrawingRect in draw panel object.
* Lots of code cleaning an Doxygen comment improvements.
2011-01-30 17:22:38 -05:00
Wayne Stambaugh 73e38ce98c EESchema code refactoring and coding policy naming fixes.
* 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.
2011-01-21 14:30:59 -05:00
jean-pierre charras e095b07cc3 code cleaning 2010-11-18 22:16:28 +01:00
Dick Hollenbeck 6c9244e8c3 fix function comments, this time ones in *.cpp files until they
can be deleted later if they exist in the headers, or moved to 
headers if they should exist in the headers.
2010-11-12 10:59:16 -06:00
Dick Hollenbeck 636b2d301e function comments, fix ones in *.cpp files until they can be deleted if they exist in the headers 2010-11-12 10:36:43 -06:00
jean-pierre charras 60c1cbe843 fixed issues with wxWidgets 2.9.1 2010-07-27 18:49:38 +02:00
Dick Hollenbeck bc14e66d78 A little useful feature: even if the default unit can be changed between
inches and mm, the industry is crazy enough to force us with mixed
design. For example I routinely use imperial units for track size and
clearance, but drilling is strictly a metric issue...

So I added a little parser to recognize a suffix specification in the
unit text boxes... so you can put in things like:
1in (1 inch)
1" (idem)
25th (25 thou)
25mi (25 mils, the same)
6mm (6 mm, obviously)

The rules are: spaces between the number and the unit are accepted, only
the first two letters are significant.

As a bonus, it also recognize the period (.) as a decimal point
substituting it with the correct locale character (there was a wishlist
for it, IIRC). Most useful for number pad fans :D
2010-07-12 09:07:09 -05:00
jean-pierre charras e14311997d Auto update 3D display after footprint or board edition. 2010-05-01 14:46:33 +02:00
charras a70a580596 committed newfont patch. Pcbnew: board date automatically updated at each change. 2010-02-19 13:23:58 +00:00
charras 0bf4b5ae9a Pcbnew: fixed pad selection by right click according to pad visibility. 2010-02-05 10:56:23 +00:00
charras a46cd46d9d pcbnew: More about work on color selection and items visibility:
removed global variables and a lot of redundancies
2010-01-31 20:01:46 +00:00
charras 28f3b1988d Pcbnew: Code cleaning about visibility variables in draw functions.
Removed old color and visiblity dialog
work in progress.
See also TODO, P0)
2010-01-27 20:07:50 +00:00
dickelbeck 920186ddb4 more layer widget incorporation 2010-01-21 20:53:01 +00:00
charras 37309e1aac Ugly but necessary fix to display toolbars in latest Linux version (tested with Ubuntu 9.10 updated) 2010-01-14 20:20:59 +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
stambaughw 4611bfd58c Comment translations.
* Completed translation of all kicad source.
* Translated source files A through C in pcbnew.
2009-11-12 15:43:38 +00:00
charras 4b61440eb1 fix some problems (not all) when using wxAUI.
others minor bugs fix.
2009-11-07 14:36:54 +00:00
charras e027e65971 code and files cleanup 2009-10-28 11:48:47 +00:00
stambaughw 92064f1dbf Fix save last grid size and other minor updates.
* Create single event handler for grid size events.
* Fix all frame windows to use new grid size event handler.
* Use offset relative to ID instead of ComboBox index to save last grid size.
* Move last grid size load/save setting into WinEDA_DrawFrame.
* Add equality and assignment operators the GRID_TYPE.
* Add current grid helper methods to BASE_SCREEN.
* Add GetPins helper to LIB_COMPONENT to replace GetNextPin where applicable.
* Add AppendMsgPanel helper to WinEDA_DrawFrame.
* Improve rounding for display of coordinates when millimeter units are selected.
2009-10-14 19:43:31 +00:00
charras 89535a1366 some enhancements and cleanup. Fixed problem when deleting Netclasses in Design rules dialog window 2009-10-14 18:14:58 +00:00
dickelbeck b4fe26a31f Isaac's next color/layer work step 2009-10-10 01:25:53 +00:00
dickelbeck 7e93bb19df Isaac's via patch 2009-09-29 04:44:35 +00:00
stambaughw 43d6c685b5 Command ID refactoring and other minor improvements.
* 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.
2009-09-22 12:27:57 +00:00
charras d535a0fc97 pcbnew: Starting work on undo/redo in pcbnew. Only some delete item commands are stored in undo/redo stack 2009-07-29 13:10:36 +00:00
stambaughw aa51c05dc6 CVPcb code refactoring, global variable elimination, and UI updates.
* Add methods to read and write project file parameters using dynamically defined list.
* Remove all global variables defined in CVPcb code.
* Dynamically define project file settings so class member variables can be used.
* Separate reading and writing application settings from project file settings.
* Make application UI objects and dialogs respect system UI font.
* Remove non-standard widget colors from CVPcb dialogs.
* Changed CVPcb object link list implementation to use wxList.
* Changed project library and path dialog to make OK button save project file instead of confusing "Save Cfg" button.
* Eliminate some duplicate file wildcard and extension definitions.
* The usual code reformatting, commenting, and spelling fixes.
2009-04-23 15:02:18 +00:00
charras 9edace2f5f Code clarification about 3 confusing functions to display info: DisplayInfo (displaying a message info) and class members DisplayInfo and Display_Infos doing the same thing (see changelog) 2009-04-17 08:51:02 +00:00
dickelbeck 4ee4f83de4 move polar coordinates display to status field 2, so that field 0 persists. 2009-04-09 18:16:16 +00:00
charras 70707523dd show axis in module editor and gerbview 2009-04-07 07:24:33 +00:00
stambaughw 689579bde1 Global variable unobfuscation, new library path search, and lots of other changes. See CHANGELOG.txt. 2009-04-05 20:49:15 +00:00
charras 2a9a799f01 eeschema: Added: option to print ALL (more than 8) users fields in B.O.M.
pcbnew: added 5 metric grids and fixed a very minor bug when creating drill map.
2009-03-12 15:24:52 +00:00
charras 8593838f7a fixed: cursor is not positioned properly in find function (pcbnew) 2009-02-26 20:06:51 +00:00
stambaughw 80e03c8c1b Build optimizations and cursor movement key bug fix. 2009-02-05 20:53:08 +00:00
stambaughw b833a46bad More header file realignments to reduce recompiling and general code cleaning. 2009-02-04 15:25:03 +00:00
charras 5813a12ebb Print functions and display zoom level modified to use the new zoom implementation
Comments added in some functions.
2009-01-31 10:05:16 +00:00
stambaughw 2e5a57e100 New zoom implementation and some build optimizations. 2009-01-29 14:26:20 +00:00
stambaughw 21faf9d370 Integrate wxFileHistory, add missing header files to fix Linux build, initial search path work, and general housekeeping. 2009-01-17 20:31:19 +00:00
stambaughw 4a489895a3 More zoom clean ups and code cleaning. 2009-01-07 15:59:49 +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 f1eb69a1a3 more about texts and labels options under eeschema 2008-12-20 13:12:57 +00:00
stambaughw 1ecea828c2 Initial ground work for zoom improvements and minor build updates. 2008-12-19 13:51:48 +00:00
stambaughw 2611a54791 Convert global and embedded application pointers to wxGetApp() 2008-12-08 15:27:13 +00:00
dickelbeck aab39d1de7 injected DLIST<> into many list heads, see change_log.txt 2008-12-04 04:28:11 +00:00
dickelbeck 721d878fcf GetScreen() work, menu capitalization, beautifying 2008-04-17 16:25:29 +00:00
lifekidyeaa 6d609d1837 Fixed segfault which occured when open ing the module editor, loading a module, closing it, and opening the module editor again. This was
caused by prematurely deleting the module editor's m_Pcb pointer, which has the same value (points to the same structure) as 
g_ModuleEditor_Pcb hence should not be 
deleted.
2008-03-14 05:47:35 +00:00
dickelbeck 10e13ae50a layer names in *.brd file 2008-03-04 04:22:27 +00:00
lifekidyeaa c5cd85027b 2008-Feb-12 UPDATE Tim Hanson sideskate@gmail.com
================================================================================
+eeschema
        * commiting my changes to allow multiple instances of a given schematic file within 
a hierarchy:
        ** internally, m_currentScreen has been replaced with m_currentSheet,
                which is a list or 'path' of screens.  The path of screens is used to 
generate
                a series of timestamps, which is converted to flat component reference via 
a look-up
                table in the schematic files.
        ** this means that m_currentScreen is no longer used -- use GetScreen().
        ** GetScreen is virtual, as some of the dialogs keep around a WinEDA_BaseScreen 
pointer.
        ** all sub-sheets in a given schematic must have different names to generate a 
meaningful netlist.
2008-02-12 21:12:46 +00:00
dickelbeck 7dbb0da3bb more amazing free specctra import/export software 2008-02-08 00:16:59 +00:00
dickelbeck 57c1927121 more amazing free software 2008-02-05 02:13:16 +00:00
CHARRAS 7e7a793753 some changes about zones: enhanced dialog, and files reorganisation 2007-12-17 20:18:04 +00:00
CHARRAS f2b43e752f solved drc.cpp error (pcbnew crashes in track creation or edition). very minor other changes (translation) 2007-12-06 07:35:26 +00:00
dickelbeck 628be5d1c1 chasing a bug 2007-12-05 17:56:57 +00:00
dickelbeck 36c316e7e0 DRC dialog work 2007-12-04 07:04:53 +00:00
g_harland 5746386290 Added definitions for FIRST_COPPER_LAYER and LAST_COPPER_LAYER 2007-11-01 05:27:31 +00:00
CHARRAS f0cd147643 pcbnew: use collector class to locate items in modedit, the footprint editor (thanks, Dick). 2007-10-27 18:05:50 +00:00
CHARRAS ec02baab5f remove unused files. some translations.
cvpcb:	set flag wxFRAME_FLOAT_ON_PARENT when create the footprint 3D frame and the display frame
2007-10-27 12:24:09 +00:00
g_harland d5b353ac12 Assorted changes; see change_log.txt 2007-10-10 21:35:41 +00:00
dickelbeck a93fd7113e more pcbnew's onrightclick behavior 2007-10-10 12:43:30 +00:00
dickelbeck fbe7a112f8 pcbnew's onrightclick behavior 2007-10-10 04:53:23 +00:00
CHARRAS 1f842ae14c bug in move pad fixed (could crash pcbnew).Other minor changes 2007-10-07 18:24:15 +00:00
CHARRAS ee68d20e58 create new file cross-probing.cpp Move RemoteCommand() and SendMessageToEESCHEMA() to it 2007-10-06 16:16:48 +00:00
dickelbeck cb49ea8989 see change_log.txt for 2007-Sep-11 UPDATE 2007-09-12 02:14:07 +00:00
dickelbeck 74a635c127 see 2007-Sep-4 change_log.txt 2007-09-05 04:48:47 +00:00
charras 1a30862de5 minor changes. update GUI french translation 2007-06-15 12:04:24 +00:00
raburton dedb0228dc add files not currently available in source (e.g. docs, modules, etc.)
set svn:eol-style property to native for all ascii files to support cross platform development
2007-06-05 12:10:51 +00:00
plyatov 23c40f7e86 Initial import of KiCad. 2007-05-06 16:03:28 +00:00