Commit Graph

2195 Commits

Author SHA1 Message Date
Chris Pavlina bb9f1b00cd Fix graphics rendering on RTL systems (lp:1559545)
wx mirrors graphics by default on RTL systems; it is necessary to individually
set graphics canvases to LTR mode to avoid this.
2016-03-22 14:53:50 -04:00
Chris Pavlina d618585269 eeschema: fix printf format string 2016-03-22 11:17:02 -04:00
jean-pierre charras 99d18faca9 Change the way main editor frames are managed by Kicad: before this change, they had the Kicad manager frame as parent frame, and it creates a few issues:
- When the Kicad manager is iconized, all other child frames are iconized (normal wxWidgets behavior)
- For viewer frames in modal mode, there is a more annoying issue: they have the wxFLOAT_ON_PARENT frame style on unix, and wxSTAY_ON_TOP on Windows.
wxFLOAT_ON_PARENT frame style is incorrect (although on most WM it works) because the parent frame (Kicad manager Frame) is not the caller. It is usually a main editor frame.
It does not work on Windows (wx STAY_ON_TOP is used).
* Now each editor frame has a null parent.
Therefore iconizing the Kicad manager frame does not iconize other frames.
* Viewer frames have null parent in normal mode and the caller parent in modal mode (therefore wxFLOAT_ON_PARENT frame style is always and correctly used)
* References to opened/closed main frames are no more managed by the (complicated) kicad code. Instead of, a non critical and more easy to understand code just uses FindWindowByName to know if a main window exists or not.

These changes do not fix all issues about Kicad frames brought to the foreground or the background, but it fixes a few issues, and AFAIK do not add other issues.
2016-03-21 17:36:06 +01:00
unknown 82b3744ddd fix very minor issue: Eeschema creating extra whitespace in .lib 2016-03-20 15:53:02 +01:00
jean-pierre charras b116318df9 Eeschema: fix a stupid bug which prevents the netlister to output the right pin electrical type in netlist. 2016-03-15 12:29:16 +01:00
Wayne Stambaugh b7c974b2c4 MinGW64 build warning fixes.
* On MinGW64 and possibly other 64-bit platforms, time_t is defined as a long
  long unsigned integer but all of the scanf and printf format specifiers used
  to save and load the schematic files are %lX which is a long unsigned integer
  which causes compile warnings.  Add casts and temporary variables to eliminate
  the compile type warnings.
2016-03-14 14:20:19 -04:00
Chris Pavlina b521c91a6b Display "Finished" message for eeschema ERC
pcbnew DRC displays this as well; a user pointed out that when there are no
errors, it can be hard to tell that ERC ran at all.
2016-03-11 19:23:44 -05:00
Simon Wells 145cd47d5c Move copy version information code to about dialog. 2016-03-11 11:40:24 -05:00
jean-pierre charras 99e81aeb9c Fix incorrect (too small) bounding box EDA_TEXT, noticeable when chars like j or { are used in zone fill functions.
I tried to merge some constants used both in legacy mode and gal mode (which were, before this patch, separate constants).
There is still a serious work to avoid different calculation code for the same text in draw and plot functions.
Work in progress to merge these calculation functions.
2016-03-11 13:08:34 +01:00
Wayne Stambaugh 92f5ab8589 Eeschema: SCH_SHEET_LIST improvements.
* Derive SCH_SHEET_LIST from std::vector rather than using internal array
  management.  Change all internal code to use iterators or array operator
  in loops.
* Allow creation of empty SCH_SHEET_LIST for external population for plotting
  and printing.
* Clean up print an plot code to take advantage of new SCH_SHEET_LIST behavior.
* Make BuildSheetList() public so list can be populated after creation.
* Update all instances of SCH_SHEET_LIST with the appropriate SCH_SHEET
  object on initialization.
* Create const and non-const version of SCH_SHEET_PATH::GetSheet().
2016-03-06 16:22:01 -05:00
jean-pierre charras 0d1395ee08 Fix coverity warnings:
CID 135848:  Memory - illegal accesses
CID 135846:  Class hierarchy inconsistencies
2016-03-06 09:31:00 +01:00
Simon Wells 4d2a05856f Minor CMake configuration file fixes.
* Move add_directory()s in main CMakeList.txt after all find_package()
  macros are run so all flags in the main CMakeList.txt are propagated
  to the sub-folder CMakeList.txt files.
* Remove commented out include of config.h
* Make the link maps only build on linux as -${TO_LINKER},-cref
  -${TO_LINKER},-Map=blah just gives warnings on osx w/ clang
* Make the link maps only build with flag -DKICAD_MAKE_LINK_MAPS is
  defined during CMake configuration as they are highly specific.
* Moved the code for setting link maps into the main CMakeList.txt
  file to avoid duplication.
* Removed -D__ASSERTMACRO__ from osx as its no longer needed
* Removed a couple of other OSX only things that wouldn't work anyway
* Moved set (BU_CHMOD_BUNDLE_ITEMS) to the main CMakeList.txt as
  otherwise it would only work for the KiCad build not the other
  applications
* Made KICAD_SCRIPTING_MODULES enable KICAD_SCRIPTING as currently if
  you have modules enabled without the scripting base it will on build.
  This could be changed to a fatal error saying you need to also enable
  scripting but it seems unnecessary.
* Removed duplication of pcbnew.py install code under modules and
  scripting since you can't have modules without scripting now
2016-02-29 14:08:03 -05:00
jean-pierre charras 8522b0deb7 Rename enum TypeSheetLabel to PINSHEETLABEL_SHAPE (Better name, and in accordance with our coding style policy) 2016-02-28 19:16:59 +01:00
unknown 4b103baa3a Enum refactoring and shiny icons in dialog_lib_edit_pin_table 2016-02-28 18:33:29 +01:00
Wayne Stambaugh b7e56ae1cb Eeschema: SCH_SHEET_PATH refactor.
* Derive SCH_SHEET_PATH from std::vector< SCH_SHEET* > and remove unnecessary
  assignment operator and list management functions.
* Remove function BuildSheetPathInfoFromSheetPathValue() since it was
  effectively an assignment operation.
* Replace all calls to BuildSheetPathInfoFromSheetPathValue() with assignment
  operator.
* Replace list management functions with vector management functions.
* Fix a error message that wasn't translatable.
2016-02-27 14:35:45 -05:00
jean-pierre charras a28b1cefc3 CvPcb: serious code cleanup (work in progress): Remove dead or outdated code. Fix a lot of coding style issues. Use better code in many places. No new features. 2016-02-25 10:52:29 +01:00
Bernhard Stegmaier f8abe9c191 Add support for optional touchpad panning. 2016-02-24 14:53:02 -05:00
unknown d7e2ffe8fb Update comments (ElectricPinType -> ELECTRICAL_PINTYPE) 2016-02-20 20:07:05 +01:00
unknown 79422f929e Update comments (ElectricPinType -> ELECTRICAL_PINTYPE) 2016-02-20 20:00:22 +01:00
Wayne Stambaugh 9685b3812d Eeschema: decouple SCH_SCREEN::SchematicCleanUp() from wxDC and EDA_DRAW_FRAME.
* Remove wxDC and EDA_DRAW_FRAME parameters from SCH_SCREEN::SchematicCleanUp()
  function call.
* Update all code that calls SCH_SCREEN::SchematicCleanUp() with wxDC and/or EDA_DRAW_FRAME
  parameters.
* Fix a display refresh bug when incrementally inserting bus entries created in my last commit.
  IsDanglingStateChanged() appears to be broke for bus entries.
2016-02-20 09:59:42 -05:00
Simon Richter e220a50958 Eeschema: minor dialog fixes.
* Fix parent of elements in wxSizers.
* Update old dialog with recent version of wxFormBuilder.
* Add wxALIGN_CENTER_VERTICAL flag to some dialogs.
* Update wxFormBuilder timestamp in generated sources.
2016-02-19 18:25:03 -05:00
Wayne Stambaugh ce9d9afed5 Fix bug in component library editor. (fixes lp:1547299)
* Use temporary storage of new pins to prevent corruption of the library part draw items
  list when adding alternater body style pins to existing component which caused segfault.
2016-02-19 16:29:56 -05:00
jean-pierre charras 37c26cba71 Eeschema: Do not use ElectricPinType for SheetLabel items. ERC does not use ElectricPinType to test sheet labels, which do net have an actual electrical type property
Replace ElectricPinType by ELECTRICAL_PINTYPE as enum name to be compliant with coding style.
Enforce ELECTRICAL_PINTYPE control in methods.
2016-02-19 17:51:23 +01:00
unknown 8a9c6f71b7 Make pin position and pin type columns sortable in dialog_lib_edit_pin_table. 2016-02-19 16:59:31 +01:00
Wayne Stambaugh 306b964b40 Eeschema: decouple SCH_SCREEN::TestDanglingEnds() from wxDC and EDA_DRAW_PANEL.
* Remove wxDC and EDA_DRAW_PANEL as parameters from function
  SCH_SCREEN::TestDanglingEnds().
* Change SCH_SCREEN::TestDanglingEnds() to return the connection change state
  rather than the dangling end status which wasn't used anywhere.
* Update all calls to SCH_SCREEN::TestDanglingEnds() to remove wxDC and
  EDA_DRAW_PANEL parameters and refresh connection indicators only if a
  connection state change occurred.
2016-02-19 10:41:32 -05:00
jean-pierre charras ca5e66a57f Fix Bug #1545708 (global bus labels ignored). This is a very old bug. 2016-02-18 08:40:45 +01:00
Wayne Stambaugh 0ac8aad082 Revert Eeschema refactoring work due to broken handling of complex hierarchies. 2016-02-16 10:28:27 -05:00
Wayne Stambaugh 97949ffde9 Undo commit -r 6353. 2016-02-15 15:24:59 -05:00
Wayne Stambaugh 03bf559465 Undo commit -r 6368. 2016-02-15 15:22:45 -05:00
Wayne Stambaugh af2e19d7d9 Undo commit -r 6380. 2016-02-15 15:21:18 -05:00
Wayne Stambaugh 3d963166c7 Undo commit -r 6389. 2016-02-15 15:19:22 -05:00
Wayne Stambaugh 73dc53dc35 Undo commit -r 6413. 2016-02-15 15:18:32 -05:00
Wayne Stambaugh 4007317606 Undo commit -r 6428. 2016-02-15 15:17:51 -05:00
Wayne Stambaugh 1866b61a56 Undo commit -r 6457. 2016-02-15 15:16:54 -05:00
Wayne Stambaugh 8587488984 Undo commit -r 6595. 2016-02-15 15:15:51 -05:00
Wayne Stambaugh 27b587025d Undo commit -r 6506. 2016-02-15 15:14:48 -05:00
Wayne Stambaugh 5a5fffb349 Undo commit -r6509. 2016-02-15 15:14:07 -05:00
Wayne Stambaugh 663394749d Undo commit -r 6533. 2016-02-15 15:13:27 -05:00
Wayne Stambaugh 7b5823185a Undo commit -r 6535. 2016-02-15 15:12:42 -05:00
Wayne Stambaugh 9eda45a97e Undo commit -r 6539 2016-02-15 15:11:50 -05:00
Wayne Stambaugh ee23342e31 Undo commit -r6541. 2016-02-15 15:10:57 -05:00
jean-pierre charras 5b1a5cbdce Eeschema: Files menu: better name and better comment for the Import sheet content from a project in the current sheep command. 2016-02-15 16:58:35 +01:00
jean-pierre charras 2284228c35 HPGL plot dialog: remove no more in use Pen Overlap parameter. Fix incorrect polygon fill by setting the hpgl pen thickness in hpgl file. Add filled circle (previously, a circle was never filled) 2016-02-11 13:14:46 +01:00
Wayne Stambaugh 61454bf04c Eeschema: fix annotation bugs. (fixes lp:1542579)
* Ensure proper SCH_SHEET object page numbering which caused annotation to
  calculate incorrect reference designators when annotating by using page offsets.
* Added SetPageNumbers to SCH_SHEET for setting sheet page numbers after
  schematic is loaded.
2016-02-07 09:01:28 -05:00
Wayne Stambaugh cb13e57973 Eeschema: move find sheet by name from SCH_SHEET_PATH to SCH_SHEET.
* Move FindSheetByName() function from SCH_SHEEET_PATH to SCH_SHEET object
  and update calls to FindSheetByName() accordingly.
* Remove SCH_SHEET_PATH::FindSheet() which was unused.
* Add sorting option to SCH_SHEET::GetSheets().
2016-02-05 08:33:28 -05:00
Wayne Stambaugh 0ef1eee2c6 Eeschema: move recursion check from SCH_SHEET_PATH to SCH_SHEET.
* Add const and non-const version of GetRootSheet() to SCH_SHEET.
* Add GetSheetPaths() function to SCH_SHEET which behaves the same way
  as SCH_SHEET_LIST except it uses standard C++ containers and is a much
  simpler design.
2016-02-02 19:45:43 -05:00
Wayne Stambaugh 783f818f19 Eeschema: fix segfault when drawing new sheet after deleting existing sheet with the same file. (fixes lp:1538510) 2016-02-02 11:54:54 -05:00
jean-pierre charras ce7ce77d80 Very minor fix: double shortcut key fix in dialog_schematic_find_base.cpp 2016-02-01 11:42:33 +01:00
Tomasz Wlostowski ee3418e90b One-click PCB update improvements
- Fix repetitive undo/redo segfaults & assertions.
- Add Update menu entry on PCB side.
- Fix Python build error
- Add spread footprints after updating
2016-01-29 15:43:40 +01:00
Tomasz Wlostowski 689072c0e1 PCB updater: open PCBnew automagically, minor fixes to the dialog 2016-01-29 11:36:51 +01:00
Tomasz Wlostowski 867a0444bd eeschema: single click PCB update feature added 2016-01-29 11:24:39 +01:00
Simon Richter 23e8c3ebf3 Executable icon resource build configuration fixes.
* The resource setting for bitmap2component is too late in the CMakeLists.txt,
  and is being ignored. Bitmap2component does not have an icon resource on
  Windows.  Moving the entire section resolves the issue.
* The other programs only have the mingw special case listed, not the generic
  declaration for the resource file so added them.
2016-01-28 11:53:24 -05:00
Chris Pavlina ac54b7d114 libedit: fix iterator off end of vector (lp:1537946) 2016-01-25 20:52:13 -05:00
Wayne Stambaugh 2aac71700b Eeschema: move is complex hierarchy and find next item from SCH_SHEET_PATH to SCH_SHEET.
* Add function to get a list pointers to this sheet and all of it's  sub-sheets
  to SCH_SHEET.
* Remove unused function SetFootprintField() from SCH_SHEET_PATH.
2016-01-24 15:46:14 -05:00
Martin d'Allens d18baf1487 Eeschema: Set modified flag after "Append Schematic Sheet" 2016-01-23 10:25:07 -05:00
Wayne Stambaugh ac30be332f Eeschema: move get multi-unit components from SCH_SHEET_PATH to SCH_SHEET. 2016-01-21 19:01:34 -05:00
Chris Pavlina 8e8e126dcd Regression fix: hotkeys in eeschema not saved
Regression introduced in bzr 6474 / git 5173699
2016-01-21 10:17:55 -05:00
Chris Pavlina c490e7dd06 Fix typing problems with GR_KB_* constants 2016-01-20 07:11:17 -05:00
Wayne Stambaugh cf9a9a09ad Eeschema: decouple SCH_COMPONENT from SCH_SHEET_PATH.
* All reference paths except netlist objects are retrieve from the parent
  sheet of the component rather than the external sheet path object.
2016-01-18 18:47:55 -05:00
Chris Pavlina 5d805e94eb Remove last vestiges of DIALOG_COLOR_CONFIG
The color config dialog in libedit edits the same settings as the one in
eeschema, so there's no reason for it - it's just duplicated.
2016-01-16 18:51:56 -05:00
Chris Pavlina b891fa4358 Remove separate color configuration dialog 2016-01-16 18:51:48 -05:00
Chris Pavlina bf03642220 Pull colors widget into preferences dialog 2016-01-16 18:51:38 -05:00
Chris Pavlina 9513741816 Rename WIDGET_COLOR_CONFIG -> WIDGET_EESCHEMA_COLOR_CONFIG 2016-01-16 18:51:27 -05:00
Chris Pavlina 8c2427d3fa Add and use WIDGET_COLOR_CONFIG::InstallOnPanel 2016-01-16 18:50:55 -05:00
Chris Pavlina c4694e029d Move color configuration into a separate widget 2016-01-16 18:50:45 -05:00
Chris Pavlina 2ed78cf84b Move import/export button back into menu 2016-01-15 21:06:41 -05:00
Chris Pavlina 80fae7161e Coding style fixes 2016-01-15 21:06:25 -05:00
Chris Pavlina 73faa8238e Adjust options window 2016-01-15 21:06:15 -05:00
Chris Pavlina 4dad12794a Add and use WIDGET_HOTKEY_LIST::InstallOnPanel 2016-01-15 20:58:39 -05:00
Chris Pavlina af042628ff Refactor WIDGET_HOTKEY_LIST out of DIALOG_HOTKEYS_EDITOR 2016-01-15 20:56:57 -05:00
Chris Pavlina 9663060f97 Recreate menu bar after changing hotkeys 2016-01-15 20:56:23 -05:00
Chris Pavlina 2e4bb307dc Fix dialog sizing issue on Windows 2016-01-15 20:56:16 -05:00
Chris Pavlina db178dcdaf Eeschema options+hotkeys fixes
Fix wxTreeListCtrl column sizing

Minor: fix signed/unsigned comparison

Remove unnecessary m_parent direct access
2016-01-15 20:56:00 -05:00
Chris Pavlina 5173699eec Pull hotkey editor into eeschema preferences 2016-01-15 20:55:50 -05:00
Simon Wells e5f3edf0f1 Eeschema: minor coding policy fix 2016-01-15 20:26:34 -05:00
Simon Richter 769104d542 pin table: Support flat table 2016-01-14 21:26:42 -05:00
Chris Pavlina ca01527d20 Coding style fix in the previous patch 2016-01-14 21:21:54 -05:00
Simon Richter 64782736ac pin table: Add GetString() to retrieve string value for column
This is in anticipation of the introduction of icons -- retrieving all the
icons and throwing them away during sorting takes ages.
2016-01-14 21:21:26 -05:00
Simon Richter 5af18e553c Compress consecutive numbers in pin summary.
For pin numbers ending in digits, consecutive numbers are collapsed to
ranges for a better overview.
2016-01-13 14:18:05 -05:00
Simon Richter 3c5a4a3505 Add pin number summary
Below the pin table, display which pins are currently defined, in order to
find gaps.
2016-01-13 14:17:54 -05:00
Chris Pavlina f7c7920b0b Add missing files from 6461 and 6462 2016-01-13 14:13:38 -05:00
Simon Richter 9e8acdc71a Move container functionality
The "set of pin numbers" functionality is also useful outside the pin table
dialog, so create a wrapper class that exposes the relevant interfaces.
2016-01-13 14:09:24 -05:00
Simon Richter a7b102c366 Move comparison helper class to generic header
This class wraps the comparison function in a way that is compatible with
std::map and std::set. This, too is generally useful, so it should be moved
to the generic header.

At the same time, the criterium for less-than is changed from "equal to -1"
to "smaller than 0", because technically the comparison function may return
other values.
2016-01-13 14:09:18 -05:00
Simon Richter 88ccd787a4 Split off pin number comparison
Pin numbers need to be ordered in more places in the future, so fold this
out of the pin table dialog into a utility class.
2016-01-13 14:09:07 -05:00
Wayne Stambaugh cdba425bad Eeschema: move get components from SCH_SHEET_PATH to SCH_SHEET.
* Add sheet number that is set by schematic file load order.  This duplicates
  the previous SCH_SHEET_PATH behavior.
* Uncouple SCH_REFERENCE and SCH_REFERENCE_LIST from SCH_SHEET_PATH.
* Add - operator to SCH_SHEET for comparison purposes.  This duplicates the
  behavior of SCH_SHEET_PATH::Cmp().
2016-01-12 21:31:34 -05:00
Chris Pavlina 3a8e78c586 Eeschema: always enable Replace All when there is a search term 2016-01-12 10:57:17 -05:00
Chris Pavlina fc22580d9a Eeschema: replace accidental dynamic_casts with static_casts
Coverity: 134084, 134805, 134086, 134087
2016-01-09 18:36:09 -05:00
Chris Pavlina b381d99300 Eeschema: fix uninitialized members
Coverity: 102614, 102723
2016-01-09 18:35:20 -05:00
Chris Pavlina 5e36c48012 Eeschema: remove dead code in autoplace (Coverity)
CID 134043, 134094 in autoplace_fields: variable overwritten due to dead code
that should have been removed.
2016-01-09 16:59:01 -05:00
Wayne Stambaugh e8e0a75b8c Eeschema: move update all screen references from SCH_SHEET_PATH to SCH_SHEET.
* Uncouple SCH_COMPONENT::GetRef() from  SCH_SHEET_PATH and use SCH_SHEET
  instead.
* Uncouple SCH_COMPONENT::GetUnitSelection() from  SCH_SHEET_PATH and use
  SCH_SHEET instead.
* Fix all calls to GetRef() and GetUnitSelection() to pass a pointer to the
  appropriate SCH_SHEET object instead of an SCH_SHEET_PATH object.
2016-01-06 19:07:30 -05:00
Wayne Stambaugh 133b8f6b96 Eeschema: move annotate power symbols from SCH_SHEET_PATH to SCH_SHEET.
1
* Uncouple SCH_COMPONENT::SetRef() from  SCH_SHEET_PATH and use SCH_SHEET  instead.
2016-01-03 08:58:27 -05:00
unknown 662d35633a Minor changes to eeschema options dialog 2016-01-01 10:47:17 +01:00
jean-pierre charras a84d8f70bc Very minor fixes in dialog_eeschema_options_base: make the dialog resizable, and remove duplicate accelerator keys in 2 items. 2015-12-31 17:11:47 +01:00
Chris Pavlina e12d6fb82f Eeschema: improve default field option dialog tab (fixes lp:1527309)
* Use wxGrid to edit default fields in option dialog which allows user to
  directly instead a separate edit panel.
* Implement TransferData{To,From}Window methods.
2015-12-31 10:12:09 -05:00
jean-pierre charras 6ff0092e21 Github plugin: fix lack of message when trying to download a non existing footprint library (Curl does not return an error: the message "Not Fount" is stored in buffer, and the zip handler returns a not suitable error message)
Minor and very minor other fixes.
2015-12-30 08:46:32 +01:00
Chris Pavlina 3dff6c097e Eeschema: reorganize options dialog. 2015-12-28 08:33:21 -05:00
jean-pierre charras 9d994663f1 Fix Bug #1527446 (Flipping a block in pcbnew doesn't flip inner layers nor their connected microvias).
Also fix a few typos and remove dead code.
2015-12-27 16:51:13 +01:00
jean-pierre charras c4ea4dc0df Fix some warnings (looking like potential bugs) detected by cppcheck, (a few from a patch from Julien Nabet <serval2412@yahoo.fr>), remove not used vars and a few coding style fixes. 2015-12-27 13:16:46 +01:00
jean-pierre charras 59d02cf1a4 Minor fixes:
* fix minor coding style issues.
* remove unused member in modview_frame.
* use different frame names in ctor of modview_frame and viewlib_frame depending on the fact they are built modal or not modal (allowing identifications when calling wxFindWindowByName)
* change questionnable code in  class_libentry.cpp.
* remove unused code in class_treeproject_item.cpp
2015-12-22 12:58:26 +01:00
unknown 0ea1c67caf eeschema plot dialog: cosmetic enhancement:
Including the inline of the Output directory and its text field/browse button.
Moving the plot format to the left of the plot options as the plot options depend on the plot format.
2015-12-21 16:08:37 +01:00