Commit Graph

144 Commits

Author SHA1 Message Date
Dick Hollenbeck 4578ea8b9e 1) Add 32 Cu Layers.
2) Change from legacy Cu stack to counting down from top=(F_Cu or 0).
   The old Cu stack required knowing the count of Cu layers to make
   sense of the layer number when converting to many exported file types.
   The new Cu stack is more commonly used, although ours still gives
   B_Cu a fixed number.
3) Introduce class LSET and enum LAYER_ID.
4) Change *.kicad_pcb file format version to 4 from 3.
5) Change fixed names Inner1_Cu-Inner14_Cu to In1_Cu-In30_Cu and their
   meanings are typically flipped.
6) Moved the #define LAYER_N_* stuff into legacy_plugin.cpp where they
   can die a quiet death, and switch to enum LAYER_ID symbols throughout.
7) Removed the LEGACY_PLUGIN::Save() and FootprintSave() functions.
   You will need to convert to the format immediately, *.kicad_pcb and
   *.kicad_mod (=pretty) since legacy format was never going to know
   about 32 Cu layers and additional technical layers and the reversed Cu
   stack.
2014-06-24 11:17:18 -05:00
jean-pierre charras 9ee8dac056 Pcbnew, python console: make it not dockable (workaround to avoid the fact accelerator keys which are used in the main menu are not sent to the console, in docked mode).
Minor cosmetic enhancement.
2014-06-19 08:26:53 +02:00
jean-pierre charras a094f7d5b5 Fix some issues in modview, relative to few incorrect use of some wxAuiManager functions.
Fix not working + and - keys in layers manager.
Fix typo errors and modify some messages to make translator's life more easy.
2014-01-19 14:12:57 +01:00
Wayne Stambaugh f78497bf4f Decouple PLOT_CONTROLLER from UI dependencies. 2013-05-10 15:22:29 -04:00
Lorenzo Marcantonio 78e41187b3 Moved utilities for angles in trigo.h
New conversion routines and sin/cos implementation for angles in decidegrees
2013-05-02 20:06:58 +02:00
Miguel Angel Ajo c597e75b73 Support to enable color from PLOT_CONTROLLER into plotters that start in B/W 2013-04-18 23:21:26 +02:00
Lorenzo Marcantonio 42709330e0 Better strings for the translators (converted concatenations to formats) 2013-04-09 19:49:01 +02:00
Lorenzo Marcantonio 9fd79dfa91 Implemented the LAYER_NUM typedef (LAYER was already taken as a class name...) to represent a layer number. 2013-03-31 15:27:46 +02:00
Lorenzo Marcantonio e0303a4558 - New typedef LAYER_MSK to encapsulate a layer bitmap
- Renamed ReturnMaskLayer to GetLayerMask (since it's a plain getter)
2013-03-30 18:24:04 +01:00
Dick Hollenbeck 25b65b2e3b Consistent with my email posting from a day or two ago, remove the translated
standard layer name support from BOARD::GetLayerName().  This function evolved
in a contorted direction over time, and was being asked to return one of 3
different kinds of layer names, even though it only took a boolean to control
that choice.  

Users are better served by forcing them to get to know the concise new 
English Standard layer names.  This is because these concise names show up
in the "pretty" footprint/module files as the standard representation of
both feature and copper layers.

Change the name of BOARD::GetDefaultLayerName() to GetStandardLayerName().
Drop boolean argument to both BOARD::GetStandardLayerName() and 
BOARD::GetLayerName().
2013-03-19 23:46:32 -05:00
jean-pierre charras b080f860c9 Pcbnew: enhanced dialog for SVG export 2012-11-16 15:13:31 +01:00
jean-pierre charras 4794d3774a Pcbnew: fix incorrect filenames when plotting layers 2012-11-15 11:47:23 +01:00
jean-pierre charras cc47e88b9e Pcbnew, plot functions: fix bug in SVG plotter, fix a minor other bug when using PS plotter (trcak width fine adjust not working)
and plot code cleaning continued
2012-09-24 08:39:59 +02:00
jean-pierre charras 9e0960615a dcsvg (and therefore KicadSVGFileDC) is now unused. Use SVG plotter only to export a board SVG file.
SVG export does not use no more wxWidgets wxDC.
In pcbnew SVG files can be created by plot menu (in B&W) or export SVG menu (B&W or Color).
Export SVG menu is more suitable to create a view of a board, and plot menu is better to create a B&W document of silkscreen layers.
(In the future, the 2 menus could be merged, because they are not very different).
Note: pcbnew plot code is cleaned, mainly in dialog files, but still needs more cleanup.
2012-09-20 20:58:41 +02:00
jean-pierre charras a9744e3f84 Pcbnew: added: SVG plotter. Need refinements, but works.
Mainly to plot drill maps, but can be used to plot boards, for documentation.
The print svg still exists, but the plot SVG has more options (mirroring, holes in pads),
however  print svg allows color print, and full board printing, and plot does not.
2012-09-15 14:13:03 +02:00
Lorenzo Marcantonio fef8347176 Script plotting patch 2012-08-29 18:59:50 +02:00
jean-pierre charras 91b0191a02 Pcbnew: save/load .kicad_pcb files: fix 2 minor issues.
Use now English layers names to build filenames in plot functions (for techical layers), because translated names create sometimes  problems in filenames.
(should do not change anything for English users)
2012-06-27 22:07:37 +02:00
jean-pierre charras de471744cd Fix some minor bugs in plot functions 2012-06-09 11:38:58 +02:00
Wayne Stambaugh 6468805c27 More internal unit improvements.
* Move all convert from user to internal units into base_units.cpp.
* Remove internal units parameters from all moved conversion functions.
* Revise all source code that calls the moved conversion functions.
* Remove internal units from all dialog text control helper classes.
2012-04-16 13:39:32 -04:00
Wayne Stambaugh 57d75a75a8 More internal unit improvements.
* Move all convert from internal to user units functions into separate file.
* Remove internal units parameter from all moved conversion functions.
* Revise all source code that calls the moved conversion functions.
* Compile these conversion routines separately for the appropriate pcb or
  schematic internal units.
* Move internal units specific status bar update code into the appropriate
  application for updating the status bar.
* Move millimeter user units rounding function to common.cpp.
2012-04-13 14:51:24 -04:00
Dick Hollenbeck f8490ff4af Remove g_PcbPlotOptions, use wxformbuilder to subclass DIALOG_SHIM on several dialogs 2012-04-05 13:27:56 -05:00
jean-pierre charras 08ef741770 Undo redo change and code cleanup. 2012-02-05 14:02:46 +01:00
Dick Hollenbeck b8a0ab4c52 switch to <> for includes from "" per conversation with Jean-Pierre and Wayne, adjust search paths 2012-01-22 22:33:36 -06:00
Alexander Zakamaldin 5cf2d4fabb This patch is intended for poedit to do it's job better. 2012-01-17 09:02:17 -06:00
Александр Закамалдин 2caa72f063 This patch implements width tuning (width correction) for PS plotting of tracks, pads and vias.
This feature is very useful for electronics hobbyists who use DIY PCB technology 
(both toner transfer and photoresist methods).
Also width correction may be useful for PCB designers who take care of track width etching.
This patch also fixes some minor PS plotting issues.
2012-01-07 00:02:38 -06:00
Wayne Stambaugh b774d96fb0 Minor coding policy and code readability improvements. 2012-01-03 12:14:17 -05:00
jean-pierre charras 2df818b844 Fix issue in GPcb footprints import.
Better code in test connections in zones.
Very minor other fixes
2011-12-22 09:07:50 +01:00
Wayne Stambaugh 0e27f45ffd Encapsulate EDA_APP class. 2011-12-16 15:12:49 -05:00
Wayne Stambaugh fac288cffa More encapsulation work and other minor improvements.
* EDA_DRAW_FRAME completely encapsulated except for DrawFrame member.
* Moved members specific to Pcbnew from EDA_DRAW_FRAME to PCB_BASE_FRAME
  or PCB_EDIT_FRAME as appropriate.
* Replace EDA_TOOLBAR with wxAuiToolBar as EDA_TOOL bar provided no
  additional functionality and made code less readable.
* Remove EDA_TOOLBAR class definition from wxstruct.h and delete file
  wineda_toolbar.cpp.
* Rename tool bar members to something more descriptive since the
  horizontal and vertical references wont mean anything once the
  tool bars are movable.
* Lots of dead code removal.
2011-12-16 08:32:23 -05: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 c09bc26dc2 Minor PCBNew code fixes.
* Translate French code names and comments.
* Dead code removal.
* Hot key object and structure coding style policy fixes.
* Doxygen comment warning fixes.
2011-09-29 12:49:40 -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 ebc7259a91 Rename WinEDA_App class to EDA_APP and remove redundant includes. 2011-09-06 10:09:40 -04:00
jean-pierre charras ba6100e37e Pcbnew: fix a minor issue: *.pro file updated by Pcbnew only on demand. 2011-03-22 18:58:58 +01:00
Marco Mattila 430a39d7a2 Modify pcbnew plot and zone dialogs. Policy fixes in dialog_copper_zone. 2011-03-02 00:36:38 +02: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 6428836755 Fix postscript output option in pcbnew plot dialog. 2011-02-17 19:11:20 +02:00
Marco Mattila ac0979fa99 Tune pcbnew plot dialog. Make actual plotting code independent of dialog widgets and get settings from PCB_PLOT_PARAMS instead. 2011-02-17 00:54:44 +02:00
Marco Mattila c087883d38 Move layers into a wxCheckListBox in pcbnew plot dialog. 2011-02-16 00:54:23 +02:00
Marco Mattila 77c641618c Add limit checking to plot dialog fields. 2011-02-04 00:26:30 +02:00
Marco Mattila c9b27ee785 Tune pcbnew plot dialog layout. 2011-02-02 01:03:26 +02:00
jean-pierre charras 7bd85a393d Pcbnew: plot dialog: minor enhancement and minor issue fix (could be a wxFromBuilder issue) 2011-02-01 19:37:32 +01:00
Marco Mattila 126fe2603f Fix plot format selection in plot dialog. 2011-01-30 22:21:39 +02:00
Marco Mattila 73bdd76a5c Tune pcb plot dialog layout. Make output directory accept relative paths. 2011-01-30 20:55:56 +02:00
Marco Mattila 7ccdb5589d Add saving of pcb plot settings in board files. 2011-01-29 00:54:16 +02: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
Wayne Stambaugh b98538ec35 Add copy constructors and cloning to schematic objects and other minor fixes. 2010-12-21 10:13:09 -05:00
jean-pierre charras 99ee5507db coding policy fixes 2010-12-11 20:33:21 +01:00
jean-pierre charras e9f557e65a Pcbnew plot functions: code cleanup, coding policy fixes and minor enhancements 2010-12-11 19:40:39 +01:00
jean-pierre charras ba0fbd1924 Pcbnew: remove not used old files. Minor enhancements 2010-12-09 18:34:08 +01:00
Marco Mattila 9dc9cc1f78 Board manufacturers typically do not print silkscreen on areas without
soldermask. Nevertheless, it would be nice to have proper gerbers to
begin with, i.e., gerbers with no silkscreen in soldermaskless areas.
Of course, most of the problem can be taken care of by drawing the
footprints properly. However, sometimes the silkscreen of one
footprint ends up on the pads of another one (think components under a
so-dimm card, for example). The attached patch adds an option to
subtract the soldermask from the silkscreen when doing gerber output.

marco
2010-12-06 16:05:12 -06:00
Marco Mattila 4451dd3aab This patch adds an output directory field into the plot dialog in
pcbnew and directs gerber/hpgl etc. output into that directory.
There's a browse button that opens a dialog for browsing. If the
directory does not exist, it is created. Tested in linux, not in
windows. Wxwidgets methods are used for file (name) manipulations, so
things are probably ok in windows, too.

marco
2010-11-21 09:12:37 -06: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
charras bbd8cdd91b minor enhancements, fixes an code cleanup (removed unused global variables) 2010-02-24 15:33:03 +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 bd19e0170e Pcbnew: fixed plot pads problem on silkscreen layers. 2010-01-18 15:11:35 +00:00
charras 27346c7e79 Pcbnew and Gerbview: Refactor dialogs for plot and print. 2010-01-01 13:30:39 +00:00
charras a1998410fc Some enhancements and fixes. (see changelog) 2009-12-30 18:06:12 +00:00
charras b24118ebbd changed last layer constants XXX_LAYER_CU and XXXX_LAYER_CMP to XXX_LAYER_BACK and XXX_LAYER_FRONT 2009-12-21 18:51:37 +00:00
charras bec48d8ab2 changed COPPER_LAYER and CMP_LAYER to LAYER_BACK and LAYER_FRONT 2009-12-21 13:05:11 +00:00
stambaughw 1a139a7fe7 More comment translation and capitalization fixes. 2009-11-18 12:52:19 +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 c3fde30419 code cleaning. Pcbnew: Minor enhancements in Plot dialog 2009-08-29 10:20:48 +00:00
charras 0a58e6303f fixed postscript plot broken. Better default values for pcbnew plot dialog 2009-08-28 18:03:22 +00:00
charras 42022adb3f code cleaning 2009-07-30 11:04:07 +00:00
charras f7a804e23d Bugfix for plotting 2009-06-30 10:43:20 +00:00
charras 2a80117065 Commit patch for plot functions from Lorenzo 2009-06-28 16:50:42 +00:00
stambaughw 161068b1c6 Minor bug and compiler warning fixes.
* Applied sheet reference plotting patch from Lorenzo.
* Fixed bug in Pcbnew plot dialog, ignore user scaling when controls are disabled.
2009-06-01 18:28:34 +00:00
stambaughw 0652ab4fd2 PCBNew UI normalization and global variable reductions.
* All: remove all remaining occurrences of g_DialogFont and dialog font menu handers.
* All: remove all remaining non-standard fonts and button text colors from common dialogs.
* PCBNew: remove all non-standard fonts and button text colors from dialogs.
* PCBNew: update project library and path dialog to match changes to CVPCB version.
* EESchema: update project library and path dialog to match changes to CVPCB version.
* EESchema: save vertical/horizontal line direction setting between sessions.
2009-05-01 18:06:03 +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
charras dd4e90215e typo; bug in lib component edition: doc filename was entered from browse button without extension. 2009-04-15 12:12:59 +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 6431e9c94d pcbnew, gerbview: print&plot: error message displayed when no layer selected. 2009-03-10 08:26:52 +00:00
stambaughw b833a46bad More header file realignments to reduce recompiling and general code cleaning. 2009-02-04 15:25:03 +00:00
charras a3a4bbc03b pcbnew test scale values when printing/ploting to avoid 0 scale or others stupid values
(scale now allowed from 0.01 to 100)
2009-01-18 19:20:15 +00:00
charras b27bbe9cac Eeschema+Pcbnew: code cleanup and refinements in plot SVG format 2009-01-13 19:18:54 +00:00
charras 63724083f6 Pcbnew: force scale 1 in gerber format, regardless the options value. Solved a bug when retrieving plot scale options 2009-01-07 07:58:45 +00:00
dickelbeck b603580355 WinEDA_BasePcbFrame::m_Pcb is now private, use GetBoard() to access it. 2009-01-05 05:21:35 +00:00
stambaughw 2611a54791 Convert global and embedded application pointers to wxGetApp() 2008-12-08 15:27:13 +00:00
charras 78bbe94923 Use double instead float when possible, ande code cleaning.
change EXCHG macro to equivalent inline functions
(better code compatibility with some compilers)
2008-10-30 10:55:46 +00:00
jerryjacobs dfc8036781 Menu and statusbar strings made more clear 2008-10-02 19:33:44 +00:00
charras f98fd09f84 minor changes in pcbnew (see changelog) 2008-08-06 07:46:03 +00:00
charras 1547987157 some enhancements. 2008-04-18 13:28:56 +00:00
dickelbeck 2da432b271 plot fix, beautification 2008-03-22 05:55:06 +00:00
dickelbeck 11d8f51b5c dialog work 2008-03-21 19:27:11 +00:00
dickelbeck 10e13ae50a layer names in *.brd file 2008-03-04 04:22:27 +00:00
CHARRAS bbae2b12b1 Plot option in GERBER format Plot (Exclude Edge Pcb layer) modification (now, default = off, and saved in config) 2008-01-23 08:01:38 +00:00
g_harland 9e32b2abdb Assorted changes; see change_log.txt 2007-10-07 03:08:24 +00:00
CHARRAS 077a570bc0 Display grid in mils or mm in popup menus 2007-08-27 08:07:44 +00:00
g_harland 908f6d936b Option now provided for Gerber files to exclude contents of Edges Pcb layer 2007-08-24 10:10:42 +00:00
g_harland 2ba87b4a86 pcbnew: "Postscript A4" radiobutton now restored in "Plot" dialog box (if it had been selected previously)
Also fine-tuned spaces within strings specified within share/infospgm.cpp
2007-08-03 02:00:29 +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
dickelbeck ae74527bc2 Jean-Pierre's changes for kicad-2007-05-25 release 2007-05-28 18:09:49 +00:00
plyatov 23c40f7e86 Initial import of KiCad. 2007-05-06 16:03:28 +00:00