kicad/common
Jeff Young 2f23aa9556 Implement a more robust tool stacking architecture.
We were running into various corner conditions where a tool's event
loop would exit while the tool was still active, or the tool would
get popped while we were still in the event loop.  (A lot of these
had to do with the POINT_EDITOR's, but not all of them.)

The new architecture:
1) tools always do a Push()/Pop()
2) everyone is responsible for their own pops; no more stack-clearing
on a cancel
3) CancelInteractive events go to all tools to facilitate (2)
2019-06-27 17:01:31 +01:00
..
dialog_about Remove Legacy options for overlay/context 2019-06-12 06:01:03 -07:00
dialogs Normalize line endings 2019-06-19 15:18:30 -07:00
gal Fix issue in cairo_gal when drawing a 360 deg arc (in fact a circle). 2019-06-09 11:06:00 +02:00
geometry Added more sophisticated checking for thermal spoke connections. 2019-06-25 11:34:28 +01:00
kicad_curl Replace remaining Boost mutexs with std::mutex 2019-05-03 17:13:20 -07:00
libeval Libeval: consistent formatting for NaN 2019-04-08 16:27:45 +01:00
math Remove superflous includes. 2015-07-31 09:50:47 -04:00
page_layout pl_editor:make the option "show formatted texts" working. 2019-06-15 19:54:05 +02:00
plotters Greyscale plotting adjustment 2019-06-18 17:12:53 -07:00
preview_items Move remaining hard-coded segment counts 2019-05-16 08:49:55 -07:00
swig pcbnew: remove the last dlist components from pcbnew 2019-06-02 20:06:11 -07:00
system Fix compilation issue on PPC64 2019-02-20 09:44:03 -05:00
tool Implement a more robust tool stacking architecture. 2019-06-27 17:01:31 +01:00
view Fix compiler warning. 2019-06-17 14:44:38 +01:00
widgets Fix bugs with ACTIONs not being "honest" singletons. 2019-06-14 16:54:46 +01:00
CMakeLists.txt Prepare changes to support a better board stack management in .gbrjob file. 2019-06-25 18:39:11 +02:00
advanced_config.cpp Some minor fixes to prepare the new zone filling algo (no filled polygon thickness) 2019-06-02 11:51:47 +02:00
array_axis.cpp Pcbnew: add a step field to the array tool 2019-05-16 11:20:52 +01:00
array_options.cpp Arrays: isolate axis code in a new class 2019-05-16 11:20:52 +01:00
base_screen.cpp Cleanup some left-over vestiages of the legacy canvas architecture. 2019-06-13 15:51:32 +01:00
base_struct.cpp pcbnew: Move tracks to std::deque 2019-06-01 09:53:23 -07:00
base_units.cpp units: Move common units and add tests 2019-01-08 09:29:32 -08:00
basic_gal.cpp DrawGraphicText: remove a static variable, and replace it (when needed) by a new parameter in argument list. 2018-04-07 19:57:26 +02:00
bezier_curves.cpp DXF import: add import of DXF splines that are converted to Bezier curves. 2018-07-22 18:39:47 +02:00
bin_mod.cpp Eeschema: make menu file history working again. 2019-05-25 20:58:28 +02:00
bitmap.cpp Grid rid of GetCanvas/GetGalCanvas distinction now that there's only gal. 2019-06-13 19:58:37 +01:00
bitmap_base.cpp Common: Fix copy-construction of empty BITMAP_BASE 2019-05-23 16:58:08 +01:00
board_printout.cpp When printing, pads are not always printed (especially on tech layers) 2018-12-22 13:44:49 +01:00
build_version.cpp Version string improvements. 2016-11-25 09:09:10 -05:00
colors.cpp Try to fix a compil issue on OSX (no viable conversion from 'const wxString' to 'const wxChar *', in colors.cpp) 2016-05-17 09:10:15 +02:00
colors_design_settings.cpp Fix assert launching PCBNew. 2019-06-01 00:06:25 +01:00
commit.cpp commit: protect against un-copyable error 2019-02-16 13:28:45 -08:00
common.cpp Common: do not conditionally define wxPoint/Size operator<< 2019-05-28 13:52:36 +01:00
config_params.cpp Eradicate globals for PCB_GENERAL_SETTINGS. 2019-06-26 21:54:03 +01:00
confirm.cpp Fix OSX button order issue in Unsaved Changes dialog. 2019-06-17 17:01:57 +01:00
convert_basic_shapes_to_polygon.cpp Pcbnew: better approximation of arcs by polygons for pads having a very small size. 2019-06-17 17:26:15 +02:00
cursor_store.cpp Eeschema: construct simulator cursors on demand 2019-04-02 18:26:33 +01:00
dialog_shim.cpp Clear ctx-menu before rebuilding; don't veto ctx-menu mousewarp for non-ctx-menu dialog. 2019-06-19 21:17:56 +01:00
displlst.cpp Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out. 2019-06-10 23:46:00 +01:00
dlist.cpp Fixed an assert in DHEAD::append() 2018-05-11 10:23:40 +02:00
dpi_scaling.cpp Add configuration of Hi-DPI canvas scaling in OpenGL 2019-03-25 15:00:55 +00:00
draw_panel_gal.cpp Clean up duplicted Find action processing. 2019-06-13 15:51:32 +01:00
dsnlexer.cpp Revert "Don't be pedantic about the file format." 2018-03-16 18:11:36 +00:00
eagle_parser.cpp Eagle: Fix crash when importing Eagle V6 2019-05-26 20:31:55 -07:00
eda_base_frame.cpp Add env-var setting to CommonSettingsChanged(). 2019-06-25 11:34:28 +01:00
eda_dde.cpp Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out. 2019-06-10 23:46:00 +01:00
eda_doc.cpp Move env var substitution into GetAssociatedDocument 2019-03-10 08:39:36 -07:00
eda_dockart.cpp Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out. 2019-06-10 23:46:00 +01:00
eda_draw_frame.cpp Implement a more robust tool stacking architecture. 2019-06-27 17:01:31 +01:00
eda_pattern_match.cpp Prevent implicit * from wildcard match in footprint 2018-05-01 16:49:20 -07:00
eda_size_ctrl.cpp Clean up units infrastructure after g_UserUnit removal. 2018-07-17 15:12:36 +01:00
eda_text.cpp Convert remaining legacy drawing code to print code. 2019-05-31 21:54:22 +01:00
env_paths.cpp Fixed normalizeAbsolutePaths() condition 2018-05-25 11:07:51 +02:00
env_vars.cpp Add configuration of Hi-DPI canvas scaling in OpenGL 2019-03-25 15:00:55 +00:00
exceptions.cpp Fix quotes in UI messages 2017-12-15 07:33:07 -05:00
executable_names.cpp Move executable name constants to own file 2017-03-23 09:23:45 -04:00
filename_resolver.cpp Fold 3D Search Paths dialog into Configure Paths. 2018-07-17 15:11:01 +01:00
filter_reader.cpp richio.h, class LINE_READER: prefix variable member names by "m_", like in other classes in Kicad. 2017-11-12 18:29:56 +01:00
footprint_filter.cpp Performance enhancements in fp loading, string cmp, etc. 2018-08-01 09:35:46 +01:00
footprint_info.cpp Move remaining hard-coded segment counts 2019-05-16 08:49:55 -07:00
fp_lib_table.cpp Do not use project path when searching for default library tables. 2019-01-26 16:19:02 -05:00
gbr_metadata.cpp Gerber drill file: Modify a aperture attribute for oblong holes (slots). 2019-06-25 09:43:29 +02:00
gestfich.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
getrunningmicrosecs.cpp Performance counter rework: More comments, code cleaning, and move GetRunningMicroSecs() prototype from common.h to profile.h. 2017-01-02 13:49:36 +01:00
gl_context_mgr.cpp Dealing with inconsistent wxGLCanvas::IsDisplaySupported() 2018-06-11 12:26:59 +02:00
gr_basic.cpp Remove Legacy options for overlay/context 2019-06-12 06:01:03 -07:00
gr_text.cpp Convert remaining legacy drawing code to print code. 2019-05-31 21:54:22 +01:00
grid_tricks.cpp Implement our own navigation out of a grid. 2019-06-25 11:34:28 +01:00
hash_eda.cpp pcbnew: Remove the last dlist from modules/pcbnew 2019-06-01 20:55:32 -07:00
hotkey_store.cpp Add alt-click (for show Clarify Selection menu) to gestures list. 2019-06-26 21:54:03 +01:00
hotkeys_basic.cpp Improve gesture lables for better consistency with key labels. 2019-06-14 16:54:46 +01:00
html_messagebox.cpp Release mouse before closing HTML_MESSAGE_BOX. 2018-05-21 13:18:41 +01:00
kiface_i.cpp Removed old debug output 2017-12-17 18:43:43 +01:00
kiway.cpp Add env-var setting to CommonSettingsChanged(). 2019-06-25 11:34:28 +01:00
kiway_express.cpp Support synchronous messaging over KIWAY EXPRESS. 2019-04-08 13:26:09 +01:00
kiway_holder.cpp Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out. 2019-06-10 23:46:00 +01:00
kiway_player.cpp Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out. 2019-06-10 23:46:00 +01:00
languages_menu.cpp Add checking to languages menu. 2019-06-16 20:26:43 +01:00
lib_id.cpp Fix LIB_ID illegal character tests. 2018-10-07 09:09:27 -04:00
lib_table.keywords Added "enabled" parameter for LIB_TABLE_ROW 2017-11-21 08:18:06 -05:00
lib_table_base.cpp QA: LIB_TABLE tests 2019-02-04 19:44:54 -08:00
lib_tree_model.cpp Fix potential string iterator issue. 2019-03-02 08:20:53 -05:00
lib_tree_model.h libtree: Update width automatically 2019-02-12 21:56:47 -08:00
lib_tree_model_adapter.cpp Don't throw out search hits because they have unit children. 2019-06-19 21:27:58 +01:00
lib_tree_model_adapter.h Move footprint & symbol tree context menus to tool infrastructure. 2019-06-05 20:16:48 +01:00
lockfile.cpp Move file locking utilities to a separate file 2017-03-23 09:23:45 -04:00
lset.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
marker_base.cpp Convert remaining legacy drawing code to print code. 2019-05-31 21:54:22 +01:00
md5_hash.cpp Add MD5_HASH::Format for debug purposes. 2019-03-21 11:42:15 +01:00
msgpanel.cpp Remove colours from message text items. 2018-07-17 15:11:40 +01:00
netlist.keywords Fix Bug #1381287 (CvPCB ignores the footprint filter field on aliased components) 2015-01-02 08:52:29 +01:00
newstroke_font.cpp all: new Russian GOST patch - author Konstantin Baranovskiy 2013-03-28 00:38:20 +04:00
observable.cpp Coverity fixes (mostly initializing variables) 2017-02-01 17:31:55 +01:00
origin_viewitem.cpp Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out. 2019-06-10 23:46:00 +01:00
page_info.cpp Fix code after renaming files 2018-01-29 11:37:29 +01:00
painter.cpp GAL: Make high-contrast meld into background 2019-06-09 08:16:58 -07:00
pcb.keywords Functions.cmake: add missing dependency to *.keywords. 2019-06-26 19:25:24 +02:00
pcb_plot_params.keywords Add Gerber job file writer in Pcbnew, and a basic reader in Gerbview. Currently disabled 2017-08-30 11:04:33 +02:00
pgm_base.cpp Implement I18N for ACTIONs. 2019-06-17 10:45:23 +01:00
prependpath.cpp Fix some issues related to the footprint wizard frame: 2015-09-07 12:52:16 +02:00
printout.cpp Removed default line width setting from the printing dialog 2018-10-31 19:17:30 +01:00
project.cpp Ensure we have a destination for config template 2019-01-28 17:16:53 -08:00
properties.cpp Eeschema: initial schematic I/O plugin. 2016-07-06 05:22:56 -04:00
ptree.cpp Removed all exception specifiers since deprecated. 2017-06-12 13:54:55 -04:00
refdes_utils.cpp Fix broken GetReferencePrefix function 2019-01-30 15:41:36 -08:00
reporter.cpp Optionally sort reporter messages 2018-05-22 13:55:02 -07:00
richio.cpp Uniformly quote strings which may have user content. 2019-04-07 00:24:10 +01:00
search_stack.cpp Replace log debugging output with tracing. 2018-10-17 15:03:33 -04:00
searchhelpfilefullpath.cpp Replace log debugging output with tracing. 2018-10-17 15:03:33 -04:00
settings.cpp Multiple improvements concerning colors, configuration handling and legacy features in pcbnew: 2017-08-04 16:06:57 +02:00
single_top.cpp Force X11 on linux 2019-02-26 08:51:12 -08:00
status_popup.cpp Grid rid of GetCanvas/GetGalCanvas distinction now that there's only gal. 2019-06-13 19:58:37 +01:00
streamwrapper.cpp Replace WIN32 preprocessor symbol by the official symbol _WIN32, used almost everywhere 2018-10-20 09:22:24 +02:00
string.cpp Don't double-escape netnames. 2019-04-12 00:28:58 +01:00
strtok_r.c Add strtok_r.c 2013-12-10 17:52:51 -06:00
systemdirsappend.cpp Minor fixes: remove a few useless includes and move a few others to the right file. Remove a few coverity warnings about not initialized members. 2015-05-15 14:49:11 +02:00
text_utils.cpp change UTF8& operator+=( wchar_t ch ) to UTF8& operator+=( unsigned ch ), because swig does not like wchar_t. 2017-12-08 17:57:53 +01:00
trace_helpers.cpp Eeschema: fix broken symbol library links. 2019-04-30 13:05:27 -04:00
undo_redo_container.cpp eeschema: Remove UR_WIRE_IMAGE 2019-04-13 07:11:24 -07:00
utf8.cpp UTF8: Fix MSVC builds 2018-10-18 11:35:45 -07:00
validators.cpp Minor library identifier validator change. 2019-06-18 11:18:09 -04:00
wildcards_and_files_ext.cpp Fix case-sensitive import using KiCad std 2019-06-15 08:08:41 -07:00
wxdataviewctrl_helpers.cpp Move wxDataViewCtrl manipulators out of dialog_choose_component.cpp 2017-03-30 21:47:14 -04:00
xnode.cpp Escape slashes in labels and netnames. 2019-04-07 00:24:10 +01:00