Commit Graph

4985 Commits

Author SHA1 Message Date
jean-pierre charras 2de913797a Fix a UI policy issue. Very minor cosmetic change: give same look to Zoom and Grid selection in 2 menus. 2017-01-20 11:35:24 +01:00
jean-pierre charras adb679dc46 ROUTER_TOOL_MENU: add zoom selection to this menu. 2017-01-20 08:51:12 +01:00
jean-pierre charras d51d53c6b9 CONTEXT_TRACK_WIDTH_MENU EventHandler: better filtering of received events ID.
This is mandatory because currently, on Windows, this handler is also called when clicking on an other menu with submenus like the grid menu.
2017-01-20 08:29:24 +01:00
jean-pierre charras e710b8b370 Fix incorrect parameter type when appending zoom and grid menuitems 2017-01-19 20:26:57 +01:00
Tomasz Włostowski ba9576b014 router: snap to clearance boundaries in Highlight Collisions mode
Fixes: lp:1655819
* https://bugs.launchpad.net/kicad/+bug/1655819
2017-01-19 17:47:15 +01:00
Maciej Suminski e5fbd0c442 Fixed crash upon finished zone drawing in GAL.
In principle, this patch reverts 2eefa117. The difference is removal of
one unused method (SELECTION::clear) and fixing hidden overloaded
virtual methods warnings.

Fixes: lp:1657569
* https://bugs.launchpad.net/kicad/+bug/1657569
2017-01-18 22:06:23 +01:00
Tomasz Włostowski bb463ad434 pns: fix assertion fail when placing diff pairs 2017-01-18 15:55:46 +01:00
Maciej Suminski 75fb04d650 TOOL_ACTIONs are handled with transitions, no handlers needed in the event loops
There used to be a number of TOOL_ACTIONs that had entries both in
SetTransitions() and the event loop, which seemed redundant and
troublesome.
Now it is not necessary anymore, transitions setup is enough to execute
associated actions.
2017-01-18 14:20:39 +01:00
Maciej Suminski 2eefa11732 SELECTION has-a VIEW_GROUP instead of being-a VIEW_GROUP
Fixed numerous warnings caused by hidden overloaded methods
provided in both classes (Add(), Remove(), etc.)
2017-01-18 13:22:41 +01:00
Maciej Suminski 3c61b16e7b Code formatting 2017-01-18 13:22:40 +01:00
Maciej Suminski c758f434c0 Removed unused fields in VIEW & ANTIALIASING_SMAA classes 2017-01-18 13:22:18 +01:00
Maciej Suminski ee862e1db4 Fixed a hidden overloaded virtual function warning in PNS 2017-01-18 13:22:18 +01:00
Maciej Suminski ee2b1ac321 Shortened code using VIEW & PAINTER classes in MODULE_TOOLS methods 2017-01-18 13:22:18 +01:00
jean-pierre charras f079b7f98b gendrill_Excellon_writer.*: make 3 helper methods private. Coding style fixes. 2017-01-17 20:37:14 +01:00
Wayne Stambaugh 56fbfeeb4a Do not use default board solder mask clearance in footprint editor.
The footprint editor was displaying the default solder mask clearance
defined by the temporary BOARD object created a start up.  Change the
temporary BOARD default solder mask to 0 so the pad or footprint solder
mask clearance setting is displayed when editing the footprint.

fixes lp:1653980

https://bugs.launchpad.net/kicad/+bug/1653980
2017-01-17 09:05:57 -05:00
jean-pierre charras fef40c96e2 Workaround for this issue: Pcbnew crashes on exit in OpenGL display mode when a footprint on the board was edited in the fp editor
Fixes: lp:1655858
https://bugs.launchpad.net/kicad/+bug/1655858
2017-01-17 13:17:14 +01:00
Maciej Suminski 004ca3c6f9 Fixed a memory leak in VIEW_ITEM (proper way of doing 9bc2bb2)
The problem with simple deleting VIEW_ITEM_DATA upon VIEW_ITEM removal was
caused by the default copy constructors that copied pointers.
Once a copy of an item was destroyed, the VIEW_ITEM_DATA has been
destroyed, effectively invalidating m_viewPrivData for the other item.
2017-01-16 14:57:50 +01:00
Chris Pavlina 8ac4790370 Remove icons from canvas selection menu in modedit
No OS renders the combination of icon AND radio button properly.
2017-01-15 07:12:02 -05:00
Chris Pavlina d442009e84 Use radio buttons in canvas selection menu items 2017-01-15 07:05:24 -05:00
jean-pierre charras d0db2de015 Cosmetic enhancement in pcbnew menubar: use specific icon in menuitems to switch canvases, and add a marker to the mode currently in use 2017-01-14 14:43:45 +01:00
John Beard c50d28d94d Access tools' TOOL_MENUs rather than CONDITIONAL_MENUs
This means that non-top-level tools, for example EDIT_TOOL and
PCB_EDITOR_CONTROL can submit their own menus to the top-level tool's
TOOL_MENU, which will then retain a reference to it and make it
available for the CONTEXT_MENU that is shown.
2017-01-12 14:34:03 +01:00
John Beard d7db84e282 Break out tools' common menu functions and ownership
Add a class TOOL_MENU, which provides a management class for a
CONDITIONAL_MENU and a set of CONTEXT_MENUs. The aim of this is to
provide a central place where all TOOL_INTERACTIVEs can get a "basic"
context menu that either they or other tools can register new items and
sub-menus against.

This means that "top-level" tools no longer need to manage the lifetimes
of any CONTEXT_MENUs that they add, and can also delegate simple menu
display functions.
2017-01-12 14:33:57 +01:00
Maciej Suminski da00d64877 OpenGL antialising code clean up & formatting 2017-01-11 16:20:37 +01:00
decimad 5a4e247564 EDA_DRAW_PANEL_GAL now takes the gal display options per dependency injection
Add a hack so that the pad properties base dialog constructor can pass in the dependency. Since the derived dialog's constructor takes the parent by this exact type, the static cast is safe.
2017-01-11 16:20:37 +01:00
decimad 77138e3702 Add UI control to set up gal opengl antialiasing and load/store the settings 2017-01-11 16:20:37 +01:00
decimad d04b3bdc27 Add Antialiasing option to dialog_display_options (Thank you Simon Richter) 2017-01-11 16:20:37 +01:00
John Beard 378f5cce33 Don't show separator in Select tool if not needed
If the SELECTION_TOOL's Select... menu is not shown, the separator under
it should also not be shown, so use the same SELECTION_CONDITIONS to
enforce this.
2017-01-11 11:15:25 +01:00
John Beard f1c5b9a9ae Add context menu to GAL DRAWING_TOOL, including the zone menu
Includes a tiny class for scoped set-reset of a variable, which is used
here to store the current drawing mode.

Fixes: lp:1218629
 * https://bugs.launchpad.net/kicad/+bug/1518629
2017-01-11 10:41:08 +01:00
John Beard 6baf0edc08 Line segments obey 45 degree preference in GAL
The GAL line segment tool now listens to the global line segment 45
degree locking preference, with Ctrl used to invert the behaviour. The
behaviour therefore follows the setting normally, and the user can
override when needed with Ctrl.

Fixes: lp:1635718
* https://bugs.launchpad.net/kicad/+bug/1635718
2017-01-11 09:57:55 +01:00
jean-pierre charras 853310da6e Remove duplicate definition of LAYER_PAIR, defined both in gendrill_Excellon_writer.h and specctra.h
Now, in gendrill_Excellon_writer.h it is DRILL_LAYER_PAIR, and in specctra.h it is SPECCTRA_ LAYER_PAIR
2017-01-10 20:12:50 +01:00
John Beard 3448698849 Add grid menu to routing context menu
This is a missing GAL feature (though grid cycling by hotkey was already
working fine).

Fixes: lp:1519973
* https://bugs.launchpad.net/kicad/+bug/1519973
2017-01-10 11:18:25 +01:00
jean-pierre charras 4f46f79cf0 dialog_footprint_wizard_list.cpp: allows updating (on request) python modules from this dialog.
This option reloads modules which are more recent than already loaded modules, and load new modules.
2017-01-09 14:44:24 +01:00
jean-pierre charras 9684031bc8 Fix I18n issue in dialog_design_rules.cpp 2017-01-09 14:19:02 +01:00
jean-pierre charras 1039b6dda7 Make dialog_footprint_wizard_list.cpp compilable when scripting is not enabled. 2017-01-08 08:25:04 +01:00
jean-pierre charras e72a3b99ee dialog_footprint_wizard_list: cosmetic enhancements. 2017-01-07 21:10:38 +01:00
jean-pierre charras e6a8294c56 dialog_footprint_wizard_list: add button to show the trace of errors when python scripts wizards failed to load. 2017-01-07 20:43:39 +01:00
jean-pierre charras 44cc728b25 enforce a control to avoid crash if pcbnew.py is an incorrect version (bad install). 2017-01-07 16:25:11 +01:00
jean-pierre charras 76a82dcd3b Dialog footprint wizard selector: better dialog (displays the wizard search path list) and allows double click to select a wizard 2017-01-07 13:39:47 +01:00
jean-pierre charras 56f8e10eb4 Footprint wizards management: Now display the list of not loadable footprint wizards in footprint wizard dialog.
Not loadable wizards are Python scripts having a syntax error or are not compatible scripts due to changes in API.
2017-01-06 20:15:23 +01:00
Chris Pavlina f407450732 Remove code referring to deleted variable 2017-01-05 20:11:37 -05:00
Diego Herranz 50cdd5cdf1 Pcbnew, plot dialog: grey out advanced net attributes if Gerber X2 is unchecked.
m_useGerberNetAttributes is useless if m_useGerberX2Attributes is not checked.
So disabled (greyed out) when Gerber X2 gets unchecked to make it clear to
the user.
2017-01-04 17:13:26 -05:00
Wayne Stambaugh 50a388fe56 Page setting menu entry consistency fixes.
Move the page setting menu entry from the edit menu to the file menu in
Eeschema so it is consistent with Pcbnew.

Change the page setting menu entry tooltip in Pcbnew so it is the same as
Eeschema.
2017-01-04 15:24:45 -05:00
jean-pierre charras 24192ff3d6 Add Micromatch connectors footprint wizard. Unfortunately, I don't remember the initial author of this script. 2017-01-04 20:01:15 +01:00
jean-pierre charras 995940e992 refinement 2017-01-04 16:17:40 +01:00
jean-pierre charras 02fa9639cd DIALOG_FOOTPRINT_WIZARD_LIST: minor enhancement. qrcode_footprint_wizard.py: use filled polygons instead of square pads on silkscren layer. 2017-01-04 15:03:43 +01:00
jean-pierre charras 1a464ab8c8 Coding style fixes 2017-01-03 18:04:35 +01:00
Oliver Walters 66ee44cb1f Footprint Wizards Update 2017-01-03 16:01:47 +01:00
Oliver d1278a48b6 UI Improvements for PCB Design Rules Dialog
* Added floating point validators for wxTextCtrl items relating to via and track sizes
* Prevent entering negative values
* Changed via option wxRadioButton pairs to wxCheckBox
* Toggling the OptAllowMicroVias checkbox toggles the enabled status of the microvia settings controls
* Cleanup of error message(s)
2017-01-02 12:50:13 -05:00
jean-pierre charras fff449ecf0 Performance counter rework: Add comments, fix coding style issues. 2016-12-31 13:00:24 +01:00
jean-pierre charras b8b08dafd6 Code cleaning: remove pcbcommon.* which contains nothing really useful. The very few lines of code are moved to a better place. 2016-12-31 12:56:21 +01:00