Commit Graph

926 Commits

Author SHA1 Message Date
Oliver Walters 5126332c57 Fixed wxString::Format assert 2017-05-02 09:39:08 -04:00
Oliver a39856485c Added component table dialog
- Allows grouping of matched components
- Bulk edit of components in a spreadsheet window
- User can choose to save / undo changes
- All changes are pushed to the undo stack in a single operation
- Export table to HTML / CSV output
2017-05-02 09:39:01 -04:00
Maciej Suminski 801e50450b Revert "Fix component chooser dialog crash if there are no FPs available"
This reverts commit 0a8a659ff7.
The patch is incorrect, as it removes the FP chooser drop-down list.
I cannot reproduce the crash with the patch reverted, so there must
have been something specific to my configuration at that time.
2017-04-13 10:58:10 +02:00
Wayne Stambaugh 578f01bfd9 Fix debug build error in symbol remap dialog. 2017-04-05 08:43:05 -04:00
Wayne Stambaugh 36606ceeb7 Add symbol library table remapping dialog.
Create dialog and code to allow legacy schematic symbols to be remapped
from the old library path look up method to the new symbol library table
method by using the following steps:

  1) Create a project symbol library table containing all of the symbol
     libraries defined in the old library look up list not found in the
     global symbol library table.

  2) Map each symbol to the correct symbol in the symbol library table
     if possible.

Recreate library link to symbols so look up method can be converted to
symbol library table properly.

Add function to SCH_COMPONENT to link library symbols using the symbol
library table.
2017-04-04 18:31:28 -04:00
jean-pierre charras 2f9be81b19 Very minor change in 2 strings to help I18n translations. 2017-04-02 11:51:40 +02:00
Fabrizio Tappero dcaa0559de Minor edit component properties dialog improvements. 2017-03-31 15:30:00 -04:00
Maciej Suminski 0a8a659ff7 Fix component chooser dialog crash if there are no FPs available 2017-03-31 17:15:09 +02:00
Chris Pavlina 3234087dc9 Move wxDataViewCtrl manipulators out of dialog_choose_component.cpp
Fixes: lp:1677925
* https://bugs.launchpad.net/kicad/+bug/1677925
2017-03-30 21:47:14 -04:00
Chris Pavlina feba091594 Highlight the first choice in rescue dialog
Fixes: lp:1455970
* https://bugs.launchpad.net/kicad/+bug/1455970
2017-03-27 08:45:05 -04:00
Chris Pavlina 4011ed4e31 Convert UTF8 to/from wxString correctly around LIB_ID
Fixes: lp:1675942
* https://bugs.launchpad.net/kicad/+bug/1675942
2017-03-24 21:38:00 -04:00
Chris Pavlina 849b3c2a4b Add footprint select dropdown to component chooser, serious refactoring
- DIALOG_CHOOSE_COMPONENT has footprint select widget
- FOOTPRINT_SELECT_WIDGET
- FOOTPRINT_CHOICE widget (customized wxComboCtrl)
- FOOTPRINT_FILTER class
- FOOTPRINT_INFO rework:
    - FOOTPRINT_ASYNC_LOADER to load without freezing UI
    - Rewrite loader threads as queue-driven thread pool
    - Make FOOTPRINT_INFO available via kiway
- FP_LIB_TABLE::PrefetchLib
- Access to global fp-lib-table via kiway
- SYNC_QUEUE threadsafe queue template
- Remove KICAD_FOOTPRINT_SELECTOR build option
2017-03-24 09:20:27 -04:00
Maciej Suminski b47a6e415b Fixed a memleak in DIALOG_CHOOSE_COMPONENT 2017-03-23 16:52:33 +01:00
jean-pierre charras ccfad8306b eeschema: fix an annoying issue created by commit fdb53f28e6b666f242c3d24dfbfb0e4050bfa2ad: enter a label size starting by 0 (like 0.3) was not possible. 2017-03-14 20:40:21 +01:00
Oliver fdb53f28e6 Improvement for label edit dialog in eeschema:
- Added wxTE_RICH property to label text controls (allows ctrl+backspace in Windows)
- Added numeric validator to text size
2017-03-14 13:08:36 -04:00
Chris Pavlina bbaa29fbc4 Refactor FOOTPRINT_PREVIEW_PANEL
- Pull out compound widget bits into FOOTPRINT_PREVIEW_WIDGET
- Move all pcbnew-specific bits *inside* pcbnew; implementation should
  be private for users
- Make a few class members and inner types private
2017-03-10 23:26:45 -05:00
jean-pierre charras 4605cae588 Displays the number of instances to modify in rescue dialog. 2017-03-09 19:16:24 +01:00
Chris Pavlina 82f587f4ff Show the busy cursor while loading component chooser 2017-03-08 15:34:11 -05:00
Chris Pavlina 2232edfb87 Rewrite DIALOG_CHOOSE_COMPONENT without wxFormBuilder
This will allow near-future use of controls not supported by
wxFormBuilder with minimal hackery.
2017-03-08 12:00:49 -05:00
Chris Pavlina 2bb234d3f5 Fix assert in DIALOG_EESCHEMA_CONFIG when removing many libs at once 2017-03-06 17:24:12 -05:00
Chris Pavlina f8415633bd Switch component chooser to wxDataViewCtrl, refactor
This refactors COMPONENT_TREE_SEARCH_CONTAINER into a Model-View-Adapter
architecture comprising:

- eeschema/cmp_tree_model.h
    - CMP_TREE_NODE: Base class representing a searchable library
        set with scoring and sorting

        - CMP_TREE_NODE_UNIT
        - CMP_TREE_NODE_ALIAS
        - CMP_TREE_NODE_LIB
        - CMP_TREE_NODE_ROOT

- eeschema/cmp_tree_model_adapter.h
    - CMP_TREE_MODEL_ADAPTER: mediator between wxDataViewCtrl (via
        wxDataViewModel) and CMP_TREE_NODE*

                   +---+                      +------------------+
 +---+  Generates  | A |                      |       VIEW       |
 | M |  from libs  | D |   wxDataViewModel    |------------------|
 | O | <---------- | A | <------------------> |  wxDataViewCtrl  |
 | D |             | P |                      |------------------|
 | E | <---------> | T | <------------------- |    wxTextCtrl    |
 | L | UpdateScore | E | UpdateSearchString() |------------------|
 +---+             | R |                      |                  |
                   +---+                      +------------------+

Representing the data with a proper model allows the wxDataViewCtrl to
be updated in bulk, which is significantly faster than the old method of
populating it one item at a time. This also adds flexibility if more
data is to be added in the future (which may come in handy with the
upcoming .sweet format, as that adds more ways components can be related
to each other).

Replacing the wxTreeListCtrl with a wxDataViewCtrl also significantly
reduces the general GUI quirkiness, as wxDataViewCtrl is much more well
behaved.
2017-03-06 09:50:48 -05:00
Chris Pavlina 551b2b2312 Component chooser: fix ugly border on macOS 2017-03-04 12:29:49 -05:00
Chris Pavlina 4618e6c7f8 Component chooser: event and focus cleanup 2017-03-04 11:14:04 -05:00
Chris Pavlina e6de99cc86 No more wxSearchCtrl in DIALOG_CHOOSE_COMPONENT
It is buggy on several platforms
- macOS: eats Esc key
- Windows: poor text alignment
2017-02-24 16:01:58 -05:00
Chris Pavlina d3cb23b7d7 Remove unneeded state member in DIALOG_CHOOSE_COMPONENT 2017-02-23 20:59:15 -05:00
Chris Pavlina 2683af26c0 Fix DIALOG_CHOOSE_COMPONENT enter and double-click events 2017-02-23 20:51:29 -05:00
Maciej Suminski 0dc88bb4cf Changed COLOR4D defines to static consts 2017-02-22 17:35:00 +01:00
Jon Evans a52250a91e Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support
eeschema now supports arbitrary colors for all object types, and
pcbnew does in GAL canvas.  When switching from GAL to legacy canvas,
pcbnew will convert colors to the nearest legacy color.
2017-02-22 17:35:00 +01:00
Chris Pavlina 35a8d78921 Fix component selector segfault on MacOS
Fixes: lp:1666081
* https://bugs.launchpad.net/kicad/+bug/1666081
2017-02-21 18:37:37 -05:00
John Beard a8eea6155a Move bitmaps.h out of base_struct.h
bitmaps.h was included in nearly every file in the project due to it
being included by base_struct.h

Only about 130 files actually use the XPM definitions defined there, and
many of those already included bitmaps.h themselves, or via
menu_helpers.h. However, touching bitmaps.h would result in over 400
rebuilt files for pcbnew alone.

This commit moves the bitmap-related types like BITMAT_DEF out to a new
header, which is still included by base_struct.h, which is less
avoidable for now, it's it's used in the interface.

The icon list is still in bitmaps.h. This has the side effect that's
it's now easier to automatically generate this file.

Many classes in pcbnew and eeschema needed some functions moved
to the implementaitons from the headers too.
2017-02-21 09:50:15 -05:00
Chris Pavlina 57de6ec0af Remove SetFocus hack after changing to wxSearchBox 2017-02-20 14:41:21 -05:00
Chris Pavlina 0182e454c5 Adjust component chooser GUI slightly 2017-02-19 19:31:53 -05:00
Chris Pavlina 70301a6244 Component chooser: display correct unit in reference field 2017-02-19 15:11:35 -05:00
Chris Pavlina 69165aa0a0 Do not show hidden fields in the component selector
This is not necessary anymore, as they are displayed in the info box.
2017-02-19 13:43:50 -05:00
Chris Pavlina a61be7e00e Move LIB_PART::Draw drawing options into a struct
This makes configuring the options clearer, avoiding the long list of
non-self-explanatory arguments at the small cost of requiring a few more
lines.
2017-02-19 13:40:26 -05:00
Chris Pavlina 5dea5e2ada Component chooser: add missing info panel updates 2017-02-19 10:01:45 -05:00
Chris Pavlina b4f4ff9353 Clean up updateSelection() megafunction 2017-02-19 09:24:40 -05:00
Chris Pavlina 3d88cc2a36 Rename method for consistency with similar class
FOOTPRINT_PREVIEW_PANEL::AddToPanel -> InstallOnPanel
2017-02-19 07:53:02 -05:00
Chris Pavlina 2632b1d1a0 Revamp component chooser and add footprint preview
This commit brings several changes:

- Add a footprint preview pane to the eeschema component selector
- Upgrade component list to wxTreeListCtrl
- Factor out wxTreeListCtrl subclass TWO_COLUMN_TREE_LIST which
  patches a column size bug
- Linkify datasheet URL in info pane
2017-02-18 21:39:55 -05:00
Wayne Stambaugh eb06b35852 Eeschema: fix schematic I/O plugin symbol name issue.
LIB_ID was changing the symbol name due to the parser dropping everything
past the first '/' character which is interpreted by LIB_ID as the item
version.  Add flag to ignore this in LIB_ID::SetLibItemName() and add a
new ctor so the library nickname, item name, and revision can be set as
required to prevent the standard LIB_ID parsing.

Fix a few places where PART_LIBS functions FindLibraryAlias() and
FindLibPar() were translating wxString symbol names to LIB_IDs where the
LIB_ID parser was truncating the symbol name.
2017-02-11 13:44:17 -05:00
Wayne Stambaugh 7ccdca5ced Use library ID to store library symbol information in the schematic symbol.
Use LIB_ID instead of wxString for storing the library symbol information
in the schematic symbol in preparation for the upcoming symbol library table
implementation.

Change the FindLibAlias and FindLibPart functions in the PART_LIBS object
instead of wxString.  Please note that only the library ID name is used to
search the list of libraries.  The library nickname is ignored.  Once the
symbol library table is implemented and full LIB_IDs are defined, the
library search code will no longer be used and will only be kept to load
older schematics that have not been converted.

Move SCH_LEGACY_PLUGIN_CACHE definition so that the legacy plugin knows
how to properly delete the cache object.
2017-02-10 08:36:59 -05:00
Chris Pavlina bca74853d1 Display more information in component selector 2017-02-07 15:01:20 -05:00
jean-pierre charras 7dddb1d1c1 When editing a label property it always goes to right orientation by itself
Fixes: lp:1661264
https://bugs.launchpad.net/kicad/+bug/1661264
2017-02-02 16:50:49 +01:00
Diogo Condeco 8033c6fa9a Eeschema one field dialog text selection.
This patch selects the text in the dialog_one_field.
For annotated symbols the number is selected. For unannotated symbols the ? is selected.
All other cases the entire text is selected, including references in library editor.
2017-01-31 16:01:08 -05:00
Diogo Condeco 75ffcbcef5 MACOS Setfocus and CancelButtonIssue moved into dialog_shim.
Setfocus now works on macos dialogs by setting DLGSHIM_USE_SETFOCUS.
This option is only enabled __WXMAC__ is defined.

FixOSXCancelButtonIssue() is now called inside DIALOG_SHIM::SHOW.
All other calls from within the dialogs were removed.
2017-01-29 23:51:35 +01:00
Wayne Stambaugh 8e7fe9dab2 Fix spice simulator build error due to EDA_TEXT changes. 2017-01-25 09:25:05 -05:00
Dick Hollenbeck 0c459ced97 EDA_TEXT object refactor.
Make all EDA_TEXT data private and rename accessors to avoid function
name collisions in derived classes.

Overload EDA_TEXT's SetTextAngle() and SetEffects() in TEXTE_PCB.

Add support for preserving Reference text position, size, orientation
during a netlist import into a BOARD, as well as the one off footprint
update dialog.
2017-01-25 08:03:32 -05:00
diogocondeco 1a05c8a5a8 eeschema/add_component setfocus moved into OnInitDialog
SetFocus executed by OnInitDialog wxInitDialogEvent handler
2017-01-23 12:31:00 -05:00
jean-pierre charras ccdfabc866 Add tool tips to autosave widget in dialogs (pcbnew and eeschema) 2016-11-22 11:26:32 +01:00
Aylons Hazzud 5dc43a1d77 Gray out "Units are not interchangeable" if 1 unit
Fixes: lp:1503921
* https://bugs.launchpad.net/kicad/+bug/1503921
2016-11-18 11:42:42 +01:00
jean-pierre charras f15a59f0ad Component Editor and Component viewer: add option to show the electrical pin type. 2016-11-04 12:13:22 +01:00
jean-pierre charras 3bf1717002 Fix a minor cosmetic issue in dialog edit libentry fields 2016-10-22 18:43:12 +02:00
jean-pierre charras 1924478558 Eeschema: editors: show the pin position (when clicking on it) in message panel.
Pin properties dialog: show pin position ( and allow editon ).
2016-10-18 18:59:26 +02:00
jean-pierre charras d1e4399a29 dialog edit libentry fields in lib: Add button to edit spice parameters, and therefore to add spice parameters in lib components. 2016-10-15 20:05:03 +02:00
Wayne Stambaugh fc07716aed Eeschema: schematic I/O plugin preparation work.
Rename PART_LIB GetEntryNames() and RemoveEntry() to GetAliasNames() and
RemoveAlias() respectively for improved readability.

Rename PART_LIBS FindLibraryEntry() to FindLibraryAlias() improved
readability.

Remove commented out PART_LIBS::FindLibraryEntries().

Remove PART_LIB::GetFirstEntry() and update all effect code accordingly.

Remove unused PART_LIB::SetFileName() method.

Remove unused PART_LIBS::RemoveAllLibraries() method.
2016-10-14 19:29:24 -04:00
Simon Richter b0f9864bc4 Clean up warnings from exception handlers
The exception objects caught are either not referenced at all, or only in
debug builds. This avoids the warnings for the unused variables.
2016-10-10 11:08:49 -04:00
Maciej Suminski efdfaebf62 Support subdirectories in relative paths in Spice model dialog 2016-10-07 16:07:38 +02:00
Chris Pavlina 9547dd4e52 Fix GetBoundingBox hiding overloaded virtual 2016-09-30 22:32:24 -04:00
Simon Richter ad088db6d2 Add more "override" markers. 2016-09-25 13:59:41 -04:00
Simon Richter 59c81976dc Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
Dick Hollenbeck 964b5a1830 Split IO_ERROR out of richio.* and store Problem() and Where() separately 2016-09-20 11:56:23 -04:00
jean-pierre charras 1051732580 DIALOG_SPICE_MODEL_BASE: cosmetic enhancements (mainly better look of spice units table in Passive notebook page) 2016-09-19 18:48:07 +02:00
jean-pierre charras 0719f8d214 Fixes: lp:1624659 (fix some issues in countries which are not using a point as decimal separator)
https://bugs.launchpad.net/kicad/+bug/1624659
Small enhancement in dialog_spice_model_base.cpp: add comments about spice values notation.
2016-09-17 18:34:44 +02:00
jean-pierre charras f3d4f7322b Simulator dialogs: Fix incorrect handling of Validate(), which was called for all widgets by the default wxID_OK button handler. It is now called only for the active page of these dialogs (as wanted in code), therefore only for used widgets.
Note: strangely, this issue was noticed only on Windows, not on Linux.
2016-09-17 14:38:34 +02:00
jean-pierre charras cd94da7972 Spice simulator and netlist generation: use only netnames (outdated option "use net numbers as net names removed" removed)
netlist generation: remove option "replace IC and U ref by X" (broken option).
All component refs are now prefixed by the Spice_Primitive field value.
Therefore the netlist used by Kicad ngsipce simulator and the spice netlist generated from dialog are the same.
(note: like previously, forbidden chars like ( and ) are replaced by _ in netnames)
2016-09-16 20:36:19 +02:00
jp-charras b63f2f81b7 Fixes: lp:1619436
https://bugs.launchpad.net/kicad/+bug/1619436
Eeschema crashes when selecting a text editor from the REC dialog. (Linux Only)
It happens only if a text editor was never selected in Kicad.
2016-09-05 09:02:15 +02:00
Wayne Stambaugh f477cc958c Eeschema: PART_LIB object clean up.
* Rename redundant function PART_LIB::GetEntry() to PART_LIB::GetAlias() which
  is more descriptive and move the GetAlias() function which was nothing more
  than a call to GetEntry().
2016-09-02 19:40:18 -04:00
Maciej Suminski fcedef836a Revert "Do not use double component primitives in Spice netlist exporter"
This commit creates more issues than resolves. It could happen that
there are components with different reference types (e.g. U1 and IC1)
that would be later converted to X1, causing a conflict.
2016-08-31 11:51:17 +02:00
Maciej Suminski 67573f15be Do not use double component primitives in Spice netlist exporter
Fixes: lp:1617768
* https://bugs.launchpad.net/kicad/+bug/1617768
2016-08-30 14:25:56 +02:00
jean-pierre charras 13cfe74956 Simulator dialogs: fix minimal sizes and best sizes. 2016-08-20 17:25:51 +02:00
jean-pierre charras c0b1e4cd38 Do not allow spaces in component name (value field) in component library editor, in dialogs (Edit field, Create component).
In component libraries, a space in name breaks the library, and is not allowed.
2016-08-19 18:42:39 +02:00
Maciej Suminski 7ea120c2a1 Spice model editor by default looks for libraries in the project directory when there is no library assigned 2016-08-19 17:33:26 +02:00
jean-pierre charras 5ed19b6e82 Dialogs for simulator: cosmetic enhancements, make them translatable and resizable. Remove 2 printf used in debug. 2016-08-15 09:53:15 +02:00
Maciej Suminski 6bfdfd5226 Look for libraries in the project path 2016-08-11 14:42:19 +02:00
Maciej Suminski 46ecfd8139 Resized simulator dialogs 2016-08-11 14:42:16 +02:00
Tomasz Wlostowski 80d8dd7205 sim: default to decade frequency sweep for ac analysis 2016-08-11 14:42:15 +02:00
Maciej Suminski 2b041425e5 Resized Spice model dialog 2016-08-11 14:42:14 +02:00
Maciej Suminski 6d7a7a3233 KICAD_SPICE CMake flag 2016-08-11 14:42:13 +02:00
Maciej Suminski 02e4252fcd A few fixes for DIALOG_SIM_SETTINGS 2016-08-11 14:42:10 +02:00
Maciej Suminski 741ae10a97 Improved Spice model dialog for sources Now user can specify both DC/AC & transient analysis specifications at once. 2016-08-11 14:42:09 +02:00
Maciej Suminski 53d772989a Store relative library path if possible 2016-08-11 14:42:08 +02:00
Maciej Suminski 39caddd22b Parsing sim command directives 2016-08-11 14:42:08 +02:00
Maciej Suminski 2740556505 Fix for Spice library parser 2016-08-11 14:42:06 +02:00
Maciej Suminski 6c53aba680 Validators for Spice model dialog 2016-08-11 14:41:56 +02:00
Maciej Suminski 65c7520544 Bulletproof Simulation settings dialog 2016-08-11 14:41:54 +02:00
Maciej Suminski dfeb5385f3 Disable current signals in all analyses but transient 2016-08-11 14:41:53 +02:00
Maciej Suminski 114e3638e7 Renamed tabs in Spice model dialog 2016-08-11 14:41:52 +02:00
Maciej Suminski 324d27711a Hide OP & noise analysis, scale settings for AC in settings dialog 2016-08-11 14:41:52 +02:00
Maciej Suminski 0f993ba98c Current probing 2016-08-11 14:41:52 +02:00
Maciej Suminski 27a7a9b1a5 Spice fields enum values renamed from SPICE_* to SF_* 2016-08-11 14:41:51 +02:00
Maciej Suminski 132e30081b Disabled assert for unknown Spice primitives 2016-08-11 14:41:47 +02:00
Maciej Suminski 4f9a418694 Moved SPICE_VALUE to a separate source file 2016-08-11 14:41:43 +02:00
Maciej Suminski f62a6425a3 Changed the simulator code license to GPLv3+ 2016-08-11 14:41:43 +02:00
Maciej Suminski 51f0564119 Signals are added using a separate dialog 2016-08-11 14:41:42 +02:00
Maciej Suminski 3999ff1973 Resized DIALOG_SIM_SETTINGS 2016-08-11 14:41:41 +02:00
Maciej Suminski 1a6e048afc Pressing Enter accepts changes in Simulation settings dialog 2016-08-11 14:41:40 +02:00
Maciej Suminski 246a43baf0 Spice model editor dialog 2016-08-11 14:41:40 +02:00
Maciej Suminski a83d4802f9 Load Spice directives from schematics when Sim settings dialog is launched 2016-08-11 14:41:36 +02:00
Maciej Suminski 78526ee913 Additional options for netlist exporter (fix passive values, library include paths) 2016-08-11 14:41:36 +02:00
Maciej Suminski 822f436231 Removed unused DIALOG_SIMULATE_PLOT 2016-08-11 14:41:35 +02:00
Maciej Suminski fe92630f16 Fixes for DC sweep directive generated by Simulator settings dialog 2016-08-11 14:41:34 +02:00
Maciej Suminski ee1adcd92c Fix for noise directive generated by Simulation settings dialog 2016-08-11 14:41:32 +02:00
Maciej Suminski 183fb24112 Fixed string for transient simulation directive 2016-08-11 14:41:31 +02:00
Maciej Suminski c5227b7279 Fix: use correct node numbers in noise simulation directive 2016-08-11 14:41:31 +02:00
Maciej Suminski 3c909e2c32 Allow typing zeroes in Simulation settings dialog 2016-08-11 14:41:31 +02:00
Maciej Suminski 2b1784cfc6 Simulation settings combo boxes are filled with net/power source choices 2016-08-11 14:41:30 +02:00
Maciej Suminski 95ca3914ce Fields in simulation settings dialog are treated as invalid when empty 2016-08-11 14:41:29 +02:00
Maciej Suminski a2b16ae640 Initial 'Simulation settings' dialog 2016-08-11 14:41:29 +02:00
Maciej Suminski 951d16c655 Fixed Spice netlist export options and added a few new flags 2016-08-11 14:41:20 +02:00
Maciej Suminski b6eab191d0 Added a button to add Spice fields to a schematic component 2016-08-11 14:41:10 +02:00
Maciej Suminski b4d9e7ee99 Fixed asserts in DIALOG_LIB_EDIT_TEXT_BASE. 2016-08-11 14:41:04 +02:00
Tomasz Wlostowski 7b05dc2a13 Fbp files for simulator 2016-08-11 14:41:04 +02:00
jean-pierre charras defac5272b refinemenst in dialogs and OSX Cancel button fix 2016-07-18 17:54:41 +02:00
jean-pierre charras f83a76a970 Eeschema: dialogs: incorrect sizes fixes and osx copy text fix 2016-07-18 09:04:13 +02:00
jean-pierre charras 7253ba28df Eeschema: dlg size fixes and osx fixes 2016-07-16 13:25:07 +02:00
jean-pierre charras 3cea754d90 Eeschema: dlg size fixes and osx fixes 2016-07-16 12:54:55 +02:00
Simon Richter 1b2fd6a382 Replace BOOST_FOREACH with C++11 range based for. 2016-06-29 16:07:55 -04:00
Simon Richter 527c0eff8e Eeschema: ERC dialog code improvements.
* Rename the "net", "lastNet" and "nextNet" variables to "item", "lastItem"
  and "nextItem", respectively, because these refer to netlist items, not
  nets.
* This adds a suffix "Idx" to the indexes into the list, and introduces local
  copies of the pointers to the objects we are looking at, in order to have a
  shorter way of addressing them.
* The ERC code depends on netlist items to be sorted by net code, so verify
  that in debug builds. While this condition is stricter than necessary, it
  should still hold with the current code, and provide a good canary if a
  change to the sorting code might break ERC.
2016-06-28 08:52:22 -04:00
Chris Pavlina 9eef653625 Remove legacy option to zoom to selection on middle mouse button
This feature was not reliably available: neither pl_editor nor GAL supported
it. It has been replaced over the past few commits with a new zoom-to-selection
tool available in all applications and modes.
2016-06-11 19:37:43 -04:00
Chris Pavlina c13f80bb49 Remove unneeded compile option KICAD_KEEPCASE
Libraries have been 100% case-sensitive for a while now; there is no longer a
need to keep this option around. This will change nothing except for any
stragglers still manually specifying this old option.
2016-06-10 23:15:02 -04:00
Simon Richter 715eddf68b Code cleanup: remove dead code, add comment. 2016-06-08 08:32:01 +02:00
jean-pierre charras 11c369ee1b Fix minor compil warnings (deprecated warnings and shadowed local vars warnings) 2016-06-07 17:33:12 +02:00
Simon Richter 96ec9db5d6 Add missing C++ stdlib headers
The GCC standard library headers often include other headers, which makes
some code compile that forgets to include several headers.
2016-05-28 12:46:29 -04:00
jean-pierre charras e2d4118470 Eechema, Component editor: Fix a bug in Pin properties dialog: a parameter used to draw the pin in preview canvas was incorrect, due to code change in draw pin. 2016-05-19 18:38:36 +02:00
Dick Hollenbeck daa0d391de Enhancement in eeschema: Footprint field immediately updated after footprint picking (from footprint viewer) in the eeschema LIB_PART or component text field properties editors 2016-05-17 20:02:49 +02:00
Chris Pavlina 0f407a756c Pull existing settings into Doxygen module 2016-05-12 15:45:47 -04:00
Chris Pavlina 84d3fbfd68 Remove MaxUndoItems, make devel option DevelMaxUndoItems
Begin documenting configuration keys in Doxygen
2016-05-12 12:51:32 -04:00
jean-pierre charras 6a7544a2ca Fix a few deprecated compil warnings in dialogs generated by wxformbuilder 2016-05-11 10:51:07 +02:00
jean-pierre charras bfeb61abef Fix a few shadowed local variables and deprecated warnings in dialogs (using a very recent wxformbuilder version). 2016-05-10 08:56:03 +02:00
Matthew Petroff db54f3e7a7 Correct multiple UI spelling errors 2016-05-02 10:01:43 -04:00
Wayne Stambaugh 18c8f50b1d Component library editor field properties dialog improvements.
* Remove fixed dialog size setting to allow sizers to do thier job.
* General spacing and layout improvements.
2016-04-29 13:37:36 -04:00
Wayne Stambaugh 0a263d2f2b Fix value field editing bug in component library editor. (fixes lp:1576363)
* Allow editing value field for power components in the component library editor.
2016-04-29 12:01:09 -04:00
Wayne Stambaugh ce593f9784 Eeschema: fix broken component reference field in hierarchies. (fixes lp:1572812) 2016-04-22 09:29:47 -04:00
jean-pierre charras 32fc9198c3 Minor fix: dialog_edit_component: Fix incorrect tool tip for the button which runs the footprint browser or the datasheet browser (previous was the same tooltip, regardless the purpose of this button), depending on the selected field. 2016-04-17 17:15:26 +02:00
Wayne Stambaugh 30f5a7a7e1 Eeschema: fix field edit dialog power component warning bug.
* Prevent power component warning from being shown when edit normal component
  fields.
* Make text edit dialog size itself instead of using a fixed size.
* Improve the alignment and spacing in the text edit dialog.
2016-04-04 10:31:34 -04:00
Wayne Stambaugh 76d099b337 Eeschema: fix illegal field characters causing corrupt schematic files on Linux. (fixes lp:1529358)
* Refactor edit one field dialogs to use validators and transfer data to and
  from window functions.
* Add code to DIALOG_SHIM to handle validation and transfer functions since
  the base dialog class code is not called by EndQuasiModal().
* Add custom validator class for filtering field text control characters.
* Add new field validator to edit schematic component dialog field text
  control.
* Add new field validator to edit fields in library editor dialog field
  text control.
* Make a few LIB_PART member functions const.
2016-04-02 08:25:44 -04:00
unknown 78d96afe28 Eeschema: enhancement on Windows: adds a show console option for BOM plugin execution (needed for instance by python plugins which are run with pythonw) 2016-03-31 08:28:16 +02:00
jean-pierre charras df1d10c824 Eeschema: Fix issue in multiline text properties dialog editor: on wxWidgets 3.1, the enter key closes the dialog instead of inserting a new line in text. 2016-03-24 13:28:50 +01:00
Chris Pavlina db8c72cc9d Fix mistake in r6642 / git:bb9f1b0 2016-03-22 21:35:44 -04:00
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
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
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
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
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
Bernhard Stegmaier f8abe9c191 Add support for optional touchpad panning. 2016-02-24 14:53:02 -05: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
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 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
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
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 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 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 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 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
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
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
Chris Pavlina 3dff6c097e Eeschema: reorganize options dialog. 2015-12-28 08:33:21 -05: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
jean-pierre charras fcdbb7484c fix Bug #152546 (Netlist not respecting case sensitivity for labels): the label matching is now case sensitive. To avoid issues with previous eeschema versions, add in ERC a dectection for "similar" labels (labels which differ only by a case sensitivity)
(this option can be disabled, and saved in project config)
2015-12-20 13:40:17 +01:00
Chris Pavlina 2add6ca736 Eeschema: fix spacing issues in options dialog. (fixes lp:1526790) 2015-12-16 19:19:16 -05:00
Chris Pavlina 50c418a332 Eeschema: add field automatic placement feature. 2015-12-13 11:56:47 -05:00
jean-pierre charras 7dbefa29ac Minor fix: Remove a duplicate title in eeschema dialog plot. 2015-12-12 19:32:18 +01:00
jean-pierre charras f31f129ce7 Remove the 32 chars limit in chipname in dialog_edit_component_in_schematic, which is useless and creates a bug in wxGTK if the intial chip name has more than 32 chars. 2015-11-17 08:48:51 +01:00
Wayne Stambaugh e64c36af6e Eeschema: set modified flag when clearing annotation. 2015-10-31 12:25:52 -04:00
jean-pierre charras 4dc2ece011 Fix a few wording issues in dialogs (dialog plot and dialog move exact) for translators (more explicit words/sentences to remove ambiguities).
Pcbnew: Plot files: for copper layers, create suffix from user copper layer names instead of default copper layer names, like in last stable Kicad version (bzr 4022), to build the plot files filenames.
Better test of illegal chars in plot filename, both in plot dialog and functions aclled by Python scripts.
Fix a Plotcontroller issue to make SetUseGerberExtensions() work as expected from Python scripts ( from  Henner Zeller'patch with a fix to be sure it works properly from a Python script)
Note also using Protel Gerber Extensions is now a bad practice, because the official Gerber extension is .gbr since X2 Gerber version. But some users still use them)
2015-10-20 20:03:07 +02:00
Wayne Stambaugh 74f00d4027 Minor string and coding policy fixes.
* Make the about dialog help string consistent across all menus.
* Improve print preview window and print initialization error messages.
* The usual smattering of coding policy fixes.
2015-10-08 09:52:03 -04:00
Stefan (stol) 9537884f7e Try to fix Bug #1502012 (Can not close print preview window with the "X" icon) Linux spécific. 2015-10-08 13:59:00 +02:00
jean-pierre charras 23d0de1bda Eeschema: fix crash when closing or moving the print preview frame on Windows 7 (at least version 32 and compiled with mingw/ GCC 5.2) 2015-10-02 18:52:54 +02:00
jean-pierre charras a0b31b62ba Eeschema: fix crashes when closing or moving the print preview frame on Windows 7 2015-10-02 16:07:37 +02:00
Wayne Stambaugh a6a9d8eedf Default and most recently used path fixes. (fixes: 1494210)
* Rename Eda_FileSelector to EDA_FILE_SELECTOR.
* Add optional pointer to wxString to save the most recently used path to EDA_FILE_SELECTOR.
* Rename Eda_DirectorySelector to EDA_PATH_SELECTOR.
* Replace wxGetCwd() with wxStandardPaths::GetDocumentsDir().  This fixes the windows issue
  where wxGetCwd() returns the path where the executable files are located.
* Add code to handle most recently used path to EDA_BASE_FRAME.
* Fix string formatting error in kicad/files-io.cpp.
* Remove setting and restoring current working directory when launching GerbView.  Setting the CWD
  has no effect on the launched executable which starts with it's own CWD.
* Allow project path to be passed to GerbView when launched from KiCad.
* Note: this is a work in progress.  Do not expect every path and/or file selection dialog to properly
  update the most recently used path.  The correct solution to this problem requires a much more
  well though out solution which will not happen until after the next stable release.
2015-09-25 15:38:09 -04:00
Simon Wells f053922fdf Eeschema: fix focus issue in pin properties dialog in OSX. (fixes lp:1434045) 2015-09-13 18:43:38 -04:00
Wayne Stambaugh ca1ae0d4a0 Eeschema: minor library configuration dialog improvments.
* Move check box above line spacer for consistency with other dialog designs.
* Fix spacing for a few buttons for layout consistency.
2015-09-12 16:20:16 -04:00
Wayne Stambaugh 9b0bd8ff42 Eeschema: minor color selection dialog improvements.
* Move color conflict checking code into TranferDataFromWindow so that it can be used in both the
  OK and Apply button message handlers.
* Change Erc to ERC in text labels.
* Check for color conflicts and give the user the option to dismiss the changes before applying them.
* Add color conflict checking when apply button is pressed.
* Use default dialog size to allow sizers to set the initial size of the dialog.
2015-09-12 16:13:12 -04:00
jean-pierre charras 24409c6edc Workaround to fix Bug #1492513 (EEschema crash when I hit ERC button Edit). It happens only on Window 32bits build with msys2+gcc 5.2). The crash is due to the wxHtmlListBox used in ERC dialog (Although the sample htlbox works fine).
The wxHtmlListBox is just replaced by the wxHtmlWindow to display and select the ERC marker list.
2015-09-10 14:03:16 +02:00
unknown b0241bacf0 Eeschema ERC now catches errors of unmatched global labels. 2015-08-31 13:09:47 +02:00
jean-pierre charras 4e94d522a6 Eeschema: Fix a minor draw issue in choose component dialog preview ( sometimes incorrect colors or line widths ) . 2015-08-30 16:46:34 +02:00
Chris Pavlina acb2c54594 Option dialog mnemonic and padding fixes
* Fix conflicting mnemonics in Eeschema options dialog.
* Add mnemonics to Pcbnew, Footprint editor, and Component editor option
  dialogs.
* Fix padding in all option dialogs.
* Remove obsolete DIALOG_LIBEDIT_DIMENSIONS.
2015-08-06 14:40:22 -04:00
jean-pierre charras d9ba0b975b Bug #1474624 fixed (eeschema crashes on a further pressing the DOWN KEY on the last component folder selection) 2015-08-06 11:17:23 +02:00
Chris Pavlina aaadb40a71 Make undo/redo limits user configurable.
* Add code to allow each editing window it's own undo/redo count.
* Add code to allow for infinite undo/redo when count is set to 0.
* Add edit control to all editing windows general options dialog for
  user configuration of undo/redo count.
* Add code to save and restore undo/redo count for each editing window.
2015-08-05 10:28:27 -04:00
Chris Pavlina 4403a56480 Eeschema: fix minor flex grid issue in DIALOG_EESCHEMA_OPTIONS with GTK. 2015-08-05 08:40:21 -04:00
jean-pierre charras 6dd0073130 Move the non shared file class_sch_screen.h to eeschema folder. Code cleaning. Remove some wxCHECK_VERSION tests now useless. 2015-07-29 20:06:45 +02:00
jean-pierre charras 32f0ea621f Shape poly set: fix bug in BBox calculation. Class MARKER : fix broken code and clean code. Fix bug #1369682 (EESchema Erc not show error count) due to this broken code. 2015-07-29 14:18:53 +02:00
Chris Pavlina 752d0df916 Eeschema: fix string formatting assertion in dialog_print_using_printer.cpp. 2015-07-20 19:29:59 -04:00
unknown edeaaf23e4 Eeschema, libedit: Avoiding pin table crash on Mac (Use the automatic scrollbar, which works because it is enabled when the data view model is attached to the data view, which is sufficiently long after construction that the object is indeed complete.) 2015-07-06 18:06:54 +02:00
jean-pierre charras 377942ed2a Minor fixes. 2015-06-30 18:31:48 +02:00
jean-pierre charras 272f1b35b6 Eeschema: Dialog BOM: minor fix in help doc, and a minor enhancement (the plugin name with %P in name is correctly found to display its help and to edit it) 2015-06-29 18:34:31 +02:00
unknown 15cc245a83 Eesschema, dialog rescue: enhancements:
- Slightly change the info text in the dialog. Add a definition of  exactly what it means to "rescue" a component.
- Reload the project libraries when a project is opened, even if kicad  is already running and the same project is open (to be sure the lib cache is up to date).
- Set the Modified flag on cancel, because a change has indeed been  made (choosing not to rescue is equivalent to updating the components)
2015-06-29 18:31:00 +02:00
Simon Richter 2df8495e4f Eeschema: fix error in library pin table editor pin grouping broken in commit r5751.
* Coverity warns about falling through the switch statement which is acutally the correct behavior.
2015-06-27 17:34:43 -04:00
Chis Pavlina f3c73f5947 Eeschema: minor component library rescue helper fixes.
* Components with multiple "converts" were rendered with all of them overlapping instead
   of just one.
* Schematics missing a -cache.lib resulted in unnecessary renaming suggestions.
* The dialog title "Conflicts Checking" is inaccurate now (as we're checking for more than
   just conflicts) and also somewhat awkward, unidiomatic GUI English; I renamed it to
   "Project Rescue Helper".
2015-06-26 11:17:23 -04:00
unknown 71b3125d8e Cleanup: remove unnecessary macros EXCHG and NEGATE. add MIRROR macro. 2015-06-26 15:41:56 +02:00
Henner Zeller 07d34e4428 Eeschema: improve netlist generation useability.
* Eliminate modal annotation warning dialog when generating a netlist fails
  due to components that are not annotated.
* Add warning message to annotate dialog.
2015-06-23 09:55:16 -04:00
Henner Zeller e1b3a2d410 Eeschema: improve annotation dialog checkbox labeling
* Change 'Silent mode' -> 'Always ask for confirmation'.  Default on
 (Same behavior as before, though arguably, it is very annoying and
  should probably be default off)
* 'Automatically close dialog' -> 'Keep this dialog open'.  Also changed
  the default to _not_ keep the dialog open (what is keeping it open even
  useful for ?)
2015-06-22 11:53:27 -04:00
Chris Pavlina 80eb5460f9 Eeschema: component library rescue improvements.
* Fix case sensitive component library name searches
* Factor out rescue code into a generic rescue project class.
2015-06-22 11:38:54 -04:00
Tomasz Wlostowski b562cfb8bb WX_HTML_REPORT_PANEL: a REPORTER widget on steroids. 2015-06-16 14:20:42 +02:00
Martin d' Allens 28004abe58 Fix entry selection issue in Eeschema find dialog combo box in wxGTK builds. 2015-06-15 13:12:44 -04:00
jean-pierre charras 49fac351ab Fix a few coverity warnings. 2015-06-15 16:01:43 +02:00
Maciej Suminski 6d07e9a754 Fixed dialogs asserts. 2015-06-15 15:54:58 +02:00
jean-pierre charras dc9ebf30e5 A few minor fixes. Eeschema: add a workaround (not afix) to solve issue Bug #1464773 (Print bug with differently sized subsheets). 2015-06-14 19:58:57 +02:00
jean-pierre charras e952302e43 Fix some issues in eeschema, dialog BOM: now displays info and error messages when running the BOM script 2015-06-12 09:02:06 +02:00
jean-pierre charras 0c17d22332 Refactor eeschema dialog_color_config.xx, using wxFormBuilder to create the base dialog 2015-06-09 18:42:41 +02:00
jean-pierre charras d583b1ff98 Fix Bug #1462876 (Eeschema ERC NoConnect not reliable.) 2015-06-09 12:40:34 +02:00
Dick Hollenbeck 8fb520249e Use KiwayExpress messaging for CvPcb footprint assignment instead of *.cmp file.
* Remove global s_NetObjectslist.
* Separate out non-owning version of NETLIST_OBJECTS_LIST into NETLIST_OBJECTS.
* Fix double free pertaining to ~NETLIST_READER().
* Remove all file-io from CvPCB.
* Remove exe launcher cvpcb, retain only cvpcb.kiface, since cvpcb.kiface has no file i/o.
* Add void CVPCB_MAINFRAME::KiwayMailIn( KIWAY_EXPRESS& mail ) and teach it to use old
  netlist loading code with a STRING_LINE_READER LINE_READER.
* Fix BEGIN_EVENT_TABLE( CVPCB_MAINFRAME, KIWAY_PLAYER )
2015-06-07 14:18:45 -04:00
unknown c582cf5946 Fix Bug #1445851: libedit field editor unnecessarily replaces spaces with underscores. Only reference and mainly value (in fact symbol name in lib) do not accept spaces in schematic libraries. 2015-06-04 17:44:56 +02:00
jean-pierre charras 1cf6979d89 Dialog BOM: update help displayed by the help button.
Rename dialog_footprint_wizard_list.fbp to dialog_footprint_wizard_list_base.fbp, to be consistent with other dialogs.
2015-05-27 11:35:21 +02:00
Dick Hollenbeck a411e4bd34 Fix %O which is broken in eeschema BOM, did not include project directory in path. Add %P which is project dir. 2015-05-26 17:13:33 +02:00
Chris Pavlina c7b8f790a7 Eeschema component library rescue changes.
* Show rescued component names in rescue dialog.
* Remove summary dialog.
* Don't create empty rescue library.
2015-05-13 11:09:55 -04:00
jean-pierre charras 37b0868376 Pcbnew: fix minor issues about fast grid switching, and next/previous grid selection from hotkeys. (GAL mode still has an issue) 2015-05-12 11:05:36 +02:00
unknown 69de718910 lib-cache-rescue coding style fix. lib-cache-rescue set default button OK in dialog. 2015-05-04 09:35:17 +02:00
jean-pierre charras 569c2be354 Minor fixes: dialog rescue: make strings translatable. Remove a few coverity warnings (not initialized members). Very minor other changes. 2015-04-28 17:07:36 +02:00
jean-pierre charras 3b9ebd2270 Minor fixes in dialog rescue: missing title, incorrect refresh due to use of a wxPaintDC outside a paint event, and coverity warnings (not initialized members). 2015-04-27 10:44:17 +02:00
Chris Pavlina 26c320db57 Add schematic component library change rescue feature (fixes lp:1435338).
* Add code to test if any of the components in the schematic cache have been changed
  in the component libraries.
* Prompt user to accept or reject components when changes are found.
* If the user chooses to use the components in the cache, create a new library with the old
  components and add it to the beginning of the component library list so the schematic will
  not be changed.
* Create dialogs to handle user feedback and status.
2015-04-25 18:26:51 -04:00
jean-pierre charras 94479d87c1 eeschema: fix minor Bug #1446779 (repeat parameters not initialized until a project config is read)
Now these parameters are stored in user config, not project config ( they are not really related to a given project, they are just a setup during an edition),
and the schematic editor and the component editor have now separate parameters, because they are separate editors with different constraints.
component editor: repeat pin enhancement (from and idea of Edward Johns)
2015-04-22 13:39:00 +02:00
unknown c2f8898c58 Hide "Power component value text cannot be modified" in libedit (which should be displayed only in schematic editor for power parts) 2015-04-17 20:31:30 +02:00
jean-pierre charras 4daf9039db Eeschema: Fix a very old bug relative to the tool to load power parts:
Previously, only the lib named "power" was used (and therefore power parts defined in other libs not shown).
Now, all power parts can be loaded from any library.
Also, when loading power parts from the chose component dialog or the lib viewer, libs and parts are filtered:  only power parts and libs containing power parts are listed.
Hotkeys: move a few global strings in the files where ther are actually used (and make them local.) and code cleaning.
Fix a few other minor issues.
2015-04-16 17:26:51 +02:00
Dick Hollenbeck 659ea5184c Fix Eeschema search segfault.
* The SCH_COLLECTOR m_foundItems was being obsoleted after a pin name search.
  If a library edit changed the found pin name, the cache still held the now
  missing library pin and would segfault on next search due to the cache being
  out of date.
2015-04-09 15:37:48 -04:00
jean-pierre charras d38c9b205f Extend max number of units per package: fix incorrect unit string for unit >= 52. Fix unit list limited to 26 in dialof edit compinent in schematic..cpp
lib_pin.cpp: in 4 functions, use an unsigned param instead of int, for  a better code.
2015-04-07 15:19:30 +02:00
jean-pierre charras 17297babe7 Eeschema: extend max number of units per package to 52 and clean code to easily extend this value upto 26x26 (but 52 is a reasonable max value).
Fix a few minor coverity warnings.
Add about_dialog typo fix from Nick Østergaard
2015-04-07 13:52:29 +02:00
Dick Hollenbeck 83ecd43754 Eeschema impovements.
* Improve schematic label edit dialog.
* Rename SCH_SCREEN::BuildSchCmpLinksToLibCmp() to SCH_SCREEN::CheckComponentsToPartsLinks()
  for improved readability.
2015-04-03 16:38:24 -04:00
jean-pierre charras f5c47a191b eeschema: fix Bug #1437604 (double translation of some messages in pin editor dialog) relative to some static strings flagged "to be translated".
This is due to the fact static strings flagged translated ( _("string") notation)  are not translated  when they are static only if they are not inside a dll.
When they are static inside a dll, the dictionary is already loaded, and the constructor translate them.
Therefore they can be translated twice in dialogs are calling wxGetTranslation to show them, if the application is run from kicad.
But if the application is run as stand alone, the translation is made only once (as expected).
2015-04-02 20:51:47 +02:00
jean-pierre charras bbbb84e6c2 Fix a few minor coverity warnings.
Fix minor 3D viewer issues (includling change number of segments and its optimization to draw pad holes.)
Fix Bug #1439132 (track and via list on toolbar not always refresh after loading a board).
Remove useless tool in Modedit.
2015-04-02 13:18:19 +02:00
jean-pierre charras f3b4aff76c Minor fixes: make a message translatable in CvPcb. Dialog choose component: fix a missing min size calculation and make min size bigger. 2015-03-30 21:34:41 +02:00
Chris Pavlina ec1d2128bd bugfix: Avoid rendering component preview if either dimension is 0 (eeschema). 2015-03-30 17:23:31 +02:00
unknown 4b680dd598 Pin table dlg: improvements. 2015-03-28 17:25:34 +01:00
unknown 561c018035 Add pin table dialog 2015-03-27 11:26:07 +01:00
Maciej Suminski b74b2efff0 More printing fixes. 2015-03-25 18:27:17 +01:00
unknown 74154480de Eeschema enhancements: Option to annotate keeping multi-unit parts grouped and friendlier warning for modifying power values. 2015-03-23 12:45:31 +01:00
unknown 036404ded5 eeschema restructure of netlist export code. 2015-03-21 11:46:54 +01:00
jean-pierre charras 6e8a8a6b25 Fix some coverity warnings (mainly not initialized members) 2015-03-21 10:06:04 +01:00
jean-pierre charras 3c4f76abe4 Fix a not shown dialog under XFCE and Unity. Make display hotkeys window not modal. 2015-03-15 12:41:06 +01:00
jean-pierre charras efe5658a9b Fix bug Bug #1432165 (fp lib table dialog editor not shown on XFCE and Unity)
Cvpcb: Shows a better message when a netlist is not found.
2015-03-14 17:47:25 +01:00
jean-pierre charras f743b98844 Try to fix Bug #1431391 (Unable to edit pins in Schematic library editor). It happens on XFCE, but also on Unity. This fix works on Unity. (it is due to the fact the dialog is not raised, for an unknown reason, and this bug depend on the way Eeschema and Libedit are run).
Add Ctrl+E hotkey in eeschema to edit a component with Libedit (similar to pcbnew Ctrl+E hotkey)
As usual, fix a few minor coverity warnings
2015-03-14 12:50:39 +01:00
jean-pierre charras 2427b40271 Fix Bug #1431423 (pcbnew: edited 3d model filename is not saved).
Eechema, libedit, pin dialog editor: show pin texts  in pin  preview canvas.
2015-03-12 18:43:39 +01:00
unknown c3e3ff3682 Minot fixes: Minor coding style issues fix (tab -> spaces). Add missing GetClass to all classes derived from EDA_ITEM. Make debug method Show() only compiled in debug mode. 2015-03-06 09:58:32 +01:00
jean-pierre charras 8d6e75fce6 Fix 2 coverity warnings, and cleanup a old code in dialog_color_config. 2015-03-04 20:45:18 +01:00
Garth Corral 9dce5b6ad9 Merge trunk @ 5469 2015-03-03 08:12:41 -08:00
jean-pierre charras 4bab8dde65 Fix some minor coverity warnings. Fix a bug in pcad2kicad plugin. Scripting: map BASE_SET. Rename some python bom scripts with better names. Fix erroneous comments and add comments 2015-03-02 09:28:49 +01:00
Garth Corral 1af9315006 Merge trunk @ 5464 2015-03-01 17:24:28 -08:00
Wayne Stambaugh 25b9a42ea3 More Coverity scan error fix goodness. 2015-02-28 15:50:35 -05:00
jean-pierre charras 00f8994ee1 Eeschema: Fix a (minor but annoying) bug detected by coverity which prevent Eeschema to draw components in "fast mode" (i;e. without pin texts) when they are moved, due to a draw parameter which was incorrectly used.
Move items rework: enhancements: for some items (sheets, components, bus entries) the mouse cursor is no more wrapped to the anchor. For large symbols, this is better: they are more easy to place.
There is also a change when starting a move item command: the full screen is redraw, and therefore there is no artifact due to the XOR draw mode.
Some other minor coverity fixes (uninitialized members).
2015-02-28 17:56:09 +01:00
jean-pierre charras 10d67ffbd9 Fix some coverity warnings (not initialized members). Add comments. Better (more informative) title in dialog to download .pretty libs. 2015-02-26 11:33:15 +01:00
Tomasz Wlostowski 79d9229d86 fixed persistent assertion failure in component edit dialog caused by checking always null pointer 2015-02-24 11:15:20 +01:00
Garth Corral d970481d83 Merge trunk @ 5441 2015-02-21 21:18:13 -08:00
jean-pierre charras c6f4f15926 Eeschema: Minor code reorganization:
* move not shared files (sch_item_struct.*, sch_base_frame.h) to eeschema;
* move wxEeschemaStruct.h to eeschema and rename it schframe.h to be consistent with the other corresponding file name schframe.cpp;
* remove few not needed  #include
2015-02-21 10:46:44 +01:00
Wayne Stambaugh d1d1e2b58a Lots of Coverity scan error fixes. 2015-02-20 19:41:10 -05:00
jean-pierre charras bd5d468251 Pcbnew: fix bug #142348 (airwire does not always appear after deleting a track). Very minor other fixes. 2015-02-20 20:04:32 +01:00
Wayne Stambaugh f4d5e349bf Fix a bunch of Coverity scan "unhandled exception" errors. 2015-02-17 13:47:21 -05:00
Garth Corral 1bd70efc8a Merge trunk @ 5423 2015-02-15 15:21:01 -08:00
jean-pierre charras 1a74913063 Minor fixes: fix issue Bug #1420910 (Linux specific).
Rename eeschema/dialogs/dialog_sch_find.fbp to dialog_schematic_find_base.fbp, to be consistent with other dialogs. 
Pcbnew run from the project manager: add menu Save Copy As..., which is the same command as Save As ... in stand alone mode, but with the constraints of a project (no cwd change, no board filename change, and keep project settings)
2015-02-14 13:43:11 +01:00
Garth Corral ebec4e6987 Merge trunk @ 5410 2015-02-07 19:45:27 -08:00
jean-pierre charras 5eb7b41fba Dialogs edit footprint in module editor and edit footprint in board editor: add button to edit the selected 3D shape filename.
Dialog edit component in library editor: add button to edit the selected footprint filter.
2015-02-02 17:43:34 +01:00
Garth Corral f0e295ca1c Merge trunk @ 5397 2015-01-31 17:34:01 -08:00
Alexander Golubev 3838082bf3 Minor compiler warning and object improvements.
* Fix -Woverloaded-virtual warning in DIALOG_LIB_NEW_COMPONENT class
  definition.
* Make EDA_ITEM::Matches( const wxString& wxFindReplaceData& ) protected
  since it's a helper function that should only be called by derived objects.
2015-01-28 16:43:46 -05:00
jean-pierre charras 6393d226ea Other minor fixes 2015-01-27 12:01:58 +01:00
jean-pierre charras 813efb77ef Smal change in dialog. 2015-01-27 10:09:09 +01:00
jean-pierre charras 2a4d0bad60 Fix minor aesthetic issues in dialogs (these minor issues (overlapping widgets) exit only with some Windows managers like KDE) 2015-01-27 08:34:19 +01:00
Garth Corral cf01c580af Merge trunk @ 5386 2015-01-24 02:51:34 -08:00
jean-pierre charras 64925bfc4f Very minor fixes: add missing const return type to some GetBoundingBox() declarations. Change few functions names to better names in some places (like GetName() to GetPinName() ) 2015-01-18 18:28:14 +01:00
jean-pierre charras ac539b9578 Minor and very minors fixes: move -DKICAD_USE_WEBKIT definition to the main CMakeLists.txt. Remove duplicate semi-colon at end of some lines. 2015-01-17 09:01:16 +01:00
Garth Corral 0bebc34a4b Merge trunk @ 5376 2015-01-16 19:40:35 -08:00
Wayne Stambaugh 0b6d1bbcf7 Minor dialog improvements.
* Make generate button the default in Eeschema netlist dialog.
* Fix spacing issues in export IDF dialog.
* Make OK button the default in export IDF dialog.
* Remove unnecessary end dialog code from export IDF dialog.
* Improve resizing of export IDF dialog.
2015-01-12 14:25:20 -05:00
Garth Corral bb2bc9d17c Merged trunk @ 5339 2014-12-28 09:39:27 -08:00
jean-pierre charras 3c3235f4de Very minor fixes. 2014-12-21 16:47:38 +01:00
Garth Corral f2a9ea1ddf Merge trunk @ 5331 2014-12-20 17:25:24 -08:00
Wayne Stambaugh 3f66000bf3 Improve component unit naming consistency. (fixes lp:1369153)
* Remove redundant number from unit context menu.
* Use letters instead of numbers in component edit dialog.
2014-12-20 12:26:37 -05:00
jean-pierre charras 43013cec1f Fix crash in eeschema, config dialog. 2014-12-19 16:37:14 +01:00
jean-pierre charras a5c5738559 Fix Bug #1210120 (commit rev 4280 did not fully fixed this bug)
Road map: Gerber X2 file function extension marked done in Pcbnew and Gerbview
2014-12-16 19:58:26 +01:00
Garth Corral 5a202e16c6 Merge trunk @ 5315 2014-12-07 10:32:59 -08:00
jean-pierre charras 0ac378fad7 More about BOM dialog. Still not perfect, but more easy to use. 2014-12-03 20:09:56 +01:00
jean-pierre charras f3765a32d8 Fix minor issues. Fix some outdated and broken BOM python scripts. Add info in BOM python scripts.
BOM dialog: remove a not very useful button, and merge its function with an other (not perfect, need more work)
Add message box to show info added in BOM python scripts (See scripts/bom-in-python/README-bom.txt about this info)
2014-12-03 17:22:06 +01:00
Garth Corral 0cf91f466f Merge trunk @ 5308 2014-11-30 10:35:24 -08:00
jean-pierre charras 49fa6f92a2 Eeschema: Netlist generator: remove option to generate the fully outdated old netlist file format (based on a very old Orcad netlist format)
Only the new (S expression) better netlist file format is now used.
2014-11-22 12:57:02 +01:00