Maciej Suminski
b1837615aa
Added event queue to handle events at the end of the event processing cycle.
2014-07-09 16:25:50 +02:00
Maciej Suminski
c0a96141df
Added AF_NOTIFY flag for TOOL_ACTIONs.
2014-07-09 15:10:32 +02:00
Maciej Suminski
7614b93bf8
Tool indicator is resetted on canvas switch.
2014-07-09 15:10:32 +02:00
Maciej Suminski
65c116621d
Added support for changing the cursor size.
2014-07-09 15:10:32 +02:00
Maciej Suminski
2b0e27f132
Introduced SELECTION_CONDITIONS to determine which menu entries should be visible in the SELECTION_TOOL context menu, depending on the selection.
2014-07-09 15:10:32 +02:00
Maciej Suminski
b076f3fe4e
Fixed grid drawing when the grid origin has negative coordinates.
2014-07-09 15:02:56 +02:00
Maciej Suminski
72c70148e8
Fixed a few memory leaks and Valgrind warnings.
2014-07-09 15:02:56 +02:00
Maciej Suminski
95a4f61eee
wxWidgets 2.8 compatibility fix.
2014-07-09 14:23:13 +02:00
Maciej Suminski
456eeaba10
Routines for handling clipboard with TOOL_MANAGER.
2014-07-09 14:01:07 +02:00
Maciej Suminski
94cc845b3f
Added AF_ACTIVATE flag for TOOL_ACTIONs.
...
Reworked the way of processing events in TOOL_MANAGER class.
Added GetCommandStr() for TOOL_EVENT class.
2014-07-09 13:50:27 +02:00
Maciej Suminski
34fbde42fc
Improved way of translating wxEvent commands to TOOL_ACTIONs.
2014-07-09 13:50:27 +02:00
Maciej Suminski
f8f6fd41ad
Introduced a new type of action: TA_ACTIVATE to distinguish events activating tools from common tool actions.
2014-07-09 13:50:27 +02:00
Maciej Suminski
5703b7e8bf
Implemented stacking for TOOL_STATEs.
2014-07-09 13:50:27 +02:00
Maciej Suminski
5f806cfa18
Minor fixes to the Tool Framework.
2014-07-09 13:50:27 +02:00
Maciej Suminski
f7ecc749f6
Restored std::map in TOOL_MANAGER.
2014-07-09 13:50:27 +02:00
Maciej Suminski
dfc052d537
Added an alternative way to reach tools in the Tool Framework.
2014-07-09 11:59:24 +02:00
Maciej Suminski
8a5fedb728
Code formatting and cleaning.
2014-07-09 11:22:43 +02:00
Maciej Suminski
7645ed8601
Grid offset is recomputed only when settings are changed.
2014-07-09 11:22:43 +02:00
Maciej Suminski
5134781a38
GAL view in pad properties dialog - initial version.
2014-07-09 11:22:43 +02:00
Maciej Suminski
2f7706e8cd
Reduced number of switched events, allowing to use VIEW_CONTROLS, even if there is no extra event dispatcher.
2014-07-09 11:22:43 +02:00
Maciej Suminski
0fc93666c6
Rework to support multiple views with OpenGL GAL canvas.
2014-07-09 11:22:42 +02:00
Maciej Suminski
60b0a4e0be
Alternative approach to handling events and commands by TOOL_DISPATCHER.
...
Event handlers are (dis)connected depending on the active view.
TOOL_DISPATCHER inherits from wxEvtHandler, so now it receives events directly instead of being fed by external handlers.
2014-07-09 11:22:42 +02:00
Maciej Suminski
3fd26b6dd2
TOOL_ACTIONs are automagically registered by TOOL_MANAGER upon its construction.
2014-07-09 11:22:42 +02:00
Maciej Suminski
f5325f8d79
Removed a redundant pointer to EDA_EDIT_FRAME.
2014-07-09 11:22:42 +02:00
Maciej Suminski
13e67e1f3c
Fixed VIEW::SetViewport().
2014-07-09 11:22:42 +02:00
Maciej Suminski
a68165d2a0
Minor changes (removed an unnecessary event handler and two function calls that had no real influence).
2014-07-09 10:57:32 +02:00
Maciej Suminski
9a47f4c645
Created a specialization of EDA_DRAW_PANEL_GAL: PCB_DRAW_PANEL_GAL.
...
Moved View related routines & fields from PCB_{BASE,EDIT}_FRAME & BOARD to PCB_DRAW_PANEL_GAL.
2014-07-09 10:57:32 +02:00
Maciej Suminski
2f6c5f3156
Removed EDA_DRAW_FRAME::SetGalCanvasActive() [it may be misleading], added EDA_DRAW_PANEL_GAL::GetBackend().
2014-07-09 10:34:00 +02:00
Dick Hollenbeck
acbe6290c5
switch back to original sexpr usage of PTREE, add new DSNLEXER constructor, enforce accessors in kicad.exe
2014-07-07 14:49:14 -05:00
Maciej Suminski
0304598a71
Fixed vertical alignment for strings that contain a newline character at the end (GAL).
2014-07-07 13:09:44 +02:00
Dick Hollenbeck
84a14c3a51
back annotation when CVPCB and EESCHEMA are running under KICAD
2014-07-06 23:12:04 -05:00
Dick Hollenbeck
d6a8696a99
typo on B_CrtYd, F_CrtYd, B_Fab, F_Fab
2014-07-06 11:59:26 -05:00
Dick Hollenbeck
611592029f
fix Inner1.Cu in pcb_parser.cpp, start cvpcb work.
2014-07-05 15:42:59 -05:00
jean-pierre charras
9a7116d4ab
Update old demo board files. Minor code cleaning.
2014-07-04 21:36:43 +02:00
jean-pierre charras
ab58dbfced
Pcbnew: Rework on Gerber ouput: allows choice between format 4.5 and 4.6. Fix a minor issue in Gerber layers attributes.
...
fix print issue when printing each layer on a separate page.
2014-07-04 16:22:38 +02:00
Lorenzo Marcantonio
89f14906a4
- Added the courtyard/fabrication layer to the layer combo and layer
...
panel
- Corrected handling of scrollability in layer panel (fixes 1336996)
2014-07-04 10:55:51 +02:00
jean-pierre charras
8a1fd49377
Minor fixes in Gerber files, in file attribute for copper layers.
2014-07-01 21:20:38 +02:00
jean-pierre charras
a543f99eb3
Enable technical layers when starting Pcbnew with no board.
...
Use format 4.6 (full resolution of Pcbnew) in Gerber files to avoid the creation of self-intersecting polygons.
2014-06-30 17:46:47 +02:00
jean-pierre charras
b50872edca
Gerber output: Some changes after evaluation of Gerber files by Ucamco (the manager of GERBER format):
...
* default file ext is now .gbr (the "official extension")
* some outdated commands remoded.
* mainly use mm and 4.5 format instead of inches and 3.4 format. this is mandatory,
because the 3.4 format (comming from old pcbned internal units) creates truncations in coordinates.
(with serious issues in polygons which can appear self-intersecting afer truncation)
2014-06-30 12:00:21 +02:00
Dick Hollenbeck
1e7495e634
merge
2014-06-30 00:46:18 -05:00
Dick Hollenbeck
06bf0821b9
fix LSET() constructors, formatting
2014-06-29 15:33:29 -05:00
Dick Hollenbeck
add4d5eb6f
re-work the LSET(int,...) constructor
2014-06-29 13:09:32 -05:00
Dick Hollenbeck
ad750defb6
LAYER_ID work
2014-06-29 08:05:51 -05:00
jean-pierre charras
013296cb1a
Make gerbview compilable and working (does not use now layers and layer masks from Pcbnew).
...
Export to Pcbnew is broken, but it is a very rarely used feature. It will be fixed later.
2014-06-27 19:07:42 +02:00
Dick Hollenbeck
8b6c569aef
copyright
2014-06-25 09:24:02 -05:00
Dick Hollenbeck
b920fa00a5
1) Fix compiles using wx 3.x and 2.8.
...
2) Fix passing wxString to common/config_params so lookup keys
can be dynamically generated. This gives ~/.kicad files all the colors.
3) Fix LEGACY_PLUGIN so it loads all layer types and masks properly.
4) Extend the table in router/pns_index.h to 128 from 64.
2014-06-24 23:36:02 -05:00
Dick Hollenbeck
b76d0c533b
add lset.cpp
2014-06-24 13:31:41 -05:00
jean-pierre charras
96b6e1a5cb
Make dialog pns properties resizable. DXF import: add very basic polyline import.
2014-06-24 20:04:16 +02:00
Dick Hollenbeck
4578ea8b9e
1) Add 32 Cu Layers.
...
2) Change from legacy Cu stack to counting down from top=(F_Cu or 0).
The old Cu stack required knowing the count of Cu layers to make
sense of the layer number when converting to many exported file types.
The new Cu stack is more commonly used, although ours still gives
B_Cu a fixed number.
3) Introduce class LSET and enum LAYER_ID.
4) Change *.kicad_pcb file format version to 4 from 3.
5) Change fixed names Inner1_Cu-Inner14_Cu to In1_Cu-In30_Cu and their
meanings are typically flipped.
6) Moved the #define LAYER_N_* stuff into legacy_plugin.cpp where they
can die a quiet death, and switch to enum LAYER_ID symbols throughout.
7) Removed the LEGACY_PLUGIN::Save() and FootprintSave() functions.
You will need to convert to the format immediately, *.kicad_pcb and
*.kicad_mod (=pretty) since legacy format was never going to know
about 32 Cu layers and additional technical layers and the reversed Cu
stack.
2014-06-24 11:17:18 -05:00
jean-pierre charras
4cd4990bc2
Fix compil issue with KICAD_SCRIPTING_WXPYTHON option ON.
...
Minor enhancements.
2014-06-20 19:29:35 +02:00
jean-pierre charras
7c99a242cf
Remove 2 global variables: g_DrawBgColor and g_ShowPageLimits.
...
They are now member of EDA_DRAW_FRAME.
This change could fix Bug #1330781 (Background color change in Eeschema affects background color in Pcbnew)
Show page limits has meaning only for the schematic editor, the board editor and the page layout editor.
Draw background color selection exists only in eeschema and page layout editor.
In pcbnew, only a black background is allowed.
A side effect is now the user should set the background color in schematic editor, and the library editor (2 different options).
The default is still the white color.
2014-06-20 13:13:04 +02:00
Lorenzo Marcantonio
94d78047e3
Fixes 1332429
2014-06-20 10:55:30 +02:00
jean-pierre charras
9ee8dac056
Pcbnew, python console: make it not dockable (workaround to avoid the fact accelerator keys which are used in the main menu are not sent to the console, in docked mode).
...
Minor cosmetic enhancement.
2014-06-19 08:26:53 +02:00
Bernhard Stegmaier
b22aba2010
Fixes
2014-06-16 11:42:27 -05:00
Lorenzo Marcantonio
bb79ec84bc
In KIFACE_I::end_common save the 'common' configuration variables loaded in KIFACE_I::begin_common (the background color and the page border flag)
2014-06-12 20:34:16 +02:00
Lorenzo Marcantonio
bee6b9f9b7
Fixes #1186269
...
- Refactored the common part of cursor key movement and crosshair update
in the various GeneralControl
- Add x10 movement with the keyboard (CTRL modifier)
- Avoid fixup of the cursor position by dummy mouse movements generated
by cursor warping (original analysis and idea Chris Gibson)
- Do key handling in a way to permit sub-pixel cursor movement
2014-06-12 18:12:14 +02:00
Jean-Samuel Reynaud
00e18d2144
pcbnew crashed on start compiled with KICAD_SCRIPTING_WXPYTHON=ON
2014-06-12 08:57:00 -05:00
Dick Hollenbeck
3d311f831e
*) Remove more wxString static constructors which were crashing in PAGE_INFO assignment
...
to a new BOARD in the footprint editor. This is PAGE_INFO::A4 and company.
*) Remove static storage of the BOARD in the module editor.
2014-06-11 00:00:30 -05:00
jean-pierre charras
737ef50cc0
Plot SVG: fix issue with arcs (bug #1328155 ) both in Pcbnew and Eeschema.
2014-06-10 18:21:38 +02:00
Dick Hollenbeck
8cb3423262
Remove class RETAINED_PATH, put is main member function into SEARCH_STACK.
...
Change class PROJECT to use a generalized wxString in place of the
RETAINED_PATH items, so that new session and project specific strings
of any purpose can be saved there, for the life of a session.
2014-06-10 10:56:43 -05:00
Bernhard Stegmaier
60a86853ec
Removed a few warnings.
2014-06-05 12:40:26 +02:00
Maciej Suminski
35e343597b
Grid in GAL takes into account grid offset.
2014-06-04 17:56:44 +02:00
jean-pierre charras
e140f79aba
Fix some compil warnings and Debug assertions.
2014-06-04 20:48:49 +02:00
jean-pierre charras
f76041e956
Fix some compil warnings and Debug assertions
2014-06-04 19:34:23 +02:00
Dick Hollenbeck
431675933a
remove global g_UserLibDirBuffer which was a project specific global, and no longer used with FP_LIB_TABLE support.
2014-06-03 10:59:52 -05:00
Maciej Suminski
b1a19b1225
Setting proper tool for submenus of CONTEXT_MENU class.
2014-05-31 16:04:10 +02:00
Maciej Suminski
0e69277074
Fix for vertical/horizontal (using Ctrl/Shift + mousewheel) panning in GAL canvas.
2014-05-31 11:48:27 +02:00
jean-pierre charras
771ac33c80
Pcbnew: fix a minor bug: in zones with no net, only the zone clerance was used to created clearence, regardless the pad or footprint local clerance.
...
Very minor other fixes.
2014-05-29 13:48:14 +02:00
Dick Hollenbeck
c8479cdd2b
remove unused single_top.c function.
2014-05-27 23:30:38 -05:00
Maciej Suminski
dd1fcd0588
Fix for context menu hanging up in GAL.
2014-05-22 17:59:36 +02:00
Tomasz Wlostowski
b688f9bc20
math_util: speed up rescaling on 64-bit platforms by using native 128-bit types
2014-05-22 15:07:28 +02:00
Maciej Suminski
69816d8704
The GAL view uses colors settings from the legacy canvas.
...
Minor refactoring of PAINTER & RENDER_SETTINGS classes.
2014-05-21 23:13:30 +02:00
Lorenzo Marcantonio
07877f9044
Replaced the display line clipper with the way simpler (and faster) Cohen-Sutherland one.
...
A couple of trivial accessors made inline
2014-05-21 19:02:32 +02:00
jean-pierre charras
cfa67aa218
Pcbnew: plot dialog: remove obscure and useless option about texts which are not value or reference.
...
cosmetic enhancement in dialog.
page layout: fix bug Bug #1320839 (canvas refresh countinously called when moving an item)
2014-05-19 20:24:07 +02:00
Maciej Sumiński
c97afea468
Upstream merge.
2014-05-18 17:32:35 +02:00
Maciej Sumiński
46020e20de
Merged the new Interactive Push and Shove router.
...
Do not pay attention to add/remove files - it seems there may be a bug in git-bzr-ng plugin. I have checked them, they stayed exactly the same as before.
2014-05-18 17:16:59 +02:00
jean-pierre charras
d54ade9403
Rework on DXF export.
2014-05-17 21:29:15 +02:00
jean-pierre charras
41e41b95f8
Plot DXF: better generation of filled zone polygons.
2014-05-16 21:03:45 +02:00
Lorenzo Marcantonio
645e17684d
Pull unfilled polygon drawing thru the line clipper; GTK mess up even in this case and the sheet border lines glitch on the screen at high zoom otherwise in pcbnew.
2014-05-16 19:43:27 +02:00
Maciej Suminski
ebf35fd43a
Workaround for Mac OS, fixes focus after a mouse click.
2014-05-15 17:08:15 +02:00
jean-pierre charras
bb0804ec29
DXF export: fix incorrect export of polygons having thick outline (like zones): Thick segments of outline were drawn like lines with no thickness.
...
Fix ( workaround only) crash (Windows only) when a quasi modal frame (like footprint viewer) was called from a dialog (like the component properties dialog in schematic editor).
Very minor other fixes.
2014-05-15 08:32:24 +02:00
Maciej Suminski
def53707d5
TOOL_MANAGER is no longer static. Reworked autoregistration of TOOL_ACTIONs.
2014-05-14 16:29:53 +02:00
Tomasz Włostowski
5bf50ee910
VIEW: added CalculateExtents() method
2014-05-14 13:48:29 +02:00
Maciej Suminski
cce6e27096
Various fixes to geometry & math library.
2014-05-14 11:45:01 +02:00
Maciej Suminski
d27ea7895d
Moved background color settings from GAL to RENDER_SETTINGS. Added RENDER_SETTINGS::TranslateColor() to convert between EDA_COLOR_T and COLOR4D.
2014-05-14 10:35:12 +02:00
Maciej Suminski
129e26d512
Disable autopanning when GAL panel does not have focus.
2014-05-14 09:42:16 +02:00
Maciej Suminski
4577aed921
Minor reorganization of handling custom events with CONTEXT_MENU.
2014-05-13 11:22:51 +02:00
Maciej Suminski
3f2fc34075
WX_UNIT_TEXT can handle default value.
2014-05-13 11:22:51 +02:00
Maciej Suminski
e2feefc08c
Fixed custom event handlers for CONTEXT_MENU.
...
Moved menuCopy to CONTEXT_MENU copy constructor.
2014-05-13 11:22:51 +02:00
Maciej Suminski
05ee03d6b0
Recursive copy constructor for CONTEXT_MENU.
2014-05-13 11:22:51 +02:00
Maciej Suminski
089e99b99e
Fixing memory leaks.
2014-05-13 11:22:51 +02:00
Maciej Suminski
761375ddef
More compatibility fixes.
2014-05-13 11:22:51 +02:00
Maciej Suminski
3eaef97a7d
Added WX_UNIT_TEXT - wxWidget control for inputing sizes using different units (mm, inch, internal units).
2014-05-13 11:22:51 +02:00
Maciej Suminski
2f5103bc67
Fixed jumpy zoom when hotkeys and scroll wheel were used alternatively.
2014-05-13 11:22:51 +02:00
Maciej Suminski
50193f1751
Resolved HOME hot key conflict between menu entry (Zoom Page) and event assigned to the hot key in the ACTION_MANAGER.
...
Conflicts:
pcbnew/menubar_pcbframe.cpp
2014-05-13 11:22:51 +02:00
Maciej Suminski
8bb5eaa434
Better way of adding CONTEXT_MENU entries.
2014-05-13 11:22:50 +02:00
Maciej Suminski
d6fd8b2e23
Upstream merge.
2014-05-12 17:17:51 +02:00
Maciej Suminski
2ed804b8ef
Upstream merge.
2014-05-12 17:17:51 +02:00
Dick Hollenbeck
e45aadd11b
Modular-Kicad milestone B), minor portion:
...
*) Implement a framework for "Data Load On Demand".
*) Implement FP_LIB_TABLE* PROJECT::PcbFootprintLibs(), which is the first
prototype.
This allows the project specific footprint tables to be part of the Module Editor
when invoked from Eeschema.
2014-05-09 13:35:48 -05:00
Dick Hollenbeck
9fe5ce67e6
Modular-Kicad milestone B), minor portion:
...
*) Implement a framework for "Data Load On Demand".
*) Implement FP_LIB_TABLE* PROJECT::PcbFootprintLibs(), which is the first
prototype.
This allows the project specific footprint tables to be part of the Module Editor
when invoked from Eeschema.
2014-05-09 13:35:48 -05:00