← Back to team overview

kicad-developers team mailing list archive

[PATCH] Explicitly mark overriding functions

 

---
 3d-viewer/3d_cache/dialogs/dlg_3d_pathconfig.h     |  14 +-
 3d-viewer/3d_cache/dialogs/dlg_select_3dmodel.h    |   2 +-
 3d-viewer/3d_cache/sg/scenegraph.h                 |  20 +--
 3d-viewer/3d_cache/sg/sg_appearance.h              |  20 +--
 3d-viewer/3d_cache/sg/sg_colors.h                  |  20 +--
 3d-viewer/3d_cache/sg/sg_coords.h                  |  20 +--
 3d-viewer/3d_cache/sg/sg_faceset.h                 |  20 +--
 3d-viewer/3d_cache/sg/sg_index.h                   |  20 +--
 3d-viewer/3d_cache/sg/sg_normals.h                 |  20 +--
 3d-viewer/3d_cache/sg/sg_shape.h                   |  20 +--
 3d-viewer/3d_canvas/status_text_reporter.h         |   2 +-
 .../3d_render_ogl_legacy/c3d_render_ogl_legacy.h   |   6 +-
 .../3d_render_raytracing/accelerators/cbvh_pbrt.h  |   8 +-
 .../3d_render_raytracing/accelerators/ccontainer.h |   4 +-
 .../accelerators/ccontainer2d.h                    |   4 +-
 .../3d_render_raytracing/c3d_render_raytracing.h   |   6 +-
 .../3d_rendering/3d_render_raytracing/clight.h     |   4 +-
 .../3d_rendering/3d_render_raytracing/cmaterial.h  |   2 +-
 .../shapes2D/cfilledcircle2d.h                     |  10 +-
 .../shapes2D/citemlayercsg2d.h                     |  10 +-
 .../3d_render_raytracing/shapes2D/cpolygon2d.h     |  20 +--
 .../3d_render_raytracing/shapes2D/cpolygon4pts2d.h |  10 +-
 .../3d_render_raytracing/shapes2D/cring2d.h        |  10 +-
 .../shapes2D/croundsegment2d.h                     |  10 +-
 .../3d_render_raytracing/shapes2D/ctriangle2d.h    |  10 +-
 .../3d_render_raytracing/shapes3D/ccylinder.h      |   8 +-
 .../3d_render_raytracing/shapes3D/cdummyblock.h    |   8 +-
 .../3d_render_raytracing/shapes3D/clayeritem.h     |   8 +-
 .../3d_render_raytracing/shapes3D/cplane.h         |   8 +-
 .../3d_render_raytracing/shapes3D/croundseg.h      |   8 +-
 .../3d_render_raytracing/shapes3D/ctriangle.h      |   8 +-
 3d-viewer/3d_rendering/cpostshader_ssao.h          |   2 +-
 3d-viewer/3d_rendering/ctrack_ball.h               |  18 +--
 .../3d_viewer/dialogs/dialog_3D_view_option.cpp    |   6 +-
 3d-viewer/3d_viewer/eda_3d_viewer.h                |   4 +-
 bitmap2component/bitmap2cmp_gui.cpp                |  18 +--
 common/confirm.cpp                                 |   4 +-
 common/dialogs/dialog_image_editor.h               |  18 +--
 common/dialogs/dialog_page_settings.h              |  30 ++---
 common/dialogs/wx_html_report_panel.h              |  14 +-
 cvpcb/class_DisplayFootprintsFrame.h               |  24 ++--
 cvpcb/cvpcb.cpp                                    |   4 +-
 cvpcb/cvpcb_mainframe.h                            |   2 +-
 cvpcb/dialogs/dialog_config_equfiles.h             |  14 +-
 cvpcb/dialogs/dialog_display_options.h             |   6 +-
 cvpcb/dialogs/fp_conflict_assignment_selector.h    |   6 +-
 cvpcb/listview_classes.h                           |   6 +-
 eeschema/class_sch_screen.h                        |   2 +-
 eeschema/dialogs/dialog_annotate.cpp               |   6 +-
 eeschema/dialogs/dialog_bom.cpp                    |  20 +--
 eeschema/dialogs/dialog_choose_component.h         |  18 +--
 eeschema/dialogs/dialog_edit_component_in_lib.h    |  22 +--
 .../dialogs/dialog_edit_component_in_schematic.cpp |  24 ++--
 eeschema/dialogs/dialog_edit_label.cpp             |   8 +-
 .../dialogs/dialog_edit_libentry_fields_in_lib.cpp |  20 +--
 eeschema/dialogs/dialog_edit_one_field.h           |   6 +-
 eeschema/dialogs/dialog_eeschema_config.cpp        |  20 +--
 eeschema/dialogs/dialog_eeschema_options.h         |   8 +-
 eeschema/dialogs/dialog_erc.h                      |  14 +-
 eeschema/dialogs/dialog_lib_edit_pin.h             |  12 +-
 eeschema/dialogs/dialog_lib_edit_pin_table.cpp     |  24 ++--
 eeschema/dialogs/dialog_lib_edit_pin_table.h       |   2 +-
 eeschema/dialogs/dialog_lib_edit_text.h            |   4 +-
 eeschema/dialogs/dialog_netlist.cpp                |  12 +-
 eeschema/dialogs/dialog_plot_schematic.h           |  10 +-
 eeschema/dialogs/dialog_print_using_printer.cpp    |  16 +--
 eeschema/dialogs/dialog_rescue_each.cpp            |  16 +--
 eeschema/dialogs/dialog_schematic_find.h           |  20 +--
 eeschema/eeschema.cpp                              |   4 +-
 eeschema/lib_arc.h                                 |  40 +++---
 eeschema/lib_bezier.h                              |  28 ++--
 eeschema/lib_circle.h                              |  38 +++---
 eeschema/lib_draw_item.h                           |   2 +-
 eeschema/lib_field.h                               |  44 +++---
 eeschema/lib_pin.h                                 |  38 +++---
 eeschema/lib_polyline.h                            |  38 +++---
 eeschema/lib_rectangle.h                           |  38 +++---
 eeschema/lib_text.h                                |  42 +++---
 eeschema/libeditframe.h                            |  32 ++---
 .../netlist_exporters/netlist_exporter_cadstar.h   |   2 +-
 .../netlist_exporters/netlist_exporter_generic.h   |   2 +-
 .../netlist_exporters/netlist_exporter_orcadpcb2.h |   2 +-
 .../netlist_exporters/netlist_exporter_pspice.h    |   2 +-
 eeschema/sch_base_frame.h                          |   6 +-
 eeschema/sch_bitmap.h                              |  22 +--
 eeschema/sch_bus_entry.h                           |  40 +++---
 eeschema/sch_component.h                           |  40 +++---
 eeschema/sch_field.h                               |  28 ++--
 eeschema/sch_junction.h                            |  28 ++--
 eeschema/sch_legacy_plugin.h                       |   2 +-
 eeschema/sch_line.h                                |  44 +++---
 eeschema/sch_marker.h                              |  18 +--
 eeschema/sch_no_connect.h                          |  32 ++---
 eeschema/sch_sheet.h                               |  70 +++++-----
 eeschema/sch_text.h                                |  92 ++++++-------
 eeschema/sch_validators.h                          |   2 +-
 eeschema/schframe.h                                |  44 +++---
 eeschema/viewlib_frame.h                           |  28 ++--
 gerbview/class_gbr_layer_box_selector.h            |   8 +-
 gerbview/class_gbr_screen.h                        |   4 +-
 gerbview/class_gerber_draw_item.h                  |   4 +-
 gerbview/class_gerbview_layer_widget.h             |  12 +-
 gerbview/dialogs/dialog_print_using_printer.cpp    |  10 +-
 gerbview/dialogs/dialog_show_page_borders.h        |   4 +-
 .../gerbview_dialog_display_options_frame.cpp      |   4 +-
 gerbview/gerbview.cpp                              |   4 +-
 gerbview/gerbview_frame.h                          |  36 ++---
 gerbview/select_layers_to_pcb.h                    |  10 +-
 include/base_struct.h                              |   4 +-
 include/basic_gal.h                                |  12 +-
 include/class_base_screen.h                        |   4 +-
 include/class_board_item.h                         |   4 +-
 include/class_draw_panel_gal.h                     |   4 +-
 include/class_drawpanel.h                          |   4 +-
 include/class_pcb_screen.h                         |   4 +-
 include/class_worksheet_dataitem.h                 |  12 +-
 include/config_params.h                            |  32 ++---
 include/dialog_env_var_config.h                    |  10 +-
 include/dialog_get_component.h                     |   6 +-
 include/dialog_helpers.h                           |  12 +-
 include/dialog_hotkeys_editor.h                    |   8 +-
 include/dialog_shim.h                              |   4 +-
 include/draw_frame.h                               |   8 +-
 include/eda_pattern_match.h                        |  12 +-
 include/filter_reader.h                            |  12 +-
 include/gal/cairo/cairo_compositor.h               |  14 +-
 include/gal/cairo/cairo_gal.h                      |  86 ++++++------
 include/gal/opengl/cached_container.h              |  14 +-
 include/gal/opengl/gpu_manager.h                   |  16 +--
 include/gal/opengl/noncached_container.h           |  10 +-
 include/gal/opengl/opengl_compositor.h             |  14 +-
 include/gal/opengl/opengl_gal.h                    |  80 +++++------
 include/geometry/shape_line_chain.h                |  16 +--
 include/geometry/shape_poly_set.h                  |  14 +-
 include/geometry/shape_rect.h                      |   2 +-
 include/html_messagebox.h                          |   2 +-
 include/kiface_i.h                                 |   8 +-
 include/kiway.h                                    |   2 +-
 include/kiway_express.h                            |   2 +-
 include/kiway_player.h                             |   2 +-
 include/origin_viewitem.h                          |  10 +-
 include/plot_common.h                              | 150 ++++++++++-----------
 include/plugins/3dapi/ifsg_appearance.h            |   6 +-
 include/plugins/3dapi/ifsg_colors.h                |   6 +-
 include/plugins/3dapi/ifsg_coordindex.h            |   6 +-
 include/plugins/3dapi/ifsg_coords.h                |   6 +-
 include/plugins/3dapi/ifsg_faceset.h               |   6 +-
 include/plugins/3dapi/ifsg_index.h                 |   6 +-
 include/plugins/3dapi/ifsg_normals.h               |   6 +-
 include/plugins/3dapi/ifsg_shape.h                 |   6 +-
 include/plugins/3dapi/ifsg_transform.h             |   6 +-
 include/reporter.h                                 |   8 +-
 include/richio.h                                   |  12 +-
 include/tool/context_menu.h                        |   2 +-
 include/ttl/halfedge/hetriang.h                    |   2 +-
 include/view/view_group.h                          |  16 +--
 include/view/wx_view_controls.h                    |  12 +-
 include/widgets/mathplot.h                         | 102 +++++++-------
 include/worksheet_shape_builder.h                  |  44 +++---
 include/worksheet_viewitem.h                       |  10 +-
 include/wxBasePcbFrame.h                           |  56 ++++----
 include/wxPcbStruct.h                              |  82 +++++------
 include/wxstruct.h                                 |   4 +-
 kicad/class_treeprojectfiles.h                     |   2 +-
 kicad/dialogs/dialog_template_selector.h           |   8 +-
 kicad/kicad.h                                      |   8 +-
 kicad/pgm_kicad.h                                  |   2 +-
 lib_dxf/drw_entities.h                             |  32 ++---
 lib_dxf/intern/drw_textcodec.h                     |  12 +-
 lib_dxf/intern/dxfreader.h                         |  32 ++---
 lib_dxf/intern/dxfwriter.h                         |  24 ++--
 pagelayout_editor/class_pl_editor_screen.h         |   4 +-
 pagelayout_editor/design_tree_frame.h              |   2 +-
 pagelayout_editor/dialogs/dialog_new_dataitem.cpp  |   4 +-
 pagelayout_editor/dialogs/dialogs_for_printing.cpp |   4 +-
 pagelayout_editor/pl_editor.cpp                    |   4 +-
 pagelayout_editor/pl_editor_frame.h                |  32 ++---
 pagelayout_editor/properties_frame.h               |   6 +-
 pcb_calculator/UnitSelector.h                      |  10 +-
 pcb_calculator/attenuators/attenuator_classes.h    |   8 +-
 pcb_calculator/pcb_calculator.cpp                  |   4 +-
 pcb_calculator/pcb_calculator.h                    |  56 ++++----
 pcb_calculator/regulators_funct.cpp                |   2 +-
 pcb_calculator/transline/c_microstrip.h            |   4 +-
 pcb_calculator/transline/coax.h                    |   4 +-
 pcb_calculator/transline/coplanar.h                |   4 +-
 pcb_calculator/transline/microstrip.h              |   4 +-
 pcb_calculator/transline/rectwaveguide.h           |   4 +-
 pcb_calculator/transline/stripline.h               |   4 +-
 pcb_calculator/transline/twistedpair.h             |   4 +-
 pcbnew/block.cpp                                   |   2 +-
 pcbnew/board_commit.h                              |   6 +-
 pcbnew/class_board.h                               |  16 +--
 pcbnew/class_board_connected_item.h                |   2 +-
 pcbnew/class_dimension.h                           |  34 ++---
 pcbnew/class_drawsegment.h                         |  34 ++---
 pcbnew/class_edge_mod.h                            |  12 +-
 pcbnew/class_marker_pcb.h                          |  30 ++---
 pcbnew/class_mire.h                                |  28 ++--
 pcbnew/class_module.h                              |  42 +++---
 pcbnew/class_netinfo.h                             |  12 +-
 pcbnew/class_pad.h                                 |  40 +++---
 pcbnew/class_pcb_layer_box_selector.h              |   8 +-
 pcbnew/class_pcb_layer_widget.h                    |  10 +-
 pcbnew/class_pcb_text.h                            |  30 ++---
 pcbnew/class_text_mod.h                            |  36 ++---
 pcbnew/class_track.h                               |  82 +++++------
 pcbnew/class_zone.h                                |  32 ++---
 pcbnew/collectors.h                                |  34 ++---
 pcbnew/dialogs/dialog_SVG_print.cpp                |   8 +-
 pcbnew/dialogs/dialog_copper_zones.cpp             |  16 +--
 pcbnew/dialogs/dialog_create_array.h               |   4 +-
 pcbnew/dialogs/dialog_design_rules.h               |  22 +--
 .../dialogs/dialog_design_rules_aux_helper_class.h |   2 +-
 pcbnew/dialogs/dialog_display_options.h            |   4 +-
 pcbnew/dialogs/dialog_drc.h                        |  32 ++---
 .../dialogs/dialog_edit_module_for_BoardEditor.h   |  20 +--
 pcbnew/dialogs/dialog_edit_module_for_Modedit.h    |  14 +-
 pcbnew/dialogs/dialog_edit_module_text.h           |   6 +-
 pcbnew/dialogs/dialog_find.h                       |   8 +-
 pcbnew/dialogs/dialog_footprint_wizard_list.h      |   2 +-
 pcbnew/dialogs/dialog_fp_lib_table.cpp             |   2 +-
 pcbnew/dialogs/dialog_freeroute_exchange.h         |   8 +-
 pcbnew/dialogs/dialog_gendrill.h                   |  14 +-
 pcbnew/dialogs/dialog_general_options.h            |   4 +-
 pcbnew/dialogs/dialog_global_deletion.h            |   4 +-
 .../dialogs/dialog_global_edit_tracks_and_vias.h   |   4 +-
 .../dialog_global_modules_fields_edition.cpp       |   2 +-
 pcbnew/dialogs/dialog_graphic_item_properties.cpp  |   6 +-
 .../dialog_graphic_item_properties_for_Modedit.cpp |   6 +-
 pcbnew/dialogs/dialog_graphic_items_options.h      |   4 +-
 pcbnew/dialogs/dialog_layers_setup.cpp             |  14 +-
 pcbnew/dialogs/dialog_mask_clearance.h             |   4 +-
 pcbnew/dialogs/dialog_modedit_options.cpp          |   2 +-
 pcbnew/dialogs/dialog_move_exact.h                 |   8 +-
 pcbnew/dialogs/dialog_netlist.h                    |  16 +--
 .../dialogs/dialog_non_copper_zones_properties.cpp |   4 +-
 pcbnew/dialogs/dialog_pad_properties.h             |  20 +--
 pcbnew/dialogs/dialog_pcb_text_properties.cpp      |   4 +-
 pcbnew/dialogs/dialog_plot.h                       |  18 +--
 pcbnew/dialogs/dialog_pns_diff_pair_dimensions.h   |   4 +-
 pcbnew/dialogs/dialog_pns_length_tuning_settings.h |   2 +-
 pcbnew/dialogs/dialog_pns_settings.h               |   2 +-
 pcbnew/dialogs/dialog_print_for_modedit.cpp        |   8 +-
 pcbnew/dialogs/dialog_print_using_printer.cpp      |  10 +-
 pcbnew/dialogs/dialog_select_net_from_list.cpp     |   4 +-
 pcbnew/dialogs/dialog_select_pretty_lib.h          |   4 +-
 pcbnew/dialogs/dialog_set_grid.cpp                 |   6 +-
 pcbnew/dialogs/dialog_track_via_properties.h       |  10 +-
 pcbnew/dialogs/dialog_track_via_size.h             |   6 +-
 pcbnew/dialogs/dialog_update_pcb.h                 |   6 +-
 pcbnew/dialogs/wizard_3DShape_Libs_downloader.h    |  18 +--
 pcbnew/dialogs/wizard_add_fplib.h                  |  14 +-
 pcbnew/eagle_plugin.h                              |  10 +-
 pcbnew/exporters/gen_modules_placefile.cpp         |   4 +-
 pcbnew/footprint_wizard_frame.h                    |  20 +--
 pcbnew/github/github_plugin.h                      |  12 +-
 pcbnew/github/html_link_parser.h                   |   2 +-
 pcbnew/globaleditpad.cpp                           |   6 +-
 pcbnew/gpcb_plugin.h                               |   4 +-
 pcbnew/import_dxf/dialog_dxf_import.h              |   6 +-
 pcbnew/import_dxf/dxf2brd_items.h                  |  20 +--
 pcbnew/kicad_plugin.h                              |  10 +-
 pcbnew/legacy_plugin.h                             |   4 +-
 pcbnew/module_editor_frame.h                       |  48 +++----
 pcbnew/modview_frame.h                             |  28 ++--
 pcbnew/netlist_reader.h                            |   4 +-
 pcbnew/pcad2kicadpcb_plugin/pcad_plugin.h          |   4 +-
 pcbnew/pcad2kicadpcb_plugin/pcb.h                  |  12 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_arc.h              |   8 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_line.h             |   8 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_module.h           |   4 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_pad.h              |   2 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_pad_shape.h        |   2 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_polygon.h          |   6 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_text.h             |   4 +-
 pcbnew/pcb_base_edit_frame.h                       |   4 +-
 pcbnew/pcb_draw_panel_gal.h                        |   6 +-
 pcbnew/pcb_painter.h                               |  12 +-
 pcbnew/pcbnew.cpp                                  |   4 +-
 pcbnew/printout_controler.h                        |   4 +-
 pcbnew/ratsnest.cpp                                |   2 +-
 pcbnew/ratsnest_data.h                             |  10 +-
 pcbnew/ratsnest_viewitem.h                         |  10 +-
 pcbnew/router/length_tuner_tool.h                  |   2 +-
 pcbnew/router/pns_diff_pair_placer.h               |  24 ++--
 pcbnew/router/pns_dp_meander_placer.h              |  22 +--
 pcbnew/router/pns_dragger.h                        |   2 +-
 pcbnew/router/pns_kicad_iface.cpp                  |  10 +-
 pcbnew/router/pns_kicad_iface.h                    |  22 +--
 pcbnew/router/pns_line.h                           |  10 +-
 pcbnew/router/pns_line_placer.h                    |  24 ++--
 pcbnew/router/pns_meander_placer.h                 |  20 +--
 pcbnew/router/pns_meander_skew_placer.h            |   8 +-
 pcbnew/router/pns_segment.h                        |   4 +-
 pcbnew/router/pns_solid.h                          |   4 +-
 pcbnew/router/pns_tool_base.h                      |   2 +-
 pcbnew/router/pns_via.h                            |   4 +-
 pcbnew/router/router_preview_item.h                |   6 +-
 pcbnew/router/router_tool.h                        |   4 +-
 pcbnew/sel_layer.cpp                               |   8 +-
 pcbnew/specctra.h                                  | 122 ++++++++---------
 pcbnew/target_edit.cpp                             |   4 +-
 pcbnew/tools/bright_box.h                          |   2 +-
 pcbnew/tools/drawing_tool.h                        |   4 +-
 pcbnew/tools/edit_constraints.h                    |  14 +-
 pcbnew/tools/edit_points.h                         |   2 +-
 pcbnew/tools/edit_tool.h                           |   6 +-
 pcbnew/tools/module_tools.h                        |   6 +-
 pcbnew/tools/pcb_editor_control.h                  |   6 +-
 pcbnew/tools/pcbnew_control.h                      |   4 +-
 pcbnew/tools/picker_tool.h                         |   2 +-
 pcbnew/tools/placement_tool.h                      |   6 +-
 pcbnew/tools/point_editor.h                        |   6 +-
 pcbnew/tools/selection_area.h                      |   6 +-
 pcbnew/tools/selection_tool.h                      |   6 +-
 pcbnew/tools/zoom_tool.h                           |   4 +-
 pcbnew/xchgmod.cpp                                 |  12 +-
 plugins/3d/vrml/v1/vrml1_base.h                    |  10 +-
 plugins/3d/vrml/v1/vrml1_coords.h                  |   8 +-
 plugins/3d/vrml/v1/vrml1_faceset.h                 |   8 +-
 plugins/3d/vrml/v1/vrml1_group.h                   |   4 +-
 plugins/3d/vrml/v1/vrml1_matbinding.h              |   8 +-
 plugins/3d/vrml/v1/vrml1_material.h                |   8 +-
 plugins/3d/vrml/v1/vrml1_separator.h               |   4 +-
 plugins/3d/vrml/v1/vrml1_shapehints.h              |   8 +-
 plugins/3d/vrml/v1/vrml1_switch.h                  |   4 +-
 plugins/3d/vrml/v1/vrml1_transform.h               |   8 +-
 plugins/3d/vrml/v2/vrml2_appearance.h              |  14 +-
 plugins/3d/vrml/v2/vrml2_base.h                    |  12 +-
 plugins/3d/vrml/v2/vrml2_box.h                     |  10 +-
 plugins/3d/vrml/v2/vrml2_color.h                   |  10 +-
 plugins/3d/vrml/v2/vrml2_coords.h                  |  10 +-
 plugins/3d/vrml/v2/vrml2_faceset.h                 |  14 +-
 plugins/3d/vrml/v2/vrml2_inline.h                  |  10 +-
 plugins/3d/vrml/v2/vrml2_lineset.h                 |  14 +-
 plugins/3d/vrml/v2/vrml2_material.h                |  10 +-
 plugins/3d/vrml/v2/vrml2_norms.h                   |  10 +-
 plugins/3d/vrml/v2/vrml2_pointset.h                |  14 +-
 plugins/3d/vrml/v2/vrml2_shape.h                   |  14 +-
 plugins/3d/vrml/v2/vrml2_switch.h                  |   8 +-
 plugins/3d/vrml/v2/vrml2_transform.h               |   8 +-
 plugins/3d/vrml/x3d/x3d_appearance.h               |  10 +-
 plugins/3d/vrml/x3d/x3d_coords.h                   |  10 +-
 plugins/3d/vrml/x3d/x3d_ifaceset.h                 |  10 +-
 plugins/3d/vrml/x3d/x3d_shape.h                    |  14 +-
 plugins/3d/vrml/x3d/x3d_transform.h                |  10 +-
 plugins/ldr/3d/pluginldr3D.h                       |   4 +-
 polygon/clipper.hpp                                |   2 +-
 utils/idftools/dxf2idf.h                           | 100 +++++++-------
 utils/idftools/idf2vrml.cpp                        |   8 +-
 utils/idftools/idf_common.h                        |   2 +-
 utils/idftools/idf_outlines.h                      |  30 ++---
 353 files changed, 2494 insertions(+), 2494 deletions(-)

diff --git a/3d-viewer/3d_cache/dialogs/dlg_3d_pathconfig.h b/3d-viewer/3d_cache/dialogs/dlg_3d_pathconfig.h
index 8a29f3f..e47681c 100644
--- a/3d-viewer/3d_cache/dialogs/dlg_3d_pathconfig.h
+++ b/3d-viewer/3d_cache/dialogs/dlg_3d_pathconfig.h
@@ -39,16 +39,16 @@ private:
 
     void initDialog();
 
-    void OnAddAlias( wxCommandEvent& event );
-    void OnDelAlias( wxCommandEvent& event );
-    void OnAliasMoveUp( wxCommandEvent& event );
-    void OnAliasMoveDown( wxCommandEvent& event );
-    void OnConfigEnvVar( wxCommandEvent& event );
-    void OnHelp( wxCommandEvent& event );
+    void OnAddAlias( wxCommandEvent& event ) override;
+    void OnDelAlias( wxCommandEvent& event ) override;
+    void OnAliasMoveUp( wxCommandEvent& event ) override;
+    void OnAliasMoveDown( wxCommandEvent& event ) override;
+    void OnConfigEnvVar( wxCommandEvent& event ) override;
+    void OnHelp( wxCommandEvent& event ) override;
 
 public:
     DLG_3D_PATH_CONFIG( wxWindow* aParent, S3D_FILENAME_RESOLVER* aResolver );
-    bool TransferDataFromWindow();
+    bool TransferDataFromWindow() override;
 
 private:
     void updateEnvVars( void );
diff --git a/3d-viewer/3d_cache/dialogs/dlg_select_3dmodel.h b/3d-viewer/3d_cache/dialogs/dlg_select_3dmodel.h
index 4803399..4eddc99 100644
--- a/3d-viewer/3d_cache/dialogs/dlg_select_3dmodel.h
+++ b/3d-viewer/3d_cache/dialogs/dlg_select_3dmodel.h
@@ -64,7 +64,7 @@ public:
     DLG_SELECT_3DMODEL( wxWindow* aParent, S3D_CACHE* aCacheManager, S3D_INFO* aModelItem,
         wxString& prevModelSelectDir, int& prevModelWildcard );
 
-    bool TransferDataFromWindow();
+    bool TransferDataFromWindow() override;
     void OnSelectionChanged( wxTreeEvent& event );
     void OnFileActivated( wxTreeEvent& event );
     void SetRootDir( wxCommandEvent& event );
diff --git a/3d-viewer/3d_cache/sg/scenegraph.h b/3d-viewer/3d_cache/sg/scenegraph.h
index 1ba7467..801f304 100644
--- a/3d-viewer/3d_cache/sg/scenegraph.h
+++ b/3d-viewer/3d_cache/sg/scenegraph.h
@@ -57,8 +57,8 @@ private:
     bool addNode( SGNODE* aNode, bool isChild );
 
 public:
-    void unlinkChildNode( const SGNODE* aNode );
-    void unlinkRefNode( const SGNODE* aNode );
+    void unlinkChildNode( const SGNODE* aNode ) override;
+    void unlinkRefNode( const SGNODE* aNode ) override;
 
 public:
     // note: order of transformation is Translate, Rotate, Offset
@@ -73,16 +73,16 @@ public:
     SCENEGRAPH( SGNODE* aParent );
     virtual ~SCENEGRAPH();
 
-    virtual bool SetParent( SGNODE* aParent, bool notify = true );
-    SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller);
-    bool AddRefNode( SGNODE* aNode );
-    bool AddChildNode( SGNODE* aNode );
+    virtual bool SetParent( SGNODE* aParent, bool notify = true ) override;
+    SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller) override;
+    bool AddRefNode( SGNODE* aNode ) override;
+    bool AddChildNode( SGNODE* aNode ) override;
 
-    void ReNameNodes( void );
-    bool WriteVRML( std::ofstream& aFile, bool aReuseFlag );
+    void ReNameNodes( void ) override;
+    bool WriteVRML( std::ofstream& aFile, bool aReuseFlag ) override;
 
-    bool WriteCache( std::ofstream& aFile, SGNODE* parentNode );
-    bool ReadCache( std::ifstream& aFile, SGNODE* parentNode );
+    bool WriteCache( std::ofstream& aFile, SGNODE* parentNode ) override;
+    bool ReadCache( std::ifstream& aFile, SGNODE* parentNode ) override;
 
     bool Prepare( const glm::dmat4* aTransform,
         S3D::MATLIST& materials, std::vector< SMESH >& meshes );
diff --git a/3d-viewer/3d_cache/sg/sg_appearance.h b/3d-viewer/3d_cache/sg/sg_appearance.h
index f44f85a..1916edb 100644
--- a/3d-viewer/3d_cache/sg/sg_appearance.h
+++ b/3d-viewer/3d_cache/sg/sg_appearance.h
@@ -41,14 +41,14 @@ public:
     SGCOLOR emissive;   // default 0.0 0.0 0.0
     SGCOLOR specular;   // default 0.0 0.0 0.0
 
-    void unlinkChildNode( const SGNODE* aNode );
-    void unlinkRefNode( const SGNODE* aNode );
+    void unlinkChildNode( const SGNODE* aNode ) override;
+    void unlinkRefNode( const SGNODE* aNode ) override;
 
 public:
     SGAPPEARANCE( SGNODE* aParent );
     virtual ~SGAPPEARANCE();
 
-    virtual bool SetParent( SGNODE* aParent, bool notify = true );
+    virtual bool SetParent( SGNODE* aParent, bool notify = true ) override;
 
     bool SetEmissive( float aRVal, float aGVal, float aBVal );
     bool SetEmissive( const SGCOLOR* aRGBColor );
@@ -66,15 +66,15 @@ public:
     bool SetAmbient( const SGCOLOR* aRGBColor );
     bool SetAmbient( const SGCOLOR& aRGBColor );
 
-    SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller);
-    bool AddRefNode( SGNODE* aNode );
-    bool AddChildNode( SGNODE* aNode );
+    SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller) override;
+    bool AddRefNode( SGNODE* aNode ) override;
+    bool AddChildNode( SGNODE* aNode ) override;
 
-    void ReNameNodes( void );
-    bool WriteVRML( std::ofstream& aFile, bool aReuseFlag );
+    void ReNameNodes( void ) override;
+    bool WriteVRML( std::ofstream& aFile, bool aReuseFlag ) override;
 
-    bool WriteCache( std::ofstream& aFile, SGNODE* parentNode );
-    bool ReadCache( std::ifstream& aFile, SGNODE* parentNode );
+    bool WriteCache( std::ofstream& aFile, SGNODE* parentNode ) override;
+    bool ReadCache( std::ifstream& aFile, SGNODE* parentNode ) override;
 };
 
 #endif  // SG_APPEARANCE_H
diff --git a/3d-viewer/3d_cache/sg/sg_colors.h b/3d-viewer/3d_cache/sg/sg_colors.h
index edfdd50..75a67cb 100644
--- a/3d-viewer/3d_cache/sg/sg_colors.h
+++ b/3d-viewer/3d_cache/sg/sg_colors.h
@@ -37,29 +37,29 @@ class SGCOLORS : public SGNODE
 public:
     std::vector< SGCOLOR > colors;
 
-    void unlinkChildNode( const SGNODE* aNode );
-    void unlinkRefNode( const SGNODE* aNode );
+    void unlinkChildNode( const SGNODE* aNode ) override;
+    void unlinkRefNode( const SGNODE* aNode ) override;
 
 public:
     SGCOLORS( SGNODE* aParent );
     virtual ~SGCOLORS();
 
-    virtual bool SetParent( SGNODE* aParent, bool notify = true );
+    virtual bool SetParent( SGNODE* aParent, bool notify = true ) override;
 
-    SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller);
-    bool AddRefNode( SGNODE* aNode );
-    bool AddChildNode( SGNODE* aNode );
+    SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller) override;
+    bool AddRefNode( SGNODE* aNode ) override;
+    bool AddChildNode( SGNODE* aNode ) override;
 
     bool GetColorList( size_t& aListSize, SGCOLOR*& aColorList );
     void SetColorList( size_t aListSize, const SGCOLOR* aColorList );
     void AddColor( double aRedValue, double aGreenValue, double aBlueValue );
     void AddColor( const SGCOLOR& aColor );
 
-    void ReNameNodes( void );
-    bool WriteVRML( std::ofstream& aFile, bool aReuseFlag );
+    void ReNameNodes( void ) override;
+    bool WriteVRML( std::ofstream& aFile, bool aReuseFlag ) override;
 
-    bool WriteCache( std::ofstream& aFile, SGNODE* parentNode );
-    bool ReadCache( std::ifstream& aFile, SGNODE* parentNode );
+    bool WriteCache( std::ofstream& aFile, SGNODE* parentNode ) override;
+    bool ReadCache( std::ifstream& aFile, SGNODE* parentNode ) override;
 };
 
 #endif  // SG_COLORS_H
diff --git a/3d-viewer/3d_cache/sg/sg_coords.h b/3d-viewer/3d_cache/sg/sg_coords.h
index 5e5a9f6..378b785 100644
--- a/3d-viewer/3d_cache/sg/sg_coords.h
+++ b/3d-viewer/3d_cache/sg/sg_coords.h
@@ -39,18 +39,18 @@ class SGCOORDS : public SGNODE
 public:
     std::vector< SGPOINT > coords;
 
-    void unlinkChildNode( const SGNODE* aNode );
-    void unlinkRefNode( const SGNODE* aNode );
+    void unlinkChildNode( const SGNODE* aNode ) override;
+    void unlinkRefNode( const SGNODE* aNode ) override;
 
 public:
     SGCOORDS( SGNODE* aParent );
     virtual ~SGCOORDS();
 
-    virtual bool SetParent( SGNODE* aParent, bool notify = true );
+    virtual bool SetParent( SGNODE* aParent, bool notify = true ) override;
 
-    SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller);
-    bool AddRefNode( SGNODE* aNode );
-    bool AddChildNode( SGNODE* aNode );
+    SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller) override;
+    bool AddRefNode( SGNODE* aNode ) override;
+    bool AddChildNode( SGNODE* aNode ) override;
 
     bool GetCoordsList( size_t& aListSize, SGPOINT*& aCoordsList );
     void SetCoordsList( size_t aListSize, const SGPOINT* aCoordsList );
@@ -64,11 +64,11 @@ public:
      */
     bool CalcNormals( SGFACESET* callingNode, SGNODE** aPtr = NULL );
 
-    void ReNameNodes( void );
-    bool WriteVRML( std::ofstream& aFile, bool aReuseFlag );
+    void ReNameNodes( void ) override;
+    bool WriteVRML( std::ofstream& aFile, bool aReuseFlag ) override;
 
-    bool WriteCache( std::ofstream& aFile, SGNODE* parentNode );
-    bool ReadCache( std::ifstream& aFile, SGNODE* parentNode );
+    bool WriteCache( std::ofstream& aFile, SGNODE* parentNode ) override;
+    bool ReadCache( std::ifstream& aFile, SGNODE* parentNode ) override;
 };
 
 #endif  // SG_COORDS_H
diff --git a/3d-viewer/3d_cache/sg/sg_faceset.h b/3d-viewer/3d_cache/sg/sg_faceset.h
index a016ac9..c465f25 100644
--- a/3d-viewer/3d_cache/sg/sg_faceset.h
+++ b/3d-viewer/3d_cache/sg/sg_faceset.h
@@ -60,8 +60,8 @@ public:
     SGCOORDS*       m_RCoords;
     SGNORMALS*      m_RNormals;
 
-    void unlinkChildNode( const SGNODE* aNode );
-    void unlinkRefNode( const SGNODE* aNode );
+    void unlinkChildNode( const SGNODE* aNode ) override;
+    void unlinkRefNode( const SGNODE* aNode ) override;
     // validate the data held by this face set
     bool validate( void );
 
@@ -69,19 +69,19 @@ public:
     SGFACESET( SGNODE* aParent );
     virtual ~SGFACESET();
 
-    virtual bool SetParent( SGNODE* aParent, bool notify = true );
+    virtual bool SetParent( SGNODE* aParent, bool notify = true ) override;
 
-    SGNODE* FindNode( const char *aNodeName, const SGNODE *aCaller );
-    bool AddRefNode( SGNODE* aNode );
-    bool AddChildNode( SGNODE* aNode );
+    SGNODE* FindNode( const char *aNodeName, const SGNODE *aCaller ) override;
+    bool AddRefNode( SGNODE* aNode ) override;
+    bool AddChildNode( SGNODE* aNode ) override;
 
     bool CalcNormals( SGNODE** aPtr );
 
-    void ReNameNodes( void );
-    bool WriteVRML( std::ofstream& aFile, bool aReuseFlag );
+    void ReNameNodes( void ) override;
+    bool WriteVRML( std::ofstream& aFile, bool aReuseFlag ) override;
 
-    bool WriteCache( std::ofstream& aFile, SGNODE* parentNode );
-    bool ReadCache( std::ifstream& aFile, SGNODE* parentNode );
+    bool WriteCache( std::ofstream& aFile, SGNODE* parentNode ) override;
+    bool ReadCache( std::ifstream& aFile, SGNODE* parentNode ) override;
 
     /**
      * Function GatherCoordIndices
diff --git a/3d-viewer/3d_cache/sg/sg_index.h b/3d-viewer/3d_cache/sg/sg_index.h
index ee4484a..61c114a 100644
--- a/3d-viewer/3d_cache/sg/sg_index.h
+++ b/3d-viewer/3d_cache/sg/sg_index.h
@@ -42,18 +42,18 @@ protected:
 public:
     // for internal SG consumption only
     std::vector< int > index;
-    void unlinkChildNode( const SGNODE* aCaller );
-    void unlinkRefNode( const SGNODE* aCaller );
+    void unlinkChildNode( const SGNODE* aCaller ) override;
+    void unlinkRefNode( const SGNODE* aCaller ) override;
 
 public:
     SGINDEX( SGNODE* aParent );
     virtual ~SGINDEX();
 
-    virtual bool SetParent( SGNODE* aParent, bool notify = true );
+    virtual bool SetParent( SGNODE* aParent, bool notify = true ) override;
 
-    SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller);
-    bool AddRefNode( SGNODE* aNode );
-    bool AddChildNode( SGNODE* aNode );
+    SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller) override;
+    bool AddRefNode( SGNODE* aNode ) override;
+    bool AddChildNode( SGNODE* aNode ) override;
 
     /**
      * Function GetIndices
@@ -88,11 +88,11 @@ public:
      */
     void AddIndex( int aIndex );
 
-    void ReNameNodes( void );
-    bool WriteVRML( std::ofstream& aFile, bool aReuseFlag );
+    void ReNameNodes( void ) override;
+    bool WriteVRML( std::ofstream& aFile, bool aReuseFlag ) override;
 
-    bool WriteCache( std::ofstream& aFile, SGNODE* parentNode );
-    bool ReadCache( std::ifstream& aFile, SGNODE* parentNode );
+    bool WriteCache( std::ofstream& aFile, SGNODE* parentNode ) override;
+    bool ReadCache( std::ifstream& aFile, SGNODE* parentNode ) override;
 };
 
 #endif  // SG_INDEX_H
diff --git a/3d-viewer/3d_cache/sg/sg_normals.h b/3d-viewer/3d_cache/sg/sg_normals.h
index 356072d..01c9295 100644
--- a/3d-viewer/3d_cache/sg/sg_normals.h
+++ b/3d-viewer/3d_cache/sg/sg_normals.h
@@ -37,29 +37,29 @@ class SGNORMALS : public SGNODE
 public:
     std::vector< SGVECTOR > norms;
 
-    void unlinkChildNode( const SGNODE* aNode );
-    void unlinkRefNode( const SGNODE* aNode );
+    void unlinkChildNode( const SGNODE* aNode ) override;
+    void unlinkRefNode( const SGNODE* aNode ) override;
 
 public:
     SGNORMALS( SGNODE* aParent );
     virtual ~SGNORMALS();
 
-    virtual bool SetParent( SGNODE* aParent, bool notify = true );
+    virtual bool SetParent( SGNODE* aParent, bool notify = true ) override;
 
-    SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller);
-    bool AddRefNode( SGNODE* aNode );
-    bool AddChildNode( SGNODE* aNode );
+    SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller) override;
+    bool AddRefNode( SGNODE* aNode ) override;
+    bool AddChildNode( SGNODE* aNode ) override;
 
     bool GetNormalList( size_t& aListSize, SGVECTOR*& aNormalList );
     void SetNormalList( size_t aListSize, const SGVECTOR* aNormalList );
     void AddNormal( double aXValue, double aYValue, double aZValue );
     void AddNormal( const SGVECTOR& aNormal );
 
-    void ReNameNodes( void );
-    bool WriteVRML( std::ofstream& aFile, bool aReuseFlag );
+    void ReNameNodes( void ) override;
+    bool WriteVRML( std::ofstream& aFile, bool aReuseFlag ) override;
 
-    bool WriteCache( std::ofstream& aFile, SGNODE* parentNode );
-    bool ReadCache( std::ifstream& aFile, SGNODE* parentNode );
+    bool WriteCache( std::ofstream& aFile, SGNODE* parentNode ) override;
+    bool ReadCache( std::ifstream& aFile, SGNODE* parentNode ) override;
 };
 
 #endif  // SG_NORMALS_H
diff --git a/3d-viewer/3d_cache/sg/sg_shape.h b/3d-viewer/3d_cache/sg/sg_shape.h
index 281042e..0732f69 100644
--- a/3d-viewer/3d_cache/sg/sg_shape.h
+++ b/3d-viewer/3d_cache/sg/sg_shape.h
@@ -51,24 +51,24 @@ public:
     SGAPPEARANCE* m_RAppearance;
     SGFACESET*    m_RFaceSet;
 
-    void unlinkChildNode( const SGNODE* aNode );
-    void unlinkRefNode( const SGNODE* aNode );
+    void unlinkChildNode( const SGNODE* aNode ) override;
+    void unlinkRefNode( const SGNODE* aNode ) override;
 
 public:
     SGSHAPE( SGNODE* aParent );
     virtual ~SGSHAPE();
 
-    virtual bool SetParent( SGNODE* aParent, bool notify = true );
+    virtual bool SetParent( SGNODE* aParent, bool notify = true ) override;
 
-    SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller);
-    bool AddRefNode( SGNODE* aNode );
-    bool AddChildNode( SGNODE* aNode );
+    SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller) override;
+    bool AddRefNode( SGNODE* aNode ) override;
+    bool AddChildNode( SGNODE* aNode ) override;
 
-    void ReNameNodes( void );
-    bool WriteVRML( std::ofstream& aFile, bool aReuseFlag );
+    void ReNameNodes( void ) override;
+    bool WriteVRML( std::ofstream& aFile, bool aReuseFlag ) override;
 
-    bool WriteCache( std::ofstream& aFile, SGNODE* parentNode );
-    bool ReadCache( std::ifstream& aFile, SGNODE* parentNode );
+    bool WriteCache( std::ofstream& aFile, SGNODE* parentNode ) override;
+    bool ReadCache( std::ifstream& aFile, SGNODE* parentNode ) override;
 
     bool Prepare( const glm::dmat4* aTransform,
         S3D::MATLIST& materials, std::vector< SMESH >& meshes );
diff --git a/3d-viewer/3d_canvas/status_text_reporter.h b/3d-viewer/3d_canvas/status_text_reporter.h
index 2e12660..37b0076 100644
--- a/3d-viewer/3d_canvas/status_text_reporter.h
+++ b/3d-viewer/3d_canvas/status_text_reporter.h
@@ -50,7 +50,7 @@ public:
         m_hasMessage = false;
     }
 
-    REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED )
+    REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED ) override
     {
         if( !aText.IsEmpty() )
             m_hasMessage = true;
diff --git a/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_ogl_legacy.h b/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_ogl_legacy.h
index 1697efa..ebfc2df 100644
--- a/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_ogl_legacy.h
+++ b/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_ogl_legacy.h
@@ -64,10 +64,10 @@ public:
     ~C3D_RENDER_OGL_LEGACY();
 
     // Imported from C3D_RENDER_BASE
-    void SetCurWindowSize( const wxSize &aSize );
-    bool Redraw( bool aIsMoving, REPORTER *aStatusTextReporter );
+    void SetCurWindowSize( const wxSize &aSize ) override;
+    bool Redraw( bool aIsMoving, REPORTER *aStatusTextReporter ) override;
 
-    int GetWaitForEditingTimeOut();
+    int GetWaitForEditingTimeOut() override;
 
 private:
     bool initializeOpenGL();
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/cbvh_pbrt.h b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/cbvh_pbrt.h
index 67b7208..050a9eb 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/cbvh_pbrt.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/cbvh_pbrt.h
@@ -118,10 +118,10 @@ public:
     ~CBVH_PBRT();
 
     // Imported from CGENERICACCELERATOR
-    bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const;
-    bool Intersect( const RAY &aRay, HITINFO &aHitInfo, unsigned int aAccNodeInfo ) const;
-    bool Intersect(const RAYPACKET &aRayPacket, HITINFO_PACKET *aHitInfoPacket ) const;
-    bool IntersectP( const RAY &aRay, float aMaxDistance ) const;
+    bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const override;
+    bool Intersect( const RAY &aRay, HITINFO &aHitInfo, unsigned int aAccNodeInfo ) const override;
+    bool Intersect(const RAYPACKET &aRayPacket, HITINFO_PACKET *aHitInfoPacket ) const override;
+    bool IntersectP( const RAY &aRay, float aMaxDistance ) const override;
 
 private:
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer.h b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer.h
index 8d8a4e1..59b5377 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer.h
@@ -76,8 +76,8 @@ private:
 class  CCONTAINER : public CGENERICCONTAINER
 {
 public:
-    bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const;
-    bool IntersectP( const RAY &aRay, float aMaxDistance ) const;
+    bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const override;
+    bool IntersectP( const RAY &aRay, float aMaxDistance ) const override;
 };
 
 #endif // _CCONTAINER_H_
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer2d.h
index 2f5edf1..4686fa0 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer2d.h
@@ -80,7 +80,7 @@ public:
 
     // Imported from CGENERICCONTAINER2D
     void GetListObjectsIntersects( const CBBOX2D & aBBox,
-                                   CONST_LIST_OBJECT2D &aOutList ) const;
+                                   CONST_LIST_OBJECT2D &aOutList ) const override;
 };
 
 
@@ -117,7 +117,7 @@ public:
 
     // Imported from CGENERICCONTAINER2D
     void GetListObjectsIntersects( const CBBOX2D & aBBox,
-                                   CONST_LIST_OBJECT2D &aOutList ) const;
+                                   CONST_LIST_OBJECT2D &aOutList ) const override;
 };
 
 #endif // _CCONTAINER2D_H_
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/c3d_render_raytracing.h b/3d-viewer/3d_rendering/3d_render_raytracing/c3d_render_raytracing.h
index d23e606..999f35b 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/c3d_render_raytracing.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/c3d_render_raytracing.h
@@ -64,10 +64,10 @@ public:
     ~C3D_RENDER_RAYTRACING();
 
     // Imported from C3D_RENDER_BASE
-    void SetCurWindowSize( const wxSize &aSize );
-    bool Redraw(bool aIsMoving, REPORTER *aStatusTextReporter );
+    void SetCurWindowSize( const wxSize &aSize ) override;
+    bool Redraw(bool aIsMoving, REPORTER *aStatusTextReporter ) override;
 
-    int GetWaitForEditingTimeOut();
+    int GetWaitForEditingTimeOut() override;
 
 private:
     bool initializeOpenGL();
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/clight.h b/3d-viewer/3d_rendering/3d_render_raytracing/clight.h
index 40c0a12..fb45d45 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/clight.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/clight.h
@@ -83,7 +83,7 @@ public:
     void GetLightParameters( const SFVEC3F &aHitPoint,
                              SFVEC3F &aOutVectorToLight,
                              SFVEC3F &aOutLightColor,
-                             float &aOutDistance ) const
+                             float &aOutDistance ) const override
     {
         const SFVEC3F vectorLight = m_position - aHitPoint;
 
@@ -134,7 +134,7 @@ public:
     void GetLightParameters( const SFVEC3F &aHitPoint,
                              SFVEC3F &aOutVectorToLight,
                              SFVEC3F &aOutLightColor,
-                             float &aOutDistance ) const
+                             float &aOutDistance ) const override
     {
         (void)aHitPoint; // unused
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/cmaterial.h b/3d-viewer/3d_rendering/3d_render_raytracing/cmaterial.h
index 877b3ea..630ec89 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/cmaterial.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/cmaterial.h
@@ -123,7 +123,7 @@ public:
                    const SFVEC3F &aDiffuseObjColor,
                    const SFVEC3F &aDirToLight,
                    const SFVEC3F &aLightColor,
-                   float aShadowAttenuationFactor ) const;
+                   float aShadowAttenuationFactor ) const override;
 };
 
 #endif // _CMATERIAL_H_
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cfilledcircle2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cfilledcircle2d.h
index d97d248..fde32ad 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cfilledcircle2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cfilledcircle2d.h
@@ -48,11 +48,11 @@ public:
     CFILLEDCIRCLE2D( const SFVEC2F &aCenter, float aRadius, const BOARD_ITEM &aBoardItem );
 
     // Imported from COBJECT2D
-    bool Overlaps( const CBBOX2D &aBBox ) const;
-    bool Intersects( const CBBOX2D &aBBox ) const;
-    bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const;
-    INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const;
-    bool IsPointInside( const SFVEC2F &aPoint ) const;
+    bool Overlaps( const CBBOX2D &aBBox ) const override;
+    bool Intersects( const CBBOX2D &aBBox ) const override;
+    bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const override;
+    INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const override;
+    bool IsPointInside( const SFVEC2F &aPoint ) const override;
 };
 
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/citemlayercsg2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/citemlayercsg2d.h
index 5318332..53f036e 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/citemlayercsg2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/citemlayercsg2d.h
@@ -91,11 +91,11 @@ public:
     ~CITEMLAYERCSG2D();
 
     // Imported from COBJECT2D
-    bool Overlaps( const CBBOX2D &aBBox ) const;
-    bool Intersects( const CBBOX2D &aBBox ) const;
-    bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const;
-    INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const;
-    bool IsPointInside( const SFVEC2F &aPoint ) const;
+    bool Overlaps( const CBBOX2D &aBBox ) const override;
+    bool Intersects( const CBBOX2D &aBBox ) const override;
+    bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const override;
+    INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const override;
+    bool IsPointInside( const SFVEC2F &aPoint ) const override;
 };
 
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cpolygon2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cpolygon2d.h
index 88ee028..15b2c4c 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cpolygon2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cpolygon2d.h
@@ -102,11 +102,11 @@ public:
                      const BOARD_ITEM &aBoardItem );
 
     // Imported from COBJECT2D
-    bool Overlaps( const CBBOX2D &aBBox ) const;
-    bool Intersects( const CBBOX2D &aBBox ) const;
-    bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const;
-    INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const;
-    bool IsPointInside( const SFVEC2F &aPoint ) const;
+    bool Overlaps( const CBBOX2D &aBBox ) const override;
+    bool Intersects( const CBBOX2D &aBBox ) const override;
+    bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const override;
+    INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const override;
+    bool IsPointInside( const SFVEC2F &aPoint ) const override;
 };
 
 
@@ -126,11 +126,11 @@ public:
     CDUMMYBLOCK2D( const CBBOX2D &aBBox, const BOARD_ITEM &aBoardItem );
 
      // Imported from COBJECT2D
-     bool Overlaps( const CBBOX2D &aBBox ) const;
-     bool Intersects( const CBBOX2D &aBBox ) const;
-     bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const;
-     INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const;
-     bool IsPointInside( const SFVEC2F &aPoint ) const;
+     bool Overlaps( const CBBOX2D &aBBox ) const override;
+     bool Intersects( const CBBOX2D &aBBox ) const override;
+     bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const override;
+     INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const override;
+     bool IsPointInside( const SFVEC2F &aPoint ) const override;
 };
 
 /**
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cpolygon4pts2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cpolygon4pts2d.h
index fc2e2ab..e93c4bc 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cpolygon4pts2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cpolygon4pts2d.h
@@ -62,11 +62,11 @@ public:
     const SFVEC2F &GetN3() const { return m_seg_normal[3]; }
 
     // Imported from COBJECT2D
-    bool Overlaps( const CBBOX2D &aBBox ) const;
-    bool Intersects( const CBBOX2D &aBBox ) const;
-    bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const;
-    INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const;
-    bool IsPointInside( const SFVEC2F &aPoint ) const;
+    bool Overlaps( const CBBOX2D &aBBox ) const override;
+    bool Intersects( const CBBOX2D &aBBox ) const override;
+    bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const override;
+    INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const override;
+    bool IsPointInside( const SFVEC2F &aPoint ) const override;
 };
 
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cring2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cring2d.h
index 13f2155..6705f43 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cring2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cring2d.h
@@ -54,11 +54,11 @@ public:
              const BOARD_ITEM &aBoardItem );
 
     // Imported from COBJECT2D
-    bool Overlaps( const CBBOX2D &aBBox ) const;
-    bool Intersects( const CBBOX2D &aBBox ) const;
-    bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const;
-    INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const;
-    bool IsPointInside( const SFVEC2F &aPoint ) const;
+    bool Overlaps( const CBBOX2D &aBBox ) const override;
+    bool Intersects( const CBBOX2D &aBBox ) const override;
+    bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const override;
+    INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const override;
+    bool IsPointInside( const SFVEC2F &aPoint ) const override;
 };
 
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/croundsegment2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/croundsegment2d.h
index 8524bc4..0169323 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/croundsegment2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/croundsegment2d.h
@@ -78,11 +78,11 @@ public:
     const SFVEC2F &GetRightDir()  const { return m_rightDir; }
 
     // Imported from COBJECT2D
-    bool Overlaps( const CBBOX2D &aBBox ) const;
-    bool Intersects( const CBBOX2D &aBBox ) const;
-    bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const;
-    INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const;
-    bool IsPointInside( const SFVEC2F &aPoint ) const;
+    bool Overlaps( const CBBOX2D &aBBox ) const override;
+    bool Intersects( const CBBOX2D &aBBox ) const override;
+    bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const override;
+    INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const override;
+    bool IsPointInside( const SFVEC2F &aPoint ) const override;
 };
 
 static const float s_min_dot = (FLT_EPSILON * 4.0f) ;
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/ctriangle2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/ctriangle2d.h
index 71e361f..e43f2b8 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/ctriangle2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/ctriangle2d.h
@@ -60,11 +60,11 @@ public:
     const SFVEC2F &GetP3() const { return p3; }
 
     // Imported from COBJECT2D
-    bool Overlaps( const CBBOX2D &aBBox ) const;
-    bool Intersects( const CBBOX2D &aBBox ) const;
-    bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const;
-    INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const;
-    bool IsPointInside( const SFVEC2F &aPoint ) const;
+    bool Overlaps( const CBBOX2D &aBBox ) const override;
+    bool Intersects( const CBBOX2D &aBBox ) const override;
+    bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const override;
+    INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const override;
+    bool IsPointInside( const SFVEC2F &aPoint ) const override;
 };
 
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/ccylinder.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/ccylinder.h
index c6099fe..9a885e4 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/ccylinder.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/ccylinder.h
@@ -50,10 +50,10 @@ public:
     void SetColor( SFVEC3F aObjColor ) { m_diffusecolor = aObjColor; }
 
     // Imported from COBJECT
-    bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const;
-    bool IntersectP(const RAY &aRay , float aMaxDistance ) const;
-    bool Intersects( const CBBOX &aBBox ) const;
-    SFVEC3F GetDiffuseColor( const HITINFO &aHitInfo ) const;
+    bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const override;
+    bool IntersectP(const RAY &aRay , float aMaxDistance ) const override;
+    bool Intersects( const CBBOX &aBBox ) const override;
+    SFVEC3F GetDiffuseColor( const HITINFO &aHitInfo ) const override;
 
 private:
     SFVEC2F m_center;
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/cdummyblock.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/cdummyblock.h
index e625641..bb88a3b 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/cdummyblock.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/cdummyblock.h
@@ -45,10 +45,10 @@ public:
     void SetColor( SFVEC3F aObjColor ) { m_diffusecolor = aObjColor; }
 
 // Imported from COBJECT
-    bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const;
-    bool IntersectP(const RAY &aRay , float aMaxDistance ) const;
-    bool Intersects( const CBBOX &aBBox ) const;
-    SFVEC3F GetDiffuseColor( const HITINFO &aHitInfo ) const;
+    bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const override;
+    bool IntersectP(const RAY &aRay , float aMaxDistance ) const override;
+    bool Intersects( const CBBOX &aBBox ) const override;
+    SFVEC3F GetDiffuseColor( const HITINFO &aHitInfo ) const override;
 private:
     SFVEC3F m_diffusecolor;
 };
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/clayeritem.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/clayeritem.h
index 3c69508..f037eac 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/clayeritem.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/clayeritem.h
@@ -46,10 +46,10 @@ public:
     void SetColor( SFVEC3F aObjColor ) { m_diffusecolor = aObjColor; }
 
     // Imported from COBJECT
-    bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const;
-    bool IntersectP(const RAY &aRay , float aMaxDistance ) const;
-    bool Intersects( const CBBOX &aBBox ) const;
-    SFVEC3F GetDiffuseColor( const HITINFO &aHitInfo ) const;
+    bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const override;
+    bool IntersectP(const RAY &aRay , float aMaxDistance ) const override;
+    bool Intersects( const CBBOX &aBBox ) const override;
+    SFVEC3F GetDiffuseColor( const HITINFO &aHitInfo ) const override;
 
 private:
     SFVEC3F m_diffusecolor;
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/cplane.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/cplane.h
index 299bb97..d534632 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/cplane.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/cplane.h
@@ -52,10 +52,10 @@ public:
     void SetColor( SFVEC3F aObjColor ) { m_diffusecolor = aObjColor; }
 
     // Imported from COBJECT
-    bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const;
-    bool IntersectP(const RAY &aRay , float aMaxDistance ) const;
-    bool Intersects( const CBBOX &aBBox ) const;
-    SFVEC3F GetDiffuseColor( const HITINFO &aHitInfo ) const;
+    bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const override;
+    bool IntersectP(const RAY &aRay , float aMaxDistance ) const override;
+    bool Intersects( const CBBOX &aBBox ) const override;
+    SFVEC3F GetDiffuseColor( const HITINFO &aHitInfo ) const override;
 
 private:
     SFVEC3F m_centerPoint;
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/croundseg.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/croundseg.h
index 4d73baf..bc9d369 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/croundseg.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/croundseg.h
@@ -48,10 +48,10 @@ public:
     void SetColor( SFVEC3F aObjColor ) { m_diffusecolor = aObjColor; }
 
     // Imported from COBJECT
-    bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const;
-    bool IntersectP( const RAY &aRay, float aMaxDistance ) const;
-    bool Intersects( const CBBOX &aBBox ) const;
-    SFVEC3F GetDiffuseColor( const HITINFO &aHitInfo ) const;
+    bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const override;
+    bool IntersectP( const RAY &aRay, float aMaxDistance ) const override;
+    bool Intersects( const CBBOX &aBBox ) const override;
+    SFVEC3F GetDiffuseColor( const HITINFO &aHitInfo ) const override;
 
 private:
     RAYSEG2D m_segment;
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/ctriangle.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/ctriangle.h
index f6860f4..82a3145 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/ctriangle.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/ctriangle.h
@@ -64,10 +64,10 @@ public:
     void SetUV( const SFVEC2F &aUV1, const SFVEC2F &aUV2, const SFVEC2F &aUV3 );
 
     // Imported from COBJECT
-    bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const;
-    bool IntersectP(const RAY &aRay , float aMaxDistance ) const;
-    bool Intersects( const CBBOX &aBBox ) const;
-    SFVEC3F GetDiffuseColor( const HITINFO &aHitInfo ) const;
+    bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const override;
+    bool IntersectP(const RAY &aRay , float aMaxDistance ) const override;
+    bool Intersects( const CBBOX &aBBox ) const override;
+    SFVEC3F GetDiffuseColor( const HITINFO &aHitInfo ) const override;
 
 private:
     void pre_calc_const();
diff --git a/3d-viewer/3d_rendering/cpostshader_ssao.h b/3d-viewer/3d_rendering/cpostshader_ssao.h
index f158329..3cc4366 100644
--- a/3d-viewer/3d_rendering/cpostshader_ssao.h
+++ b/3d-viewer/3d_rendering/cpostshader_ssao.h
@@ -41,7 +41,7 @@ public:
     //~CPOSTSHADER_SSAO();
 
     // Imported from CPOSTSHADER
-    SFVEC3F Shade(const SFVEC2I &aShaderPos ) const;
+    SFVEC3F Shade(const SFVEC2I &aShaderPos ) const override;
 
 private:
     SFVEC3F posFromDepth( const SFVEC2F &coord ) const;
diff --git a/3d-viewer/3d_rendering/ctrack_ball.h b/3d-viewer/3d_rendering/ctrack_ball.h
index 12d6e3e..5b81f5d 100644
--- a/3d-viewer/3d_rendering/ctrack_ball.h
+++ b/3d-viewer/3d_rendering/ctrack_ball.h
@@ -40,23 +40,23 @@ class CTRACK_BALL : public CCAMERA
 
     explicit CTRACK_BALL( float aRangeScale );
 
-    void Drag( const wxPoint &aNewMousePosition );
+    void Drag( const wxPoint &aNewMousePosition ) override;
 
-    void Pan( const wxPoint &aNewMousePosition );
+    void Pan( const wxPoint &aNewMousePosition ) override;
 
-    void Pan( const SFVEC3F &aDeltaOffsetInc );
+    void Pan( const SFVEC3F &aDeltaOffsetInc ) override;
 
-    void Pan_T1( const SFVEC3F &aDeltaOffsetInc );
+    void Pan_T1( const SFVEC3F &aDeltaOffsetInc ) override;
 
-    void SetLookAtPos( const SFVEC3F &aLookAtPos );
+    void SetLookAtPos( const SFVEC3F &aLookAtPos ) override;
 
-    void Reset();
+    void Reset() override;
 
-    void Reset_T1();
+    void Reset_T1() override;
 
-    void SetT0_and_T1_current_T();
+    void SetT0_and_T1_current_T() override;
 
-    void Interpolate( float t );
+    void Interpolate( float t ) override;
 
  private:
 
diff --git a/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option.cpp b/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option.cpp
index 39c143a..2577957 100644
--- a/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option.cpp
+++ b/3d-viewer/3d_viewer/dialogs/dialog_3D_view_option.cpp
@@ -38,9 +38,9 @@ private:
     void initDialog();
 
     // Event functions:
-    void OnShowAllClick( wxCommandEvent& event );
-    void OnShowNoneClick( wxCommandEvent& event );
-    void OnOKClick( wxCommandEvent& event );
+    void OnShowAllClick( wxCommandEvent& event ) override;
+    void OnShowNoneClick( wxCommandEvent& event ) override;
+    void OnOKClick( wxCommandEvent& event ) override;
 };
 
 
diff --git a/3d-viewer/3d_viewer/eda_3d_viewer.h b/3d-viewer/3d_viewer/eda_3d_viewer.h
index 686e82f..ec4efc0 100644
--- a/3d-viewer/3d_viewer/eda_3d_viewer.h
+++ b/3d-viewer/3d_viewer/eda_3d_viewer.h
@@ -185,9 +185,9 @@ class EDA_3D_VIEWER : public KIWAY_PLAYER
 
     void SetToolbars();
 
-    void SaveSettings( wxConfigBase *aCfg );
+    void SaveSettings( wxConfigBase *aCfg ) override;
 
-    void LoadSettings( wxConfigBase *aCfg );
+    void LoadSettings( wxConfigBase *aCfg ) override;
 
     void OnLeftClick( wxDC *DC, const wxPoint &MousePos );
 
diff --git a/bitmap2component/bitmap2cmp_gui.cpp b/bitmap2component/bitmap2cmp_gui.cpp
index 99ad647..c514aa1 100644
--- a/bitmap2component/bitmap2cmp_gui.cpp
+++ b/bitmap2component/bitmap2cmp_gui.cpp
@@ -87,14 +87,14 @@ public:
     ~BM2CMP_FRAME();
 
     // overload KIWAY_PLAYER virtual
-    bool OpenProjectFiles( const std::vector<wxString>& aFilenames, int aCtl=0 );
+    bool OpenProjectFiles( const std::vector<wxString>& aFilenames, int aCtl=0 ) override;
 
 private:
 
     // Event handlers
-    void OnPaint( wxPaintEvent& event );
-    void OnLoadFile( wxCommandEvent& event );
-    void OnExport( wxCommandEvent& event );
+    void OnPaint( wxPaintEvent& event ) override;
+    void OnLoadFile( wxCommandEvent& event ) override;
+    void OnExport( wxCommandEvent& event ) override;
 
     /**
      * Generate a schematic library which contains one component:
@@ -119,9 +119,9 @@ private:
     void OnExportLogo();
 
     void Binarize( double aThreshold );     // aThreshold = 0.0 (black level) to 1.0 (white level)
-    void OnOptionsSelection( wxCommandEvent& event );
-    void OnThresholdChange( wxScrollEvent& event );
-    void OnResolutionChange( wxCommandEvent& event );
+    void OnOptionsSelection( wxCommandEvent& event ) override;
+    void OnThresholdChange( wxScrollEvent& event ) override;
+    void OnResolutionChange( wxCommandEvent& event ) override;
 
     // called when texts controls which handle the image resolution
     // lose the focus, to ensure the right values are displayed
@@ -141,7 +141,7 @@ private:
     void NegateGreyscaleImage( );
     void ExportFile( FILE* aOutfile, OUTPUT_FMT_ID aFormat );
     void updateImageInfo();
-    void OnFormatChange( wxCommandEvent& event );
+    void OnFormatChange( wxCommandEvent& event ) override;
 };
 
 
@@ -668,7 +668,7 @@ namespace BMP2CMP {
 
 static struct IFACE : public KIFACE_I
 {
-    bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits );
+    bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) override;
 
     wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 )
     {
diff --git a/common/confirm.cpp b/common/confirm.cpp
index cc3c9b0..af25736 100644
--- a/common/confirm.cpp
+++ b/common/confirm.cpp
@@ -50,8 +50,8 @@ public:
     };
 
 private:
-    void OnSaveAndExit( wxCommandEvent& event ) { EndModal( wxID_YES ); }
-    void OnExitNoSave( wxCommandEvent& event ) { EndModal( wxID_NO ); }
+    void OnSaveAndExit( wxCommandEvent& event ) override { EndModal( wxID_YES ); }
+    void OnExitNoSave( wxCommandEvent& event ) override { EndModal( wxID_NO ); }
 };
 
 
diff --git a/common/dialogs/dialog_image_editor.h b/common/dialogs/dialog_image_editor.h
index 226221c..91e3f87 100644
--- a/common/dialogs/dialog_image_editor.h
+++ b/common/dialogs/dialog_image_editor.h
@@ -53,15 +53,15 @@ public:
     void TransfertToImage( BITMAP_BASE* aItem );
 
 private:
-    void OnUndoLastChange( wxCommandEvent& event );
-    void OnGreyScaleConvert( wxCommandEvent& event );
-    void OnHalfSize( wxCommandEvent& event );
-    void OnMirrorX_click( wxCommandEvent& event );
-    void OnMirrorY_click( wxCommandEvent& event );
-    void OnRotateClick( wxCommandEvent& event );
-    void OnOK_Button( wxCommandEvent& aEvent );
-    void OnCancel_Button( wxCommandEvent& aEvent );
-    void OnRedrawPanel( wxPaintEvent& event );
+    void OnUndoLastChange( wxCommandEvent& event ) override;
+    void OnGreyScaleConvert( wxCommandEvent& event ) override;
+    void OnHalfSize( wxCommandEvent& event ) override;
+    void OnMirrorX_click( wxCommandEvent& event ) override;
+    void OnMirrorY_click( wxCommandEvent& event ) override;
+    void OnRotateClick( wxCommandEvent& event ) override;
+    void OnOK_Button( wxCommandEvent& aEvent ) override;
+    void OnCancel_Button( wxCommandEvent& aEvent ) override;
+    void OnRedrawPanel( wxPaintEvent& event ) override;
     bool CheckValues();
 };
 
diff --git a/common/dialogs/dialog_page_settings.h b/common/dialogs/dialog_page_settings.h
index 5127886..d5e891b 100644
--- a/common/dialogs/dialog_page_settings.h
+++ b/common/dialogs/dialog_page_settings.h
@@ -73,29 +73,29 @@ private:
     void initDialog();  // Initialisation of member variables
 
     // event handler for button OK
-    void OnOkClick( wxCommandEvent& event );
+    void OnOkClick( wxCommandEvent& event ) override;
 
     // event handlers for page size choice
-    void OnPaperSizeChoice( wxCommandEvent& event );
-    void OnUserPageSizeXTextUpdated( wxCommandEvent& event );
-    void OnUserPageSizeYTextUpdated( wxCommandEvent& event );
-    void OnPageOrientationChoice( wxCommandEvent& event );
+    void OnPaperSizeChoice( wxCommandEvent& event ) override;
+    void OnUserPageSizeXTextUpdated( wxCommandEvent& event ) override;
+    void OnUserPageSizeYTextUpdated( wxCommandEvent& event ) override;
+    void OnPageOrientationChoice( wxCommandEvent& event ) override;
 
     // event handler for texts in title block
-    void OnRevisionTextUpdated( wxCommandEvent& event );
-    void OnDateTextUpdated( wxCommandEvent& event );
-    void OnTitleTextUpdated( wxCommandEvent& event );
-    void OnCompanyTextUpdated( wxCommandEvent& event );
-    void OnComment1TextUpdated( wxCommandEvent& event );
-    void OnComment2TextUpdated( wxCommandEvent& event );
-    void OnComment3TextUpdated( wxCommandEvent& event );
-    void OnComment4TextUpdated( wxCommandEvent& event );
+    void OnRevisionTextUpdated( wxCommandEvent& event ) override;
+    void OnDateTextUpdated( wxCommandEvent& event ) override;
+    void OnTitleTextUpdated( wxCommandEvent& event ) override;
+    void OnCompanyTextUpdated( wxCommandEvent& event ) override;
+    void OnComment1TextUpdated( wxCommandEvent& event ) override;
+    void OnComment2TextUpdated( wxCommandEvent& event ) override;
+    void OnComment3TextUpdated( wxCommandEvent& event ) override;
+    void OnComment4TextUpdated( wxCommandEvent& event ) override;
 
     // Handle button click for setting the date from the picker
-    void OnDateApplyClick( wxCommandEvent& event );
+    void OnDateApplyClick( wxCommandEvent& event ) override;
 
     // .kicad_wks file description selection
-    void OnWksFileSelection( wxCommandEvent& event );
+    void OnWksFileSelection( wxCommandEvent& event ) override;
 
     // Save in the current title block the new page settings
     // return true if changes are made, or false if not
diff --git a/common/dialogs/wx_html_report_panel.h b/common/dialogs/wx_html_report_panel.h
index 03e351f..68bbc09 100644
--- a/common/dialogs/wx_html_report_panel.h
+++ b/common/dialogs/wx_html_report_panel.h
@@ -59,7 +59,7 @@ public:
     void Clear();
 
     ///> sets the frame label
-    void SetLabel( const wxString& aLabel );
+    void SetLabel( const wxString& aLabel ) override;
 
     ///> Sets the lasy update. If this mode is on, messages are stored but the display
     ///> is not updated (Updating display can be very time consumming if there are many messages)
@@ -94,13 +94,13 @@ private:
     void scrollToBottom();
     void syncCheckboxes();
 
-    void onCheckBoxShowAll( wxCommandEvent& event );
-    void onCheckBoxShowWarnings( wxCommandEvent& event );
-    void onCheckBoxShowErrors( wxCommandEvent& event );
-    void onCheckBoxShowInfos( wxCommandEvent& event );
-    void onCheckBoxShowActions( wxCommandEvent& event );
+    void onCheckBoxShowAll( wxCommandEvent& event ) override;
+    void onCheckBoxShowWarnings( wxCommandEvent& event ) override;
+    void onCheckBoxShowErrors( wxCommandEvent& event ) override;
+    void onCheckBoxShowInfos( wxCommandEvent& event ) override;
+    void onCheckBoxShowActions( wxCommandEvent& event ) override;
 
-    void onBtnSaveToFile( wxCommandEvent& event );
+    void onBtnSaveToFile( wxCommandEvent& event ) override;
 
     ///> copy of the report, stored for filtering
     REPORT_LINES m_report;
diff --git a/cvpcb/class_DisplayFootprintsFrame.h b/cvpcb/class_DisplayFootprintsFrame.h
index f4cbf7c..cd8bba6 100644
--- a/cvpcb/class_DisplayFootprintsFrame.h
+++ b/cvpcb/class_DisplayFootprintsFrame.h
@@ -45,15 +45,15 @@ public:
     DISPLAY_FOOTPRINTS_FRAME( KIWAY* aKiway, CVPCB_MAINFRAME* aParent );
     ~DISPLAY_FOOTPRINTS_FRAME();
 
-    void    OnCloseWindow( wxCloseEvent& Event );
+    void    OnCloseWindow( wxCloseEvent& Event ) override;
 
     /*
      * Draws the current highlighted footprint.
      */
-    void    RedrawActiveWindow( wxDC* DC, bool EraseBg );
+    void    RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
 
-    void    ReCreateHToolbar();
-    void    ReCreateVToolbar();
+    void    ReCreateHToolbar() override;
+    void    ReCreateVToolbar() override;
     void    ReCreateOptToolbar();
     void    RecreateMenuBar();
 
@@ -74,7 +74,7 @@ public:
      * Function IsGridVisible() , virtual
      * @return true if the grid must be shown
      */
-    virtual bool IsGridVisible() const;
+    virtual bool IsGridVisible() const override;
 
     /**
      * Function SetGridVisibility() , virtual
@@ -82,17 +82,17 @@ public:
      * if you want to store/retrieve the grid visibility in configuration.
      * @param aVisible = true if the grid must be shown
      */
-    virtual void SetGridVisibility( bool aVisible );
+    virtual void SetGridVisibility( bool aVisible ) override;
     /**
      * Function GetGridColor() , virtual
      * @return the color of the grid
      */
-    virtual EDA_COLOR_T GetGridColor() const;
+    virtual EDA_COLOR_T GetGridColor() const override;
 
-    void    OnLeftClick( wxDC* DC, const wxPoint& MousePos );
-    void    OnLeftDClick( wxDC* DC, const wxPoint& MousePos );
-    bool    OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
-    bool    GeneralControl( wxDC* DC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    void    OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override;
+    void    OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) override;
+    bool    OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) override;
+    bool    GeneralControl( wxDC* DC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
     void    InstallOptionsDisplay( wxCommandEvent& event );
     MODULE* Get_Module( const wxString& CmpName );
 
@@ -104,7 +104,7 @@ public:
     /**
      * Display 3D frame of current footprint selection.
      */
-    void    Show3D_Frame( wxCommandEvent& event );
+    void    Show3D_Frame( wxCommandEvent& event ) override;
 
     /* SaveCopyInUndoList() virtual
      * currently: do nothing in CvPcb.
diff --git a/cvpcb/cvpcb.cpp b/cvpcb/cvpcb.cpp
index 512f61b..9e3ee82 100644
--- a/cvpcb/cvpcb.cpp
+++ b/cvpcb/cvpcb.cpp
@@ -65,9 +65,9 @@ static struct IFACE : public KIFACE_I
         KIFACE_I( aName, aType )
     {}
 
-    bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits );
+    bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) override;
 
-    void OnKifaceEnd();
+    void OnKifaceEnd() override;
 
     wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 )
     {
diff --git a/cvpcb/cvpcb_mainframe.h b/cvpcb/cvpcb_mainframe.h
index d62747e..d9895d8 100644
--- a/cvpcb/cvpcb_mainframe.h
+++ b/cvpcb/cvpcb_mainframe.h
@@ -115,7 +115,7 @@ public:
     void             OnCloseWindow( wxCloseEvent& Event );
     void             OnSize( wxSizeEvent& SizeEvent );
     void             ReCreateHToolbar();
-    virtual void     ReCreateMenuBar();
+    virtual void     ReCreateMenuBar() override;
 
     void             ChangeFocus( bool aMoveRight );
 
diff --git a/cvpcb/dialogs/dialog_config_equfiles.h b/cvpcb/dialogs/dialog_config_equfiles.h
index 1dbbf47..bbe84e2 100644
--- a/cvpcb/dialogs/dialog_config_equfiles.h
+++ b/cvpcb/dialogs/dialog_config_equfiles.h
@@ -44,13 +44,13 @@ private:
     void Init();
 
     // Virtual event handlers
-    void OnCloseWindow( wxCloseEvent& event );
-    void OnOkClick( wxCommandEvent& event );
-    void OnAddFiles( wxCommandEvent& event );
-    void OnEditEquFile( wxCommandEvent& event );
-    void OnRemoveFiles( wxCommandEvent& event );
-    void OnButtonMoveUp( wxCommandEvent& event );
-    void OnButtonMoveDown( wxCommandEvent& event );
+    void OnCloseWindow( wxCloseEvent& event ) override;
+    void OnOkClick( wxCommandEvent& event ) override;
+    void OnAddFiles( wxCommandEvent& event ) override;
+    void OnEditEquFile( wxCommandEvent& event ) override;
+    void OnRemoveFiles( wxCommandEvent& event ) override;
+    void OnButtonMoveUp( wxCommandEvent& event ) override;
+    void OnButtonMoveDown( wxCommandEvent& event ) override;
 
     int getEnvVarCount()                // Get the number of rows in env var table
     {
diff --git a/cvpcb/dialogs/dialog_display_options.h b/cvpcb/dialogs/dialog_display_options.h
index f398464..92fb846 100644
--- a/cvpcb/dialogs/dialog_display_options.h
+++ b/cvpcb/dialogs/dialog_display_options.h
@@ -49,9 +49,9 @@ public:
 private:
     void initDialog( );
     void UpdateObjectSettings( void );
-    void OnApplyClick( wxCommandEvent& event );
-    void OnCancelClick( wxCommandEvent& event );
-    void OnOkClick( wxCommandEvent& event );
+    void OnApplyClick( wxCommandEvent& event ) override;
+    void OnCancelClick( wxCommandEvent& event ) override;
+    void OnOkClick( wxCommandEvent& event ) override;
 };
 
 #endif      // _DIALOG_DISPLAY_OPTIONS_H_
diff --git a/cvpcb/dialogs/fp_conflict_assignment_selector.h b/cvpcb/dialogs/fp_conflict_assignment_selector.h
index 9beeb3f..aa5ca7f 100644
--- a/cvpcb/dialogs/fp_conflict_assignment_selector.h
+++ b/cvpcb/dialogs/fp_conflict_assignment_selector.h
@@ -63,13 +63,13 @@ class DIALOG_FP_CONFLICT_ASSIGNMENT_SELECTOR : public DIALOG_FP_CONFLICT_ASSIGNM
         int GetSelection( const wxString& aReference );
 
     private:
-        void OnSize( wxSizeEvent& event );
+        void OnSize( wxSizeEvent& event ) override;
 
         // Virtual: called when clicking on the column title:
         // when it is a column choice, set all item choices.
-        void OnColumnClick( wxListEvent& event );
+        void OnColumnClick( wxListEvent& event ) override;
 
-        void OnItemClicked( wxMouseEvent& event );
+        void OnItemClicked( wxMouseEvent& event ) override;
 
         void OnCancelClick( wxCommandEvent& event ) { EndModal( wxID_CANCEL ); }
         void OnOKClick( wxCommandEvent& event ) { EndModal( wxID_OK ); }
diff --git a/cvpcb/listview_classes.h b/cvpcb/listview_classes.h
index c5f2474..0cb4290 100644
--- a/cvpcb/listview_classes.h
+++ b/cvpcb/listview_classes.h
@@ -131,7 +131,7 @@ public:
      * this overloaded function MUST be provided for the wxLC_VIRTUAL mode
      * because real data is not handled by ITEMS_LISTBOX_BASE
      */
-    wxString OnGetItemText( long item, long column ) const;
+    wxString OnGetItemText( long item, long column ) const override;
 
     // Events functions:
     void     OnLeftClick( wxListEvent& event );
@@ -161,7 +161,7 @@ public:
     void     SetLibraryList( const wxArrayString& aList );
 
     wxString GetSelectedLibrary();
-    wxString OnGetItemText( long item, long column ) const;
+    wxString OnGetItemText( long item, long column ) const override;
 
     // Events functions:
     void     OnLeftClick( wxListEvent& event );
@@ -209,7 +209,7 @@ public:
      * this overloaded function MUST be provided for the wxLC_VIRTUAL mode
      * because real data is not handled by ITEMS_LISTBOX_BASE
      */
-    wxString OnGetItemText( long item, long column ) const;
+    wxString OnGetItemText( long item, long column ) const override;
 
     /*
      * Enable or disable an item
diff --git a/eeschema/class_sch_screen.h b/eeschema/class_sch_screen.h
index 2fb4043..3289379 100644
--- a/eeschema/class_sch_screen.h
+++ b/eeschema/class_sch_screen.h
@@ -342,7 +342,7 @@ public:
      * items are removed from the beginning of the list.
      * So this function can be called to remove old commands
      */
-    virtual void ClearUndoORRedoList( UNDO_REDO_CONTAINER& aList, int aItemCount = -1 );
+    virtual void ClearUndoORRedoList( UNDO_REDO_CONTAINER& aList, int aItemCount = -1 ) override;
 
     /**
      * Function Save
diff --git a/eeschema/dialogs/dialog_annotate.cpp b/eeschema/dialogs/dialog_annotate.cpp
index 5c8b002..5ea48de 100644
--- a/eeschema/dialogs/dialog_annotate.cpp
+++ b/eeschema/dialogs/dialog_annotate.cpp
@@ -61,9 +61,9 @@ private:
 
     /// Initialises member variables
     void InitValues();
-    void OnCancelClick( wxCommandEvent& event );
-    void OnClearAnnotationCmpClick( wxCommandEvent& event );
-    void OnApplyClick( wxCommandEvent& event );
+    void OnCancelClick( wxCommandEvent& event ) override;
+    void OnClearAnnotationCmpClick( wxCommandEvent& event ) override;
+    void OnApplyClick( wxCommandEvent& event ) override;
 
     // User functions:
     bool GetLevel();
diff --git a/eeschema/dialogs/dialog_bom.cpp b/eeschema/dialogs/dialog_bom.cpp
index 16ccce5..b971a1f 100644
--- a/eeschema/dialogs/dialog_bom.cpp
+++ b/eeschema/dialogs/dialog_bom.cpp
@@ -185,16 +185,16 @@ public:
     ~DIALOG_BOM();
 
 private:
-    void OnPluginSelected( wxCommandEvent& event );
-    void OnRunPlugin( wxCommandEvent& event );
-    void OnCancelClick( wxCommandEvent& event );
-    void OnHelp( wxCommandEvent& event );
-    void OnAddPlugin( wxCommandEvent& event );
-    void OnRemovePlugin( wxCommandEvent& event );
-    void OnEditPlugin( wxCommandEvent& event );
-    void OnCommandLineEdited( wxCommandEvent& event );
-    void OnNameEdited( wxCommandEvent& event );
-    void OnShowConsoleChanged( wxCommandEvent& event );
+    void OnPluginSelected( wxCommandEvent& event ) override;
+    void OnRunPlugin( wxCommandEvent& event ) override;
+    void OnCancelClick( wxCommandEvent& event ) override;
+    void OnHelp( wxCommandEvent& event ) override;
+    void OnAddPlugin( wxCommandEvent& event ) override;
+    void OnRemovePlugin( wxCommandEvent& event ) override;
+    void OnEditPlugin( wxCommandEvent& event ) override;
+    void OnCommandLineEdited( wxCommandEvent& event ) override;
+    void OnNameEdited( wxCommandEvent& event ) override;
+    void OnShowConsoleChanged( wxCommandEvent& event ) override;
 
     void pluginInit();
     void installPluginsList();
diff --git a/eeschema/dialogs/dialog_choose_component.h b/eeschema/dialogs/dialog_choose_component.h
index 8d8ac24..9d83df8 100644
--- a/eeschema/dialogs/dialog_choose_component.h
+++ b/eeschema/dialogs/dialog_choose_component.h
@@ -71,17 +71,17 @@ public:
     bool IsExternalBrowserSelected() const { return m_external_browser_requested; }
 
 protected:
-    virtual void OnSearchBoxChange( wxCommandEvent& aEvent );
-    virtual void OnSearchBoxEnter( wxCommandEvent& aEvent );
-    virtual void OnInterceptSearchBoxKey( wxKeyEvent& aEvent );
+    virtual void OnSearchBoxChange( wxCommandEvent& aEvent ) override;
+    virtual void OnSearchBoxEnter( wxCommandEvent& aEvent ) override;
+    virtual void OnInterceptSearchBoxKey( wxKeyEvent& aEvent ) override;
 
-    virtual void OnTreeSelect( wxTreeEvent& aEvent );
-    virtual void OnDoubleClickTreeActivation( wxTreeEvent& aEvent );
-    virtual void OnInterceptTreeEnter( wxKeyEvent& aEvent );
-    virtual void OnTreeMouseUp( wxMouseEvent& aMouseEvent );
+    virtual void OnTreeSelect( wxTreeEvent& aEvent ) override;
+    virtual void OnDoubleClickTreeActivation( wxTreeEvent& aEvent ) override;
+    virtual void OnInterceptTreeEnter( wxKeyEvent& aEvent ) override;
+    virtual void OnTreeMouseUp( wxMouseEvent& aMouseEvent ) override;
 
-    virtual void OnStartComponentBrowser( wxMouseEvent& aEvent );
-    virtual void OnHandlePreviewRepaint( wxPaintEvent& aRepaintEvent );
+    virtual void OnStartComponentBrowser( wxMouseEvent& aEvent ) override;
+    virtual void OnHandlePreviewRepaint( wxPaintEvent& aRepaintEvent ) override;
 
 private:
     bool updateSelection();
diff --git a/eeschema/dialogs/dialog_edit_component_in_lib.h b/eeschema/dialogs/dialog_edit_component_in_lib.h
index 829a8cc..e32d3a6 100644
--- a/eeschema/dialogs/dialog_edit_component_in_lib.h
+++ b/eeschema/dialogs/dialog_edit_component_in_lib.h
@@ -50,20 +50,20 @@ private:
     void initDlg();
     void InitPanelDoc();
     void InitBasicPanel();
-    void OnCancelClick( wxCommandEvent& event );
-    void OnOkClick(wxCommandEvent& event);
-    void DeleteAllAliasOfPart(wxCommandEvent& event);
-    void DeleteAliasOfPart(wxCommandEvent& event);
-    void AddAliasOfPart(wxCommandEvent& event);
+    void OnCancelClick( wxCommandEvent& event ) override;
+    void OnOkClick(wxCommandEvent& event) override;
+    void DeleteAllAliasOfPart(wxCommandEvent& event) override;
+    void DeleteAliasOfPart(wxCommandEvent& event) override;
+    void AddAliasOfPart(wxCommandEvent& event) override;
     bool ChangeNbUnitsPerPackage(int newUnit);
     bool SetUnsetConvert();
-    void CopyDocFromRootToAlias(wxCommandEvent& event);
-    void BrowseAndSelectDocFile(wxCommandEvent& event);
+    void CopyDocFromRootToAlias(wxCommandEvent& event) override;
+    void BrowseAndSelectDocFile(wxCommandEvent& event) override;
 
-    void DeleteAllFootprintFilter(wxCommandEvent& event);
-    void DeleteOneFootprintFilter(wxCommandEvent& event);
-    void AddFootprintFilter(wxCommandEvent& event);
-    void EditOneFootprintFilter( wxCommandEvent& event );
+    void DeleteAllFootprintFilter(wxCommandEvent& event) override;
+    void DeleteOneFootprintFilter(wxCommandEvent& event) override;
+    void AddFootprintFilter(wxCommandEvent& event) override;
+    void EditOneFootprintFilter( wxCommandEvent& event ) override;
 };
 
 #endif
diff --git a/eeschema/dialogs/dialog_edit_component_in_schematic.cpp b/eeschema/dialogs/dialog_edit_component_in_schematic.cpp
index 3a65c99..e288fe8 100644
--- a/eeschema/dialogs/dialog_edit_component_in_schematic.cpp
+++ b/eeschema/dialogs/dialog_edit_component_in_schematic.cpp
@@ -118,18 +118,18 @@ private:
     }
 
     // event handlers
-    void OnCloseDialog( wxCloseEvent& event );
-    void OnListItemDeselected( wxListEvent& event );
-    void OnListItemSelected( wxListEvent& event );
-    void OnCancelButtonClick( wxCommandEvent& event );
-    void OnOKButtonClick( wxCommandEvent& event );
-    void SetInitCmp( wxCommandEvent& event );
-    void addFieldButtonHandler( wxCommandEvent& event );
-    void deleteFieldButtonHandler( wxCommandEvent& event );
-    void moveUpButtonHandler( wxCommandEvent& event );
-    void showButtonHandler( wxCommandEvent& event );
-    void OnTestChipName( wxCommandEvent& event );
-    void OnSelectChipName( wxCommandEvent& event );
+    void OnCloseDialog( wxCloseEvent& event ) override;
+    void OnListItemDeselected( wxListEvent& event ) override;
+    void OnListItemSelected( wxListEvent& event ) override;
+    void OnCancelButtonClick( wxCommandEvent& event ) override;
+    void OnOKButtonClick( wxCommandEvent& event ) override;
+    void SetInitCmp( wxCommandEvent& event ) override;
+    void addFieldButtonHandler( wxCommandEvent& event ) override;
+    void deleteFieldButtonHandler( wxCommandEvent& event ) override;
+    void moveUpButtonHandler( wxCommandEvent& event ) override;
+    void showButtonHandler( wxCommandEvent& event ) override;
+    void OnTestChipName( wxCommandEvent& event ) override;
+    void OnSelectChipName( wxCommandEvent& event ) override;
     void OnInitDlg( wxInitDialogEvent& event )
     {
         TransferDataToWindow();
diff --git a/eeschema/dialogs/dialog_edit_label.cpp b/eeschema/dialogs/dialog_edit_label.cpp
index 9c653fd..bf62ac3 100644
--- a/eeschema/dialogs/dialog_edit_label.cpp
+++ b/eeschema/dialogs/dialog_edit_label.cpp
@@ -76,10 +76,10 @@ public:
     }
 
 private:
-    void InitDialog( );
-    virtual void OnEnterKey( wxCommandEvent& aEvent );
-    virtual void OnOkClick( wxCommandEvent& aEvent );
-    virtual void OnCancelClick( wxCommandEvent& aEvent );
+    void InitDialog( ) override;
+    virtual void OnEnterKey( wxCommandEvent& aEvent ) override;
+    virtual void OnOkClick( wxCommandEvent& aEvent ) override;
+    virtual void OnCancelClick( wxCommandEvent& aEvent ) override;
     void TextPropertiesAccept( wxCommandEvent& aEvent );
 
     SCH_EDIT_FRAME* m_Parent;
diff --git a/eeschema/dialogs/dialog_edit_libentry_fields_in_lib.cpp b/eeschema/dialogs/dialog_edit_libentry_fields_in_lib.cpp
index b2c824e..ac1b03a 100644
--- a/eeschema/dialogs/dialog_edit_libentry_fields_in_lib.cpp
+++ b/eeschema/dialogs/dialog_edit_libentry_fields_in_lib.cpp
@@ -60,12 +60,12 @@ public:
 
 private:
     // Events handlers:
-    void OnInitDialog( wxInitDialogEvent& event );
-    void OnCloseDialog( wxCloseEvent& event );
+    void OnInitDialog( wxInitDialogEvent& event ) override;
+    void OnCloseDialog( wxCloseEvent& event ) override;
 
-    void OnListItemDeselected( wxListEvent& event );
-    void OnListItemSelected( wxListEvent& event );
-    void addFieldButtonHandler( wxCommandEvent& event );
+    void OnListItemDeselected( wxListEvent& event ) override;
+    void OnListItemSelected( wxListEvent& event ) override;
+    void addFieldButtonHandler( wxCommandEvent& event ) override;
 
     /**
      * Function deleteFieldButtonHandler
@@ -74,12 +74,12 @@ private:
      * If a field is empty, it is removed.
      * if not empty, the text is removed.
      */
-    void deleteFieldButtonHandler( wxCommandEvent& event );
+    void deleteFieldButtonHandler( wxCommandEvent& event ) override;
 
-    void moveUpButtonHandler( wxCommandEvent& event );
-    void OnCancelButtonClick( wxCommandEvent& event );
-    void OnOKButtonClick( wxCommandEvent& event );
-    void showButtonHandler( wxCommandEvent& event );
+    void moveUpButtonHandler( wxCommandEvent& event ) override;
+    void OnCancelButtonClick( wxCommandEvent& event ) override;
+    void OnOKButtonClick( wxCommandEvent& event ) override;
+    void showButtonHandler( wxCommandEvent& event ) override;
 
     // internal functions:
     void setSelectedFieldNdx( int aFieldNdx );
diff --git a/eeschema/dialogs/dialog_edit_one_field.h b/eeschema/dialogs/dialog_edit_one_field.h
index d12e47b..714fc96 100644
--- a/eeschema/dialogs/dialog_edit_one_field.h
+++ b/eeschema/dialogs/dialog_edit_one_field.h
@@ -52,9 +52,9 @@ public:
 
     ~DIALOG_EDIT_ONE_FIELD() {}
 
-    virtual bool TransferDataToWindow();
+    virtual bool TransferDataToWindow() override;
 
-    virtual bool TransferDataFromWindow();
+    virtual bool TransferDataFromWindow() override;
 
     SCH_BASE_FRAME* GetParent() { return dynamic_cast< SCH_BASE_FRAME* >( wxDialog::GetParent() ); }
 
@@ -75,7 +75,7 @@ protected:
      *
      * @param aEvent is the the wX event thrown when the button is clicked, this isn't used
      */
-    void OnTextValueSelectButtonClick( wxCommandEvent& aEvent );
+    void OnTextValueSelectButtonClick( wxCommandEvent& aEvent ) override;
 
     /// @todo Update DIALOG_SHIM to handle this transparently so no matter what mode the
     ///       dialogs is shown, everything is handled without this ugliness.
diff --git a/eeschema/dialogs/dialog_eeschema_config.cpp b/eeschema/dialogs/dialog_eeschema_config.cpp
index 0d0d16e..597da70 100644
--- a/eeschema/dialogs/dialog_eeschema_config.cpp
+++ b/eeschema/dialogs/dialog_eeschema_config.cpp
@@ -65,12 +65,12 @@ private:
 
     //------ event handlers, overiding the fbp handlers --------------
 
-    void OnCloseWindow( wxCloseEvent& event );
+    void OnCloseWindow( wxCloseEvent& event ) override;
 
     /* Remove a library to the library list.
      * The real list (m_Parent->m_ComponentLibFiles) is not changed, so the change can be canceled
      */
-    void OnRemoveLibClick( wxCommandEvent& event );
+    void OnRemoveLibClick( wxCommandEvent& event ) override;
 
     /* Insert or add a library to the library list:
      *   The new library is put in list before (insert button) the selection,
@@ -78,14 +78,14 @@ private:
      * The real list (m_Parent->m_ComponentLibFiles) is not changed, so the change
      * can be canceled
      */
-    void OnAddOrInsertLibClick( wxCommandEvent& event );
-
-    void OnAddOrInsertPath( wxCommandEvent& event );
-    void OnOkClick( wxCommandEvent& event );
-    void OnCancelClick( wxCommandEvent& event );
-    void OnRemoveUserPath( wxCommandEvent& event );
-    void OnButtonUpClick( wxCommandEvent& event );
-    void OnButtonDownClick( wxCommandEvent& event );
+    void OnAddOrInsertLibClick( wxCommandEvent& event ) override;
+
+    void OnAddOrInsertPath( wxCommandEvent& event ) override;
+    void OnOkClick( wxCommandEvent& event ) override;
+    void OnCancelClick( wxCommandEvent& event ) override;
+    void OnRemoveUserPath( wxCommandEvent& event ) override;
+    void OnButtonUpClick( wxCommandEvent& event ) override;
+    void OnButtonDownClick( wxCommandEvent& event ) override;
 };
 
 
diff --git a/eeschema/dialogs/dialog_eeschema_options.h b/eeschema/dialogs/dialog_eeschema_options.h
index 6349a6c..55cbaa0 100644
--- a/eeschema/dialogs/dialog_eeschema_options.h
+++ b/eeschema/dialogs/dialog_eeschema_options.h
@@ -56,7 +56,7 @@ protected:
      *
      * Adds a new template fieldname (with default values) to the template fieldnames data
      */
-    void OnAddButtonClick( wxCommandEvent& event );
+    void OnAddButtonClick( wxCommandEvent& event ) override;
 
     /**
      * Function OnDeleteButtonClick
@@ -67,19 +67,19 @@ protected:
      *
      * Deletes the selected template fieldname from the template fieldnames data
      */
-    void OnDeleteButtonClick( wxCommandEvent& event );
+    void OnDeleteButtonClick( wxCommandEvent& event ) override;
 
     /**
      * Function TransferDataToWindow
      * Transfer data into the GUI.
      */
-    bool TransferDataToWindow();
+    bool TransferDataToWindow() override;
 
     /**
      * Function TransferDataFromWindow
      * Transfer data out of the GUI.
      */
-    bool TransferDataFromWindow();
+    bool TransferDataFromWindow() override;
 
 public:
     /**
diff --git a/eeschema/dialogs/dialog_erc.h b/eeschema/dialogs/dialog_erc.h
index 2719277..8b3a96c 100644
--- a/eeschema/dialogs/dialog_erc.h
+++ b/eeschema/dialogs/dialog_erc.h
@@ -58,17 +58,17 @@ private:
     void Init();
 
     // from DIALOG_ERC_BASE:
-    void OnCloseErcDialog( wxCloseEvent& event );
-    void OnErcCmpClick( wxCommandEvent& event );
-    void OnEraseDrcMarkersClick( wxCommandEvent& event );
-    void OnButtonCloseClick( wxCommandEvent& event );
-    void OnResetMatrixClick( wxCommandEvent& event );
+    void OnCloseErcDialog( wxCloseEvent& event ) override;
+    void OnErcCmpClick( wxCommandEvent& event ) override;
+    void OnEraseDrcMarkersClick( wxCommandEvent& event ) override;
+    void OnButtonCloseClick( wxCommandEvent& event ) override;
+    void OnResetMatrixClick( wxCommandEvent& event ) override;
 
     // Click on a marker info:
-    void OnLeftClickMarkersList( wxHtmlLinkEvent& event );
+    void OnLeftClickMarkersList( wxHtmlLinkEvent& event ) override;
 
     // Double click on a marker info:
-    void OnLeftDblClickMarkersList( wxMouseEvent& event );
+    void OnLeftDblClickMarkersList( wxMouseEvent& event ) override;
 
     void TestErc( wxArrayString* aMessagesList );
     void DisplayERC_MarkersList();
diff --git a/eeschema/dialogs/dialog_lib_edit_pin.h b/eeschema/dialogs/dialog_lib_edit_pin.h
index dab9d90..700d7a3 100644
--- a/eeschema/dialogs/dialog_lib_edit_pin.h
+++ b/eeschema/dialogs/dialog_lib_edit_pin.h
@@ -46,13 +46,13 @@ public:
     DIALOG_LIB_EDIT_PIN( EDA_DRAW_FRAME* parent, LIB_PIN* aPin );
     ~DIALOG_LIB_EDIT_PIN();
 
-    void OnInitDialog( wxInitDialogEvent& event);
+    void OnInitDialog( wxInitDialogEvent& event) override;
 
-    void OnCloseDialog( wxCloseEvent& event );
-    void OnCancelButtonClick( wxCommandEvent& event );
-    void OnOKButtonClick( wxCommandEvent& event );
-    void OnPaintShowPanel( wxPaintEvent& event );
-    void OnPropertiesChange( wxCommandEvent& event );
+    void OnCloseDialog( wxCloseEvent& event ) override;
+    void OnCancelButtonClick( wxCommandEvent& event ) override;
+    void OnOKButtonClick( wxCommandEvent& event ) override;
+    void OnPaintShowPanel( wxPaintEvent& event ) override;
+    void OnPropertiesChange( wxCommandEvent& event ) override;
 
     void SetOrientationList( const wxArrayString& list, const BITMAP_DEF* aBitmaps );
     void SetOrientation( int orientation )
diff --git a/eeschema/dialogs/dialog_lib_edit_pin_table.cpp b/eeschema/dialogs/dialog_lib_edit_pin_table.cpp
index c652bd7..4a299d4 100644
--- a/eeschema/dialogs/dialog_lib_edit_pin_table.cpp
+++ b/eeschema/dialogs/dialog_lib_edit_pin_table.cpp
@@ -48,14 +48,14 @@ public:
     DataViewModel( LIB_PART& aPart );
 
     // wxDataViewModel
-    virtual unsigned int    GetColumnCount() const;
-    virtual wxString        GetColumnType( unsigned int col ) const;
-    virtual void            GetValue( wxVariant&, const wxDataViewItem&, unsigned int ) const;
-    virtual bool            SetValue( const wxVariant&, const wxDataViewItem&, unsigned int );
-    virtual wxDataViewItem  GetParent( const wxDataViewItem& ) const;
-    virtual bool            IsContainer( const wxDataViewItem& ) const;
-    virtual bool            HasContainerColumns( const wxDataViewItem& ) const;
-    virtual unsigned int    GetChildren( const wxDataViewItem&, wxDataViewItemArray& ) const;
+    virtual unsigned int    GetColumnCount() const override;
+    virtual wxString        GetColumnType( unsigned int col ) const override;
+    virtual void            GetValue( wxVariant&, const wxDataViewItem&, unsigned int ) const override;
+    virtual bool            SetValue( const wxVariant&, const wxDataViewItem&, unsigned int ) override;
+    virtual wxDataViewItem  GetParent( const wxDataViewItem& ) const override;
+    virtual bool            IsContainer( const wxDataViewItem& ) const override;
+    virtual bool            HasContainerColumns( const wxDataViewItem& ) const override;
+    virtual unsigned int    GetChildren( const wxDataViewItem&, wxDataViewItemArray& ) const override;
 
     virtual int Compare( const wxDataViewItem& lhs,
             const wxDataViewItem& rhs,
@@ -118,8 +118,8 @@ class DIALOG_LIB_EDIT_PIN_TABLE::DataViewModel::Group :
 public:
     Group( unsigned int aGroupingColumn ) : m_GroupingColumn( aGroupingColumn ) {}
 
-    virtual void            GetValue( wxVariant& aValue, unsigned int aCol ) const;
-    virtual wxString        GetString( unsigned int aCol ) const;
+    virtual void            GetValue( wxVariant& aValue, unsigned int aCol ) const override;
+    virtual wxString        GetString( unsigned int aCol ) const override;
     virtual wxDataViewItem  GetParent() const { return wxDataViewItem(); }
     virtual bool            IsContainer() const { return true; }
     virtual unsigned int    GetChildren( wxDataViewItemArray& aItems ) const
@@ -146,8 +146,8 @@ public:
     Pin( DataViewModel& aModel,
             LIB_PIN* aBacking ) : m_Model( aModel ), m_Backing( aBacking ), m_Group( 0 ) {}
 
-    virtual void GetValue( wxVariant& aValue, unsigned int aCol ) const;
-    virtual wxString        GetString( unsigned int aCol ) const;
+    virtual void GetValue( wxVariant& aValue, unsigned int aCol ) const override;
+    virtual wxString        GetString( unsigned int aCol ) const override;
     virtual wxDataViewItem GetParent() const { return wxDataViewItem( m_Group ); }
     virtual bool IsContainer() const { return false; }
     virtual unsigned int GetChildren( wxDataViewItemArray& ) const { return 0; }
diff --git a/eeschema/dialogs/dialog_lib_edit_pin_table.h b/eeschema/dialogs/dialog_lib_edit_pin_table.h
index 868c453..8be318a 100644
--- a/eeschema/dialogs/dialog_lib_edit_pin_table.h
+++ b/eeschema/dialogs/dialog_lib_edit_pin_table.h
@@ -11,7 +11,7 @@ public:
 
     void UpdateSummary();
 
-    virtual void OnColumnHeaderRightClicked( wxDataViewEvent& aEvent );
+    virtual void OnColumnHeaderRightClicked( wxDataViewEvent& aEvent ) override;
 
 private:
     class DataViewModel;
diff --git a/eeschema/dialogs/dialog_lib_edit_text.h b/eeschema/dialogs/dialog_lib_edit_text.h
index 24ad589..e208bbc 100644
--- a/eeschema/dialogs/dialog_lib_edit_text.h
+++ b/eeschema/dialogs/dialog_lib_edit_text.h
@@ -46,8 +46,8 @@ public:
 
 private:
     void initDlg( );
-    void OnOkClick( wxCommandEvent& aEvent );
-    void OnCancelClick( wxCommandEvent& aEvent );
+    void OnOkClick( wxCommandEvent& aEvent ) override;
+    void OnCancelClick( wxCommandEvent& aEvent ) override;
 };
 
 
diff --git a/eeschema/dialogs/dialog_netlist.cpp b/eeschema/dialogs/dialog_netlist.cpp
index 723e536..b697cac 100644
--- a/eeschema/dialogs/dialog_netlist.cpp
+++ b/eeschema/dialogs/dialog_netlist.cpp
@@ -142,23 +142,23 @@ private:
                                            const wxString & aCommandString,
                                            NETLIST_TYPE_ID aNetTypeId );
     void    InstallPageSpice();
-    void    GenNetlist( wxCommandEvent& event );
+    void    GenNetlist( wxCommandEvent& event ) override;
     void    RunSimulator( wxCommandEvent& event );
     void    NetlistUpdateOpt();
-    void    OnNetlistTypeSelection( wxNotebookEvent& event );
+    void    OnNetlistTypeSelection( wxNotebookEvent& event ) override;
     void    SelectDefaultNetlistType( wxCommandEvent& event );
 
     /**
      * Function OnAddPlugin
      * Add a new panel for a new netlist plugin
      */
-    void    OnAddPlugin( wxCommandEvent& event );
+    void    OnAddPlugin( wxCommandEvent& event ) override;
 
     /**
      * Function OnDelPlugin
      * Remove a panel relative to a netlist plugin
      */
-    void    OnDelPlugin( wxCommandEvent& event );
+    void    OnDelPlugin( wxCommandEvent& event ) override;
 
     /**
      * Function WriteCurrentNetlistSetup
@@ -219,12 +219,12 @@ private:
      * Function OnOKClick
      * Validate info relative to a new netlist plugin
      */
-    void OnOKClick( wxCommandEvent& event );
+    void OnOKClick( wxCommandEvent& event ) override;
 
     /*
      * Browse plugin files, and set m_CommandStringCtrl field
      */
-    void OnBrowsePlugins( wxCommandEvent& event );
+    void OnBrowsePlugins( wxCommandEvent& event ) override;
 };
 
 
diff --git a/eeschema/dialogs/dialog_plot_schematic.h b/eeschema/dialogs/dialog_plot_schematic.h
index 69cf6c0..79ad300 100644
--- a/eeschema/dialogs/dialog_plot_schematic.h
+++ b/eeschema/dialogs/dialog_plot_schematic.h
@@ -63,10 +63,10 @@ public:
                                                         // and therefore should be saved
 
 private:
-    void OnPlotFormatSelection( wxCommandEvent& event );
-    void OnButtonPlotCurrentClick( wxCommandEvent& event );
-    void OnButtonPlotAllClick( wxCommandEvent& event );
-    void OnButtonCancelClick( wxCommandEvent& event );
+    void OnPlotFormatSelection( wxCommandEvent& event ) override;
+    void OnButtonPlotCurrentClick( wxCommandEvent& event ) override;
+    void OnButtonPlotAllClick( wxCommandEvent& event ) override;
+    void OnButtonCancelClick( wxCommandEvent& event ) override;
 
     void    initDlg();
 
@@ -82,7 +82,7 @@ private:
     /**
      * Set the m_outputDirectoryName variable to the selected directory from directory dialog.
      */
-    void OnOutputDirectoryBrowseClicked( wxCommandEvent& event );
+    void OnOutputDirectoryBrowseClicked( wxCommandEvent& event ) override;
 
     PlotFormat GetPlotFileFormat();
 
diff --git a/eeschema/dialogs/dialog_print_using_printer.cpp b/eeschema/dialogs/dialog_print_using_printer.cpp
index 2a1139c..a28020e 100644
--- a/eeschema/dialogs/dialog_print_using_printer.cpp
+++ b/eeschema/dialogs/dialog_print_using_printer.cpp
@@ -58,10 +58,10 @@ public:
     }
 
 private:
-    void OnCloseWindow( wxCloseEvent& event );
-    void OnPageSetup( wxCommandEvent& event );
-    void OnPrintPreview( wxCommandEvent& event );
-    void OnPrintButtonClick( wxCommandEvent& event );
+    void OnCloseWindow( wxCloseEvent& event ) override;
+    void OnPageSetup( wxCommandEvent& event ) override;
+    void OnPrintPreview( wxCommandEvent& event ) override;
+    void OnPrintButtonClick( wxCommandEvent& event ) override;
     void OnButtonCancelClick( wxCommandEvent& event ) { Close(); }
 
     void initDialog();
@@ -85,10 +85,10 @@ public:
         wxASSERT( aParent != NULL );
         m_parent = aParent;
     }
-    bool OnPrintPage( int page );
-    bool HasPage( int page );
-    bool OnBeginDocument( int startPage, int endPage );
-    void GetPageInfo( int* minPage, int* maxPage, int* selPageFrom, int* selPageTo );
+    bool OnPrintPage( int page ) override;
+    bool HasPage( int page ) override;
+    bool OnBeginDocument( int startPage, int endPage ) override;
+    void GetPageInfo( int* minPage, int* maxPage, int* selPageFrom, int* selPageTo ) override;
     void DrawPage( SCH_SCREEN* aScreen );
 };
 
diff --git a/eeschema/dialogs/dialog_rescue_each.cpp b/eeschema/dialogs/dialog_rescue_each.cpp
index 144e765..1c0b9e5 100644
--- a/eeschema/dialogs/dialog_rescue_each.cpp
+++ b/eeschema/dialogs/dialog_rescue_each.cpp
@@ -55,16 +55,16 @@ private:
     RESCUER*        m_Rescuer;
     bool            m_AskShowAgain;
 
-    bool TransferDataToWindow();
-    bool TransferDataFromWindow();
+    bool TransferDataToWindow() override;
+    bool TransferDataFromWindow() override;
     void PopulateConflictList();
     void PopulateInstanceList();
-    void OnConflictSelect( wxDataViewEvent& event );
-    void OnNeverShowClick( wxCommandEvent& event );
-    void OnCancelClick( wxCommandEvent& event );
-    void OnHandleCachePreviewRepaint( wxPaintEvent& aRepaintEvent );
-    void OnHandleLibraryPreviewRepaint( wxPaintEvent& aRepaintEvent );
-    void OnDialogResize( wxSizeEvent& aSizeEvent );
+    void OnConflictSelect( wxDataViewEvent& event ) override;
+    void OnNeverShowClick( wxCommandEvent& event ) override;
+    void OnCancelClick( wxCommandEvent& event ) override;
+    void OnHandleCachePreviewRepaint( wxPaintEvent& aRepaintEvent ) override;
+    void OnHandleLibraryPreviewRepaint( wxPaintEvent& aRepaintEvent ) override;
+    void OnDialogResize( wxSizeEvent& aSizeEvent ) override;
     void renderPreview( LIB_PART* aComponent, int aUnit, wxPanel* panel );
 };
 
diff --git a/eeschema/dialogs/dialog_schematic_find.h b/eeschema/dialogs/dialog_schematic_find.h
index 0a86947..3bd91a5 100644
--- a/eeschema/dialogs/dialog_schematic_find.h
+++ b/eeschema/dialogs/dialog_schematic_find.h
@@ -154,16 +154,16 @@ class DIALOG_SCH_FIND : public DIALOG_SCH_FIND_BASE
 {
 protected:
     // Handlers for DIALOG_SCH_FIND_BASE events.
-    void OnClose( wxCloseEvent& aEvent );
-    void OnUpdateFindUI( wxUpdateUIEvent& aEvent );
-    void OnUpdateReplaceUI( wxUpdateUIEvent& aEvent );
-    void OnUpdateReplaceAllUI( wxUpdateUIEvent& aEvent );
-    void OnUpdateWholeWordUI( wxUpdateUIEvent& aEvent );
-    void OnUpdateWildcardUI( wxUpdateUIEvent& aEvent );
-
-    void OnFind( wxCommandEvent& aEvent );
-    void OnReplace( wxCommandEvent& aEvent );
-    void OnCancel( wxCommandEvent& aEvent );
+    void OnClose( wxCloseEvent& aEvent ) override;
+    void OnUpdateFindUI( wxUpdateUIEvent& aEvent ) override;
+    void OnUpdateReplaceUI( wxUpdateUIEvent& aEvent ) override;
+    void OnUpdateReplaceAllUI( wxUpdateUIEvent& aEvent ) override;
+    void OnUpdateWholeWordUI( wxUpdateUIEvent& aEvent ) override;
+    void OnUpdateWildcardUI( wxUpdateUIEvent& aEvent ) override;
+
+    void OnFind( wxCommandEvent& aEvent ) override;
+    void OnReplace( wxCommandEvent& aEvent ) override;
+    void OnCancel( wxCommandEvent& aEvent ) override;
 
     void SendEvent( const wxEventType& aEventType );
 
diff --git a/eeschema/eeschema.cpp b/eeschema/eeschema.cpp
index 301280e..c95f9e4 100644
--- a/eeschema/eeschema.cpp
+++ b/eeschema/eeschema.cpp
@@ -65,9 +65,9 @@ static struct IFACE : public KIFACE_I
         KIFACE_I( aName, aType )
     {}
 
-    bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits );
+    bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) override;
 
-    void OnKifaceEnd();
+    void OnKifaceEnd() override;
 
     wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 )
     {
diff --git a/eeschema/lib_arc.h b/eeschema/lib_arc.h
index f1b7767..5f66f90 100644
--- a/eeschema/lib_arc.h
+++ b/eeschema/lib_arc.h
@@ -67,7 +67,7 @@ class LIB_ARC : public LIB_ITEM
     /**
      * Draw the graphics when the arc is being edited.
      */
-    void drawEditGraphics( EDA_RECT* aClipBox, wxDC* aDC, EDA_COLOR_T aColor );
+    void drawEditGraphics( EDA_RECT* aClipBox, wxDC* aDC, EDA_COLOR_T aColor ) override;
 
     /**
      * Calculates the center, radius, and angles at \a aPosition when the arc is being edited.
@@ -76,7 +76,7 @@ class LIB_ARC : public LIB_ITEM
      *
      * @param aPosition - The current mouse position in drawing coordinates.
      */
-    void calcEdit( const wxPoint& aPosition );
+    void calcEdit( const wxPoint& aPosition ) override;
 
     /**
      * Calculate the radius and angle of an arc using the start, end, and center points.
@@ -96,39 +96,39 @@ public:
     }
 
 
-    bool Save( OUTPUTFORMATTER& aFormatter );
+    bool Save( OUTPUTFORMATTER& aFormatter ) override;
 
-    bool Load( LINE_READER& aLineReader, wxString& aErrorMsg );
+    bool Load( LINE_READER& aLineReader, wxString& aErrorMsg ) override;
 
-    bool HitTest( const wxPoint& aPosition ) const;
+    bool HitTest( const wxPoint& aPosition ) const override;
 
-    bool HitTest( const wxPoint& aPosition, int aThreshold, const TRANSFORM& aTransform ) const;
+    bool HitTest( const wxPoint& aPosition, int aThreshold, const TRANSFORM& aTransform ) const override;
 
     const EDA_RECT GetBoundingBox() const;  // Virtual
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    int GetPenSize() const;
+    int GetPenSize() const override;
 
-    void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
+    void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ) override;
 
-    bool ContinueEdit( const wxPoint aNextPoint );
+    bool ContinueEdit( const wxPoint aNextPoint ) override;
 
-    void EndEdit( const wxPoint& aPosition, bool aAbort = false );
+    void EndEdit( const wxPoint& aPosition, bool aAbort = false ) override;
 
-    void SetOffset( const wxPoint& aOffset );
+    void SetOffset( const wxPoint& aOffset ) override;
 
-    bool Inside( EDA_RECT& aRect ) const;
+    bool Inside( EDA_RECT& aRect ) const override;
 
-    void Move( const wxPoint& aPosition );
+    void Move( const wxPoint& aPosition ) override;
 
     wxPoint GetPosition() const { return m_Pos; }
 
-    void MirrorHorizontal( const wxPoint& aCenter );
+    void MirrorHorizontal( const wxPoint& aCenter ) override;
 
-    void MirrorVertical( const wxPoint& aCenter );
+    void MirrorVertical( const wxPoint& aCenter ) override;
 
-    void Rotate( const wxPoint& aCenter, bool aRotateCCW = true );
+    void Rotate( const wxPoint& aCenter, bool aRotateCCW = true ) override;
 
     void Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
                const TRANSFORM& aTransform );
@@ -153,11 +153,11 @@ public:
 
     void SetEnd( const wxPoint& aPoint ) { m_ArcEnd = aPoint; }
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
     BITMAP_DEF GetMenuImage() const { return  add_arc_xpm; }
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 private:
 
@@ -170,7 +170,7 @@ private:
      *      - Arc start angle.
      *      - Arc end angle.
      */
-    int compare( const LIB_ITEM& aOther ) const;
+    int compare( const LIB_ITEM& aOther ) const override;
 };
 
 
diff --git a/eeschema/lib_bezier.h b/eeschema/lib_bezier.h
index 3049d7e..fd7ed5e 100644
--- a/eeschema/lib_bezier.h
+++ b/eeschema/lib_bezier.h
@@ -59,36 +59,36 @@ public:
     }
 
 
-    bool Save( OUTPUTFORMATTER& aFormatter );
+    bool Save( OUTPUTFORMATTER& aFormatter ) override;
 
-    bool Load( LINE_READER& aLineReader, wxString& aErrorMsg );
+    bool Load( LINE_READER& aLineReader, wxString& aErrorMsg ) override;
 
     void AddPoint( const wxPoint& aPoint ) { m_BezierPoints.push_back( aPoint ); }
 
-    void SetOffset( const wxPoint& aOffset );
+    void SetOffset( const wxPoint& aOffset ) override;
 
     /**
      * @return the number of corners
      */
     unsigned GetCornerCount() const { return m_PolyPoints.size(); }
 
-    bool HitTest( const wxPoint& aPosition ) const;
+    bool HitTest( const wxPoint& aPosition ) const override;
 
-    bool HitTest( const wxPoint& aPosRef, int aThreshold, const TRANSFORM& aTransform ) const;
+    bool HitTest( const wxPoint& aPosRef, int aThreshold, const TRANSFORM& aTransform ) const override;
 
     const EDA_RECT GetBoundingBox() const;  // Virtual
 
-    bool Inside( EDA_RECT& aRect ) const;
+    bool Inside( EDA_RECT& aRect ) const override;
 
-    void Move( const wxPoint& aPosition );
+    void Move( const wxPoint& aPosition ) override;
 
     wxPoint GetPosition() const { return m_PolyPoints[0]; }
 
-    void MirrorHorizontal( const wxPoint& aCenter );
+    void MirrorHorizontal( const wxPoint& aCenter ) override;
 
-    void MirrorVertical( const wxPoint& aCenter );
+    void MirrorVertical( const wxPoint& aCenter ) override;
 
-    void Rotate( const wxPoint& aCenter, bool aRotateCCW = true );
+    void Rotate( const wxPoint& aCenter, bool aRotateCCW = true ) override;
 
     void Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
                const TRANSFORM& aTransform );
@@ -97,11 +97,11 @@ public:
 
     void SetWidth( int aWidth ) { m_Width = aWidth; }
 
-    int GetPenSize( ) const;
+    int GetPenSize( ) const override;
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 private:
 
@@ -112,7 +112,7 @@ private:
      *      - Bezier horizontal (X) point position.
      *      - Bezier vertical (Y) point position.
      */
-    int compare( const LIB_ITEM& aOther ) const;
+    int compare( const LIB_ITEM& aOther ) const override;
 };
 
 
diff --git a/eeschema/lib_circle.h b/eeschema/lib_circle.h
index 2b95161..71f6110 100644
--- a/eeschema/lib_circle.h
+++ b/eeschema/lib_circle.h
@@ -42,7 +42,7 @@ class LIB_CIRCLE : public LIB_ITEM
                       EDA_COLOR_T aColor, GR_DRAWMODE aDrawMode, void* aData,
                       const TRANSFORM& aTransform );
 
-    void calcEdit( const wxPoint& aPosition );
+    void calcEdit( const wxPoint& aPosition ) override;
 
 public:
     LIB_CIRCLE( LIB_PART * aParent );
@@ -57,39 +57,39 @@ public:
     }
 
 
-    bool Save( OUTPUTFORMATTER& aFormatter );
+    bool Save( OUTPUTFORMATTER& aFormatter ) override;
 
-    bool Load( LINE_READER& aLineReader, wxString& aErrorMsg );
+    bool Load( LINE_READER& aLineReader, wxString& aErrorMsg ) override;
 
-    bool HitTest( const wxPoint& aPosition ) const;
+    bool HitTest( const wxPoint& aPosition ) const override;
 
-    bool HitTest( const wxPoint& aPosRef, int aThreshold, const TRANSFORM& aTransform ) const;
+    bool HitTest( const wxPoint& aPosRef, int aThreshold, const TRANSFORM& aTransform ) const override;
 
-    int GetPenSize( ) const;
+    int GetPenSize( ) const override;
 
     const EDA_RECT GetBoundingBox() const;  // Virtual
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
+    void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ) override;
 
-    bool ContinueEdit( const wxPoint aNextPoint );
+    bool ContinueEdit( const wxPoint aNextPoint ) override;
 
-    void EndEdit( const wxPoint& aPosition, bool aAbort = false );
+    void EndEdit( const wxPoint& aPosition, bool aAbort = false ) override;
 
-    void SetOffset( const wxPoint& aOffset );
+    void SetOffset( const wxPoint& aOffset ) override;
 
-    bool Inside( EDA_RECT& aRect ) const;
+    bool Inside( EDA_RECT& aRect ) const override;
 
-    void Move( const wxPoint& aPosition );
+    void Move( const wxPoint& aPosition ) override;
 
     wxPoint GetPosition() const { return m_Pos; }
 
-    void MirrorHorizontal( const wxPoint& aCenter );
+    void MirrorHorizontal( const wxPoint& aCenter ) override;
 
-    void MirrorVertical( const wxPoint& aCenter );
+    void MirrorVertical( const wxPoint& aCenter ) override;
 
-    void Rotate( const wxPoint& aCenter, bool aRotateCCW = true );
+    void Rotate( const wxPoint& aCenter, bool aRotateCCW = true ) override;
 
     void Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
                const TRANSFORM& aTransform );
@@ -102,11 +102,11 @@ public:
 
     int GetRadius() const { return m_Radius; }
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
     BITMAP_DEF GetMenuImage() const { return  add_circle_xpm; }
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 private:
 
@@ -118,7 +118,7 @@ private:
      *      - Circle vertical (Y) position.
      *      - Circle radius.
      */
-    int compare( const LIB_ITEM& aOther ) const;
+    int compare( const LIB_ITEM& aOther ) const override;
 };
 
 
diff --git a/eeschema/lib_draw_item.h b/eeschema/lib_draw_item.h
index 47ca7a4..c214ad6 100644
--- a/eeschema/lib_draw_item.h
+++ b/eeschema/lib_draw_item.h
@@ -274,7 +274,7 @@ public:
      * </p>
      * @param aList is the list to populate.
      */
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     /**
      * Test LIB_ITEM objects for equivalence.
diff --git a/eeschema/lib_field.h b/eeschema/lib_field.h
index e1d0f0f..ac40014 100644
--- a/eeschema/lib_field.h
+++ b/eeschema/lib_field.h
@@ -82,7 +82,7 @@ class LIB_FIELD : public LIB_ITEM, public EDA_TEXT
      *
      * @param aPosition - The position to edit the circle in drawing coordinates.
      */
-    void calcEdit( const wxPoint& aPosition );
+    void calcEdit( const wxPoint& aPosition ) override;
 
     friend class SCH_LEGACY_PLUGIN_CACHE;   // Required to access m_name.
 
@@ -137,11 +137,11 @@ public:
 
     void SetId( int aId ) { m_id = aId; }
 
-    int GetPenSize( ) const;
+    int GetPenSize( ) const override;
 
-    bool Save( OUTPUTFORMATTER& aFormatter );
+    bool Save( OUTPUTFORMATTER& aFormatter ) override;
 
-    bool Load( LINE_READER& aLineReader, wxString& errorMsg );
+    bool Load( LINE_READER& aLineReader, wxString& errorMsg ) override;
 
     /**
      * Copy parameters of this field to another field. Pointers are not copied.
@@ -172,11 +172,11 @@ public:
 
     const EDA_RECT GetBoundingBox() const;    // Virtual
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    bool HitTest( const wxPoint& aPosition ) const;
+    bool HitTest( const wxPoint& aPosition ) const override;
 
-    bool HitTest( const wxPoint &aPosition, int aThreshold, const TRANSFORM& aTransform ) const;
+    bool HitTest( const wxPoint &aPosition, int aThreshold, const TRANSFORM& aTransform ) const override;
 
     void operator=( const LIB_FIELD& field )
     {
@@ -210,15 +210,15 @@ public:
      */
     wxString GetFullText( int unit = 1 );
 
-    EDA_COLOR_T GetDefaultColor();
+    EDA_COLOR_T GetDefaultColor() override;
 
-    void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
+    void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ) override;
 
-    bool ContinueEdit( const wxPoint aNextPoint );
+    bool ContinueEdit( const wxPoint aNextPoint ) override;
 
-    void EndEdit( const wxPoint& aPosition, bool aAbort = false );
+    void EndEdit( const wxPoint& aPosition, bool aAbort = false ) override;
 
-    void Rotate();
+    void Rotate() override;
 
     /**
      * Sets the field text to \a aText.
@@ -231,21 +231,21 @@ public:
      *
      * @param aText - New text value.
      */
-    void SetText( const wxString& aText );
+    void SetText( const wxString& aText ) override;
 
-    void SetOffset( const wxPoint& aOffset );
+    void SetOffset( const wxPoint& aOffset ) override;
 
-    bool Inside( EDA_RECT& aRect ) const;
+    bool Inside( EDA_RECT& aRect ) const override;
 
-    void Move( const wxPoint& aPosition );
+    void Move( const wxPoint& aPosition ) override;
 
     wxPoint GetPosition() const { return m_Pos; }
 
-    void MirrorHorizontal( const wxPoint& aCenter );
+    void MirrorHorizontal( const wxPoint& aCenter ) override;
 
-    void MirrorVertical( const wxPoint& aCenter );
+    void MirrorVertical( const wxPoint& aCenter ) override;
 
-    void Rotate( const wxPoint& aCenter, bool aRotateCCW = true );
+    void Rotate( const wxPoint& aCenter, bool aRotateCCW = true ) override;
 
     void Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
                const TRANSFORM& aTransform );
@@ -254,11 +254,11 @@ public:
 
     void SetWidth( int aWidth ) { m_Thickness = aWidth; }
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
     BITMAP_DEF GetMenuImage() const { return  move_field_xpm; }
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 private:
 
@@ -274,7 +274,7 @@ private:
      *      - Field width.
      *      - Field height.
      */
-    int compare( const LIB_ITEM& aOther ) const;
+    int compare( const LIB_ITEM& aOther ) const override;
 };
 
 typedef std::vector< LIB_FIELD > LIB_FIELDS;
diff --git a/eeschema/lib_pin.h b/eeschema/lib_pin.h
index a40b0f7..25f966d 100644
--- a/eeschema/lib_pin.h
+++ b/eeschema/lib_pin.h
@@ -108,17 +108,17 @@ public:
     void Show( int nestLevel, std::ostream& os ) const;   // virtual override
 #endif
 
-    bool Save( OUTPUTFORMATTER& aFormatter );
+    bool Save( OUTPUTFORMATTER& aFormatter ) override;
 
-    bool Load( LINE_READER& aLineReader, wxString& aErrorMsg );
+    bool Load( LINE_READER& aLineReader, wxString& aErrorMsg ) override;
 
-    bool HitTest( const wxPoint& aPosition ) const;
+    bool HitTest( const wxPoint& aPosition ) const override;
 
-    bool HitTest( const wxPoint &aPosRef, int aThreshold, const TRANSFORM& aTransform ) const;
+    bool HitTest( const wxPoint &aPosRef, int aThreshold, const TRANSFORM& aTransform ) const override;
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation );
+    bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) override;
 
     /* Cannot use a default parameter here as it will not be compatible with the virtual. */
     const EDA_RECT GetBoundingBox() const { return GetBoundingBox( false ); }
@@ -230,7 +230,7 @@ public:
      */
     void SetOrientation( int aOrientation );
 
-    void Rotate();
+    void Rotate() override;
 
     GRAPHIC_PINSHAPE GetShape() const { return m_shape; }
 
@@ -363,7 +363,7 @@ public:
      */
     bool IsPowerConnection() const { return !IsVisible() && GetType() == PIN_POWER_IN; }
 
-    int GetPenSize() const;
+    int GetPenSize() const override;
 
     /**
      * Function DrawPinSymbol
@@ -440,32 +440,32 @@ public:
      */
     static int GetOrientationCodeIndex( int aCode );
 
-    void SetOffset( const wxPoint& aOffset );
+    void SetOffset( const wxPoint& aOffset ) override;
 
-    bool Inside( EDA_RECT& aRect ) const;
+    bool Inside( EDA_RECT& aRect ) const override;
 
-    void Move( const wxPoint& aPosition );
+    void Move( const wxPoint& aPosition ) override;
 
     wxPoint GetPosition() const { return m_position; }
 
-    void MirrorHorizontal( const wxPoint& aCenter );
+    void MirrorHorizontal( const wxPoint& aCenter ) override;
 
-    void MirrorVertical( const wxPoint& aCenter );
+    void MirrorVertical( const wxPoint& aCenter ) override;
 
-    void Rotate( const wxPoint& aCenter, bool aRotateCCW = true );
+    void Rotate( const wxPoint& aCenter, bool aRotateCCW = true ) override;
 
     void Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
                const TRANSFORM& aTransform );
 
     int GetWidth() const { return m_width; }
 
-    void SetWidth( int aWidth );
+    void SetWidth( int aWidth ) override;
 
-    BITMAP_DEF GetMenuImage() const;
+    BITMAP_DEF GetMenuImage() const override;
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 private:
 
@@ -478,7 +478,7 @@ private:
      *      - Pin horizontal (X) position.
      *      - Pin vertical (Y) position.
      */
-    int compare( const LIB_ITEM& aOther ) const;
+    int compare( const LIB_ITEM& aOther ) const override;
 };
 
 
diff --git a/eeschema/lib_polyline.h b/eeschema/lib_polyline.h
index 88e397f..1bbfe35 100644
--- a/eeschema/lib_polyline.h
+++ b/eeschema/lib_polyline.h
@@ -43,7 +43,7 @@ class LIB_POLYLINE : public LIB_ITEM
                       EDA_COLOR_T aColor, GR_DRAWMODE aDrawMode, void* aData,
                       const TRANSFORM& aTransform );
 
-    void calcEdit( const wxPoint& aPosition );
+    void calcEdit( const wxPoint& aPosition ) override;
 
 public:
     LIB_POLYLINE( LIB_PART * aParent );
@@ -58,9 +58,9 @@ public:
     }
 
 
-    bool Save( OUTPUTFORMATTER& aFormatter );
+    bool Save( OUTPUTFORMATTER& aFormatter ) override;
 
-    bool Load( LINE_READER& aLineReader, wxString& aErrorMsg );
+    bool Load( LINE_READER& aLineReader, wxString& aErrorMsg ) override;
 
     void AddPoint( const wxPoint& aPoint );
 
@@ -74,35 +74,35 @@ public:
      */
     unsigned GetCornerCount() const { return m_PolyPoints.size(); }
 
-    bool HitTest( const wxPoint& aPosition ) const;
+    bool HitTest( const wxPoint& aPosition ) const override;
 
-    bool HitTest( const wxPoint &aPosition, int aThreshold, const TRANSFORM& aTransform ) const;
+    bool HitTest( const wxPoint &aPosition, int aThreshold, const TRANSFORM& aTransform ) const override;
 
     const EDA_RECT GetBoundingBox() const;    // Virtual
 
-    int GetPenSize( ) const;
+    int GetPenSize( ) const override;
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
+    void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ) override;
 
-    bool ContinueEdit( const wxPoint aNextPoint );
+    bool ContinueEdit( const wxPoint aNextPoint ) override;
 
-    void EndEdit( const wxPoint& aPosition, bool aAbort = false );
+    void EndEdit( const wxPoint& aPosition, bool aAbort = false ) override;
 
-    void SetOffset( const wxPoint& aOffset );
+    void SetOffset( const wxPoint& aOffset ) override;
 
-    bool Inside( EDA_RECT& aRect ) const;
+    bool Inside( EDA_RECT& aRect ) const override;
 
-    void Move( const wxPoint& aPosition );
+    void Move( const wxPoint& aPosition ) override;
 
     wxPoint GetPosition() const { return m_PolyPoints[0]; }
 
-    void MirrorHorizontal( const wxPoint& aCenter );
+    void MirrorHorizontal( const wxPoint& aCenter ) override;
 
-    void MirrorVertical( const wxPoint& aCenter );
+    void MirrorVertical( const wxPoint& aCenter ) override;
 
-    void Rotate( const wxPoint& aCenter, bool aRotateCCW = true );
+    void Rotate( const wxPoint& aCenter, bool aRotateCCW = true ) override;
 
     void Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
                const TRANSFORM& aTransform );
@@ -111,11 +111,11 @@ public:
 
     void SetWidth( int aWidth ) { m_Width = aWidth; }
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
     BITMAP_DEF GetMenuImage() const { return  add_polygon_xpm; }
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 private:
 
@@ -126,7 +126,7 @@ private:
      *      - Line segment point horizontal (X) position.
      *      - Line segment point vertical (Y) position.
      */
-    int compare( const LIB_ITEM& aOther ) const;
+    int compare( const LIB_ITEM& aOther ) const override;
 };
 
 
diff --git a/eeschema/lib_rectangle.h b/eeschema/lib_rectangle.h
index 9a50e06..23865f8 100644
--- a/eeschema/lib_rectangle.h
+++ b/eeschema/lib_rectangle.h
@@ -45,7 +45,7 @@ class LIB_RECTANGLE  : public LIB_ITEM
                       EDA_COLOR_T aColor, GR_DRAWMODE aDrawMode, void* aData,
                       const TRANSFORM& aTransform );
 
-    void calcEdit( const wxPoint& aPosition );
+    void calcEdit( const wxPoint& aPosition ) override;
 
 public:
     LIB_RECTANGLE( LIB_PART * aParent );
@@ -61,39 +61,39 @@ public:
 
     void SetEndPosition( const wxPoint& aPosition ) { m_End = aPosition; }
 
-    bool Save( OUTPUTFORMATTER& aFormatter );
+    bool Save( OUTPUTFORMATTER& aFormatter ) override;
 
-    bool Load( LINE_READER& aLineReader, wxString& aErrorMsg );
+    bool Load( LINE_READER& aLineReader, wxString& aErrorMsg ) override;
 
-    bool HitTest( const wxPoint& aPosition ) const;
+    bool HitTest( const wxPoint& aPosition ) const override;
 
-    bool HitTest( const wxPoint &aPosRef, int aThreshold, const TRANSFORM& aTransform ) const;
+    bool HitTest( const wxPoint &aPosRef, int aThreshold, const TRANSFORM& aTransform ) const override;
 
-    int GetPenSize( ) const;
+    int GetPenSize( ) const override;
 
     const EDA_RECT GetBoundingBox() const;    // Virtual
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
+    void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ) override;
 
-    bool ContinueEdit( const wxPoint aNextPoint );
+    bool ContinueEdit( const wxPoint aNextPoint ) override;
 
-    void EndEdit( const wxPoint& aPosition, bool aAbort = false );
+    void EndEdit( const wxPoint& aPosition, bool aAbort = false ) override;
 
-    void SetOffset( const wxPoint& aOffset );
+    void SetOffset( const wxPoint& aOffset ) override;
 
-    bool Inside( EDA_RECT& aRect ) const;
+    bool Inside( EDA_RECT& aRect ) const override;
 
-    void Move( const wxPoint& aPosition );
+    void Move( const wxPoint& aPosition ) override;
 
     wxPoint GetPosition() const { return m_Pos; }
 
-    void MirrorHorizontal( const wxPoint& aCenter );
+    void MirrorHorizontal( const wxPoint& aCenter ) override;
 
-    void MirrorVertical( const wxPoint& aCenter );
+    void MirrorVertical( const wxPoint& aCenter ) override;
 
-    void Rotate( const wxPoint& aCenter, bool aRotateCCW = true );
+    void Rotate( const wxPoint& aCenter, bool aRotateCCW = true ) override;
 
     void Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
                const TRANSFORM& aTransform );
@@ -106,11 +106,11 @@ public:
 
     wxPoint GetEnd() const { return m_End; }
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
     BITMAP_DEF GetMenuImage() const { return  add_rectangle_xpm; }
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 private:
 
@@ -123,7 +123,7 @@ private:
      *      - Rectangle horizontal (X) end position.
      *      - Rectangle vertical (Y) end position.
      */
-    int compare( const LIB_ITEM& aOther ) const;
+    int compare( const LIB_ITEM& aOther ) const override;
 };
 
 
diff --git a/eeschema/lib_text.h b/eeschema/lib_text.h
index 518678b..c943df8 100644
--- a/eeschema/lib_text.h
+++ b/eeschema/lib_text.h
@@ -52,7 +52,7 @@ class LIB_TEXT : public LIB_ITEM, public EDA_TEXT
                       EDA_COLOR_T aColor, GR_DRAWMODE aDrawMode, void* aData,
                       const TRANSFORM& aTransform );
 
-    void calcEdit( const wxPoint& aPosition );
+    void calcEdit( const wxPoint& aPosition ) override;
 
 public:
     LIB_TEXT( LIB_PART * aParent );
@@ -76,15 +76,15 @@ public:
      *
      * @param aText - New text value.
      */
-    void SetText( const wxString& aText );
+    void SetText( const wxString& aText ) override;
 
-    bool Save( OUTPUTFORMATTER& aFormatter );
+    bool Save( OUTPUTFORMATTER& aFormatter ) override;
 
-    bool Load( LINE_READER& aLineReader, wxString& aErrorMsg );
+    bool Load( LINE_READER& aLineReader, wxString& aErrorMsg ) override;
 
-    bool HitTest( const wxPoint& aPosition ) const;
+    bool HitTest( const wxPoint& aPosition ) const override;
 
-    bool HitTest( const wxPoint &aPosition, int aThreshold, const TRANSFORM& aTransform ) const;
+    bool HitTest( const wxPoint &aPosition, int aThreshold, const TRANSFORM& aTransform ) const override;
 
     bool HitTest( const EDA_RECT& aRect ) const
     {
@@ -92,33 +92,33 @@ public:
     }
 
 
-    int GetPenSize( ) const;
+    int GetPenSize( ) const override;
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     const EDA_RECT GetBoundingBox() const;  // virtual
 
-    void Rotate();
+    void Rotate() override;
 
-    void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
+    void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ) override;
 
-    bool ContinueEdit( const wxPoint aNextPoint );
+    bool ContinueEdit( const wxPoint aNextPoint ) override;
 
-    void EndEdit( const wxPoint& aPosition, bool aAbort = false );
+    void EndEdit( const wxPoint& aPosition, bool aAbort = false ) override;
 
-    void SetOffset( const wxPoint& aOffset );
+    void SetOffset( const wxPoint& aOffset ) override;
 
-    bool Inside( EDA_RECT& aRect ) const;
+    bool Inside( EDA_RECT& aRect ) const override;
 
-    void Move( const wxPoint& aPosition );
+    void Move( const wxPoint& aPosition ) override;
 
     wxPoint GetPosition() const { return m_Pos; }
 
-    void MirrorHorizontal( const wxPoint& aCenter );
+    void MirrorHorizontal( const wxPoint& aCenter ) override;
 
-    void MirrorVertical( const wxPoint& aCenter );
+    void MirrorVertical( const wxPoint& aCenter ) override;
 
-    void Rotate( const wxPoint& aCenter, bool aRotateCCW = true );
+    void Rotate( const wxPoint& aCenter, bool aRotateCCW = true ) override;
 
     void Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
                const TRANSFORM& aTransform );
@@ -127,11 +127,11 @@ public:
 
     void SetWidth( int aWidth ) { m_Thickness = aWidth; }
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
     BITMAP_DEF GetMenuImage() const { return  add_text_xpm; }
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 private:
 
@@ -145,7 +145,7 @@ private:
      *      - Text width.
      *      - Text height.
      */
-    int compare( const LIB_ITEM& aOther ) const;
+    int compare( const LIB_ITEM& aOther ) const override;
 };
 
 
diff --git a/eeschema/libeditframe.h b/eeschema/libeditframe.h
index 49f569c..c920551 100644
--- a/eeschema/libeditframe.h
+++ b/eeschema/libeditframe.h
@@ -180,7 +180,7 @@ public:
     void SetRepeatPinStep( int aStep) { m_repeatPinStep = aStep; }
 
 
-    void ReCreateMenuBar();
+    void ReCreateMenuBar() override;
 
     /**
      * Function EnsureActiveLibExists
@@ -313,27 +313,27 @@ public:
      * Display reference like in schematic (a reference U is shown U? or U?A)
      * update status bar and info shown in the bottom of the window
      */
-    void RedrawActiveWindow( wxDC* DC, bool EraseBg );
+    void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
 
     void OnCloseWindow( wxCloseEvent& Event );
-    void ReCreateHToolbar();
-    void ReCreateVToolbar();
+    void ReCreateHToolbar() override;
+    void ReCreateVToolbar() override;
     void CreateOptionToolbar();
-    void OnLeftClick( wxDC* DC, const wxPoint& MousePos );
-    bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
+    void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override;
+    bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) override;
     double BestZoom();         // Returns the best zoom
-    void OnLeftDClick( wxDC* DC, const wxPoint& MousePos );
+    void OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) override;
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const;
+    EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
 
-    bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL );
+    bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
 
-    bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
 
-    void LoadSettings( wxConfigBase* aCfg );
+    void LoadSettings( wxConfigBase* aCfg ) override;
 
-    void SaveSettings( wxConfigBase* aCfg );
+    void SaveSettings( wxConfigBase* aCfg ) override;
 
     /**
      * Function CloseWindow
@@ -429,7 +429,7 @@ private:
      * The library list can be changed by the schematic editor after reloading a new schematic
      * and the current library can point a non existent lib.
      */
-    virtual void OnActivate( wxActivateEvent& event );
+    virtual void OnActivate( wxActivateEvent& event ) override;
 
     // General:
 
@@ -609,13 +609,13 @@ public:
      * returns the block command (BLOCK_MOVE, BLOCK_COPY...) corresponding to
      * the \a aKey (ALT, SHIFT ALT ..)
      */
-    virtual int BlockCommand( EDA_KEY aKey );
+    virtual int BlockCommand( EDA_KEY aKey ) override;
 
     /**
      * Function HandleBlockPlace
      * handles the block place command.
      */
-    virtual void HandleBlockPlace( wxDC* DC );
+    virtual void HandleBlockPlace( wxDC* DC ) override;
 
     /**
      * Function HandleBlockEnd
@@ -623,7 +623,7 @@ public:
      * @return If command finished (zoom, delete ...) false is returned otherwise true
      *         is returned indicating more processing is required.
      */
-    virtual bool HandleBlockEnd( wxDC* DC );
+    virtual bool HandleBlockEnd( wxDC* DC ) override;
 
     /**
      * Function PlacePin
diff --git a/eeschema/netlist_exporters/netlist_exporter_cadstar.h b/eeschema/netlist_exporters/netlist_exporter_cadstar.h
index 909e1bd..0c8cbf9 100644
--- a/eeschema/netlist_exporters/netlist_exporter_cadstar.h
+++ b/eeschema/netlist_exporters/netlist_exporter_cadstar.h
@@ -56,7 +56,7 @@ public:
      * Function WriteList
      * writes to specified output file
      */
-    bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions );
+    bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions ) override;
 };
 
 #endif
diff --git a/eeschema/netlist_exporters/netlist_exporter_generic.h b/eeschema/netlist_exporters/netlist_exporter_generic.h
index 71d3e51..98366df 100644
--- a/eeschema/netlist_exporters/netlist_exporter_generic.h
+++ b/eeschema/netlist_exporters/netlist_exporter_generic.h
@@ -63,7 +63,7 @@ public:
      * Function WriteNetlist
      * writes to specified output file
      */
-    bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions );
+    bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions ) override;
 
 #define GNL_ALL     ( GNL_LIBRARIES | GNL_COMPONENTS | GNL_PARTS | GNL_HEADER | GNL_NETS )
 
diff --git a/eeschema/netlist_exporters/netlist_exporter_orcadpcb2.h b/eeschema/netlist_exporters/netlist_exporter_orcadpcb2.h
index 06fcf10..1765d24 100644
--- a/eeschema/netlist_exporters/netlist_exporter_orcadpcb2.h
+++ b/eeschema/netlist_exporters/netlist_exporter_orcadpcb2.h
@@ -40,7 +40,7 @@ public:
     {
     }
 
-    bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions );
+    bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions ) override;
 };
 
 #endif
diff --git a/eeschema/netlist_exporters/netlist_exporter_pspice.h b/eeschema/netlist_exporters/netlist_exporter_pspice.h
index 980d0b2..be7207f 100644
--- a/eeschema/netlist_exporters/netlist_exporter_pspice.h
+++ b/eeschema/netlist_exporters/netlist_exporter_pspice.h
@@ -126,7 +126,7 @@ public:
      * Function WriteNetlist
      * writes to specified output file
      */
-    bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions );
+    bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions ) override;
 
     ///> @copydoc NETLIST_EXPORTER::Format()
     bool Format( OUTPUTFORMATTER* aFormatter, unsigned aCtl );
diff --git a/eeschema/sch_base_frame.h b/eeschema/sch_base_frame.h
index c99e1a6..8ad2bad 100644
--- a/eeschema/sch_base_frame.h
+++ b/eeschema/sch_base_frame.h
@@ -96,7 +96,7 @@ public:
      * level indicator in dialogs.
      * Virtual from the base class
      */
-    const wxString GetZoomLevelIndicator() const;
+    const wxString GetZoomLevelIndicator() const override;
 
     void SetPageSettings( const PAGE_INFO& aPageSettings );     // overload EDA_DRAW_FRAME
     const PAGE_INFO& GetPageSettings () const;                  // overload EDA_DRAW_FRAME
@@ -114,8 +114,8 @@ public:
 
     // Virtual from EDA_DRAW_FRAME
     // the background color of the draw canvas:
-    EDA_COLOR_T GetDrawBgColor() const;
-    void SetDrawBgColor( EDA_COLOR_T aColor);
+    EDA_COLOR_T GetDrawBgColor() const override;
+    void SetDrawBgColor( EDA_COLOR_T aColor) override;
 
     const TITLE_BLOCK& GetTitleBlock() const;                   // overload EDA_DRAW_FRAME
     void SetTitleBlock( const TITLE_BLOCK& aTitleBlock );       // overload EDA_DRAW_FRAME
diff --git a/eeschema/sch_bitmap.h b/eeschema/sch_bitmap.h
index 29d0252..dd429c7 100644
--- a/eeschema/sch_bitmap.h
+++ b/eeschema/sch_bitmap.h
@@ -96,7 +96,7 @@ public:
 
     const EDA_RECT GetBoundingBox() const;    // Virtual
 
-    void SwapData( SCH_ITEM* aItem );
+    void SwapData( SCH_ITEM* aItem ) override;
 
     void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
                GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
@@ -110,9 +110,9 @@ public:
      */
     bool ReadImageFile( const wxString& aFullFilename );
 
-    bool Save( FILE* aFile ) const;
+    bool Save( FILE* aFile ) const override;
 
-    bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
     void Move( const wxPoint& aMoveVector )
     {
@@ -120,13 +120,13 @@ public:
     }
 
 
-    void MirrorY( int aYaxis_position );
+    void MirrorY( int aYaxis_position ) override;
 
-    void MirrorX( int aXaxis_position );
+    void MirrorX( int aXaxis_position ) override;
 
-    void Rotate( wxPoint aPosition );
+    void Rotate( wxPoint aPosition ) override;
 
-    bool IsSelectStateChanged( const wxRect& aRect );
+    bool IsSelectStateChanged( const wxRect& aRect ) override;
 
     wxString GetSelectMenuText() const { return wxString( _( "Image" ) ); }
 
@@ -136,13 +136,13 @@ public:
 
     void SetPosition( const wxPoint& aPosition ) { m_pos = aPosition; }
 
-    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const;
+    bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const override;
 
-    void Plot( PLOTTER* aPlotter );
+    void Plot( PLOTTER* aPlotter ) override;
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
     void Show( int nestLevel, std::ostream& os ) const;     // override
diff --git a/eeschema/sch_bus_entry.h b/eeschema/sch_bus_entry.h
index 5de14e6..aff3b18 100644
--- a/eeschema/sch_bus_entry.h
+++ b/eeschema/sch_bus_entry.h
@@ -80,7 +80,7 @@ public:
 
     void SetSize( const wxSize& aSize ) { m_size = aSize; }
 
-    void SwapData( SCH_ITEM* aItem );
+    void SwapData( SCH_ITEM* aItem ) override;
 
     void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
                GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
@@ -95,23 +95,23 @@ public:
     }
 
 
-    void MirrorY( int aYaxis_position );
+    void MirrorY( int aYaxis_position ) override;
 
-    void MirrorX( int aXaxis_position );
+    void MirrorX( int aXaxis_position ) override;
 
-    void Rotate( wxPoint aPosition );
+    void Rotate( wxPoint aPosition ) override;
 
-    void GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList );
+    void GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList ) override;
 
-    bool IsDanglingStateChanged( std::vector<DANGLING_END_ITEM>& aItemList );
+    bool IsDanglingStateChanged( std::vector<DANGLING_END_ITEM>& aItemList ) override;
 
-    bool IsDangling() const;
+    bool IsDangling() const override;
 
-    bool IsSelectStateChanged( const wxRect& aRect );
+    bool IsSelectStateChanged( const wxRect& aRect ) override;
 
     bool IsConnectable() const { return true; }
 
-    void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const;
+    void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const override;
 
     BITMAP_DEF GetMenuImage() const { return  add_entry_xpm; }
 
@@ -119,11 +119,11 @@ public:
 
     void SetPosition( const wxPoint& aPosition ) { m_pos = aPosition; }
 
-    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const;
+    bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const override;
 
-    void Plot( PLOTTER* aPlotter );
+    void Plot( PLOTTER* aPlotter ) override;
 
 #if defined(DEBUG)
     void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); } // override
@@ -147,13 +147,13 @@ public:
         return wxT( "SCH_BUS_WIRE_ENTRY" );
     }
 
-    bool Save( FILE* aFile ) const;
+    bool Save( FILE* aFile ) const override;
 
-    int GetPenSize() const;
+    int GetPenSize() const override;
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 };
 
 /**
@@ -173,13 +173,13 @@ public:
         return wxT( "SCH_BUS_BUS_ENTRY" );
     }
 
-    bool Save( FILE* aFile ) const;
+    bool Save( FILE* aFile ) const override;
 
-    int GetPenSize() const;
+    int GetPenSize() const override;
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 };
 
 #endif    // _SCH_BUS_ENTRY_H_
diff --git a/eeschema/sch_component.h b/eeschema/sch_component.h
index c8055fa..3f261fc 100644
--- a/eeschema/sch_component.h
+++ b/eeschema/sch_component.h
@@ -210,9 +210,9 @@ public:
      */
     int GetUnitCount() const;
 
-    bool Save( FILE* aFile ) const;
+    bool Save( FILE* aFile ) const override;
 
-    bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
     /**
      * Function SetOrientation
@@ -247,7 +247,7 @@ public:
      */
     wxPoint GetScreenCoord( const wxPoint& aPoint );
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     /**
      * Function ClearAnnotation
@@ -397,7 +397,7 @@ public:
                GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor,
                bool aDrawPinText );
 
-    void SwapData( SCH_ITEM* aItem );
+    void SwapData( SCH_ITEM* aItem ) override;
 
     // returns a unique ID, in the form of a path.
     wxString GetPath( const SCH_SHEET_PATH* sheet ) const;
@@ -461,15 +461,15 @@ public:
         SetModified();
     }
 
-    void MirrorY( int aYaxis_position );
+    void MirrorY( int aYaxis_position ) override;
 
-    void MirrorX( int aXaxis_position );
+    void MirrorX( int aXaxis_position ) override;
 
-    void Rotate( wxPoint aPosition );
+    void Rotate( wxPoint aPosition ) override;
 
-    bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation );
+    bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) override;
 
-    void GetEndPoints( std::vector<DANGLING_END_ITEM>& aItemList );
+    void GetEndPoints( std::vector<DANGLING_END_ITEM>& aItemList ) override;
 
     /**
      * Test if the component's dangling state has changed for one given pin index. As
@@ -490,17 +490,17 @@ public:
      * @param aItemList - list of all DANGLING_END_ITEMs to be tested
      * @return true if any pin's state has changed.
      */
-    bool IsDanglingStateChanged( std::vector<DANGLING_END_ITEM>& aItemList );
+    bool IsDanglingStateChanged( std::vector<DANGLING_END_ITEM>& aItemList ) override;
 
     /**
      * Return whether any pin has dangling status. Does NOT update the internal status,
      * only checks the existing status.
      */
-    bool IsDangling() const;
+    bool IsDangling() const override;
 
     wxPoint GetPinPhysicalPosition( LIB_PIN* Pin );
 
-    bool IsSelectStateChanged( const wxRect& aRect );
+    bool IsSelectStateChanged( const wxRect& aRect ) override;
 
     bool IsConnectable() const { return true; }
 
@@ -511,7 +511,7 @@ public:
      */
     bool IsInNetlist() const;
 
-    void GetConnectionPoints( std::vector<wxPoint>& aPoints ) const;
+    void GetConnectionPoints( std::vector<wxPoint>& aPoints ) const override;
 
     SEARCH_RESULT Visit( INSPECTOR inspector, void* testData, const KICAD_T scanTypes[] ) override;
 
@@ -525,14 +525,14 @@ public:
      */
     LIB_ITEM* GetDrawItem( const wxPoint& aPosition, KICAD_T aType = TYPE_NOT_INIT );
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
     BITMAP_DEF GetMenuImage() const { return  add_component_xpm; }
 
     void GetNetListItem( NETLIST_OBJECT_LIST& aNetListItems,
                          SCH_SHEET_PATH*      aSheetPath );
 
-    bool operator <( const SCH_ITEM& aItem ) const;
+    bool operator <( const SCH_ITEM& aItem ) const override;
 
     bool operator==( const SCH_COMPONENT& aComponent) const;
     bool operator!=( const SCH_COMPONENT& aComponent) const;
@@ -545,20 +545,20 @@ public:
 
     void SetPosition( const wxPoint& aPosition ) { Move( aPosition - m_Pos ); }
 
-    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const;
+    bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const override;
 
-    void Plot( PLOTTER* aPlotter );
+    void Plot( PLOTTER* aPlotter ) override;
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
     void Show( int nestLevel, std::ostream& os ) const;     // override
 #endif
 
 private:
-    bool doIsConnected( const wxPoint& aPosition ) const;
+    bool doIsConnected( const wxPoint& aPosition ) const override;
 };
 
 
diff --git a/eeschema/sch_field.h b/eeschema/sch_field.h
index d01deb3..4c1972a 100644
--- a/eeschema/sch_field.h
+++ b/eeschema/sch_field.h
@@ -120,7 +120,7 @@ public:
         return len == 0 || ( len == 1 && m_Text[0] == wxChar( '~' ) );
     }
 
-    void SwapData( SCH_ITEM* aItem );
+    void SwapData( SCH_ITEM* aItem ) override;
 
     /**
      * Function ImportValues
@@ -130,7 +130,7 @@ public:
      */
     void ImportValues( const LIB_FIELD& aSource );
 
-    int GetPenSize() const;
+    int GetPenSize() const override;
 
     /**
      * Function IsVisible
@@ -144,7 +144,7 @@ public:
     void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
                GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
 
-    bool Save( FILE* aFile ) const;
+    bool Save( FILE* aFile ) const override;
 
     // Geometric transforms (used in block operations):
 
@@ -154,7 +154,7 @@ public:
     }
 
 
-    void Rotate( wxPoint aPosition );
+    void Rotate( wxPoint aPosition ) override;
 
     /**
      * @copydoc SCH_ITEM::MirrorX()
@@ -178,29 +178,29 @@ public:
     {
     }
 
-    bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation );
+    bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) override;
 
-    bool Replace( wxFindReplaceData& aSearchData, void* aAuxData = NULL );
+    bool Replace( wxFindReplaceData& aSearchData, void* aAuxData = NULL ) override;
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
-    BITMAP_DEF GetMenuImage() const;
+    BITMAP_DEF GetMenuImage() const override;
 
     bool IsReplaceable() const { return true; }
 
     wxPoint GetLibPosition() const { return m_Pos; }
 
-    wxPoint GetPosition() const;
+    wxPoint GetPosition() const override;
 
-    void SetPosition( const wxPoint& aPosition );
+    void SetPosition( const wxPoint& aPosition ) override;
 
-    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const;
+    bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const override;
 
-    void Plot( PLOTTER* aPlotter );
+    void Plot( PLOTTER* aPlotter ) override;
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
     void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); } // override
diff --git a/eeschema/sch_junction.h b/eeschema/sch_junction.h
index 0e93d84..eb62725 100644
--- a/eeschema/sch_junction.h
+++ b/eeschema/sch_junction.h
@@ -53,60 +53,60 @@ public:
     static int GetSymbolSize() { return m_symbolSize; }
     static void SetSymbolSize( int aSize ) { m_symbolSize = aSize; }
 
-    void SwapData( SCH_ITEM* aItem );
+    void SwapData( SCH_ITEM* aItem ) override;
 
     const EDA_RECT GetBoundingBox() const;    // Virtual
 
     void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
                GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
 
-    bool Save( FILE* aFile ) const;
+    bool Save( FILE* aFile ) const override;
 
-    bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
     void Move( const wxPoint& aMoveVector )
     {
         m_pos += aMoveVector;
     }
 
-    void MirrorY( int aYaxis_position );
+    void MirrorY( int aYaxis_position ) override;
 
-    void MirrorX( int aXaxis_position );
+    void MirrorX( int aXaxis_position ) override;
 
-    void Rotate( wxPoint aPosition );
+    void Rotate( wxPoint aPosition ) override;
 
-    void GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList );
+    void GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList ) override;
 
-    bool IsSelectStateChanged( const wxRect& aRect );
+    bool IsSelectStateChanged( const wxRect& aRect ) override;
 
     bool IsConnectable() const { return true; }
 
-    void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const;
+    void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const override;
 
     wxString GetSelectMenuText() const { return wxString( _( "Junction" ) ); }
 
     BITMAP_DEF GetMenuImage() const { return  add_junction_xpm; }
 
-    void GetNetListItem( NETLIST_OBJECT_LIST& aNetListItems, SCH_SHEET_PATH* aSheetPath );
+    void GetNetListItem( NETLIST_OBJECT_LIST& aNetListItems, SCH_SHEET_PATH* aSheetPath ) override;
 
     wxPoint GetPosition() const { return m_pos; }
 
     void SetPosition( const wxPoint& aPosition ) { m_pos = aPosition; }
 
-    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
     bool HitTest( const EDA_RECT& aRect, bool aContained = false,
                           int aAccuracy = 0 ) const;
-    void Plot( PLOTTER* aPlotter );
+    void Plot( PLOTTER* aPlotter ) override;
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
     void Show( int nestLevel, std::ostream& os ) const;     // override
 #endif
 
 private:
-    bool doIsConnected( const wxPoint& aPosition ) const;
+    bool doIsConnected( const wxPoint& aPosition ) const override;
 };
 
 
diff --git a/eeschema/sch_legacy_plugin.h b/eeschema/sch_legacy_plugin.h
index 78973b0..82a3f05 100644
--- a/eeschema/sch_legacy_plugin.h
+++ b/eeschema/sch_legacy_plugin.h
@@ -92,7 +92,7 @@ public:
                      const PROPERTIES* aProperties = NULL );
 
     // Temporary for testing using PART_LIB instead of SCH_PLUGIN.
-    void TransferCache( PART_LIB& aTarget );
+    void TransferCache( PART_LIB& aTarget ) override;
 
 private:
     void loadHierarchy( SCH_SHEET* aSheet );
diff --git a/eeschema/sch_line.h b/eeschema/sch_line.h
index 87a3972..e89a45e 100644
--- a/eeschema/sch_line.h
+++ b/eeschema/sch_line.h
@@ -87,19 +87,19 @@ public:
     void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
                GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
 
-    bool Save( FILE* aFile ) const;
+    bool Save( FILE* aFile ) const override;
 
-    bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
-    int GetPenSize() const;
+    int GetPenSize() const override;
 
-    void Move( const wxPoint& aMoveVector );
+    void Move( const wxPoint& aMoveVector ) override;
 
-    void MirrorX( int aXaxis_position );
+    void MirrorX( int aXaxis_position ) override;
 
-    void MirrorY( int aYaxis_position );
+    void MirrorY( int aYaxis_position ) override;
 
-    void Rotate( wxPoint aPosition );
+    void Rotate( wxPoint aPosition ) override;
 
     /**
      * Check line against \a aLine to see if it overlaps and merge if it does.
@@ -113,44 +113,44 @@ public:
      */
     bool MergeOverlap( SCH_LINE* aLine );
 
-    void GetEndPoints( std::vector<DANGLING_END_ITEM>& aItemList );
+    void GetEndPoints( std::vector<DANGLING_END_ITEM>& aItemList ) override;
 
-    bool IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemList );
+    bool IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemList ) override;
 
     bool IsDangling() const { return m_startIsDangling || m_endIsDangling; }
 
-    bool IsSelectStateChanged( const wxRect& aRect );
+    bool IsSelectStateChanged( const wxRect& aRect ) override;
 
-    bool IsConnectable() const;
+    bool IsConnectable() const override;
 
-    void GetConnectionPoints(std::vector< wxPoint >& aPoints ) const;
+    void GetConnectionPoints(std::vector< wxPoint >& aPoints ) const override;
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
-    BITMAP_DEF GetMenuImage() const;
+    BITMAP_DEF GetMenuImage() const override;
 
-    void GetNetListItem( NETLIST_OBJECT_LIST& aNetListItems, SCH_SHEET_PATH* aSheetPath );
+    void GetNetListItem( NETLIST_OBJECT_LIST& aNetListItems, SCH_SHEET_PATH* aSheetPath ) override;
 
-    bool operator <( const SCH_ITEM& aItem ) const;
+    bool operator <( const SCH_ITEM& aItem ) const override;
 
     wxPoint GetPosition() const { return m_start; }
 
-    void SetPosition( const wxPoint& aPosition );
+    void SetPosition( const wxPoint& aPosition ) override;
 
-    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const;
+    bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const override;
 
-    void Plot( PLOTTER* aPlotter );
+    void Plot( PLOTTER* aPlotter ) override;
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
     void Show( int nestLevel, std::ostream& os ) const; // override
 #endif
 
 private:
-    bool doIsConnected( const wxPoint& aPosition ) const;
+    bool doIsConnected( const wxPoint& aPosition ) const override;
 };
 
 
diff --git a/eeschema/sch_marker.h b/eeschema/sch_marker.h
index 0c534d9..7c5f3d2 100644
--- a/eeschema/sch_marker.h
+++ b/eeschema/sch_marker.h
@@ -63,7 +63,7 @@ public:
         (void) aPlotter;
     }
 
-    bool Save( FILE* aFile ) const;
+    bool Save( FILE* aFile ) const override;
 
     EDA_RECT const GetBoundingBox() const;      // Virtual
 
@@ -75,11 +75,11 @@ public:
     }
 
 
-    void MirrorY( int aYaxis_position );
+    void MirrorY( int aYaxis_position ) override;
 
-    void MirrorX( int aXaxis_position );
+    void MirrorX( int aXaxis_position ) override;
 
-    void Rotate( wxPoint aPosition );
+    void Rotate( wxPoint aPosition ) override;
 
     /**
      * Function Matches, virtual from the base class EDA_ITEM
@@ -91,11 +91,11 @@ public:
      * @param aFindLocation - a wxPoint where to put the location of matched item. can be NULL.
      * @return True if the DRC main or auxiliary text matches the search criteria.
      */
-    bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation );
+    bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) override;
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    bool IsSelectStateChanged( const wxRect& aRect );
+    bool IsSelectStateChanged( const wxRect& aRect ) override;
 
     wxString GetSelectMenuText() const { return wxString( _( "ERC Marker" ) ); }
 
@@ -105,9 +105,9 @@ public:
 
     void SetPosition( const wxPoint& aPosition ) { m_Pos = aPosition; }
 
-    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
     void Show( int nestLevel, std::ostream& os ) const;     // override
diff --git a/eeschema/sch_no_connect.h b/eeschema/sch_no_connect.h
index f566304..0b5fe62 100644
--- a/eeschema/sch_no_connect.h
+++ b/eeschema/sch_no_connect.h
@@ -51,18 +51,18 @@ public:
         return wxT( "SCH_NO_CONNECT" );
     }
 
-    int GetPenSize() const;
+    int GetPenSize() const override;
 
-    void SwapData( SCH_ITEM* aItem );
+    void SwapData( SCH_ITEM* aItem ) override;
 
     void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
                GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
 
-    bool Save( FILE* aFile ) const;
+    bool Save( FILE* aFile ) const override;
 
-    bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
-    void GetEndPoints( std::vector< DANGLING_END_ITEM >& aItemList );
+    void GetEndPoints( std::vector< DANGLING_END_ITEM >& aItemList ) override;
 
     const EDA_RECT GetBoundingBox() const;  // Virtual
 
@@ -73,42 +73,42 @@ public:
         m_pos += aMoveVector;
     }
 
-    void MirrorY( int aYaxis_position );
+    void MirrorY( int aYaxis_position ) override;
 
-    void MirrorX( int aXaxis_position );
+    void MirrorX( int aXaxis_position ) override;
 
-    void Rotate( wxPoint aPosition );
+    void Rotate( wxPoint aPosition ) override;
 
-    bool IsSelectStateChanged( const wxRect& aRect );
+    bool IsSelectStateChanged( const wxRect& aRect ) override;
 
     bool IsConnectable() const { return true; }
 
-    void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const;
+    void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const override;
 
     wxString GetSelectMenuText() const { return wxString( _( "No Connect" ) ); }
 
     BITMAP_DEF GetMenuImage() const { return noconn_xpm; }
 
-    void GetNetListItem( NETLIST_OBJECT_LIST& aNetListItems, SCH_SHEET_PATH* aSheetPath );
+    void GetNetListItem( NETLIST_OBJECT_LIST& aNetListItems, SCH_SHEET_PATH* aSheetPath ) override;
 
     wxPoint GetPosition() const { return m_pos; }
 
     void SetPosition( const wxPoint& aPosition ) { m_pos = aPosition; }
 
-    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const;
+    bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const override;
 
-    void Plot( PLOTTER* aPlotter );
+    void Plot( PLOTTER* aPlotter ) override;
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
     void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); } // override
 #endif
 
 private:
-    bool doIsConnected( const wxPoint& aPosition ) const;
+    bool doIsConnected( const wxPoint& aPosition ) const override;
 };
 
 
diff --git a/eeschema/sch_sheet.h b/eeschema/sch_sheet.h
index 8ae97fe..1f67d77 100644
--- a/eeschema/sch_sheet.h
+++ b/eeschema/sch_sheet.h
@@ -121,11 +121,11 @@ public:
      * @param aPoints = a buffer to fill with polygon corners coordinates
      * @param aPos = Position of the shape
      */
-    void CreateGraphicShape( std::vector <wxPoint>& aPoints, const wxPoint& aPos );
+    void CreateGraphicShape( std::vector <wxPoint>& aPoints, const wxPoint& aPos ) override;
 
-    void SwapData( SCH_ITEM* aItem );
+    void SwapData( SCH_ITEM* aItem ) override;
 
-    int GetPenSize() const;
+    int GetPenSize() const override;
 
     /**
      * Get the sheet label number.
@@ -160,9 +160,9 @@ public:
      */
     SCH_SHEET* GetParent() const { return (SCH_SHEET*) m_Parent; }
 
-    bool Save( FILE* aFile ) const;
+    bool Save( FILE* aFile ) const override;
 
-    bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
 #if defined(DEBUG)
     void Show( int nestLevel, std::ostream& os ) const;     // override
@@ -175,13 +175,13 @@ public:
         m_Pos += aMoveVector;
     }
 
-    void MirrorY( int aYaxis_position );
+    void MirrorY( int aYaxis_position ) override;
 
-    void Rotate( wxPoint aPosition );
+    void Rotate( wxPoint aPosition ) override;
 
-    void MirrorX( int aXaxis_position );
+    void MirrorX( int aXaxis_position ) override;
 
-    bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation );
+    bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) override;
 
     bool Replace( wxFindReplaceData& aSearchData, void* aAuxData = NULL )
     {
@@ -190,19 +190,19 @@ public:
 
     bool IsReplaceable() const { return true; }
 
-    void GetEndPoints( std::vector< DANGLING_END_ITEM >& aItemList );
+    void GetEndPoints( std::vector< DANGLING_END_ITEM >& aItemList ) override;
 
     bool IsConnectable() const { return true; }
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
     BITMAP_DEF GetMenuImage() const { return  add_hierar_pin_xpm; }
 
     void SetPosition( const wxPoint& aPosition ) { ConstrainOnEdge( aPosition ); }
 
-    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 };
 
 
@@ -323,11 +323,11 @@ public:
      */
     int GetScreenCount() const;
 
-    bool Save( FILE* aFile ) const;
+    bool Save( FILE* aFile ) const override;
 
-    bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     /* there is no member for orientation in sch_sheet, to preserve file
      * format, we detect orientation based on pin edges
@@ -426,12 +426,12 @@ public:
      */
     int GetMinHeight() const;
 
-    int GetPenSize() const;
+    int GetPenSize() const override;
 
     void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
                GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
 
-    EDA_RECT const GetBoundingBox() const;
+    EDA_RECT const GetBoundingBox() const override;
 
     /**
      * Function GetResizePos
@@ -441,7 +441,7 @@ public:
      */
     wxPoint GetResizePosition() const;
 
-    void SwapData( SCH_ITEM* aItem );
+    void SwapData( SCH_ITEM* aItem ) override;
 
     /**
      * Function ComponentCount
@@ -525,15 +525,15 @@ public:
         }
     }
 
-    void MirrorY( int aYaxis_position );
+    void MirrorY( int aYaxis_position ) override;
 
-    void MirrorX( int aXaxis_position );
+    void MirrorX( int aXaxis_position ) override;
 
-    void Rotate( wxPoint aPosition );
+    void Rotate( wxPoint aPosition ) override;
 
-    bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation );
+    bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) override;
 
-    bool Replace( wxFindReplaceData& aSearchData, void* aAuxData = NULL );
+    bool Replace( wxFindReplaceData& aSearchData, void* aAuxData = NULL ) override;
 
     bool IsReplaceable() const { return true; }
 
@@ -556,21 +556,21 @@ public:
      */
     wxPoint GetFileNamePosition();
 
-    void GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList );
+    void GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList ) override;
 
-    bool IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemList );
+    bool IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemList ) override;
 
-    bool IsDangling() const;
+    bool IsDangling() const override;
 
-    bool IsSelectStateChanged( const wxRect& aRect );
+    bool IsSelectStateChanged( const wxRect& aRect ) override;
 
     bool IsConnectable() const { return true; }
 
-    void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const;
+    void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const override;
 
     SEARCH_RESULT Visit( INSPECTOR inspector, void* testData, const KICAD_T scanTypes[] ) override;
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
     BITMAP_DEF GetMenuImage() const { return add_hierarchical_subsheet_xpm; }
 
@@ -581,15 +581,15 @@ public:
 
     wxPoint GetPosition() const { return m_pos; }
 
-    void SetPosition( const wxPoint& aPosition );
+    void SetPosition( const wxPoint& aPosition ) override;
 
-    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const;
+    bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const override;
 
-    void Plot( PLOTTER* aPlotter );
+    void Plot( PLOTTER* aPlotter ) override;
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
     void Show( int nestLevel, std::ostream& os ) const;     // override
diff --git a/eeschema/sch_text.h b/eeschema/sch_text.h
index da09f77..8e66ae2 100644
--- a/eeschema/sch_text.h
+++ b/eeschema/sch_text.h
@@ -147,15 +147,15 @@ public:
         aPoints.clear();
     }
 
-    virtual void SwapData( SCH_ITEM* aItem );
+    virtual void SwapData( SCH_ITEM* aItem ) override;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual bool Save( FILE* aFile ) const;
+    virtual bool Save( FILE* aFile ) const override;
 
-    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
-    virtual int GetPenSize() const;
+    virtual int GetPenSize() const override;
 
     // Geometric transforms (used in block operations):
 
@@ -164,13 +164,13 @@ public:
         m_Pos += aMoveVector;
     }
 
-    virtual void MirrorY( int aYaxis_position );
+    virtual void MirrorY( int aYaxis_position ) override;
 
-    virtual void MirrorX( int aXaxis_position );
+    virtual void MirrorX( int aXaxis_position ) override;
 
-    virtual void Rotate( wxPoint aPosition );
+    virtual void Rotate( wxPoint aPosition ) override;
 
-    virtual bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation );
+    virtual bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) override;
 
     virtual bool Replace( wxFindReplaceData& aSearchData, void* aAuxData = NULL )
     {
@@ -179,19 +179,19 @@ public:
 
     virtual bool IsReplaceable() const { return true; }
 
-    virtual void GetEndPoints( std::vector< DANGLING_END_ITEM >& aItemList );
+    virtual void GetEndPoints( std::vector< DANGLING_END_ITEM >& aItemList ) override;
 
-    virtual bool IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemList );
+    virtual bool IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemList ) override;
 
     virtual bool IsDangling() const { return m_isDangling; }
 
-    virtual bool IsSelectStateChanged( const wxRect& aRect );
+    virtual bool IsSelectStateChanged( const wxRect& aRect ) override;
 
-    virtual void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const;
+    virtual void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const override;
 
     virtual bool CanIncrementLabel() const { return true; }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
     virtual BITMAP_DEF GetMenuImage() const { return  add_text_xpm; }
 
@@ -202,16 +202,16 @@ public:
 
     virtual void SetPosition( const wxPoint& aPosition ) { m_Pos = aPosition; }
 
-    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
     virtual bool HitTest( const EDA_RECT& aRect, bool aContained = false,
                           int aAccuracy = 0 ) const;
 
-    virtual void Plot( PLOTTER* aPlotter );
+    virtual void Plot( PLOTTER* aPlotter ) override;
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
 #if defined(DEBUG)
     void Show( int nestLevel, std::ostream& os ) const;     // override
@@ -236,29 +236,29 @@ public:
         return wxT( "SCH_LABEL" );
     }
 
-    void SetOrientation( int aSchematicOrientation );
+    void SetOrientation( int aSchematicOrientation ) override;
 
-    wxPoint GetSchematicTextOffset() const;
+    wxPoint GetSchematicTextOffset() const override;
 
-    void MirrorX( int aXaxis_position );
+    void MirrorX( int aXaxis_position ) override;
 
-    void Rotate( wxPoint aPosition );
+    void Rotate( wxPoint aPosition ) override;
 
     const EDA_RECT GetBoundingBox() const;  // Virtual
 
-    bool Save( FILE* aFile ) const;
+    bool Save( FILE* aFile ) const override;
 
-    bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
     bool IsConnectable() const { return true; }
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
     BITMAP_DEF GetMenuImage() const { return  add_line_label_xpm; }
 
     bool IsReplaceable() const { return true; }
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 private:
     bool doIsConnected( const wxPoint& aPosition ) const { return m_Pos == aPosition; }
@@ -282,31 +282,31 @@ public:
         return wxT( "SCH_GLOBALLABEL" );
     }
 
-    void SetOrientation( int aSchematicOrientation );
+    void SetOrientation( int aSchematicOrientation ) override;
 
-    wxPoint GetSchematicTextOffset() const;
+    wxPoint GetSchematicTextOffset() const override;
 
-    bool Save( FILE* aFile ) const;
+    bool Save( FILE* aFile ) const override;
 
-    bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
     const EDA_RECT GetBoundingBox() const;  // Virtual
 
-    void CreateGraphicShape( std::vector <wxPoint>& aPoints, const wxPoint& aPos );
+    void CreateGraphicShape( std::vector <wxPoint>& aPoints, const wxPoint& aPos ) override;
 
-    void MirrorY( int aYaxis_position );
+    void MirrorY( int aYaxis_position ) override;
 
-    void MirrorX( int aXaxis_position );
+    void MirrorX( int aXaxis_position ) override;
 
-    void Rotate( wxPoint aPosition );
+    void Rotate( wxPoint aPosition ) override;
 
     bool IsConnectable() const { return true; }
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
     BITMAP_DEF GetMenuImage() const { return  add_glabel_xpm; }
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 private:
     bool doIsConnected( const wxPoint& aPosition ) const { return m_Pos == aPosition; }
@@ -332,31 +332,31 @@ public:
         return wxT( "SCH_HIERLABEL" );
     }
 
-    void SetOrientation( int aSchematicOrientation );
+    void SetOrientation( int aSchematicOrientation ) override;
 
-    wxPoint GetSchematicTextOffset() const;
+    wxPoint GetSchematicTextOffset() const override;
 
-    void CreateGraphicShape( std::vector <wxPoint>& aPoints, const wxPoint& Pos );
+    void CreateGraphicShape( std::vector <wxPoint>& aPoints, const wxPoint& Pos ) override;
 
-    bool Save( FILE* aFile ) const;
+    bool Save( FILE* aFile ) const override;
 
-    bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
     const EDA_RECT GetBoundingBox() const;      // Virtual
 
-    void MirrorY( int aYaxis_position );
+    void MirrorY( int aYaxis_position ) override;
 
-    void MirrorX( int aXaxis_position );
+    void MirrorX( int aXaxis_position ) override;
 
-    void Rotate( wxPoint aPosition );
+    void Rotate( wxPoint aPosition ) override;
 
     bool IsConnectable() const { return true; }
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
     BITMAP_DEF GetMenuImage() const { return  add_hierarchical_label_xpm; }
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 private:
     bool doIsConnected( const wxPoint& aPosition ) const { return m_Pos == aPosition; }
diff --git a/eeschema/sch_validators.h b/eeschema/sch_validators.h
index 6c34060..32583e7 100644
--- a/eeschema/sch_validators.h
+++ b/eeschema/sch_validators.h
@@ -65,7 +65,7 @@ public:
      * @param aParent - a pointer to the parent window of the error message dialog.
      * @return true if the text in the control is valid otherwise false.
      */
-    virtual bool Validate( wxWindow *aParent );
+    virtual bool Validate( wxWindow *aParent ) override;
 };
 
 
diff --git a/eeschema/schframe.h b/eeschema/schframe.h
index db28464..a5e31de 100644
--- a/eeschema/schframe.h
+++ b/eeschema/schframe.h
@@ -192,13 +192,13 @@ protected:
      *
      * @return true if the auto save was successful otherwise false.
      */
-    virtual bool doAutoSave();
+    virtual bool doAutoSave() override;
 
     /**
      * Function autoSaveRequired
      * returns true if the schematic has been modified.
      */
-    virtual bool isAutoSaveRequired() const;
+    virtual bool isAutoSaveRequired() const override;
 
     /**
      * Function addCurrentItemToList
@@ -266,7 +266,7 @@ public:
     void Process_Config( wxCommandEvent& event );
     void OnSelectTool( wxCommandEvent& aEvent );
 
-    bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
 
     /**
      * Function GetProjectFileParametersList
@@ -284,7 +284,7 @@ public:
      * saves changes to the project settings to the project (.pro) file.
      * @param aAskForSave = true to open a dialog before saving the settings
      */
-    void SaveProjectSettings( bool aAskForSave );
+    void SaveProjectSettings( bool aAskForSave ) override;
 
     /**
      * Function LoadProjectFile
@@ -361,21 +361,21 @@ public:
      */
     PARAM_CFG_ARRAY& GetConfigurationSettings();
 
-    void LoadSettings( wxConfigBase* aCfg );
-    void SaveSettings( wxConfigBase* aCfg );
+    void LoadSettings( wxConfigBase* aCfg ) override;
+    void SaveSettings( wxConfigBase* aCfg ) override;
 
-    void RedrawActiveWindow( wxDC* DC, bool EraseBg );
+    void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
 
     void CreateScreens();
-    void ReCreateHToolbar();
-    void ReCreateVToolbar();
+    void ReCreateHToolbar() override;
+    void ReCreateVToolbar() override;
     void ReCreateOptToolbar();
-    void ReCreateMenuBar();
+    void ReCreateMenuBar() override;
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const;
+    EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
 
-    bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL );
+    bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
 
     /**
      * Function OnModify
@@ -385,7 +385,7 @@ public:
      */
     void OnModify();
 
-    virtual wxString GetScreenDesc() const;
+    virtual wxString GetScreenDesc() const override;
 
     void InstallConfigFrame( wxCommandEvent& event );
 
@@ -395,15 +395,15 @@ public:
      * this is a virtual function called by EDA_DRAW_FRAME::OnSockRequest().
      * @param cmdline = received command from socket
      */
-    virtual void ExecuteRemoteCommand( const char* cmdline );
+    virtual void ExecuteRemoteCommand( const char* cmdline ) override;
 
     void KiwayMailIn( KIWAY_EXPRESS& aEvent );      // override virtual from KIWAY_PLAYER
 
-    void OnLeftClick( wxDC* aDC, const wxPoint& aPosition );
-    void OnLeftDClick( wxDC* aDC, const wxPoint& aPosition );
-    bool OnRightClick( const wxPoint& aPosition, wxMenu* PopMenu );
+    void OnLeftClick( wxDC* aDC, const wxPoint& aPosition ) override;
+    void OnLeftDClick( wxDC* aDC, const wxPoint& aPosition ) override;
+    bool OnRightClick( const wxPoint& aPosition, wxMenu* PopMenu ) override;
     void OnSelectOptionToolbar( wxCommandEvent& event );
-    double BestZoom();
+    double BestZoom() override;
 
     /**
      * Function LocateAndShowItem
@@ -1216,7 +1216,7 @@ public:
      * Function InitBlockPasteInfos
      * initializes the parameters used by the block paste command.
      */
-    void InitBlockPasteInfos();
+    void InitBlockPasteInfos() override;
 
     /**
      * Function BlockCommand
@@ -1226,7 +1226,7 @@ public:
      * @param aKey = the key modifiers (Alt, Shift ...)
      * @return the block command id (BLOCK_MOVE, BLOCK_COPY...)
      */
-    virtual int BlockCommand( EDA_KEY aKey );
+    virtual int BlockCommand( EDA_KEY aKey ) override;
 
     /**
      * Function HandleBlockPlace
@@ -1235,7 +1235,7 @@ public:
      * (bloc move, drag, copy .. )
      * Parameters must be initialized in GetScreen()->m_BlockLocate
      */
-    virtual void HandleBlockPlace( wxDC* DC );
+    virtual void HandleBlockPlace( wxDC* DC ) override;
 
     /**
      * Function HandleBlockEnd
@@ -1249,7 +1249,7 @@ public:
      * @return false if no item selected, or command finished,
      * true if some items found and HandleBlockPlace must be called later
      */
-    virtual bool HandleBlockEnd( wxDC* aDC );
+    virtual bool HandleBlockEnd( wxDC* aDC ) override;
 
     /**
      * Function RepeatDrawItem
diff --git a/eeschema/viewlib_frame.h b/eeschema/viewlib_frame.h
index 4aed862..b03c2b6 100644
--- a/eeschema/viewlib_frame.h
+++ b/eeschema/viewlib_frame.h
@@ -61,7 +61,7 @@ public:
 
     ~LIB_VIEW_FRAME();
 
-    void OnSize( wxSizeEvent& event );
+    void OnSize( wxSizeEvent& event ) override;
 
     /**
      * Function ReCreateListLib
@@ -74,23 +74,23 @@ public:
     void ReCreateListCmp();
     void Process_Special_Functions( wxCommandEvent& event );
     void DisplayLibInfos();
-    void RedrawActiveWindow( wxDC* DC, bool EraseBg );
+    void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
     void OnCloseWindow( wxCloseEvent& Event );
     void CloseLibraryViewer( wxCommandEvent& event );
-    void ReCreateHToolbar();
-    void ReCreateVToolbar();
-    void ReCreateMenuBar();
+    void ReCreateHToolbar() override;
+    void ReCreateVToolbar() override;
+    void ReCreateMenuBar() override;
 
-    void OnLeftClick( wxDC* DC, const wxPoint& MousePos );
-    double BestZoom();
+    void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override;
+    double BestZoom() override;
     void ClickOnLibList( wxCommandEvent& event );
     void ClickOnCmpList( wxCommandEvent& event );
     void OnSetRelativeOffset( wxCommandEvent& event );
 
-    bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const;
+    EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
 
     /**
      * Function OnHotKey
@@ -100,10 +100,10 @@ public:
      * case insensitive
      * </p>
      */
-    bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL );
+    bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
 
-    void LoadSettings( wxConfigBase* aCfg );
-    void SaveSettings( wxConfigBase* aCfg );
+    void LoadSettings( wxConfigBase* aCfg ) override;
+    void SaveSettings( wxConfigBase* aCfg ) override;
 
     /**
      * set a filter to display only libraries and/or components
@@ -143,7 +143,7 @@ private:
      * is called when the frame frame is activate to reload the libraries and component lists
      * that can be changed by the schematic editor or the library editor.
      */
-    virtual void OnActivate( wxActivateEvent& event );
+    virtual void OnActivate( wxActivateEvent& event ) override;
 
     void SelectCurrentLibrary();
     void SelectAndViewLibraryPart( int option );
@@ -154,7 +154,7 @@ private:
      */
     void ExportToSchematicLibraryPart( wxCommandEvent& event );
     void ViewOneLibraryContent( PART_LIB* Lib, int Flag );
-    bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
+    bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) override;
     void DClickOnCmpList( wxCommandEvent& event );
 
 // Private members:
diff --git a/gerbview/class_gbr_layer_box_selector.h b/gerbview/class_gbr_layer_box_selector.h
index 6128bce..382379e 100644
--- a/gerbview/class_gbr_layer_box_selector.h
+++ b/gerbview/class_gbr_layer_box_selector.h
@@ -42,18 +42,18 @@ public:
 
     // Reload the Layers names and bitmaps
     // Virtual function
-    void Resync();
+    void Resync() override;
 
     // Returns a color index from the layer id
     // Virtual function
-    EDA_COLOR_T GetLayerColor( int aLayer ) const;
+    EDA_COLOR_T GetLayerColor( int aLayer ) const override;
 
     // Returns true if the layer id is enabled (i.e. is it should be displayed)
     // Virtual function
-    bool IsLayerEnabled( int aLayer ) const { return true; };
+    bool IsLayerEnabled( int aLayer ) const override { return true; }
 
     // Returns the name of the layer id
-    wxString GetLayerName( int aLayer ) const;
+    wxString GetLayerName( int aLayer ) const override;
 };
 
 #endif //CLASS_GBR_LAYER_BOX_SELECTOR_H
diff --git a/gerbview/class_gbr_screen.h b/gerbview/class_gbr_screen.h
index 920b993..97e7786 100644
--- a/gerbview/class_gbr_screen.h
+++ b/gerbview/class_gbr_screen.h
@@ -50,13 +50,13 @@ public:
 
     GBR_SCREEN* Next() const { return static_cast<GBR_SCREEN*>( Pnext ); }
 
-    virtual int MilsToIuScalar();
+    virtual int MilsToIuScalar() override;
 
     /**
      * Function ClearUndoORRedoList
      * virtual pure in BASE_SCREEN, so it must be defined here
      */
-    void ClearUndoORRedoList( UNDO_REDO_CONTAINER& aList, int aItemCount = -1 );
+    void ClearUndoORRedoList( UNDO_REDO_CONTAINER& aList, int aItemCount = -1 ) override;
 };
 
 
diff --git a/gerbview/class_gerber_draw_item.h b/gerbview/class_gerber_draw_item.h
index 5a628b8..d27d5f4 100644
--- a/gerbview/class_gerber_draw_item.h
+++ b/gerbview/class_gerber_draw_item.h
@@ -227,7 +227,7 @@ public:
     /* divers */
     int Shape() const { return m_Shape; }
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     wxString ShowGBRShape();
 
@@ -237,7 +237,7 @@ public:
      * @param aRefPos a wxPoint to test
      * @return bool - true if a hit, else false
      */
-    bool HitTest( const wxPoint& aRefPos ) const;
+    bool HitTest( const wxPoint& aRefPos ) const override;
 
     /**
      * Function HitTest (overloaded)
diff --git a/gerbview/class_gerbview_layer_widget.h b/gerbview/class_gerbview_layer_widget.h
index 3c05367..f59de18 100644
--- a/gerbview/class_gerbview_layer_widget.h
+++ b/gerbview/class_gerbview_layer_widget.h
@@ -75,7 +75,7 @@ class GERBER_LAYER_WIDGET : public LAYER_WIDGET
      * @return true if bitmaps shown in Render layer list
      * are alternate bitmaps, or false if they are "normal" bitmaps
      */
-    virtual bool useAlternateBitmap(int aRow);
+    virtual bool useAlternateBitmap(int aRow) override;
 
     GERBER_FILE_IMAGE_LIST* GetImagesList();
 
@@ -100,11 +100,11 @@ public:
     void ReFillRender();
 
     //-----<implement LAYER_WIDGET abstract callback functions>-----------
-    void OnLayerColorChange( int aLayer, EDA_COLOR_T aColor );
-    bool OnLayerSelect( int aLayer );
-    void OnLayerVisible( int aLayer, bool isVisible, bool isFinal );
-    void OnRenderColorChange( int aId, EDA_COLOR_T aColor );
-    void OnRenderEnable( int aId, bool isEnabled );
+    void OnLayerColorChange( int aLayer, EDA_COLOR_T aColor ) override;
+    bool OnLayerSelect( int aLayer ) override;
+    void OnLayerVisible( int aLayer, bool isVisible, bool isFinal ) override;
+    void OnRenderColorChange( int aId, EDA_COLOR_T aColor ) override;
+    void OnRenderEnable( int aId, bool isEnabled ) override;
 
     /**
      * Function SetLayersManagerTabsText
diff --git a/gerbview/dialogs/dialog_print_using_printer.cpp b/gerbview/dialogs/dialog_print_using_printer.cpp
index 75b16c0..26713b0 100644
--- a/gerbview/dialogs/dialog_print_using_printer.cpp
+++ b/gerbview/dialogs/dialog_print_using_printer.cpp
@@ -79,12 +79,12 @@ public:
     ~DIALOG_PRINT_USING_PRINTER() {};
 
 private:
-    void OnCloseWindow( wxCloseEvent& event );
+    void OnCloseWindow( wxCloseEvent& event ) override;
     void OnInitDialog( wxInitDialogEvent& event );
-    void OnPageSetup( wxCommandEvent& event );
-    void OnPrintPreview( wxCommandEvent& event );
-    void OnPrintButtonClick( wxCommandEvent& event );
-    void OnScaleSelectionClick( wxCommandEvent& event );
+    void OnPageSetup( wxCommandEvent& event ) override;
+    void OnPrintPreview( wxCommandEvent& event ) override;
+    void OnPrintButtonClick( wxCommandEvent& event ) override;
+    void OnScaleSelectionClick( wxCommandEvent& event ) override;
 
     void OnButtonCloseClick( wxCommandEvent& event ) { Close(); }
     void SetPrintParameters();
diff --git a/gerbview/dialogs/dialog_show_page_borders.h b/gerbview/dialogs/dialog_show_page_borders.h
index 1c86686..6c341f4 100644
--- a/gerbview/dialogs/dialog_show_page_borders.h
+++ b/gerbview/dialogs/dialog_show_page_borders.h
@@ -41,7 +41,7 @@ public:
     ~DIALOG_PAGE_SHOW_PAGE_BORDERS() {};
 
 private:
-    void OnOKBUttonClick( wxCommandEvent& event );
-    void OnCancelButtonClick( wxCommandEvent& event );
+    void OnOKBUttonClick( wxCommandEvent& event ) override;
+    void OnCancelButtonClick( wxCommandEvent& event ) override;
 };
 
diff --git a/gerbview/dialogs/gerbview_dialog_display_options_frame.cpp b/gerbview/dialogs/gerbview_dialog_display_options_frame.cpp
index 19c433f..41ace4a 100644
--- a/gerbview/dialogs/gerbview_dialog_display_options_frame.cpp
+++ b/gerbview/dialogs/gerbview_dialog_display_options_frame.cpp
@@ -52,8 +52,8 @@ public:
     ~DIALOG_DISPLAY_OPTIONS() {};
 
 private:
-    void OnOKBUttonClick( wxCommandEvent& event );
-    void OnCancelButtonClick( wxCommandEvent& event );
+    void OnOKBUttonClick( wxCommandEvent& event ) override;
+    void OnCancelButtonClick( wxCommandEvent& event ) override;
     void initOptDialog( );
 };
 
diff --git a/gerbview/gerbview.cpp b/gerbview/gerbview.cpp
index eb2c3ee..c2acfe5 100644
--- a/gerbview/gerbview.cpp
+++ b/gerbview/gerbview.cpp
@@ -61,9 +61,9 @@ static struct IFACE : public KIFACE_I
         KIFACE_I( aName, aType )
     {}
 
-    bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits );
+    bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) override;
 
-    void OnKifaceEnd();
+    void OnKifaceEnd() override;
 
     wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 )
     {
diff --git a/gerbview/gerbview_frame.h b/gerbview/gerbview_frame.h
index 45561bd..0db70eb 100644
--- a/gerbview/gerbview_frame.h
+++ b/gerbview/gerbview_frame.h
@@ -206,9 +206,9 @@ public:
     bool    OpenProjectFiles( const std::vector<wxString>& aFileSet, int aCtl );   // overload KIWAY_PLAYER
 
     // Virtual basic functions:
-    void    RedrawActiveWindow( wxDC* DC, bool EraseBg );
-    void    ReCreateHToolbar();
-    void    ReCreateAuxiliaryToolbar();
+    void    RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
+    void    ReCreateHToolbar() override;
+    void    ReCreateAuxiliaryToolbar() override;
 
     /**
      * Function ReCreateVToolbar
@@ -216,20 +216,20 @@ public:
      *
      * @note This is currently not used.
      */
-    void    ReCreateVToolbar();
+    void    ReCreateVToolbar() override;
 
     /**
      * Create or update the left vertical toolbar (option toolbar
      */
     void    ReCreateOptToolbar();
 
-    void    ReCreateMenuBar();
-    void    OnLeftClick( wxDC* aDC, const wxPoint& aMousePos );
-    void    OnLeftDClick( wxDC* aDC, const wxPoint& aMousePos );
-    bool    OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu );
+    void    ReCreateMenuBar() override;
+    void    OnLeftClick( wxDC* aDC, const wxPoint& aMousePos ) override;
+    void    OnLeftDClick( wxDC* aDC, const wxPoint& aMousePos ) override;
+    bool    OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu ) override;
     void    OnUpdateSelectTool( wxUpdateUIEvent& aEvent );
-    double  BestZoom();
-    void    UpdateStatusBar();
+    double  BestZoom() override;
+    void    UpdateStatusBar() override;
 
     /**
      * Function GetZoomLevelIndicator
@@ -237,7 +237,7 @@ public:
      * level indicator in dialogs.
      * Virtual from the base class
      */
-    const wxString GetZoomLevelIndicator() const;
+    const wxString GetZoomLevelIndicator() const override;
 
     /**
      * Function ReportMessage
@@ -299,7 +299,7 @@ public:
      * It may be overloaded by derived classes
      * @param aVisible = true if the grid must be shown
      */
-    void    SetGridVisibility( bool aVisible );
+    void    SetGridVisibility( bool aVisible ) override;
 
     /**
      * Function GetVisibleLayers
@@ -505,7 +505,7 @@ public:
     void                OnQuit( wxCommandEvent& event );
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const;
+    EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
 
     /**
      * Function OnHotKey.
@@ -516,7 +516,7 @@ public:
      * @param aPosition The cursor position in logical (drawing) units.
      * @param aItem = NULL or pointer on a EDA_ITEM under the mouse cursor
      */
-    bool OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosition, EDA_ITEM* aItem = NULL );
+    bool OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
 
     GERBER_DRAW_ITEM*   Locate( const wxPoint& aPosition, int typeloc );
 
@@ -539,13 +539,13 @@ public:
      * returns the block command (BLOCK_MOVE, BLOCK_COPY...) corresponding to
      * the \a aKey (ALT, SHIFT ALT ..)
      */
-    virtual int         BlockCommand( EDA_KEY key );
+    virtual int         BlockCommand( EDA_KEY key ) override;
 
     /**
      * Function HandleBlockPlace
      * handles the block place command.
      */
-    virtual void        HandleBlockPlace( wxDC* DC );
+    virtual void        HandleBlockPlace( wxDC* DC ) override;
 
     /**
      * Function HandleBlockEnd( )
@@ -558,7 +558,7 @@ public:
      * @return false if no item selected, or command finished,
      *         true if some items found and HandleBlockPlace must be called later.
      */
-    virtual bool        HandleBlockEnd( wxDC* DC );
+    virtual bool        HandleBlockEnd( wxDC* DC ) override;
 
     /**
      * Function Block_Move
@@ -612,7 +612,7 @@ public:
     bool                LoadExcellonFiles( const wxString& aFileName );
     bool                Read_EXCELLON_File( const wxString& aFullFileName );
 
-    bool                GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    bool                GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
 
     /**
      * Set Size Items (Lines, Flashes) from DCodes List
diff --git a/gerbview/select_layers_to_pcb.h b/gerbview/select_layers_to_pcb.h
index e27ee59..91b51fd 100644
--- a/gerbview/select_layers_to_pcb.h
+++ b/gerbview/select_layers_to_pcb.h
@@ -57,13 +57,13 @@ public: LAYERS_MAP_DIALOG( GERBVIEW_FRAME* parent );
 private:
     void initDialog();
     void normalizeBrdLayersCount();
-    void OnBrdLayersCountSelection( wxCommandEvent& event );
+    void OnBrdLayersCountSelection( wxCommandEvent& event ) override;
     void OnSelectLayer( wxCommandEvent& event );
-    void OnOkClick( wxCommandEvent& event );
+    void OnOkClick( wxCommandEvent& event ) override;
 
-    void OnStoreSetup( wxCommandEvent& event );
-    void OnGetSetup( wxCommandEvent& event );
-    void OnResetClick( wxCommandEvent& event );
+    void OnStoreSetup( wxCommandEvent& event ) override;
+    void OnGetSetup( wxCommandEvent& event ) override;
+    void OnResetClick( wxCommandEvent& event ) override;
 
     DECLARE_EVENT_TABLE()
 };
diff --git a/include/base_struct.h b/include/base_struct.h
index 2990b14..35312ad 100644
--- a/include/base_struct.h
+++ b/include/base_struct.h
@@ -484,10 +484,10 @@ public:
     EDA_ITEM& operator=( const EDA_ITEM& aItem );
 
     /// @copydoc VIEW_ITEM::ViewBBox()
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
 #if defined(DEBUG)
 
diff --git a/include/basic_gal.h b/include/basic_gal.h
index 2ca3e34..e10d0ca 100644
--- a/include/basic_gal.h
+++ b/include/basic_gal.h
@@ -94,12 +94,12 @@ public:
     }
 
     /// @brief Save the context.
-    virtual void Save()
+    virtual void Save() override
     {
         m_transformHistory.push( m_transform );
     }
 
-    virtual void Restore()
+    virtual void Restore() override
     {
         m_transform = m_transformHistory.top();
         m_transformHistory.pop();
@@ -110,20 +110,20 @@ public:
      * @brief Draw a polyline
      * @param aPointList is a list of 2D-Vectors containing the polyline points.
      */
-    virtual void DrawPolyline( const std::deque<VECTOR2D>& aPointList );
+    virtual void DrawPolyline( const std::deque<VECTOR2D>& aPointList ) override;
 
     /** Start and end points are defined as 2D-Vectors.
      * @param aStartPoint   is the start point of the line.
      * @param aEndPoint     is the end point of the line.
      */
-    virtual void DrawLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint );
+    virtual void DrawLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint ) override;
 
     /**
      * @brief Translate the context.
      *
      * @param aTranslation is the translation vector.
      */
-    virtual void Translate( const VECTOR2D& aTranslation )
+    virtual void Translate( const VECTOR2D& aTranslation ) override
     {
         m_transform.m_moveOffset += aTranslation;
     }
@@ -133,7 +133,7 @@ public:
      *
      * @param aAngle is the rotation angle in radians.
      */
-    virtual void Rotate( double aAngle )
+    virtual void Rotate( double aAngle ) override
     {
         m_transform.m_rotAngle = aAngle;
         m_transform.m_rotCenter = m_transform.m_moveOffset;
diff --git a/include/class_base_screen.h b/include/class_base_screen.h
index fe77668..a509b6e 100644
--- a/include/class_base_screen.h
+++ b/include/class_base_screen.h
@@ -491,7 +491,7 @@ public:
      * returns the class name.
      * @return wxString
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "BASE_SCREEN" );
     }
@@ -501,7 +501,7 @@ public:
     void ClearBlockCommand() { m_BlockLocate.Clear(); }
 
 #if defined(DEBUG)
-    void Show( int nestLevel, std::ostream& os ) const;     // overload
+    void Show( int nestLevel, std::ostream& os ) const override;
 #endif
 };
 
diff --git a/include/class_board_item.h b/include/class_board_item.h
index af8491c..e492b11 100644
--- a/include/class_board_item.h
+++ b/include/class_board_item.h
@@ -284,7 +284,7 @@ public:
      */
     wxString GetLayerName() const;
 
-    virtual bool HitTest( const wxPoint& aPosition ) const
+    virtual bool HitTest( const wxPoint& aPosition ) const override
     {
         return EDA_ITEM::HitTest( aPosition );
     }
@@ -332,7 +332,7 @@ public:
     static std::string FormatInternalUnits( const wxSize& aSize );
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 };
 
 #endif /* BOARD_ITEM_STRUCT_H */
diff --git a/include/class_draw_panel_gal.h b/include/class_draw_panel_gal.h
index 684f858..77133d9 100644
--- a/include/class_draw_panel_gal.h
+++ b/include/class_draw_panel_gal.h
@@ -65,7 +65,7 @@ public:
                         const wxSize& aSize, GAL_TYPE aGalType = GAL_TYPE_OPENGL );
     ~EDA_DRAW_PANEL_GAL();
 
-    virtual void SetFocus();
+    virtual void SetFocus() override;
 
     /**
      * Function SwitchBackend
@@ -114,7 +114,7 @@ public:
     }
 
     /// @copydoc wxWindow::Refresh()
-    void Refresh( bool aEraseBackground = true, const wxRect* aRect = NULL );
+    void Refresh( bool aEraseBackground = true, const wxRect* aRect = NULL ) override;
 
     /**
      * Function ForceRefresh()
diff --git a/include/class_drawpanel.h b/include/class_drawpanel.h
index eb2620e..4aa5aff 100644
--- a/include/class_drawpanel.h
+++ b/include/class_drawpanel.h
@@ -230,7 +230,7 @@ public:
      * </p>
      * @param aDC The device context to prepare.
      */
-    virtual void DoPrepareDC( wxDC& aDC );
+    virtual void DoPrepareDC( wxDC& aDC ) override;
 
     /**
      * Function DeviceToLogical
@@ -322,7 +322,7 @@ public:
     void RefreshDrawingRect( const EDA_RECT& aRect, bool aEraseBackground = true );
 
     /// @copydoc wxWindow::Refresh()
-    virtual void Refresh( bool eraseBackground = true, const wxRect* rect = NULL );
+    virtual void Refresh( bool eraseBackground = true, const wxRect* rect = NULL ) override;
 
     /**
      * Function GetScreenCenterLogicalPosition
diff --git a/include/class_pcb_screen.h b/include/class_pcb_screen.h
index dc65b3d..348add1 100644
--- a/include/class_pcb_screen.h
+++ b/include/class_pcb_screen.h
@@ -61,7 +61,7 @@ public:
     void        SetPreviousZoom();
     void        SetLastZoom();
 
-    virtual int MilsToIuScalar();
+    virtual int MilsToIuScalar() override;
 
     /**
      * Function GetCurItem
@@ -99,7 +99,7 @@ public:
      * items are removed from the beginning of the list.
      * So this function can be called to remove old commands
      */
-    void ClearUndoORRedoList( UNDO_REDO_CONTAINER& aList, int aItemCount = -1 );
+    void ClearUndoORRedoList( UNDO_REDO_CONTAINER& aList, int aItemCount = -1 ) override;
 };
 
 #endif  // CLASS_PCB_SCREEN_H_
diff --git a/include/class_worksheet_dataitem.h b/include/class_worksheet_dataitem.h
index 47f72cb..bbd289c 100644
--- a/include/class_worksheet_dataitem.h
+++ b/include/class_worksheet_dataitem.h
@@ -306,7 +306,7 @@ private:
 public:
     WORKSHEET_DATAITEM_POLYPOLYGON( );
 
-    virtual int GetPenSizeUi()
+    virtual int GetPenSizeUi() override
     {
         return KiROUND( m_LineWidth * m_WSunits2Iu );
     }
@@ -314,7 +314,7 @@ public:
    /**
      * @return false  (no end point)
      */
-    virtual bool HasEndPoint() { return false; };
+    virtual bool HasEndPoint() override { return false; }
 
     /**
      * add a corner in corner list
@@ -377,7 +377,7 @@ public:
      */
     void SetBoundingBox();
 
-    bool IsInsidePage( int ii ) const;
+    bool IsInsidePage( int ii ) const override;
 };
 
 
@@ -405,9 +405,9 @@ public:
     /**
      * @return false  (no end point)
      */
-    virtual bool HasEndPoint() { return false; };
+    virtual bool HasEndPoint() override { return false; }
 
-    virtual int GetPenSizeUi()
+    virtual int GetPenSizeUi() override
     {
         if( m_LineWidth )
             return KiROUND( m_LineWidth * m_WSunits2Iu );
@@ -510,7 +510,7 @@ public:
     /**
      * @return false  (no end point)
      */
-    virtual bool HasEndPoint() { return false; }
+    virtual bool HasEndPoint() override { return false; }
 
     /**
      * @return the PPI of the bitmap
diff --git a/include/config_params.h b/include/config_params.h
index 0425e94..9d4dad1 100644
--- a/include/config_params.h
+++ b/include/config_params.h
@@ -141,8 +141,8 @@ public:
                    int max = std::numeric_limits<int>::max(),
                    const wxChar* group = NULL );
 
-    virtual void ReadParam( wxConfigBase* aConfig ) const;
-    virtual void SaveParam( wxConfigBase* aConfig ) const;
+    virtual void ReadParam( wxConfigBase* aConfig ) const override;
+    virtual void SaveParam( wxConfigBase* aConfig ) const override;
 };
 
 /**
@@ -171,8 +171,8 @@ public:
                    const wxChar* group = NULL,
                    double aBiu2cfgunit = 1.0 );
 
-    virtual void ReadParam( wxConfigBase* aConfig ) const;
-    virtual void SaveParam( wxConfigBase* aConfig ) const;
+    virtual void ReadParam( wxConfigBase* aConfig ) const override;
+    virtual void SaveParam( wxConfigBase* aConfig ) const override;
 };
 
 
@@ -192,8 +192,8 @@ public:
     PARAM_CFG_SETCOLOR( bool Insetup, const wxString& ident, EDA_COLOR_T* ptparam,
                         EDA_COLOR_T default_val, const wxChar* group = NULL );
 
-    virtual void ReadParam( wxConfigBase* aConfig ) const;
-    virtual void SaveParam( wxConfigBase* aConfig ) const;
+    virtual void ReadParam( wxConfigBase* aConfig ) const override;
+    virtual void SaveParam( wxConfigBase* aConfig ) const override;
 };
 
 
@@ -216,8 +216,8 @@ public:
                       double default_val = 0.0, double min = 0.0, double max = 10000.0,
                       const wxChar* group = NULL );
 
-    virtual void ReadParam( wxConfigBase* aConfig ) const;
-    virtual void SaveParam( wxConfigBase* aConfig ) const;
+    virtual void ReadParam( wxConfigBase* aConfig ) const override;
+    virtual void SaveParam( wxConfigBase* aConfig ) const override;
 };
 
 
@@ -237,8 +237,8 @@ public:
     PARAM_CFG_BOOL( bool Insetup, const wxString& ident, bool* ptparam,
                     int default_val = false, const wxChar* group = NULL );
 
-    virtual void ReadParam( wxConfigBase* aConfig ) const;
-    virtual void SaveParam( wxConfigBase* aConfig ) const;
+    virtual void ReadParam( wxConfigBase* aConfig ) const override;
+    virtual void SaveParam( wxConfigBase* aConfig ) const override;
 };
 
 
@@ -261,8 +261,8 @@ public:
                         const wxString& default_val = wxEmptyString,
                         const wxChar* group = NULL );
 
-    virtual void ReadParam( wxConfigBase* aConfig ) const;
-    virtual void SaveParam( wxConfigBase* aConfig ) const;
+    virtual void ReadParam( wxConfigBase* aConfig ) const override;
+    virtual void SaveParam( wxConfigBase* aConfig ) const override;
 };
 
 
@@ -280,8 +280,8 @@ public:
 public:
     PARAM_CFG_FILENAME( const wxString& ident, wxString* ptparam,
             const wxChar* group = NULL );
-    virtual void ReadParam( wxConfigBase* aConfig ) const;
-    virtual void SaveParam( wxConfigBase* aConfig ) const;
+    virtual void ReadParam( wxConfigBase* aConfig ) const override;
+    virtual void SaveParam( wxConfigBase* aConfig ) const override;
 };
 
 
@@ -295,8 +295,8 @@ public:
                                 wxArrayString* ptparam,
                                 const wxChar*  group = NULL );
 
-    virtual void ReadParam( wxConfigBase* aConfig ) const;
-    virtual void SaveParam( wxConfigBase* aConfig ) const;
+    virtual void ReadParam( wxConfigBase* aConfig ) const override;
+    virtual void SaveParam( wxConfigBase* aConfig ) const override;
 };
 
 
diff --git a/include/dialog_env_var_config.h b/include/dialog_env_var_config.h
index 7705e54..4e3f6a4 100644
--- a/include/dialog_env_var_config.h
+++ b/include/dialog_env_var_config.h
@@ -43,15 +43,15 @@ private:
     bool         m_extDefsChanged;
 
 protected:
-    virtual void OnAddRow( wxCommandEvent& aEvent );
-    virtual void OnDeleteSelectedRows( wxCommandEvent& aEvent );
-    virtual void OnHelpRequest( wxCommandEvent& aEvent );
+    virtual void OnAddRow( wxCommandEvent& aEvent ) override;
+    virtual void OnDeleteSelectedRows( wxCommandEvent& aEvent ) override;
+    virtual void OnHelpRequest( wxCommandEvent& aEvent ) override;
 
 public:
     DIALOG_ENV_VAR_CONFIG( wxWindow* parent, const ENV_VAR_MAP& aEnvVarMap );
 
-    bool TransferDataToWindow();
-    bool TransferDataFromWindow();
+    bool TransferDataToWindow() override;
+    bool TransferDataFromWindow() override;
 
     bool ExternalDefsChanged() const { return m_extDefsChanged; }
 
diff --git a/include/dialog_get_component.h b/include/dialog_get_component.h
index 583f10b..fbc3d50 100644
--- a/include/dialog_get_component.h
+++ b/include/dialog_get_component.h
@@ -72,9 +72,9 @@ public:
 
 private:
     void     initDialog( wxArrayString& aHistoryList );
-    void     OnCancel( wxCommandEvent& event );
-    void     Accept( wxCommandEvent& event );
-    void     GetExtraSelection( wxCommandEvent& event );
+    void     OnCancel( wxCommandEvent& event ) override;
+    void     Accept( wxCommandEvent& event ) override;
+    void     GetExtraSelection( wxCommandEvent& event ) override;
 };
 
 
diff --git a/include/dialog_helpers.h b/include/dialog_helpers.h
index 657470a..df056ea 100644
--- a/include/dialog_helpers.h
+++ b/include/dialog_helpers.h
@@ -88,12 +88,12 @@ public:
     wxString GetTextSelection( int aColumn = 0 );
 
 private:
-    void     onClose( wxCloseEvent& event );
-    void     onCancelClick( wxCommandEvent& event );
-    void     onOkClick( wxCommandEvent& event );
-    void     onListItemSelected( wxListEvent& event );
-    void     onListItemActivated( wxListEvent& event );
-    void     textChangeInFilterBox(wxCommandEvent& event);
+    void     onClose( wxCloseEvent& event ) override;
+    void     onCancelClick( wxCommandEvent& event ) override;
+    void     onOkClick( wxCommandEvent& event ) override;
+    void     onListItemSelected( wxListEvent& event ) override;
+    void     onListItemActivated( wxListEvent& event ) override;
+    void     textChangeInFilterBox(wxCommandEvent& event) override;
 
     void    initDialog( const wxArrayString& aItemHeaders,
                         const wxString& aSelection);
diff --git a/include/dialog_hotkeys_editor.h b/include/dialog_hotkeys_editor.h
index 3107b61..a944aae 100644
--- a/include/dialog_hotkeys_editor.h
+++ b/include/dialog_hotkeys_editor.h
@@ -44,8 +44,8 @@ protected:
 
     WIDGET_HOTKEY_LIST* m_hotkeyListCtrl;
 
-    bool TransferDataToWindow();
-    bool TransferDataFromWindow();
+    bool TransferDataToWindow() override;
+    bool TransferDataFromWindow() override;
 
     virtual EDA_BASE_FRAME* GetParent()
     {
@@ -65,7 +65,7 @@ private:
      *
      * @param aEvent is the button press event, unused
      */
-    void ResetClicked( wxCommandEvent& aEvent );
+    void ResetClicked( wxCommandEvent& aEvent ) override;
 
     /**
      * Function DefaultsClicked
@@ -73,7 +73,7 @@ private:
      *
      * @param aEvent is the button press event, unused
      */
-    void DefaultsClicked( wxCommandEvent& aEvent );
+    void DefaultsClicked( wxCommandEvent& aEvent ) override;
 };
 
 /**
diff --git a/include/dialog_shim.h b/include/dialog_shim.h
index dafe7e8..eec2094 100644
--- a/include/dialog_shim.h
+++ b/include/dialog_shim.h
@@ -85,9 +85,9 @@ public:
 
     bool IsQuasiModal()         { return m_qmodal_showing; }
 
-    bool Show( bool show );     // override wxDialog::Show
+    bool Show( bool show ) override;
 
-    bool Enable( bool enable ); // override wxDialog::Enable virtual
+    bool Enable( bool enable ) override;
 
 protected:
 
diff --git a/include/draw_frame.h b/include/draw_frame.h
index 2a65c7d..a52f7ad 100644
--- a/include/draw_frame.h
+++ b/include/draw_frame.h
@@ -332,7 +332,7 @@ public:
     void SkipNextLeftButtonReleaseEvent();
 
     ///> @copydoc EDA_BASE_FRAME::WriteHotkeyConfig
-    int WriteHotkeyConfig( struct EDA_HOTKEY_CONFIG* aDescList, wxString* aFullFileName = NULL );
+    int WriteHotkeyConfig( struct EDA_HOTKEY_CONFIG* aDescList, wxString* aFullFileName = NULL ) override;
 
     /**
      * Function GetHotkeyConfig()
@@ -382,7 +382,7 @@ public:
 
     virtual void ReCreateHToolbar() = 0;
     virtual void ReCreateVToolbar() = 0;
-    virtual void ReCreateMenuBar();
+    virtual void ReCreateMenuBar() override;
     virtual void ReCreateAuxiliaryToolbar();
 
     /**
@@ -692,9 +692,9 @@ public:
     void OnSockRequest( wxSocketEvent& evt );
     void OnSockRequestServer( wxSocketEvent& evt );
 
-    void LoadSettings( wxConfigBase* aCfg );    // override virtual
+    void LoadSettings( wxConfigBase* aCfg ) override;
 
-    void SaveSettings( wxConfigBase* aCfg );    // override virtual
+    void SaveSettings( wxConfigBase* aCfg ) override;
 
     /**
      * Append a message to the message panel.
diff --git a/include/eda_pattern_match.h b/include/eda_pattern_match.h
index fb23a14..c5fd7c1 100644
--- a/include/eda_pattern_match.h
+++ b/include/eda_pattern_match.h
@@ -65,8 +65,8 @@ public:
 class EDA_PATTERN_MATCH_SUBSTR : public EDA_PATTERN_MATCH
 {
 public:
-    virtual bool SetPattern( const wxString& aPattern );
-    virtual int Find( const wxString& aCandidate ) const;
+    virtual bool SetPattern( const wxString& aPattern ) override;
+    virtual int Find( const wxString& aCandidate ) const override;
 
 protected:
     wxString m_pattern;
@@ -79,8 +79,8 @@ protected:
 class EDA_PATTERN_MATCH_REGEX : public EDA_PATTERN_MATCH
 {
 public:
-    virtual bool SetPattern( const wxString& aPattern );
-    virtual int Find( const wxString& aCandidate ) const;
+    virtual bool SetPattern( const wxString& aPattern ) override;
+    virtual int Find( const wxString& aCandidate ) const override;
 
 protected:
     wxString m_pattern;
@@ -91,8 +91,8 @@ protected:
 class EDA_PATTERN_MATCH_WILDCARD : public EDA_PATTERN_MATCH_REGEX
 {
 public:
-    virtual bool SetPattern( const wxString& aPattern );
-    virtual int Find( const wxString& aCandidate ) const;
+    virtual bool SetPattern( const wxString& aPattern ) override;
+    virtual int Find( const wxString& aCandidate ) const override;
 };
 
 #endif  // EDA_PATTERN_MATCH_H
diff --git a/include/filter_reader.h b/include/filter_reader.h
index ca21c7d..8d94969 100644
--- a/include/filter_reader.h
+++ b/include/filter_reader.h
@@ -48,14 +48,14 @@ public:
 
     ~FILTER_READER();
 
-    char* ReadLine() throw( IO_ERROR );
+    char* ReadLine() throw( IO_ERROR ) override;
 
-    const wxString& GetSource() const
+    const wxString& GetSource() const override
     {
         return reader.GetSource();
     }
 
-    unsigned LineNumber() const
+    unsigned LineNumber() const override
     {
         return reader.LineNumber();
     }
@@ -82,14 +82,14 @@ public:
 
     ~WHITESPACE_FILTER_READER();
 
-    char* ReadLine() throw( IO_ERROR );
+    char* ReadLine() throw( IO_ERROR ) override;
 
-    const wxString& GetSource() const
+    const wxString& GetSource() const override
     {
         return reader.GetSource();
     }
 
-    unsigned LineNumber() const
+    unsigned LineNumber() const override
     {
         return reader.LineNumber();
     }
diff --git a/include/gal/cairo/cairo_compositor.h b/include/gal/cairo/cairo_compositor.h
index 6d5d74a..906458f 100644
--- a/include/gal/cairo/cairo_compositor.h
+++ b/include/gal/cairo/cairo_compositor.h
@@ -45,28 +45,28 @@ public:
     virtual ~CAIRO_COMPOSITOR();
 
     /// @copydoc COMPOSITOR::Initialize()
-    virtual void Initialize();
+    virtual void Initialize() override;
 
     /// @copydoc COMPOSITOR::Resize()
-    virtual void Resize( unsigned int aWidth, unsigned int aHeight );
+    virtual void Resize( unsigned int aWidth, unsigned int aHeight ) override;
 
     /// @copydoc COMPOSITOR::CreateBuffer()
-    virtual unsigned int CreateBuffer();
+    virtual unsigned int CreateBuffer() override;
 
     /// @copydoc COMPOSITOR::GetBuffer()
-    inline virtual unsigned int GetBuffer() const
+    inline virtual unsigned int GetBuffer() const override
     {
         return m_current + 1;
     }
 
     /// @copydoc COMPOSITOR::SetBuffer()
-    virtual void SetBuffer( unsigned int aBufferHandle );
+    virtual void SetBuffer( unsigned int aBufferHandle ) override;
 
     /// @copydoc COMPOSITOR::ClearBuffer()
-    virtual void ClearBuffer();
+    virtual void ClearBuffer() override;
 
     /// @copydoc COMPOSITOR::DrawBuffer()
-    virtual void DrawBuffer( unsigned int aBufferHandle );
+    virtual void DrawBuffer( unsigned int aBufferHandle ) override;
 
     /**
      * Function SetMainContext()
diff --git a/include/gal/cairo/cairo_gal.h b/include/gal/cairo/cairo_gal.h
index c0d42f7..9e5f249 100644
--- a/include/gal/cairo/cairo_gal.h
+++ b/include/gal/cairo/cairo_gal.h
@@ -96,152 +96,152 @@ public:
     // ---------------
 
     /// @copydoc GAL::BeginDrawing()
-    virtual void BeginDrawing();
+    virtual void BeginDrawing() override;
 
     /// @copydoc GAL::EndDrawing()
-    virtual void EndDrawing();
+    virtual void EndDrawing() override;
 
     /// @copydoc GAL::DrawLine()
-    virtual void DrawLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint );
+    virtual void DrawLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint ) override;
 
     /// @copydoc GAL::DrawSegment()
-    virtual void DrawSegment( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint, double aWidth );
+    virtual void DrawSegment( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint, double aWidth ) override;
 
     /// @copydoc GAL::DrawCircle()
-    virtual void DrawCircle( const VECTOR2D& aCenterPoint, double aRadius );
+    virtual void DrawCircle( const VECTOR2D& aCenterPoint, double aRadius ) override;
 
     /// @copydoc GAL::DrawArc()
     virtual void DrawArc( const VECTOR2D& aCenterPoint, double aRadius,
-                          double aStartAngle, double aEndAngle );
+                          double aStartAngle, double aEndAngle ) override;
 
     /// @copydoc GAL::DrawRectangle()
-    virtual void DrawRectangle( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint );
+    virtual void DrawRectangle( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint ) override;
 
     /// @copydoc GAL::DrawPolyline()
-    virtual void DrawPolyline( const std::deque<VECTOR2D>& aPointList ) { drawPoly( aPointList ); }
-    virtual void DrawPolyline( const VECTOR2D aPointList[], int aListSize ) { drawPoly( aPointList, aListSize ); }
+    virtual void DrawPolyline( const std::deque<VECTOR2D>& aPointList ) override { drawPoly( aPointList ); }
+    virtual void DrawPolyline( const VECTOR2D aPointList[], int aListSize ) override { drawPoly( aPointList, aListSize ); }
 
     /// @copydoc GAL::DrawPolygon()
-    virtual void DrawPolygon( const std::deque<VECTOR2D>& aPointList ) { drawPoly( aPointList ); }
-    virtual void DrawPolygon( const VECTOR2D aPointList[], int aListSize ) { drawPoly( aPointList, aListSize ); }
+    virtual void DrawPolygon( const std::deque<VECTOR2D>& aPointList ) override { drawPoly( aPointList ); }
+    virtual void DrawPolygon( const VECTOR2D aPointList[], int aListSize ) override { drawPoly( aPointList, aListSize ); }
 
     /// @copydoc GAL::DrawCurve()
     virtual void DrawCurve( const VECTOR2D& startPoint, const VECTOR2D& controlPointA,
-                            const VECTOR2D& controlPointB, const VECTOR2D& endPoint );
+                            const VECTOR2D& controlPointB, const VECTOR2D& endPoint ) override;
 
     // --------------
     // Screen methods
     // --------------
 
     /// @brief Resizes the canvas.
-    virtual void ResizeScreen( int aWidth, int aHeight );
+    virtual void ResizeScreen( int aWidth, int aHeight ) override;
 
     /// @brief Shows/hides the GAL canvas
-    virtual bool Show( bool aShow );
+    virtual bool Show( bool aShow ) override;
 
     /// @copydoc GAL::Flush()
-    virtual void Flush();
+    virtual void Flush() override;
 
     /// @copydoc GAL::ClearScreen()
-    virtual void ClearScreen( const COLOR4D& aColor );
+    virtual void ClearScreen( const COLOR4D& aColor ) override;
 
     // -----------------
     // Attribute setting
     // -----------------
 
     /// @copydoc GAL::SetIsFill()
-    virtual void SetIsFill( bool aIsFillEnabled );
+    virtual void SetIsFill( bool aIsFillEnabled ) override;
 
     /// @copydoc GAL::SetIsStroke()
-    virtual void SetIsStroke( bool aIsStrokeEnabled );
+    virtual void SetIsStroke( bool aIsStrokeEnabled ) override;
 
     /// @copydoc GAL::SetStrokeColor()
-    virtual void SetStrokeColor( const COLOR4D& aColor );
+    virtual void SetStrokeColor( const COLOR4D& aColor ) override;
 
     /// @copydoc GAL::SetFillColor()
-    virtual void SetFillColor( const COLOR4D& aColor );
+    virtual void SetFillColor( const COLOR4D& aColor ) override;
 
     /// @copydoc GAL::SetLineWidth()
-    virtual void SetLineWidth( double aLineWidth );
+    virtual void SetLineWidth( double aLineWidth ) override;
 
     /// @copydoc GAL::SetLayerDepth()
-    virtual void SetLayerDepth( double aLayerDepth );
+    virtual void SetLayerDepth( double aLayerDepth ) override;
 
     // --------------
     // Transformation
     // --------------
 
     /// @copydoc GAL::Transform()
-    virtual void Transform( const MATRIX3x3D& aTransformation );
+    virtual void Transform( const MATRIX3x3D& aTransformation ) override;
 
     /// @copydoc GAL::Rotate()
-    virtual void Rotate( double aAngle );
+    virtual void Rotate( double aAngle ) override;
 
     /// @copydoc GAL::Translate()
-    virtual void Translate( const VECTOR2D& aTranslation );
+    virtual void Translate( const VECTOR2D& aTranslation ) override;
 
     /// @copydoc GAL::Scale()
-    virtual void Scale( const VECTOR2D& aScale );
+    virtual void Scale( const VECTOR2D& aScale ) override;
 
     /// @copydoc GAL::Save()
-    virtual void Save();
+    virtual void Save() override;
 
     /// @copydoc GAL::Restore()
-    virtual void Restore();
+    virtual void Restore() override;
 
     // --------------------------------------------
     // Group methods
     // ---------------------------------------------
 
     /// @copydoc GAL::BeginGroup()
-    virtual int BeginGroup();
+    virtual int BeginGroup() override;
 
     /// @copydoc GAL::EndGroup()
-    virtual void EndGroup();
+    virtual void EndGroup() override;
 
     /// @copydoc GAL::DrawGroup()
-    virtual void DrawGroup( int aGroupNumber );
+    virtual void DrawGroup( int aGroupNumber ) override;
 
     /// @copydoc GAL::ChangeGroupColor()
-    virtual void ChangeGroupColor( int aGroupNumber, const COLOR4D& aNewColor );
+    virtual void ChangeGroupColor( int aGroupNumber, const COLOR4D& aNewColor ) override;
 
     /// @copydoc GAL::ChangeGroupDepth()
-    virtual void ChangeGroupDepth( int aGroupNumber, int aDepth );
+    virtual void ChangeGroupDepth( int aGroupNumber, int aDepth ) override;
 
     /// @copydoc GAL::DeleteGroup()
-    virtual void DeleteGroup( int aGroupNumber );
+    virtual void DeleteGroup( int aGroupNumber ) override;
 
     /// @copydoc GAL::ClearCache()
-    virtual void ClearCache();
+    virtual void ClearCache() override;
 
     // --------------------------------------------------------
     // Handling the world <-> screen transformation
     // --------------------------------------------------------
 
     /// @copydoc GAL::SaveScreen()
-    virtual void SaveScreen();
+    virtual void SaveScreen() override;
 
     /// @copydoc GAL::RestoreScreen()
-    virtual void RestoreScreen();
+    virtual void RestoreScreen() override;
 
     /// @copydoc GAL::SetTarget()
-    virtual void SetTarget( RENDER_TARGET aTarget );
+    virtual void SetTarget( RENDER_TARGET aTarget ) override;
 
     /// @copydoc GAL::GetTarget()
-    virtual RENDER_TARGET GetTarget() const;
+    virtual RENDER_TARGET GetTarget() const override;
 
     /// @copydoc GAL::ClearTarget()
-    virtual void ClearTarget( RENDER_TARGET aTarget );
+    virtual void ClearTarget( RENDER_TARGET aTarget ) override;
 
     // -------
     // Cursor
     // -------
 
     /// @copydoc GAL::SetCursorSize()
-    virtual void SetCursorSize( unsigned int aCursorSize );
+    virtual void SetCursorSize( unsigned int aCursorSize ) override;
 
     /// @copydoc GAL::DrawCursor()
-    virtual void DrawCursor( const VECTOR2D& aCursorPosition );
+    virtual void DrawCursor( const VECTOR2D& aCursorPosition ) override;
 
     /**
      * Function PostPaint
@@ -268,7 +268,7 @@ public:
     }
 
 protected:
-    virtual void drawGridLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint );
+    virtual void drawGridLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint ) override;
 
 private:
     /// Super class definition
diff --git a/include/gal/opengl/cached_container.h b/include/gal/opengl/cached_container.h
index 75fb014..21c3578 100644
--- a/include/gal/opengl/cached_container.h
+++ b/include/gal/opengl/cached_container.h
@@ -48,19 +48,19 @@ public:
     ~CACHED_CONTAINER();
 
     ///> @copydoc VERTEX_CONTAINER::SetItem()
-    virtual void SetItem( VERTEX_ITEM* aItem );
+    virtual void SetItem( VERTEX_ITEM* aItem ) override;
 
     ///> @copydoc VERTEX_CONTAINER::FinishItem()
-    virtual void FinishItem();
+    virtual void FinishItem() override;
 
     ///> @copydoc VERTEX_CONTAINER::Allocate()
-    virtual VERTEX* Allocate( unsigned int aSize );
+    virtual VERTEX* Allocate( unsigned int aSize ) override;
 
     ///> @copydoc VERTEX_CONTAINER::Delete()
-    virtual void Delete( VERTEX_ITEM* aItem );
+    virtual void Delete( VERTEX_ITEM* aItem ) override;
 
     ///> @copydoc VERTEX_CONTAINER::Clear()
-    virtual void Clear();
+    virtual void Clear() override;
 
     /**
      * Function GetBufferHandle()
@@ -81,10 +81,10 @@ public:
     }
 
     ///> @copydoc VERTEX_CONTAINER::Map()
-    void Map();
+    void Map() override;
 
     ///> @copydoc VERTEX_CONTAINER::Unmap()
-    void Unmap();
+    void Unmap() override;
 
 protected:
     ///> Maps size of free memory chunks to their offsets
diff --git a/include/gal/opengl/gpu_manager.h b/include/gal/opengl/gpu_manager.h
index 555f07d..e3b32a8 100644
--- a/include/gal/opengl/gpu_manager.h
+++ b/include/gal/opengl/gpu_manager.h
@@ -104,16 +104,16 @@ public:
     ~GPU_CACHED_MANAGER();
 
     ///> @copydoc GPU_MANAGER::BeginDrawing()
-    virtual void BeginDrawing();
+    virtual void BeginDrawing() override;
 
     ///> @copydoc GPU_MANAGER::DrawIndices()
-    virtual void DrawIndices( unsigned int aOffset, unsigned int aSize );
+    virtual void DrawIndices( unsigned int aOffset, unsigned int aSize ) override;
 
     ///> @copydoc GPU_MANAGER::DrawAll()
-    virtual void DrawAll();
+    virtual void DrawAll() override;
 
     ///> @copydoc GPU_MANAGER::EndDrawing()
-    virtual void EndDrawing();
+    virtual void EndDrawing() override;
 
     ///> Maps vertex buffer stored in GPU memory.
     void Map();
@@ -151,16 +151,16 @@ public:
     GPU_NONCACHED_MANAGER( VERTEX_CONTAINER* aContainer );
 
     ///> @copydoc GPU_MANAGER::BeginDrawing()
-    virtual void BeginDrawing();
+    virtual void BeginDrawing() override;
 
     ///> @copydoc GPU_MANAGER::DrawIndices()
-    virtual void DrawIndices( unsigned int aOffset, unsigned int aSize );
+    virtual void DrawIndices( unsigned int aOffset, unsigned int aSize ) override;
 
     ///> @copydoc GPU_MANAGER::DrawAll()
-    virtual void DrawAll();
+    virtual void DrawAll() override;
 
     ///> @copydoc GPU_MANAGER::EndDrawing()
-    virtual void EndDrawing();
+    virtual void EndDrawing() override;
 };
 } // namespace KIGFX
 #endif /* GPU_MANAGER_H_ */
diff --git a/include/gal/opengl/noncached_container.h b/include/gal/opengl/noncached_container.h
index 3a51e6d..dd45d6d 100644
--- a/include/gal/opengl/noncached_container.h
+++ b/include/gal/opengl/noncached_container.h
@@ -45,19 +45,19 @@ public:
     virtual ~NONCACHED_CONTAINER();
 
     ///< @copydoc VERTEX_CONTAINER::SetItem( VERTEX_ITEM* aItem )
-    virtual void SetItem( VERTEX_ITEM* aItem );
+    virtual void SetItem( VERTEX_ITEM* aItem ) override;
 
     ///< @copydoc VERTEX_CONTAINER::Allocate( unsigned int aSize )
-    virtual VERTEX* Allocate( unsigned int aSize );
+    virtual VERTEX* Allocate( unsigned int aSize ) override;
 
     ///< @copydoc VERTEX_CONTAINER::Delete( VERTEX_ITEM* aItem )
-    void Delete( VERTEX_ITEM* aItem ) {};
+    void Delete( VERTEX_ITEM* aItem ) override {}
 
     ///< @copydoc VERTEX_CONTAINER::Clear()
-    virtual void Clear();
+    virtual void Clear() override;
 
     ///< @copydoc VERTEX_CONTAINER::GetSize()
-    virtual inline unsigned int GetSize() const
+    virtual inline unsigned int GetSize() const override
     {
         // As the m_freePtr points to the first free space, we can safely assume
         // that this is the number of vertices stored inside
diff --git a/include/gal/opengl/opengl_compositor.h b/include/gal/opengl/opengl_compositor.h
index d754afa..e1fe0e5 100644
--- a/include/gal/opengl/opengl_compositor.h
+++ b/include/gal/opengl/opengl_compositor.h
@@ -44,19 +44,19 @@ public:
     virtual ~OPENGL_COMPOSITOR();
 
     /// @copydoc COMPOSITOR::Initialize()
-    virtual void Initialize();
+    virtual void Initialize() override;
 
     /// @copydoc COMPOSITOR::Resize()
-    virtual void Resize( unsigned int aWidth, unsigned int aHeight );
+    virtual void Resize( unsigned int aWidth, unsigned int aHeight ) override;
 
     /// @copydoc COMPOSITOR::CreateBuffer()
-    virtual unsigned int CreateBuffer();
+    virtual unsigned int CreateBuffer() override;
 
     /// @copydoc COMPOSITOR::SetBuffer()
-    virtual void SetBuffer( unsigned int aBufferHandle );
+    virtual void SetBuffer( unsigned int aBufferHandle ) override;
 
     /// @copydoc COMPOSITOR::GetBuffer()
-    inline virtual unsigned int GetBuffer() const
+    inline virtual unsigned int GetBuffer() const override
     {
         if( m_curFbo == DIRECT_RENDERING )
             return DIRECT_RENDERING;
@@ -65,10 +65,10 @@ public:
     }
 
     /// @copydoc COMPOSITOR::ClearBuffer()
-    virtual void ClearBuffer();
+    virtual void ClearBuffer() override;
 
     /// @copydoc COMPOSITOR::DrawBuffer()
-    virtual void DrawBuffer( unsigned int aBufferHandle );
+    virtual void DrawBuffer( unsigned int aBufferHandle ) override;
 
     // Constant used by glBindFramebuffer to turn off rendering to framebuffers
     static const unsigned int DIRECT_RENDERING = 0;
diff --git a/include/gal/opengl/opengl_gal.h b/include/gal/opengl/opengl_gal.h
index 2bf1ba1..fac6921 100644
--- a/include/gal/opengl/opengl_gal.h
+++ b/include/gal/opengl/opengl_gal.h
@@ -84,7 +84,7 @@ public:
     virtual ~OPENGL_GAL();
 
     /// @copydoc GAL::IsInitialized()
-    virtual bool IsInitialized() const { return IsShownOnScreen(); }
+    virtual bool IsInitialized() const override { return IsShownOnScreen(); }
 
     ///> @copydoc GAL::IsVisible()
     bool IsVisible() const override {
@@ -96,141 +96,141 @@ public:
     // ---------------
 
     /// @copydoc GAL::BeginDrawing()
-    virtual void BeginDrawing();
+    virtual void BeginDrawing() override;
 
     /// @copydoc GAL::EndDrawing()
-    virtual void EndDrawing();
+    virtual void EndDrawing() override;
 
     /// @copydoc GAL::BeginUpdate()
-    virtual void BeginUpdate();
+    virtual void BeginUpdate() override;
 
     /// @copydoc GAL::EndUpdate()
-    virtual void EndUpdate();
+    virtual void EndUpdate() override;
 
     /// @copydoc GAL::DrawLine()
-    virtual void DrawLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint );
+    virtual void DrawLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint ) override;
 
     /// @copydoc GAL::DrawSegment()
     virtual void DrawSegment( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint,
-                              double aWidth );
+                              double aWidth ) override;
 
     /// @copydoc GAL::DrawCircle()
-    virtual void DrawCircle( const VECTOR2D& aCenterPoint, double aRadius );
+    virtual void DrawCircle( const VECTOR2D& aCenterPoint, double aRadius ) override;
 
     /// @copydoc GAL::DrawArc()
     virtual void DrawArc( const VECTOR2D& aCenterPoint, double aRadius,
-                          double aStartAngle, double aEndAngle );
+                          double aStartAngle, double aEndAngle ) override;
 
     /// @copydoc GAL::DrawRectangle()
-    virtual void DrawRectangle( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint );
+    virtual void DrawRectangle( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint ) override;
 
     /// @copydoc GAL::DrawPolyline()
-    virtual void DrawPolyline( const std::deque<VECTOR2D>& aPointList );
-    virtual void DrawPolyline( const VECTOR2D aPointList[], int aListSize );
+    virtual void DrawPolyline( const std::deque<VECTOR2D>& aPointList ) override;
+    virtual void DrawPolyline( const VECTOR2D aPointList[], int aListSize ) override;
 
     /// @copydoc GAL::DrawPolygon()
-    virtual void DrawPolygon( const std::deque<VECTOR2D>& aPointList );
-    virtual void DrawPolygon( const VECTOR2D aPointList[], int aListSize );
+    virtual void DrawPolygon( const std::deque<VECTOR2D>& aPointList ) override;
+    virtual void DrawPolygon( const VECTOR2D aPointList[], int aListSize ) override;
 
     /// @copydoc GAL::DrawCurve()
     virtual void DrawCurve( const VECTOR2D& startPoint, const VECTOR2D& controlPointA,
-                            const VECTOR2D& controlPointB, const VECTOR2D& endPoint );
+                            const VECTOR2D& controlPointB, const VECTOR2D& endPoint ) override;
 
     /// @copydoc GAL::BitmapText()
     virtual void BitmapText( const wxString& aText, const VECTOR2D& aPosition,
-                             double aRotationAngle );
+                             double aRotationAngle ) override;
 
     /// @copydoc GAL::DrawGrid()
-    virtual void DrawGrid();
+    virtual void DrawGrid() override;
 
     // --------------
     // Screen methods
     // --------------
 
     /// @brief Resizes the canvas.
-    virtual void ResizeScreen( int aWidth, int aHeight );
+    virtual void ResizeScreen( int aWidth, int aHeight ) override;
 
     /// @brief Shows/hides the GAL canvas
-    virtual bool Show( bool aShow );
+    virtual bool Show( bool aShow ) override;
 
     /// @copydoc GAL::Flush()
-    virtual void Flush();
+    virtual void Flush() override;
 
     /// @copydoc GAL::ClearScreen()
-    virtual void ClearScreen( const COLOR4D& aColor );
+    virtual void ClearScreen( const COLOR4D& aColor ) override;
 
     // --------------
     // Transformation
     // --------------
 
     /// @copydoc GAL::Transform()
-    virtual void Transform( const MATRIX3x3D& aTransformation );
+    virtual void Transform( const MATRIX3x3D& aTransformation ) override;
 
     /// @copydoc GAL::Rotate()
-    virtual void Rotate( double aAngle );
+    virtual void Rotate( double aAngle ) override;
 
     /// @copydoc GAL::Translate()
-    virtual void Translate( const VECTOR2D& aTranslation );
+    virtual void Translate( const VECTOR2D& aTranslation ) override;
 
     /// @copydoc GAL::Scale()
-    virtual void Scale( const VECTOR2D& aScale );
+    virtual void Scale( const VECTOR2D& aScale ) override;
 
     /// @copydoc GAL::Save()
-    virtual void Save();
+    virtual void Save() override;
 
     /// @copydoc GAL::Restore()
-    virtual void Restore();
+    virtual void Restore() override;
 
     // --------------------------------------------
     // Group methods
     // ---------------------------------------------
 
     /// @copydoc GAL::BeginGroup()
-    virtual int BeginGroup();
+    virtual int BeginGroup() override;
 
     /// @copydoc GAL::EndGroup()
-    virtual void EndGroup();
+    virtual void EndGroup() override;
 
     /// @copydoc GAL::DrawGroup()
-    virtual void DrawGroup( int aGroupNumber );
+    virtual void DrawGroup( int aGroupNumber ) override;
 
     /// @copydoc GAL::ChangeGroupColor()
-    virtual void ChangeGroupColor( int aGroupNumber, const COLOR4D& aNewColor );
+    virtual void ChangeGroupColor( int aGroupNumber, const COLOR4D& aNewColor ) override;
 
     /// @copydoc GAL::ChangeGroupDepth()
-    virtual void ChangeGroupDepth( int aGroupNumber, int aDepth );
+    virtual void ChangeGroupDepth( int aGroupNumber, int aDepth ) override;
 
     /// @copydoc GAL::DeleteGroup()
-    virtual void DeleteGroup( int aGroupNumber );
+    virtual void DeleteGroup( int aGroupNumber ) override;
 
     /// @copydoc GAL::ClearCache()
-    virtual void ClearCache();
+    virtual void ClearCache() override;
 
     // --------------------------------------------------------
     // Handling the world <-> screen transformation
     // --------------------------------------------------------
 
     /// @copydoc GAL::SaveScreen()
-    virtual void SaveScreen();
+    virtual void SaveScreen() override;
 
     /// @copydoc GAL::RestoreScreen()
-    virtual void RestoreScreen();
+    virtual void RestoreScreen() override;
 
     /// @copydoc GAL::SetTarget()
-    virtual void SetTarget( RENDER_TARGET aTarget );
+    virtual void SetTarget( RENDER_TARGET aTarget ) override;
 
     /// @copydoc GAL::GetTarget()
-    virtual RENDER_TARGET GetTarget() const;
+    virtual RENDER_TARGET GetTarget() const override;
 
     /// @copydoc GAL::ClearTarget()
-    virtual void ClearTarget( RENDER_TARGET aTarget );
+    virtual void ClearTarget( RENDER_TARGET aTarget ) override;
 
     // -------
     // Cursor
     // -------
 
     /// @copydoc GAL::DrawCursor()
-    virtual void DrawCursor( const VECTOR2D& aCursorPosition );
+    virtual void DrawCursor( const VECTOR2D& aCursorPosition ) override;
 
     /**
      * @brief Function PostPaint
diff --git a/include/geometry/shape_line_chain.h b/include/geometry/shape_line_chain.h
index ae2bf5e..fbe80d5 100644
--- a/include/geometry/shape_line_chain.h
+++ b/include/geometry/shape_line_chain.h
@@ -127,7 +127,7 @@ public:
     ~SHAPE_LINE_CHAIN()
     {}
 
-    SHAPE* Clone() const;
+    SHAPE* Clone() const override;
 
     /**
      * Function Clear()
@@ -261,7 +261,7 @@ public:
     }
 
     /// @copydoc SHAPE::BBox()
-    const BOX2I BBox( int aClearance = 0 ) const
+    const BOX2I BBox( int aClearance = 0 ) const override
     {
         BOX2I bbox;
         bbox.Compute( m_points );
@@ -280,7 +280,7 @@ public:
      * @param aClearance minimum distance that does not qualify as a collision.
      * @return true, when a collision has been found
      */
-    bool Collide( const VECTOR2I& aP, int aClearance = 0 ) const;
+    bool Collide( const VECTOR2I& aP, int aClearance = 0 ) const override;
 
     /**
      * Function Collide()
@@ -290,7 +290,7 @@ public:
      * @param aClearance minimum distance that does not qualify as a collision.
      * @return true, when a collision has been found
      */
-    bool Collide( const SEG& aSeg, int aClearance = 0 ) const;
+    bool Collide( const SEG& aSeg, int aClearance = 0 ) const override;
 
     /**
      * Function Distance()
@@ -552,10 +552,10 @@ public:
     const VECTOR2I NearestPoint( const SEG& aSeg, int& dist ) const;
 
     /// @copydoc SHAPE::Format()
-    const std::string Format() const;
+    const std::string Format() const override;
 
     /// @copydoc SHAPE::Parse()
-    bool Parse( std::stringstream& aStream );
+    bool Parse( std::stringstream& aStream ) override;
 
     bool operator!=( const SHAPE_LINE_CHAIN& aRhs ) const
     {
@@ -573,13 +573,13 @@ public:
 
     bool CompareGeometry( const SHAPE_LINE_CHAIN & aOther ) const;
 
-    void Move( const VECTOR2I& aVector )
+    void Move( const VECTOR2I& aVector ) override
     {
         for( std::vector<VECTOR2I>::iterator i = m_points.begin(); i != m_points.end(); ++i )
             (*i) += aVector;
     }
 
-    bool IsSolid() const
+    bool IsSolid() const override
     {
         return false;
     }
diff --git a/include/geometry/shape_poly_set.h b/include/geometry/shape_poly_set.h
index fa61fca..842f2de 100644
--- a/include/geometry/shape_poly_set.h
+++ b/include/geometry/shape_poly_set.h
@@ -308,25 +308,25 @@ class SHAPE_POLY_SET : public SHAPE
         void Simplify( POLYGON_MODE aFastMode );
 
         /// @copydoc SHAPE::Format()
-        const std::string Format() const;
+        const std::string Format() const override;
 
         /// @copydoc SHAPE::Parse()
-        bool Parse( std::stringstream& aStream );
+        bool Parse( std::stringstream& aStream ) override;
 
         /// @copydoc SHAPE::Move()
-        void Move( const VECTOR2I& aVector );
+        void Move( const VECTOR2I& aVector ) override;
 
         /// @copydoc SHAPE::IsSolid()
-        bool IsSolid() const
+        bool IsSolid() const override
         {
             return true;
         }
 
-        const BOX2I BBox( int aClearance = 0 ) const;
+        const BOX2I BBox( int aClearance = 0 ) const override;
 
         // fixme: add collision support
-        bool Collide( const VECTOR2I& aP, int aClearance = 0 ) const { return false; }
-        bool Collide( const SEG& aSeg, int aClearance = 0 ) const { return false; }
+        bool Collide( const VECTOR2I& aP, int aClearance = 0 ) const override { return false; }
+        bool Collide( const SEG& aSeg, int aClearance = 0 ) const override { return false; }
 
 
         ///> Returns true is a given subpolygon contains the point aP. If aSubpolyIndex < 0 (default value),
diff --git a/include/geometry/shape_rect.h b/include/geometry/shape_rect.h
index a1a13dd..09673b5 100644
--- a/include/geometry/shape_rect.h
+++ b/include/geometry/shape_rect.h
@@ -90,7 +90,7 @@ public:
     }
 
     /// @copydoc SHAPE::Collide()
-    bool Collide( const SEG& aSeg, int aClearance = 0 ) const;
+    bool Collide( const SEG& aSeg, int aClearance = 0 ) const override;
 
     /**
      * Function GetPosition()
diff --git a/include/html_messagebox.h b/include/html_messagebox.h
index 8527630..3e5a0ed 100644
--- a/include/html_messagebox.h
+++ b/include/html_messagebox.h
@@ -41,7 +41,7 @@ class HTML_MESSAGE_BOX : public DIALOG_DISPLAY_HTML_TEXT_BASE
 {
 protected:
     // Handlers for HTML_MESSAGE_BOX_BASE events.
-    void OnCloseButtonClick( wxCommandEvent& event );
+    void OnCloseButtonClick( wxCommandEvent& event ) override;
 
 public:
     /**
diff --git a/include/kiface_i.h b/include/kiface_i.h
index 5cb41b8..6a4134f 100644
--- a/include/kiface_i.h
+++ b/include/kiface_i.h
@@ -42,7 +42,7 @@ public:
 
         // see base class KIFACE in kiway.h for doxygen docs
 
-    VTBL_ENTRY bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) = 0;
+    VTBL_ENTRY bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) override = 0;
     /*
     {
         typically call start_common() in your overload
@@ -50,16 +50,16 @@ public:
     }
     */
 
-    VTBL_ENTRY void OnKifaceEnd()
+    VTBL_ENTRY void OnKifaceEnd() override
     {
         // overload this if you want, end_common() may be handy.
         end_common();
     }
 
     VTBL_ENTRY  wxWindow* CreateWindow( wxWindow* aParent,
-            int aClassId, KIWAY* aKIWAY, int aCtlBits = 0 ) = 0;
+            int aClassId, KIWAY* aKIWAY, int aCtlBits = 0 ) override = 0;
 
-    VTBL_ENTRY void* IfaceOrAddress( int aDataId ) = 0;
+    VTBL_ENTRY void* IfaceOrAddress( int aDataId ) override = 0;
 
     //-----</KIFACE API>---------------------------------------------------------
 
diff --git a/include/kiway.h b/include/kiway.h
index 300d6db..3536bd7 100644
--- a/include/kiway.h
+++ b/include/kiway.h
@@ -371,7 +371,7 @@ public:
 
     void OnKiwayEnd();
 
-    bool ProcessEvent( wxEvent& aEvent );   // overload virtual
+    bool ProcessEvent( wxEvent& aEvent ) override;
 
 private:
 
diff --git a/include/kiway_express.h b/include/kiway_express.h
index 23a1ef9..2b49742 100644
--- a/include/kiway_express.h
+++ b/include/kiway_express.h
@@ -62,7 +62,7 @@ public:
     const std::string&  GetPayload()                    { return m_payload; }
     void SetPayload( const std::string& aPayload )      { m_payload = aPayload; }
 
-    KIWAY_EXPRESS* Clone() const            { return new KIWAY_EXPRESS( *this ); }
+    KIWAY_EXPRESS* Clone() const override   { return new KIWAY_EXPRESS( *this ); }
 
     //KIWAY_EXPRESS() {}
 
diff --git a/include/kiway_player.h b/include/kiway_player.h
index 9738fd5..6aa6b0c 100644
--- a/include/kiway_player.h
+++ b/include/kiway_player.h
@@ -209,7 +209,7 @@ public:
     /**
      * Our version of Destroy() which is virtual from wxWidgets
      */
-    bool Destroy();
+    bool Destroy() override;
 
 protected:
 
diff --git a/include/origin_viewitem.h b/include/origin_viewitem.h
index 7735641..a00fd44 100644
--- a/include/origin_viewitem.h
+++ b/include/origin_viewitem.h
@@ -48,18 +48,18 @@ public:
                      MARKER_STYLE aStyle = CIRCLE_X, int aSize = 16,
                      const VECTOR2D& aPosition = VECTOR2D( 0, 0 ) );
 
-    const BOX2I ViewBBox() const;
+    const BOX2I ViewBBox() const override;
 
-    void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const;
+    void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const override;
 
-    void ViewGetLayers( int aLayers[], int& aCount ) const
+    void ViewGetLayers( int aLayers[], int& aCount ) const override
     {
         aLayers[0] = ITEM_GAL_LAYER( GP_OVERLAY );
         aCount = 1;
     }
 
 #if defined(DEBUG)
-    void Show( int x, std::ostream& st ) const
+    void Show( int x, std::ostream& st ) const override
     {
     }
 #endif
@@ -67,7 +67,7 @@ public:
     /** Get class name
      * @return  string "ORIGIN_VIEWITEM"
      */
-    wxString GetClass() const
+    wxString GetClass() const override
     {
         return wxT( "ORIGIN_VIEWITEM" );
     }
diff --git a/include/plot_common.h b/include/plot_common.h
index 9914aae..f4a5559 100644
--- a/include/plot_common.h
+++ b/include/plot_common.h
@@ -552,7 +552,7 @@ class HPGL_PLOTTER : public PLOTTER
 public:
     HPGL_PLOTTER();
 
-    virtual PlotFormat GetPlotterType() const
+    virtual PlotFormat GetPlotterType() const override
     {
         return PLOT_FORMAT_HPGL;
     }
@@ -562,8 +562,8 @@ public:
         return wxString( wxT( "plt" ) );
     }
 
-    virtual bool StartPlot();
-    virtual bool EndPlot();
+    virtual bool StartPlot() override;
+    virtual bool EndPlot() override;
 
     /// HPGL doesn't handle line thickness or color
     virtual void SetCurrentLineWidth( int width, void* aData = NULL ) override
@@ -572,10 +572,10 @@ public:
         currentPenWidth = userToDeviceSize( penDiameter );
     }
 
-    virtual void SetDefaultLineWidth( int width ) {};
-    virtual void SetDash( bool dashed );
+    virtual void SetDefaultLineWidth( int width ) override {}
+    virtual void SetDash( bool dashed ) override;
 
-    virtual void SetColor( EDA_COLOR_T color ) {};
+    virtual void SetColor( EDA_COLOR_T color ) override {}
 
     virtual void SetPenSpeed( int speed )
     {
@@ -590,11 +590,11 @@ public:
     virtual void SetPenDiameter( double diameter );
 
     virtual void SetViewport( const wxPoint& aOffset, double aIusPerDecimil,
-                  double aScale, bool aMirror );
+                  double aScale, bool aMirror ) override;
     virtual void Rect( const wxPoint& p1, const wxPoint& p2, FILL_T fill,
-               int width = USE_DEFAULT_LINE_WIDTH );
+               int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Circle( const wxPoint& pos, int diametre, FILL_T fill,
-                         int width = USE_DEFAULT_LINE_WIDTH );
+                         int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void PlotPoly( const std::vector< wxPoint >& aCornerList,
                            FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH,
                            void * aData = NULL) override;
@@ -602,8 +602,8 @@ public:
     virtual void ThickSegment( const wxPoint& start, const wxPoint& end, int width,
                                EDA_DRAW_MODE_T tracemode, void* aData ) override;
     virtual void Arc( const wxPoint& centre, double StAngle, double EndAngle,
-                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH );
-    virtual void PenTo( const wxPoint& pos, char plume );
+                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH ) override;
+    virtual void PenTo( const wxPoint& pos, char plume ) override;
     virtual void FlashPadCircle( const wxPoint& pos, int diametre,
                                  EDA_DRAW_MODE_T trace_mode, void* aData ) override;
     virtual void FlashPadOval( const wxPoint& pos, const wxSize& size, double orient,
@@ -643,13 +643,13 @@ public:
     /**
      * PS and PDF fully implement native text (for the Latin-1 subset)
      */
-    virtual void SetTextMode( PlotTextMode mode )
+    virtual void SetTextMode( PlotTextMode mode ) override
     {
         if( mode != PLOTTEXTMODE_DEFAULT )
             m_textMode = mode;
     }
 
-    virtual void SetDefaultLineWidth( int width );
+    virtual void SetDefaultLineWidth( int width ) override;
 
     /**
      * Set the 'fine' scaling for the postscript engine
@@ -680,7 +680,7 @@ public:
      * The PSLIKE computes the rgb values, the subclass emits the
      * operator to actually do it
      */
-    virtual void SetColor( EDA_COLOR_T color );
+    virtual void SetColor( EDA_COLOR_T color ) override;
 
 protected:
     void computeTextParameters( const wxPoint&           aPos,
@@ -737,33 +737,33 @@ public:
         return wxString( wxT( "ps" ) );
     }
 
-    virtual PlotFormat GetPlotterType() const
+    virtual PlotFormat GetPlotterType() const override
     {
         return PLOT_FORMAT_POST;
     }
 
-    virtual bool StartPlot();
-    virtual bool EndPlot();
+    virtual bool StartPlot() override;
+    virtual bool EndPlot() override;
     virtual void SetCurrentLineWidth( int width, void* aData = NULL ) override;
-    virtual void SetDash( bool dashed );
+    virtual void SetDash( bool dashed ) override;
 
     virtual void SetViewport( const wxPoint& aOffset, double aIusPerDecimil,
-                  double aScale, bool aMirror );
+                  double aScale, bool aMirror ) override;
     virtual void Rect( const wxPoint& p1, const wxPoint& p2, FILL_T fill,
-                       int width = USE_DEFAULT_LINE_WIDTH );
+                       int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Circle( const wxPoint& pos, int diametre, FILL_T fill,
-                         int width = USE_DEFAULT_LINE_WIDTH );
+                         int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Arc( const wxPoint& centre, double StAngle, double EndAngle,
-                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH );
+                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH ) override;
 
     virtual void PlotPoly( const std::vector< wxPoint >& aCornerList,
                            FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH,
                            void * aData = NULL ) override;
 
     virtual void PlotImage( const wxImage& aImage, const wxPoint& aPos,
-                            double aScaleFactor );
+                            double aScaleFactor ) override;
 
-    virtual void PenTo( const wxPoint& pos, char plume );
+    virtual void PenTo( const wxPoint& pos, char plume ) override;
     virtual void Text( const wxPoint&              aPos,
                        enum EDA_COLOR_T            aColor,
                        const wxString&             aText,
@@ -777,7 +777,7 @@ public:
                        bool                        aMultilineAllowed = false,
                        void* aData = NULL ) override;
 protected:
-    virtual void emitSetRGBColor( double r, double g, double b );
+    virtual void emitSetRGBColor( double r, double g, double b ) override;
 };
 
 class PDF_PLOTTER : public PSLIKE_PLOTTER
@@ -790,7 +790,7 @@ public:
         pageTreeHandle = 0;
     }
 
-    virtual PlotFormat GetPlotterType() const
+    virtual PlotFormat GetPlotterType() const override
     {
         return PLOT_FORMAT_PDF;
     }
@@ -808,32 +808,32 @@ public:
      * The base class open the file in text mode, so we should have this
      * function overlaid for PDF files, which are binary files
      */
-    virtual bool OpenFile( const wxString& aFullFilename );
+    virtual bool OpenFile( const wxString& aFullFilename ) override;
 
-    virtual bool StartPlot();
-    virtual bool EndPlot();
+    virtual bool StartPlot() override;
+    virtual bool EndPlot() override;
     virtual void StartPage();
     virtual void ClosePage();
     virtual void SetCurrentLineWidth( int width, void* aData = NULL ) override;
-    virtual void SetDash( bool dashed );
+    virtual void SetDash( bool dashed ) override;
 
     /** PDF can have multiple pages, so SetPageSettings can be called
      * with the outputFile open (but not inside a page stream!) */
-    virtual void SetPageSettings( const PAGE_INFO& aPageSettings );
+    virtual void SetPageSettings( const PAGE_INFO& aPageSettings ) override;
     virtual void SetViewport( const wxPoint& aOffset, double aIusPerDecimil,
-                  double aScale, bool aMirror );
+                  double aScale, bool aMirror ) override;
     virtual void Rect( const wxPoint& p1, const wxPoint& p2, FILL_T fill,
-                       int width = USE_DEFAULT_LINE_WIDTH );
+                       int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Circle( const wxPoint& pos, int diametre, FILL_T fill,
-                         int width = USE_DEFAULT_LINE_WIDTH );
+                         int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Arc( const wxPoint& centre, double StAngle, double EndAngle,
-                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH );
+                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH ) override;
 
     virtual void PlotPoly( const std::vector< wxPoint >& aCornerList,
                            FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH,
                            void * aData = NULL ) override;
 
-    virtual void PenTo( const wxPoint& pos, char plume );
+    virtual void PenTo( const wxPoint& pos, char plume ) override;
 
     virtual void Text( const wxPoint&              aPos,
                        enum EDA_COLOR_T            aColor,
@@ -849,11 +849,11 @@ public:
                        void* aData = NULL ) override;
 
     virtual void PlotImage( const wxImage& aImage, const wxPoint& aPos,
-                            double aScaleFactor );
+                            double aScaleFactor ) override;
 
 
 protected:
-    virtual void emitSetRGBColor( double r, double g, double b );
+    virtual void emitSetRGBColor( double r, double g, double b ) override;
     int allocPdfObject();
     int startPdfObject(int handle = -1);
     void closePdfObject();
@@ -879,34 +879,34 @@ public:
         return wxString( wxT( "svg" ) );
     }
 
-    virtual PlotFormat GetPlotterType() const
+    virtual PlotFormat GetPlotterType() const override
     {
         return PLOT_FORMAT_SVG;
     }
 
-    virtual void SetColor( EDA_COLOR_T color );
-    virtual bool StartPlot();
-    virtual bool EndPlot();
+    virtual void SetColor( EDA_COLOR_T color ) override;
+    virtual bool StartPlot() override;
+    virtual bool EndPlot() override;
     virtual void SetCurrentLineWidth( int width, void* aData = NULL ) override;
-    virtual void SetDash( bool dashed );
+    virtual void SetDash( bool dashed ) override;
 
     virtual void SetViewport( const wxPoint& aOffset, double aIusPerDecimil,
-                  double aScale, bool aMirror );
+                  double aScale, bool aMirror ) override;
     virtual void Rect( const wxPoint& p1, const wxPoint& p2, FILL_T fill,
-                       int width = USE_DEFAULT_LINE_WIDTH );
+                       int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Circle( const wxPoint& pos, int diametre, FILL_T fill,
-                         int width = USE_DEFAULT_LINE_WIDTH );
+                         int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Arc( const wxPoint& centre, double StAngle, double EndAngle,
-                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH );
+                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH ) override;
 
     virtual void PlotPoly( const std::vector< wxPoint >& aCornerList,
                            FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH,
                            void * aData = NULL ) override;
 
     virtual void PlotImage( const wxImage& aImage, const wxPoint& aPos,
-                            double aScaleFactor );
+                            double aScaleFactor ) override;
 
-    virtual void PenTo( const wxPoint& pos, char plume );
+    virtual void PenTo( const wxPoint& pos, char plume ) override;
     virtual void Text( const wxPoint&              aPos,
                        enum EDA_COLOR_T            aColor,
                        const wxString&             aText,
@@ -939,7 +939,7 @@ protected:
      * initialize m_pen_rgb_color from reduced values r, g ,b
      * ( reduced values are 0.0 to 1.0 )
      */
-    virtual void emitSetRGBColor( double r, double g, double b );
+    virtual void emitSetRGBColor( double r, double g, double b ) override;
 
     /**
      * function setSVGPlotStyle()
@@ -981,7 +981,7 @@ class GERBER_PLOTTER : public PLOTTER
 public:
     GERBER_PLOTTER();
 
-    virtual PlotFormat GetPlotterType() const
+    virtual PlotFormat GetPlotterType() const override
     {
         return PLOT_FORMAT_GERBER;
     }
@@ -996,23 +996,23 @@ public:
      * Write GERBER header to file
      * initialize global variable g_Plot_PlotOutputFile
      */
-    virtual bool StartPlot();
-    virtual bool EndPlot();
+    virtual bool StartPlot() override;
+    virtual bool EndPlot() override;
     virtual void SetCurrentLineWidth( int width, void* aData = NULL ) override;
-    virtual void SetDefaultLineWidth( int width );
+    virtual void SetDefaultLineWidth( int width ) override;
 
     // RS274X has no dashing, nor colours
-    virtual void SetDash( bool dashed ) {};
-    virtual void SetColor( EDA_COLOR_T color ) {};
+    virtual void SetDash( bool dashed ) override {}
+    virtual void SetColor( EDA_COLOR_T color ) override {}
     // Currently, aScale and aMirror are not used in gerber plotter
     virtual void SetViewport( const wxPoint& aOffset, double aIusPerDecimil,
-                          double aScale, bool aMirror );
+                          double aScale, bool aMirror ) override;
     virtual void Rect( const wxPoint& p1, const wxPoint& p2, FILL_T fill,
-                       int width = USE_DEFAULT_LINE_WIDTH );
+                       int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Circle( const wxPoint& pos, int diametre, FILL_T fill,
-                         int width = USE_DEFAULT_LINE_WIDTH );
+                         int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Arc( const wxPoint& aCenter, double aStAngle, double aEndAngle,
-                      int aRadius, FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH );
+                      int aRadius, FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH ) override;
 
     virtual void ThickSegment( const wxPoint& start, const wxPoint& end, int width,
                                EDA_DRAW_MODE_T tracemode, void* aData ) override;
@@ -1031,7 +1031,7 @@ public:
                            FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH,
                            void * aData = NULL ) override;
 
-    virtual void PenTo( const wxPoint& pos, char plume );
+    virtual void PenTo( const wxPoint& pos, char plume ) override;
 
     virtual void Text( const wxPoint&              aPos,
                        enum EDA_COLOR_T            aColor,
@@ -1088,7 +1088,7 @@ public:
      * Change the plot polarity and begin a new layer
      * Used to 'scratch off' silk screen away from solder mask
      */
-    virtual void SetLayerPolarity( bool aPositive );
+    virtual void SetLayerPolarity( bool aPositive ) override;
 
     /**
      * Function SetGerberCoordinatesFormat
@@ -1100,7 +1100,7 @@ public:
      *
      * Should be called only after SetViewport() is called
      */
-    virtual void SetGerberCoordinatesFormat( int aResolution, bool aUseInches = false );
+    virtual void SetGerberCoordinatesFormat( int aResolution, bool aUseInches = false ) override;
 
     void UseX2Attributes( bool aEnable ) { m_useX2Attributes = aEnable; }
     void UseX2NetAttributes( bool aEnable ) { m_useNetAttributes = aEnable; }
@@ -1206,7 +1206,7 @@ public:
         m_currentColor = BLACK;
     }
 
-    virtual PlotFormat GetPlotterType() const
+    virtual PlotFormat GetPlotterType() const override
     {
         return PLOT_FORMAT_DXF;
     }
@@ -1219,14 +1219,14 @@ public:
     /**
      * DXF handles NATIVE text emitting TEXT entities
      */
-    virtual void SetTextMode( PlotTextMode mode )
+    virtual void SetTextMode( PlotTextMode mode ) override
     {
         if( mode != PLOTTEXTMODE_DEFAULT )
             textAsLines = ( mode != PLOTTEXTMODE_NATIVE );
     }
 
-    virtual bool StartPlot();
-    virtual bool EndPlot();
+    virtual bool StartPlot() override;
+    virtual bool EndPlot() override;
 
     // For now we don't use 'thick' primitives, so no line width
     virtual void SetCurrentLineWidth( int width, void* aData = NULL ) override
@@ -1234,29 +1234,29 @@ public:
         currentPenWidth = 0;
     }
 
-    virtual void SetDefaultLineWidth( int width )
+    virtual void SetDefaultLineWidth( int width ) override
     {
         // DXF lines are infinitesimal
         defaultPenWidth = 0;
     }
 
-    virtual void SetDash( bool dashed );
+    virtual void SetDash( bool dashed ) override;
 
-    virtual void SetColor( EDA_COLOR_T color );
+    virtual void SetColor( EDA_COLOR_T color ) override;
 
     virtual void SetViewport( const wxPoint& aOffset, double aIusPerDecimil,
-                  double aScale, bool aMirror );
+                  double aScale, bool aMirror ) override;
     virtual void Rect( const wxPoint& p1, const wxPoint& p2, FILL_T fill,
-                       int width = USE_DEFAULT_LINE_WIDTH );
+                       int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Circle( const wxPoint& pos, int diametre, FILL_T fill,
-                         int width = USE_DEFAULT_LINE_WIDTH );
+                         int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void PlotPoly( const std::vector< wxPoint >& aCornerList,
                            FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH, void * aData = NULL ) override;
     virtual void ThickSegment( const wxPoint& start, const wxPoint& end, int width,
                                EDA_DRAW_MODE_T tracemode, void* aData ) override;
     virtual void Arc( const wxPoint& centre, double StAngle, double EndAngle,
-                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH );
-    virtual void PenTo( const wxPoint& pos, char plume );
+                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH ) override;
+    virtual void PenTo( const wxPoint& pos, char plume ) override;
 
     virtual void FlashPadCircle( const wxPoint& pos, int diametre,
                                  EDA_DRAW_MODE_T trace_mode, void* aData ) override;
diff --git a/include/plugins/3dapi/ifsg_appearance.h b/include/plugins/3dapi/ifsg_appearance.h
index e1ff43a..0530f70 100644
--- a/include/plugins/3dapi/ifsg_appearance.h
+++ b/include/plugins/3dapi/ifsg_appearance.h
@@ -38,9 +38,9 @@ public:
     IFSG_APPEARANCE( SGNODE* aParent );
     IFSG_APPEARANCE( IFSG_NODE& aParent );
 
-    bool Attach( SGNODE* aNode );
-    bool NewNode( SGNODE* aParent );
-    bool NewNode( IFSG_NODE& aParent );
+    bool Attach( SGNODE* aNode ) override;
+    bool NewNode( SGNODE* aParent ) override;
+    bool NewNode( IFSG_NODE& aParent ) override;
 
     bool SetEmissive( float aRVal, float aGVal, float aBVal );
     bool SetEmissive( const SGCOLOR* aRGBColor );
diff --git a/include/plugins/3dapi/ifsg_colors.h b/include/plugins/3dapi/ifsg_colors.h
index e93b3cb..05aa299 100644
--- a/include/plugins/3dapi/ifsg_colors.h
+++ b/include/plugins/3dapi/ifsg_colors.h
@@ -45,9 +45,9 @@ public:
     IFSG_COLORS( SGNODE* aParent );
     IFSG_COLORS( IFSG_NODE& aParent );
 
-    bool Attach( SGNODE* aNode );
-    bool NewNode( SGNODE* aParent );
-    bool NewNode( IFSG_NODE& aParent );
+    bool Attach( SGNODE* aNode ) override;
+    bool NewNode( SGNODE* aParent ) override;
+    bool NewNode( IFSG_NODE& aParent ) override;
 
     bool GetColorList( size_t& aListSize, SGCOLOR*& aColorList );
     bool SetColorList( size_t aListSize, const SGCOLOR* aColorList );
diff --git a/include/plugins/3dapi/ifsg_coordindex.h b/include/plugins/3dapi/ifsg_coordindex.h
index ab6ca86..2606943 100644
--- a/include/plugins/3dapi/ifsg_coordindex.h
+++ b/include/plugins/3dapi/ifsg_coordindex.h
@@ -44,9 +44,9 @@ public:
     IFSG_COORDINDEX( SGNODE* aParent );
     IFSG_COORDINDEX( IFSG_NODE& aParent );
 
-    bool Attach( SGNODE* aNode );
-    bool NewNode( SGNODE* aParent );
-    bool NewNode( IFSG_NODE& aParent );
+    bool Attach( SGNODE* aNode ) override;
+    bool NewNode( SGNODE* aParent ) override;
+    bool NewNode( IFSG_NODE& aParent ) override;
 };
 
 #endif  // IFSG_COORDINDEX_H
diff --git a/include/plugins/3dapi/ifsg_coords.h b/include/plugins/3dapi/ifsg_coords.h
index 428681f..9e01125 100644
--- a/include/plugins/3dapi/ifsg_coords.h
+++ b/include/plugins/3dapi/ifsg_coords.h
@@ -44,9 +44,9 @@ public:
     IFSG_COORDS( SGNODE* aParent );
     IFSG_COORDS( IFSG_NODE& aParent );
 
-    bool Attach( SGNODE* aNode );
-    bool NewNode( SGNODE* aParent );
-    bool NewNode( IFSG_NODE& aParent );
+    bool Attach( SGNODE* aNode ) override;
+    bool NewNode( SGNODE* aParent ) override;
+    bool NewNode( IFSG_NODE& aParent ) override;
 
     bool GetCoordsList( size_t& aListSize, SGPOINT*& aCoordsList );
     bool SetCoordsList( size_t aListSize, const SGPOINT* aCoordsList );
diff --git a/include/plugins/3dapi/ifsg_faceset.h b/include/plugins/3dapi/ifsg_faceset.h
index 1abd4d7..57ece8c 100644
--- a/include/plugins/3dapi/ifsg_faceset.h
+++ b/include/plugins/3dapi/ifsg_faceset.h
@@ -44,9 +44,9 @@ public:
     IFSG_FACESET( SGNODE* aParent );
     IFSG_FACESET( IFSG_NODE& aParent );
 
-    bool Attach( SGNODE* aNode );
-    bool NewNode( SGNODE* aParent );
-    bool NewNode( IFSG_NODE& aParent );
+    bool Attach( SGNODE* aNode ) override;
+    bool NewNode( SGNODE* aParent ) override;
+    bool NewNode( IFSG_NODE& aParent ) override;
 
     bool CalcNormals( SGNODE** aPtr );
 };
diff --git a/include/plugins/3dapi/ifsg_index.h b/include/plugins/3dapi/ifsg_index.h
index a72cbdb..e0cd062 100644
--- a/include/plugins/3dapi/ifsg_index.h
+++ b/include/plugins/3dapi/ifsg_index.h
@@ -42,9 +42,9 @@ class SGLIB_API IFSG_INDEX : public IFSG_NODE
 public:
     IFSG_INDEX();
 
-    virtual bool Attach( SGNODE* aNode ) = 0;
-    virtual bool NewNode( SGNODE* aParent ) = 0;
-    virtual bool NewNode( IFSG_NODE& aParent ) = 0;
+    virtual bool Attach( SGNODE* aNode ) override = 0;
+    virtual bool NewNode( SGNODE* aParent ) override = 0;
+    virtual bool NewNode( IFSG_NODE& aParent ) override = 0;
 
     bool GetIndices( size_t& nIndices, int*& aIndexList );
 
diff --git a/include/plugins/3dapi/ifsg_normals.h b/include/plugins/3dapi/ifsg_normals.h
index 4befd15..7a607d3 100644
--- a/include/plugins/3dapi/ifsg_normals.h
+++ b/include/plugins/3dapi/ifsg_normals.h
@@ -44,9 +44,9 @@ public:
     IFSG_NORMALS( SGNODE* aParent );
     IFSG_NORMALS( IFSG_NODE& aParent );
 
-    bool Attach( SGNODE* aNode );
-    bool NewNode( SGNODE* aParent );
-    bool NewNode( IFSG_NODE& aParent );
+    bool Attach( SGNODE* aNode ) override;
+    bool NewNode( SGNODE* aParent ) override;
+    bool NewNode( IFSG_NODE& aParent ) override;
 
     bool GetNormalList( size_t& aListSize, SGVECTOR*& aNormalList );
     bool SetNormalList( size_t aListSize, const SGVECTOR* aNormalList );
diff --git a/include/plugins/3dapi/ifsg_shape.h b/include/plugins/3dapi/ifsg_shape.h
index 0d9ba2f..570fb2e 100644
--- a/include/plugins/3dapi/ifsg_shape.h
+++ b/include/plugins/3dapi/ifsg_shape.h
@@ -44,9 +44,9 @@ public:
     IFSG_SHAPE( SGNODE* aParent );
     IFSG_SHAPE( IFSG_NODE& aParent );
 
-    bool Attach( SGNODE* aNode );
-    bool NewNode( SGNODE* aParent );
-    bool NewNode( IFSG_NODE& aParent );
+    bool Attach( SGNODE* aNode ) override;
+    bool NewNode( SGNODE* aParent ) override;
+    bool NewNode( IFSG_NODE& aParent ) override;
 };
 
 #endif  // IFSG_SHAPE_H
diff --git a/include/plugins/3dapi/ifsg_transform.h b/include/plugins/3dapi/ifsg_transform.h
index 42bf1e6..0ede4cb 100644
--- a/include/plugins/3dapi/ifsg_transform.h
+++ b/include/plugins/3dapi/ifsg_transform.h
@@ -46,9 +46,9 @@ public:
     // since a transform may own another transform and that construct
     // invites accidental misuse of the copy constructor
 
-    bool Attach( SGNODE* aNode );
-    bool NewNode( SGNODE* aParent );
-    bool NewNode( IFSG_NODE& aParent );
+    bool Attach( SGNODE* aNode ) override;
+    bool NewNode( SGNODE* aParent ) override;
+    bool NewNode( IFSG_NODE& aParent ) override;
 
     bool SetScaleOrientation( const SGVECTOR& aScaleAxis, double aAngle );
     bool SetRotation( const SGVECTOR& aRotationAxis, double aAngle );
diff --git a/include/reporter.h b/include/reporter.h
index e5599ea..865bbfd 100644
--- a/include/reporter.h
+++ b/include/reporter.h
@@ -103,7 +103,7 @@ public:
     {
     }
 
-    REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED );
+    REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED ) override;
 };
 
 
@@ -122,7 +122,7 @@ public:
     {
     }
 
-    REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED );
+    REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED ) override;
 };
 
 
@@ -141,7 +141,7 @@ public:
     {
     }
 
-    REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED );
+    REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED ) override;
 };
 
 /**
@@ -159,7 +159,7 @@ class NULL_REPORTER : public REPORTER
 
         static REPORTER& GetInstance();
 
-        REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED );
+        REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED ) override;
 };
 
 #endif     // _REPORTER_H_
diff --git a/include/richio.h b/include/richio.h
index 3af7224..0e4900c 100644
--- a/include/richio.h
+++ b/include/richio.h
@@ -232,7 +232,7 @@ public:
      */
     ~FILE_LINE_READER();
 
-    char* ReadLine() throw( IO_ERROR );   // see LINE_READER::ReadLine() description
+    char* ReadLine() throw( IO_ERROR ) override;
 
     /**
      * Function Rewind
@@ -279,7 +279,7 @@ public:
      */
     STRING_LINE_READER( const STRING_LINE_READER& aStartingPoint );
 
-    char* ReadLine() throw( IO_ERROR );    // see LINE_READER::ReadLine() description
+    char* ReadLine() throw( IO_ERROR ) override;
 };
 
 
@@ -302,7 +302,7 @@ public:
      */
     INPUTSTREAM_LINE_READER( wxInputStream* aStream, const wxString& aSource );
 
-    char* ReadLine() throw( IO_ERROR );    // see LINE_READER::ReadLine() description
+    char* ReadLine() throw( IO_ERROR ) override;
 };
 
 
@@ -479,7 +479,7 @@ public:
 
 protected:
     //-----<OUTPUTFORMATTER>------------------------------------------------
-    void write( const char* aOutBuf, int aCount ) throw( IO_ERROR );
+    void write( const char* aOutBuf, int aCount ) throw( IO_ERROR ) override;
     //-----</OUTPUTFORMATTER>-----------------------------------------------
 };
 
@@ -511,7 +511,7 @@ public:
 
 protected:
     //-----<OUTPUTFORMATTER>------------------------------------------------
-    void write( const char* aOutBuf, int aCount ) throw( IO_ERROR );
+    void write( const char* aOutBuf, int aCount ) throw( IO_ERROR ) override;
     //-----</OUTPUTFORMATTER>-----------------------------------------------
 
     FILE*       m_fp;               ///< takes ownership
@@ -542,7 +542,7 @@ public:
 
 protected:
     //-----<OUTPUTFORMATTER>------------------------------------------------
-    void write( const char* aOutBuf, int aCount ) throw( IO_ERROR );
+    void write( const char* aOutBuf, int aCount ) throw( IO_ERROR ) override;
     //-----</OUTPUTFORMATTER>-----------------------------------------------
 };
 
diff --git a/include/tool/context_menu.h b/include/tool/context_menu.h
index 60ae7bf..c61b73b 100644
--- a/include/tool/context_menu.h
+++ b/include/tool/context_menu.h
@@ -60,7 +60,7 @@ public:
      * the menu.
      * @param aTitle is the new title.
      */
-    void SetTitle( const wxString& aTitle );
+    void SetTitle( const wxString& aTitle ) override;
 
     /**
      * Function SetIcon()
diff --git a/include/ttl/halfedge/hetriang.h b/include/ttl/halfedge/hetriang.h
index 16e9c28..fb2742f 100644
--- a/include/ttl/halfedge/hetriang.h
+++ b/include/ttl/halfedge/hetriang.h
@@ -363,7 +363,7 @@ public:
     }
 
     /// @copydoc Edge::setSourceNode()
-    virtual const NODE_PTR& GetTargetNode() const
+    virtual const NODE_PTR& GetTargetNode() const override
     {
         return m_target;
     }
diff --git a/include/view/view_group.h b/include/view/view_group.h
index 056a812..57c972e 100644
--- a/include/view/view_group.h
+++ b/include/view/view_group.h
@@ -102,7 +102,7 @@ public:
      *
      * @return The current bounding box
      */
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
     /**
      * Function ViewDraw()
@@ -111,7 +111,7 @@ public:
      * @param aLayer is the layer which should be drawn.
      * @param aGal is the GAL that should be used for drawing.
      */
-    virtual void ViewDraw( int aLayer, GAL* aGal ) const;
+    virtual void ViewDraw( int aLayer, GAL* aGal ) const override;
 
     /**
      * Function ViewGetLayers()
@@ -120,7 +120,7 @@ public:
      * @param aLayers[] is the output layer index array.
      * @param aCount is the number of layer indices in aLayers[].
      */
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
     /**
      * Function SetLayer()
@@ -171,23 +171,23 @@ protected:
     /// These functions cannot be used with VIEW_GROUP as they are intended only to work with
     /// singular VIEW_ITEMs (there is only one-to-one relation between item/layer combination and
     /// its group).
-    int getGroup( int aLayer ) const
+    int getGroup( int aLayer ) const override
     {
         return -1;
     }
 
-    std::vector<int> getAllGroups() const
+    std::vector<int> getAllGroups() const override
     {
         return std::vector<int>();
     }
 
-    void setGroup( int aLayer, int aGroup )
+    void setGroup( int aLayer, int aGroup ) override
     {}
 
-    void deleteGroups()
+    void deleteGroups() override
     {}
 
-    bool storesGroups() const
+    bool storesGroups() const override
     {
         return false;
     }
diff --git a/include/view/wx_view_controls.h b/include/view/wx_view_controls.h
index 5a05bdd..092ae52 100644
--- a/include/view/wx_view_controls.h
+++ b/include/view/wx_view_controls.h
@@ -69,7 +69,7 @@ public:
      *
      * @param aEnabled says whether the option should be enabled or disabled.
      */
-    void SetGrabMouse( bool aEnabled );
+    void SetGrabMouse( bool aEnabled ) override;
 
     /**
      * Function SetAutoPan()
@@ -77,7 +77,7 @@ public:
      *
      * @param aEnabled says whether the option should enabled or disabled.
      */
-    void SetAutoPan( bool aEnabled )
+    void SetAutoPan( bool aEnabled ) override
     {
         m_autoPanEnabled = aEnabled;
 
@@ -86,17 +86,17 @@ public:
     }
 
     /// @copydoc VIEW_CONTROLS::GetMousePosition()
-    VECTOR2I GetMousePosition() const;
+    VECTOR2I GetMousePosition() const override;
 
     /// @copydoc VIEW_CONTROLS::GetCursorPosition()
-    VECTOR2D GetCursorPosition() const;
+    VECTOR2D GetCursorPosition() const override;
 
     /// @copydoc VIEW_CONTROLS::CursorWarp()
     void WarpCursor( const VECTOR2D& aPosition, bool aWorldCoordinates = false,
-            bool aWarpView = false ) const;
+            bool aWarpView = false ) const override;
 
     /// @copydoc VIEW_CONTROLS::CenterOnCursor()
-    void CenterOnCursor() const;
+    void CenterOnCursor() const override;
 
     /// Adjusts the scrollbars position to match the current viewport.
     void UpdateScrollbars();
diff --git a/include/widgets/mathplot.h b/include/widgets/mathplot.h
index 8c69a79..ff5e837 100644
--- a/include/widgets/mathplot.h
+++ b/include/widgets/mathplot.h
@@ -351,18 +351,18 @@ class WXDLLIMPEXP_MATHPLOT mpInfoLayer : public mpLayer
 
         /** mpInfoLayer has not bounding box. @sa mpLayer::HasBBox
           @return always \a FALSE */
-        virtual bool HasBBox() { return false; };
+        virtual bool HasBBox() override { return false; }
 
         /** Plot method. Can be overidden by derived classes.
           @param dc the device content where to plot
           @param w the window to plot
           @sa mpLayer::Plot */
-        virtual void   Plot(wxDC & dc, mpWindow & w);
+        virtual void   Plot(wxDC & dc, mpWindow & w) override;
 
         /** Specifies that this is an Info box layer.
           @return always \a TRUE
           @sa mpLayer::IsInfo */
-        virtual bool IsInfo() { return true; };
+        virtual bool IsInfo() override { return true; }
 
         /** Checks whether a point is inside the info box rectangle.
           @param point The point to be checked
@@ -416,13 +416,13 @@ class WXDLLIMPEXP_MATHPLOT mpInfoCoords : public mpInfoLayer
         /** Updates the content of the info box. It is used to update coordinates.
           @param w parent mpWindow from which to obtain information
           @param event The event which called the update. */
-        virtual void UpdateInfo(mpWindow& w, wxEvent& event);
+        virtual void UpdateInfo(mpWindow& w, wxEvent& event) override;
 
         /** Plot method.
           @param dc the device content where to plot
           @param w the window to plot
           @sa mpLayer::Plot */
-        virtual void   Plot(wxDC & dc, mpWindow & w);
+        virtual void   Plot(wxDC & dc, mpWindow & w) override;
 
     protected:
         wxString m_content; //!< string holding the coordinates to be drawn.
@@ -449,13 +449,13 @@ class WXDLLIMPEXP_MATHPLOT mpInfoLegend : public mpInfoLayer
         /** Updates the content of the info box. Unused in this class.
           @param w parent mpWindow from which to obtain information
           @param event The event which called the update. */
-        virtual void UpdateInfo(mpWindow& w, wxEvent& event);
+        virtual void UpdateInfo(mpWindow& w, wxEvent& event) override;
 
         /** Plot method.
           @param dc the device content where to plot
           @param w the window to plot
           @sa mpLayer::Plot */
-        virtual void   Plot(wxDC & dc, mpWindow & w);
+        virtual void   Plot(wxDC & dc, mpWindow & w) override;
 
     protected:
 
@@ -537,7 +537,7 @@ class WXDLLIMPEXP_MATHPLOT mpFX : public mpLayer
           This implementation will plot the function in the visible area and
           put a label according to the aligment specified.
           */
-        virtual void Plot(wxDC & dc, mpWindow & w);
+        virtual void Plot(wxDC & dc, mpWindow & w) override;
 
     protected:
         int m_flags; //!< Holds label alignment
@@ -569,7 +569,7 @@ class WXDLLIMPEXP_MATHPLOT mpFY : public mpLayer
           This implementation will plot the function in the visible area and
           put a label according to the aligment specified.
           */
-        virtual void Plot(wxDC & dc, mpWindow & w);
+        virtual void Plot(wxDC & dc, mpWindow & w) override;
 
     protected:
         int m_flags; //!< Holds label alignment
@@ -608,7 +608,7 @@ class WXDLLIMPEXP_MATHPLOT mpFXY : public mpLayer
           This implementation will plot the locus in the visible area and
           put a label according to the alignment specified.
           */
-        virtual void Plot(wxDC & dc, mpWindow & w);
+        virtual void Plot(wxDC & dc, mpWindow & w) override;
 
         virtual void SetScale(mpScaleBase *scaleX, mpScaleBase *scaleY);
 
@@ -662,7 +662,7 @@ class WXDLLIMPEXP_MATHPLOT mpProfile : public mpLayer
           This implementation will plot the function in the visible area and
           put a label according to the aligment specified.
           */
-        virtual void Plot(wxDC & dc, mpWindow & w);
+        virtual void Plot(wxDC & dc, mpWindow & w) override;
 
     protected:
         int m_flags; //!< Holds label alignment
@@ -694,7 +694,7 @@ class WXDLLIMPEXP_MATHPLOT mpScaleBase : public mpLayer
 
         virtual bool IsHorizontal() = 0;
 
-        bool HasBBox() { return FALSE; }
+        bool HasBBox() override { return FALSE; }
 
         /** Set X axis alignment.
           @param align alignment (choose between mpALIGN_BORDER_BOTTOM, mpALIGN_BOTTOM, mpALIGN_CENTER, mpALIGN_TOP, mpALIGN_BORDER_TOP */
@@ -843,12 +843,12 @@ class WXDLLIMPEXP_MATHPLOT mpScaleXBase : public mpScaleBase
         mpScaleXBase(wxString name = wxT("X"), int flags = mpALIGN_CENTER, bool ticks = true, unsigned int type = mpX_NORMAL);
         virtual ~mpScaleXBase () {};
 
-        virtual bool IsHorizontal() { return true; }
+        virtual bool IsHorizontal() override { return true; }
         /** Layer plot handler.
           This implementation will plot the ruler adjusted to the visible area. */
-        virtual void Plot(wxDC & dc, mpWindow & w);
+        virtual void Plot(wxDC & dc, mpWindow & w) override;
 
-        virtual void getVisibleDataRange ( mpWindow& w, double &minV, double& maxV);
+        virtual void getVisibleDataRange ( mpWindow& w, double &minV, double& maxV) override;
 
         //        unsigned int m_labelType; //!< Select labels mode: mpX_NORMAL for normal labels, mpX_TIME for time axis in hours, minutes, seconds
         //        wxString m_labelFormat; //!< Format string used to print labels
@@ -873,11 +873,11 @@ class WXDLLIMPEXP_MATHPLOT mpScaleX : public mpScaleXBase
 
         //virtual double X2p( mpWindow &w, double x );
         //virtual double P2x( mpWindow &w, double x );
-        virtual double TransformToPlot ( double x );
-        virtual double TransformFromPlot (double xplot );
+        virtual double TransformToPlot ( double x ) override;
+        virtual double TransformFromPlot (double xplot ) override;
     protected:
 
-        virtual void recalculateTicks ( wxDC & dc, mpWindow & w );
+        virtual void recalculateTicks ( wxDC & dc, mpWindow & w ) override;
 
 
         double n0, dig, step, labelStep, end;
@@ -896,15 +896,15 @@ class WXDLLIMPEXP_MATHPLOT mpScaleXLog : public mpScaleXBase
           @param type mpX_NORMAL for normal labels, mpX_TIME for time axis in hours, minutes, seconds. */
         mpScaleXLog(wxString name = wxT("log(X)"), int flags = mpALIGN_CENTER, bool ticks = true, unsigned int type = mpX_NORMAL);
 
-        virtual double TransformToPlot ( double x );
-        virtual double TransformFromPlot (double xplot );
+        virtual double TransformToPlot ( double x ) override;
+        virtual double TransformFromPlot (double xplot ) override;
         /** Layer plot handler.
           This implementation will plot the ruler adjusted to the visible area. */
         //virtual double X2p( mpWindow &w, double x );
         //virtual double P2x( mpWindow &w, double x );
     protected:
 
-        void recalculateTicks ( wxDC & dc, mpWindow & w );
+        void recalculateTicks ( wxDC & dc, mpWindow & w ) override;
         //int tickCount() const;
         //int labelCount() const;
         //const wxString getLabel( int n );
@@ -935,18 +935,18 @@ class WXDLLIMPEXP_MATHPLOT mpScaleY : public mpScaleBase
           @param ticks Select ticks or grid. Give TRUE (default) for drawing axis ticks, FALSE for drawing the grid */
         mpScaleY(wxString name = wxT("Y"), int flags = mpALIGN_CENTER, bool ticks = true);
 
-        virtual bool IsHorizontal() { return false; }
+        virtual bool IsHorizontal() override { return false; }
 
         /** Layer plot handler.
           This implementation will plot the ruler adjusted to the visible area.
           */
-        virtual void Plot(wxDC & dc, mpWindow & w);
+        virtual void Plot(wxDC & dc, mpWindow & w) override;
 
         /** Check whether this layer has a bounding box.
           This implementation returns \a FALSE thus making the ruler invisible
           to the plot layer bounding box calculation by mpWindow.
           */
-        virtual bool HasBBox() { return FALSE; }
+        virtual bool HasBBox() override { return FALSE; }
 
         /** Set Y axis alignment.
           @param align alignment (choose between mpALIGN_BORDER_LEFT, mpALIGN_LEFT, mpALIGN_CENTER, mpALIGN_RIGHT, mpALIGN_BORDER_RIGHT) */
@@ -960,8 +960,8 @@ class WXDLLIMPEXP_MATHPLOT mpScaleY : public mpScaleBase
           @return TRUE if plot is drawing axis ticks, FALSE if the grid is active. */
         bool GetTicks() { return m_ticks; };
 
-        virtual double TransformToPlot ( double x );
-        virtual double TransformFromPlot (double xplot );
+        virtual double TransformToPlot ( double x ) override;
+        virtual double TransformFromPlot (double xplot ) override;
 
 
         void SetMasterScale( mpScaleY *masterScale )
@@ -970,8 +970,8 @@ class WXDLLIMPEXP_MATHPLOT mpScaleY : public mpScaleBase
         }
 
     protected:
-        virtual void getVisibleDataRange ( mpWindow& w, double &minV, double& maxV);
-        virtual void recalculateTicks ( wxDC & dc, mpWindow & w );
+        virtual void getVisibleDataRange ( mpWindow& w, double &minV, double& maxV) override;
+        virtual void recalculateTicks ( wxDC & dc, mpWindow & w ) override;
         //virtual int tickCount() const;
         //virtual int labelCount() const;
         //virtual const wxString getLabel( int n );
@@ -1213,7 +1213,7 @@ class WXDLLIMPEXP_MATHPLOT mpWindow : public wxWindow
           Scale and position will be set to show all attached mpLayers.
           The X/Y scale aspect lock is taken into account.
           */
-        void Fit();
+        void Fit() override;
 
         /** Set view to fit a given bounding box and refresh display.
           The X/Y scale aspect lock is taken into account.
@@ -1546,31 +1546,31 @@ class WXDLLIMPEXP_MATHPLOT mpFXYVector : public mpFXY
         /** Rewind value enumeration with mpFXY::GetNextXY.
           Overridden in this implementation.
           */
-        void Rewind();
+        void Rewind() override;
 
         /** Get locus value for next N.
           Overridden in this implementation.
           @param x Returns X value
           @param y Returns Y value
           */
-        bool GetNextXY(double & x, double & y);
+        bool GetNextXY(double & x, double & y) override;
 
     public:
         /** Returns the actual minimum X data (loaded in SetData).
         */
-        double GetMinX() { return m_minX; }
+        double GetMinX() override { return m_minX; }
 
         /** Returns the actual minimum Y data (loaded in SetData).
         */
-        double GetMinY() { return m_minY; }
+        double GetMinY() override { return m_minY; }
 
         /** Returns the actual maximum X data (loaded in SetData).
         */
-        double GetMaxX() { return m_maxX; }
+        double GetMaxX() override { return m_maxX; }
 
         /** Returns the actual maximum Y data (loaded in SetData).
         */
-        double GetMaxY() { return m_maxY; }
+        double GetMaxY() override { return m_maxY; }
 
     protected:
         int     m_flags; //!< Holds label alignment
@@ -1620,10 +1620,10 @@ class WXDLLIMPEXP_MATHPLOT mpText : public mpLayer
 
         /** Text Layer plot handler.
           This implementation will plot text adjusted to the visible area. */
-        virtual void Plot(wxDC & dc, mpWindow & w);
+        virtual void Plot(wxDC & dc, mpWindow & w) override;
 
         /** mpText should not be used for scaling decisions. */
-        virtual bool HasBBox() { return FALSE; }
+        virtual bool HasBBox() override { return FALSE; }
 
     protected:
         int m_offsetx; //!< Holds offset for X in percentage
@@ -1648,8 +1648,8 @@ class WXDLLIMPEXP_MATHPLOT mpPrintout : public wxPrintout
         virtual ~mpPrintout() {};
 
         void SetDrawState(bool drawState) {drawn = drawState;};
-        bool OnPrintPage(int page);
-        bool HasPage(int page);
+        bool OnPrintPage(int page) override;
+        bool HasPage(int page) override;
 
     private:
         bool drawn;
@@ -1703,25 +1703,25 @@ class WXDLLIMPEXP_MATHPLOT mpMovableObject : public mpLayer
             ShapeUpdated();
         }
 
-        virtual bool HasBBox() { return m_trans_shape_xs.size()!=0; }
+        virtual bool HasBBox() override { return m_trans_shape_xs.size()!=0; }
 
         /** Get inclusive left border of bounding box.
         */
-        virtual double GetMinX() { return m_bbox_min_x; }
+        virtual double GetMinX() override { return m_bbox_min_x; }
 
         /** Get inclusive right border of bounding box.
         */
-        virtual double GetMaxX() { return  m_bbox_max_x; }
+        virtual double GetMaxX() override { return  m_bbox_max_x; }
 
         /** Get inclusive bottom border of bounding box.
         */
-        virtual double GetMinY() { return m_bbox_min_y; }
+        virtual double GetMinY() override { return m_bbox_min_y; }
 
         /** Get inclusive top border of bounding box.
         */
-        virtual double GetMaxY() { return m_bbox_max_y; }
+        virtual double GetMaxY() override { return m_bbox_max_y; }
 
-        virtual void   Plot(wxDC & dc, mpWindow & w);
+        virtual void   Plot(wxDC & dc, mpWindow & w) override;
 
         /** Set label axis alignment.
          *  @param align alignment (choose between mpALIGN_NE, mpALIGN_NW, mpALIGN_SW, mpALIGN_SE
@@ -1919,25 +1919,25 @@ class WXDLLIMPEXP_MATHPLOT mpBitmapLayer : public mpLayer
          */
         void SetBitmap( const wxImage &inBmp, double x, double y, double lx, double ly );
 
-        virtual bool HasBBox() { return true; }
+        virtual bool HasBBox() override { return true; }
 
         /** Get inclusive left border of bounding box.
         */
-        virtual double GetMinX() { return m_min_x; }
+        virtual double GetMinX() override { return m_min_x; }
 
         /** Get inclusive right border of bounding box.
         */
-        virtual double GetMaxX() { return  m_max_x; }
+        virtual double GetMaxX() override { return  m_max_x; }
 
         /** Get inclusive bottom border of bounding box.
         */
-        virtual double GetMinY() { return m_min_y; }
+        virtual double GetMinY() override { return m_min_y; }
 
         /** Get inclusive top border of bounding box.
         */
-        virtual double GetMaxY() { return m_max_y; }
+        virtual double GetMaxY() override { return m_max_y; }
 
-        virtual void   Plot(wxDC & dc, mpWindow & w);
+        virtual void   Plot(wxDC & dc, mpWindow & w) override;
 
         /** Set label axis alignment.
          *  @param align alignment (choose between mpALIGN_NE, mpALIGN_NW, mpALIGN_SW, mpALIGN_SE
diff --git a/include/worksheet_shape_builder.h b/include/worksheet_shape_builder.h
index 69b2000..be609d9 100644
--- a/include/worksheet_shape_builder.h
+++ b/include/worksheet_shape_builder.h
@@ -159,31 +159,31 @@ public:
     /** The function to draw a WS_DRAW_ITEM_LINE
      */
     virtual void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint& aOffset,
-            GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
+            GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR ) override;
 
     /**
      * Virtual function
      * return true if the point aPosition is on the line
      */
-    virtual bool HitTest( const wxPoint& aPosition) const;
+    virtual bool HitTest( const wxPoint& aPosition) const override;
 
     /**
      * Virtual function
      * return true if the rect aRect intersects on the item
      */
-    virtual bool HitTest( const EDA_RECT& aRect ) const;
+    virtual bool HitTest( const EDA_RECT& aRect ) const override;
 
     /**
      * return true if the point aPosition is on the starting point of this item.
      */
-    virtual bool HitTestStartPoint( const wxPoint& aPosition);
+    virtual bool HitTestStartPoint( const wxPoint& aPosition) override;
 
     /**
      * return true if the point aPosition is on the ending point of this item
      * This is avirtual function which should be overriden for items defien by
      * 2 points
      */
-    virtual bool HitTestEndPoint( const wxPoint& aPosition);
+    virtual bool HitTestEndPoint( const wxPoint& aPosition) override;
 };
 
 // This class draws a polygon
@@ -216,24 +216,24 @@ public:
     /** The function to draw a WS_DRAW_ITEM_POLYGON
      */
     virtual void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint& aOffset,
-            GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
+            GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR ) override;
 
     /**
      * Virtual function
      * return true if the point aPosition is inside one polygon
      */
-    virtual bool HitTest( const wxPoint& aPosition) const;
+    virtual bool HitTest( const wxPoint& aPosition) const override;
 
     /**
      * Virtual function
      * return true if the rect aRect intersects on the item
      */
-    virtual bool HitTest( const EDA_RECT& aRect ) const;
+    virtual bool HitTest( const EDA_RECT& aRect ) const override;
 
     /**
      * return true if the point aPosition is on the starting point of this item.
      */
-    virtual bool HitTestStartPoint( const wxPoint& aPosition);
+    virtual bool HitTestStartPoint( const wxPoint& aPosition) override;
 };
 
 // This class draws a not filled rectangle with thick segment
@@ -251,31 +251,31 @@ public:
     /** The function to draw a WS_DRAW_ITEM_RECT
      */
     virtual void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint& aOffset,
-            GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
+            GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR ) override;
 
     /**
      * Virtual function
      * return true if the point aPosition is on one edge of the rectangle
      */
-    virtual bool HitTest( const wxPoint& aPosition) const;
+    virtual bool HitTest( const wxPoint& aPosition) const override;
 
     /**
      * Virtual function
      * return true if the rect aRect intersects on the item
      */
-    virtual bool HitTest( const EDA_RECT& aRect ) const;
+    virtual bool HitTest( const EDA_RECT& aRect ) const override;
 
     /**
      * return true if the point aPosition is on the starting point of this item.
      */
-    virtual bool HitTestStartPoint( const wxPoint& aPosition);
+    virtual bool HitTestStartPoint( const wxPoint& aPosition) override;
 
     /**
      * return true if the point aPosition is on the ending point of this item
      * This is avirtual function which should be overriden for items defien by
      * 2 points
      */
-    virtual bool HitTestEndPoint( const wxPoint& aPosition);
+    virtual bool HitTestEndPoint( const wxPoint& aPosition) override;
 };
 
 // This class draws a graphic text.
@@ -292,7 +292,7 @@ public:
     /** The function to draw a WS_DRAW_ITEM_TEXT
      */
     virtual void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint& aOffset,
-            GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
+            GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR ) override;
 
     // Accessors:
     int GetPenWidth() { return GetThickness(); }
@@ -301,18 +301,18 @@ public:
      * Virtual function
      * return true if the point aPosition is on the text
      */
-    virtual bool HitTest( const wxPoint& aPosition) const;
+    virtual bool HitTest( const wxPoint& aPosition) const override;
 
     /**
      * Virtual function
      * return true if the rect aRect intersects on the item
      */
-    virtual bool HitTest( const EDA_RECT& aRect ) const;
+    virtual bool HitTest( const EDA_RECT& aRect ) const override;
 
     /**
      * return true if the point aPosition is on the starting point of this item.
      */
-    virtual bool HitTestStartPoint( const wxPoint& aPosition);
+    virtual bool HitTestStartPoint( const wxPoint& aPosition) override;
 };
 
 // This class draws a bitmap.
@@ -337,24 +337,24 @@ public:
     /** The function to draw a WS_DRAW_ITEM_BITMAP
      */
     virtual void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint& aOffset,
-            GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
+            GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR ) override;
 
     /**
      * Virtual function
      * return true if the point aPosition is on bitmap
      */
-    virtual bool HitTest( const wxPoint& aPosition) const;
+    virtual bool HitTest( const wxPoint& aPosition) const override;
 
     /**
      * Virtual function
      * return true if the rect aRect intersects on the item
      */
-    virtual bool HitTest( const EDA_RECT& aRect ) const;
+    virtual bool HitTest( const EDA_RECT& aRect ) const override;
 
     /**
      * return true if the point aPosition is on the reference point of this item.
      */
-    virtual bool HitTestStartPoint( const wxPoint& aPosition);
+    virtual bool HitTestStartPoint( const wxPoint& aPosition) override;
 
     const wxPoint& GetPosition() { return m_pos; }
 };
diff --git a/include/worksheet_viewitem.h b/include/worksheet_viewitem.h
index 149f804..cf193a5 100644
--- a/include/worksheet_viewitem.h
+++ b/include/worksheet_viewitem.h
@@ -115,17 +115,17 @@ public:
     }
 
     /// @copydoc VIEW_ITEM::ViewBBox()
-    const BOX2I ViewBBox() const;
+    const BOX2I ViewBBox() const override;
 
     /// @copydoc VIEW_ITEM::ViewDraw()
-    void ViewDraw( int aLayer, GAL* aGal ) const;
+    void ViewDraw( int aLayer, GAL* aGal ) const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    void ViewGetLayers( int aLayers[], int& aCount ) const;
+    void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
 #if defined(DEBUG)
     /// @copydoc EDA_ITEM::Show()
-    void Show( int x, std::ostream& st ) const
+    void Show( int x, std::ostream& st ) const override
     {
     }
 #endif
@@ -133,7 +133,7 @@ public:
     /** Get class name
      * @return  string "WORKSHEET_VIEWITEM"
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "WORKSHEET_VIEWITEM" );
     }
diff --git a/include/wxBasePcbFrame.h b/include/wxBasePcbFrame.h
index 8403825..a93fb0a 100644
--- a/include/wxBasePcbFrame.h
+++ b/include/wxBasePcbFrame.h
@@ -83,7 +83,7 @@ protected:
 
     void updateGridSelectBox();
     void updateZoomSelectBox();
-    virtual void unitsChangeRefresh();
+    virtual void unitsChangeRefresh() override;
 
     /**
      * Function loadFootprint
@@ -128,18 +128,18 @@ public:
      */
     EDA_RECT    GetBoardBoundingBox( bool aBoardEdgesOnly = false ) const;
 
-    virtual void SetPageSettings( const PAGE_INFO& aPageSettings ); // overload
-    const PAGE_INFO& GetPageSettings() const;                   // overload
-    const wxSize GetPageSizeIU() const;                         // overload
+    virtual void SetPageSettings( const PAGE_INFO& aPageSettings ) override;
+    const PAGE_INFO& GetPageSettings() const override;
+    const wxSize GetPageSizeIU() const override;
 
-    const wxPoint& GetAuxOrigin() const;                        // overload
-    void SetAuxOrigin( const wxPoint& aPoint );                 // overload
+    const wxPoint& GetAuxOrigin() const override;
+    void SetAuxOrigin( const wxPoint& aPoint ) override;
 
-    const wxPoint& GetGridOrigin() const;                       // overload
-    void SetGridOrigin( const wxPoint& aPoint );                // overload
+    const wxPoint& GetGridOrigin() const override;
+    void SetGridOrigin( const wxPoint& aPoint ) override;
 
-    const TITLE_BLOCK& GetTitleBlock() const;                   // overload
-    void SetTitleBlock( const TITLE_BLOCK& aTitleBlock );       // overload
+    const TITLE_BLOCK& GetTitleBlock() const override;
+    void SetTitleBlock( const TITLE_BLOCK& aTitleBlock ) override;
 
     /**
      * Function GetDesignSettings
@@ -157,7 +157,7 @@ public:
      * Must be overloaded in frames which have display options
      * (board editor and footprint editor)
      */
-    void* GetDisplayOptions() { return &m_DisplayOptions; }
+    void* GetDisplayOptions() override { return &m_DisplayOptions; }
 
     const ZONE_SETTINGS& GetZoneSettings() const;
     void SetZoneSettings( const ZONE_SETTINGS& aSettings );
@@ -186,15 +186,15 @@ public:
 
     // General
     virtual void OnCloseWindow( wxCloseEvent& Event ) = 0;
-    virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg ) { }
-    virtual void ReCreateHToolbar() = 0;
-    virtual void ReCreateVToolbar() = 0;
-    virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) = 0;
-    virtual void OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) = 0;
-    virtual bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu )  = 0;
-    virtual void ReCreateMenuBar();
-    virtual void SetToolID( int aId, int aCursor, const wxString& aToolMsg );
-    virtual void UpdateStatusBar();
+    virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override { }
+    virtual void ReCreateHToolbar() override = 0;
+    virtual void ReCreateVToolbar() override = 0;
+    virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override = 0;
+    virtual void OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) override = 0;
+    virtual bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) override = 0;
+    virtual void ReCreateMenuBar() override;
+    virtual void SetToolID( int aId, int aCursor, const wxString& aToolMsg ) override;
+    virtual void UpdateStatusBar() override;
 
     PCB_SCREEN* GetScreen() const { return (PCB_SCREEN*) EDA_DRAW_FRAME::GetScreen(); }
 
@@ -202,7 +202,7 @@ public:
      * Function BestZoom
      * @return the "best" zoom to show the entire board or footprint on the screen.
      */
-    virtual double BestZoom();
+    virtual double BestZoom() override;
 
     /**
      * Function GetZoomLevelIndicator
@@ -210,7 +210,7 @@ public:
      * level indicator in dialogs.
      * Virtual from the base class
      */
-    const wxString GetZoomLevelIndicator() const;
+    const wxString GetZoomLevelIndicator() const override;
 
     virtual void Show3D_Frame( wxCommandEvent& event );
 
@@ -259,7 +259,7 @@ public:
     BOARD_ITEM* GetCurItem();
 
     ///> @copydoc EDA_DRAW_FRAME::UpdateMsgPanel()
-    void UpdateMsgPanel();
+    void UpdateMsgPanel() override;
 
     /**
      * Function GetCollectorsGuide
@@ -635,8 +635,8 @@ public:
         return GetScreen()->m_Active_Layer;
     }
 
-    void LoadSettings( wxConfigBase* aCfg );    // override virtual
-    void SaveSettings( wxConfigBase* aCfg );    // override virtual
+    void LoadSettings( wxConfigBase* aCfg ) override;
+    void SaveSettings( wxConfigBase* aCfg ) override;
 
     bool InvokeDialogGrid();
 
@@ -667,18 +667,18 @@ public:
      * Virtual function SetNextGrid()
      * changes the grid size settings to the next one available.
      */
-    void SetNextGrid();
+    void SetNextGrid() override;
 
     /**
      * Virtual function SetPrevGrid()
      * changes the grid size settings to the previous one available.
      */
-    void SetPrevGrid();
+    void SetPrevGrid() override;
 
     void ClearSelection();
 
     ///> @copydoc EDA_DRAW_FRAME::UseGalCanvas
-    virtual void UseGalCanvas( bool aEnable );
+    virtual void UseGalCanvas( bool aEnable ) override;
 
     /**
      * Function SwitchCanvas
diff --git a/include/wxPcbStruct.h b/include/wxPcbStruct.h
index 7ea35fb..8ea56db 100644
--- a/include/wxPcbStruct.h
+++ b/include/wxPcbStruct.h
@@ -162,7 +162,7 @@ protected:
      */
     void syncLayerVisibilities();
 
-    virtual void unitsChangeRefresh();
+    virtual void unitsChangeRefresh() override;
 
     /**
      * Function doAutoSave
@@ -171,13 +171,13 @@ protected:
      *
      * @return true if the auto save was successful.
      */
-    virtual bool doAutoSave();
+    virtual bool doAutoSave() override;
 
     /**
      * Function isautoSaveRequired
      * returns true if the board has been modified.
      */
-    virtual bool isAutoSaveRequired() const;
+    virtual bool isAutoSaveRequired() const override;
 
     /**
      * Function duplicateZone
@@ -198,7 +198,7 @@ protected:
      * Duplicate selected item if possible and start a move
      * @param aIncrement increment the item number if appropriate
      */
-    void duplicateItems( bool aIncrement ); //override
+    void duplicateItems( bool aIncrement ) override;
 
     // protected so that PCB::IFACE::CreateWindow() is the only factory.
     PCB_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent );
@@ -240,9 +240,9 @@ public:
      * this is a virtual function called by EDA_DRAW_FRAME::OnSockRequest().
      * @param cmdline = received command from socket
      */
-    virtual void ExecuteRemoteCommand( const char* cmdline );
+    virtual void ExecuteRemoteCommand( const char* cmdline ) override;
 
-    void KiwayMailIn( KIWAY_EXPRESS& aEvent );      // virtual overload from KIWAY_PLAYER
+    void KiwayMailIn( KIWAY_EXPRESS& aEvent ) override;
 
     /**
      * Function ToPlotter
@@ -303,7 +303,7 @@ public:
      * @param aData = a pointer on an auxiliary data (NULL if not used)
      */
     virtual void PrintPage( wxDC* aDC, LSET aPrintMaskLayer, bool aPrintMirrorMode,
-                            void* aData = NULL );
+                            void* aData = NULL ) override;
 
     void GetKicadAbout( wxCommandEvent& event );
 
@@ -311,7 +311,7 @@ public:
      * Function IsGridVisible() , virtual
      * @return true if the grid must be shown
      */
-    virtual bool IsGridVisible() const;
+    virtual bool IsGridVisible() const override;
 
     /**
      * Function SetGridVisibility() , virtual
@@ -319,22 +319,22 @@ public:
      * if you want to store/retrieve the grid visibility in configuration.
      * @param aVisible = true if the grid must be shown
      */
-    virtual void SetGridVisibility( bool aVisible );
+    virtual void SetGridVisibility( bool aVisible ) override;
 
     /**
      * Function GetGridColor() , virtual
      * @return the color of the grid
      */
-    virtual EDA_COLOR_T GetGridColor() const;
+    virtual EDA_COLOR_T GetGridColor() const override;
 
     /**
      * Function SetGridColor() , virtual
      * @param aColor = the new color of the grid
      */
-    virtual void SetGridColor( EDA_COLOR_T aColor );
+    virtual void SetGridColor( EDA_COLOR_T aColor ) override;
 
     ///> @copydoc EDA_DRAW_FRAME::SetCursorShape()
-    virtual void SetCursorShape( int aCursorShape );
+    virtual void SetCursorShape( int aCursorShape ) override;
 
     // Configurations:
     void Process_Config( wxCommandEvent& event );
@@ -358,7 +358,7 @@ public:
      * saves changes to the project settings to the project (.pro) file.
      * @param aAskForSave = true to open a dialog before saving the settings
      */
-    void SaveProjectSettings( bool aAskForSave );
+    void SaveProjectSettings( bool aAskForSave ) override;
 
     /**
      * Load the current project's file configuration settings which are pertinent
@@ -385,9 +385,9 @@ public:
      */
     PARAM_CFG_ARRAY& GetConfigurationSettings();
 
-    void LoadSettings( wxConfigBase* aCfg );    // override virtual
+    void LoadSettings( wxConfigBase* aCfg ) override;
 
-    void SaveSettings( wxConfigBase* aCfg );    // override virtual
+    void SaveSettings( wxConfigBase* aCfg ) override;
 
     wxConfigBase* GetSettings() { return config(); };
 
@@ -412,7 +412,7 @@ public:
     void SetLastNetListRead( const wxString& aNetListFile );
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const;
+    EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
 
     /**
      * Function OnHotKey.
@@ -423,7 +423,7 @@ public:
      * @param aPosition The cursor position in logical (drawing) units.
      * @param aItem = NULL or pointer on a EDA_ITEM under the mouse cursor
      */
-    bool OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosition, EDA_ITEM* aItem = NULL );
+    bool OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
 
     /**
      * Function OnHotkeyDeleteItem
@@ -508,7 +508,7 @@ public:
      */
     TRACK * OnHotkeyBeginRoute( wxDC* aDC );
 
-    void OnCloseWindow( wxCloseEvent& Event );
+    void OnCloseWindow( wxCloseEvent& Event ) override;
     void Process_Special_Functions( wxCommandEvent& event );
     void Tracks_and_Vias_Size_Event( wxCommandEvent& event );
     void OnSelectTool( wxCommandEvent& aEvent );
@@ -523,13 +523,13 @@ public:
     void ProcessMuWaveFunctions( wxCommandEvent& event );
     void MuWaveCommand( wxDC* DC, const wxPoint& MousePos );
 
-    void RedrawActiveWindow( wxDC* DC, bool EraseBg );
-    void ReCreateHToolbar();
-    void ReCreateAuxiliaryToolbar();
-    void ReCreateVToolbar();
+    void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
+    void ReCreateHToolbar() override;
+    void ReCreateAuxiliaryToolbar() override;
+    void ReCreateVToolbar() override;
     void ReCreateMicrowaveVToolbar();
     void ReCreateOptToolbar();
-    void ReCreateMenuBar();
+    void ReCreateMenuBar() override;
 
     /**
      * Re create the layer Box by clearing the old list, and building
@@ -561,14 +561,14 @@ public:
      * to update auxiliary information.
      * </p>
      */
-    virtual void OnModify();
+    virtual void OnModify() override;
 
     /**
      * Function SetActiveLayer
      * will change the currently active layer to \a aLayer and also
      * update the PCB_LAYER_WIDGET.
      */
-    virtual void SetActiveLayer( LAYER_ID aLayer );
+    virtual void SetActiveLayer( LAYER_ID aLayer ) override;
 
     /**
      * Function IsElementVisible
@@ -606,12 +606,12 @@ public:
      * Function Show3D_Frame
      * displays the 3D view of current printed circuit board.
      */
-    void Show3D_Frame( wxCommandEvent& event );
+    void Show3D_Frame( wxCommandEvent& event ) override;
 
     ///> @copydoc EDA_DRAW_FRAME::UseGalCanvas()
-    void UseGalCanvas( bool aEnable );
+    void UseGalCanvas( bool aEnable ) override;
 
-    bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
 
     /**
      * Function ShowDesignRulesEditor
@@ -624,8 +624,8 @@ public:
     void PrepareLayerIndicator();
 
     /* mouse functions events: */
-    void OnLeftClick( wxDC* DC, const wxPoint& MousePos );
-    void OnLeftDClick( wxDC* DC, const wxPoint& MousePos );
+    void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override;
+    void OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) override;
 
     /**
      * Function OnRightClick
@@ -634,10 +634,10 @@ public:
      * @param aMousePos The current mouse position
      * @param aPopMenu The menu to add to.
      */
-    bool OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu );
+    bool OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu ) override;
 
     void OnSelectOptionToolbar( wxCommandEvent& event );
-    void ToolOnRightClick( wxCommandEvent& event );
+    void ToolOnRightClick( wxCommandEvent& event ) override;
 
     /* Block operations: */
 
@@ -649,7 +649,7 @@ public:
      * @param aKey = the key modifiers (Alt, Shift ...)
      * @return the block command id (BLOCK_MOVE, BLOCK_COPY...)
      */
-    virtual int BlockCommand( EDA_KEY aKey );
+    virtual int BlockCommand( EDA_KEY aKey ) override;
 
     /**
      * Function HandleBlockPlace()
@@ -658,7 +658,7 @@ public:
      * (bloc move, drag, copy .. )
      * Parameters must be initialized in GetScreen()->m_BlockLocate
      */
-    virtual void HandleBlockPlace( wxDC* DC );
+    virtual void HandleBlockPlace( wxDC* DC ) override;
 
     /**
      * Function HandleBlockEnd()
@@ -670,7 +670,7 @@ public:
      * @return false if no item selected, or command finished,
      * true if some items found and HandleBlockPlace must be called later
      */
-    virtual bool HandleBlockEnd( wxDC* DC );
+    virtual bool HandleBlockEnd( wxDC* DC ) override;
 
     /**
      * Function Block_SelectItems
@@ -812,7 +812,7 @@ public:
     bool LoadOnePcbFile( const wxString& aFileName, bool aAppend = false,
                          bool aForceFileDialog = false );
      */
-    bool OpenProjectFiles( const std::vector<wxString>& aFileSet, int aCtl = 0 );
+    bool OpenProjectFiles( const std::vector<wxString>& aFileSet, int aCtl = 0 ) override;
 
     /**
      * Function AppendBoardFile
@@ -858,13 +858,13 @@ public:
     bool Clear_Pcb( bool aQuery );
 
     ///> @copydoc PCB_BASE_FRAME::SetBoard()
-    void SetBoard( BOARD* aBoard );
+    void SetBoard( BOARD* aBoard ) override;
 
     ///> @copydoc PCB_BASE_EDIT_FRAME::GetModel()
     BOARD_ITEM_CONTAINER* GetModel() const override;
 
     ///> @copydoc PCB_BASE_FRAME::SetPageSettings()
-    void SetPageSettings( const PAGE_INFO& aPageSettings ); // overload
+    void SetPageSettings( const PAGE_INFO& aPageSettings ) override;
 
     // Drc control
 
@@ -1111,7 +1111,7 @@ public:
      * @param aDC = the current device context
      * @param aItem = a pointer to the BOARD_ITEM to edit
      */
-    void OnEditItemRequest( wxDC* aDC, BOARD_ITEM* aItem );
+    void OnEditItemRequest( wxDC* aDC, BOARD_ITEM* aItem ) override;
 
     /**
      * Locate track or pad and highlight the corresponding net.
@@ -1261,7 +1261,7 @@ public:
     bool MergeCollinearTracks( TRACK* track, wxDC* DC, int end );
 
     void Start_DragTrackSegmentAndKeepSlope( TRACK* track, wxDC* DC );
-    void SwitchLayer( wxDC* DC, LAYER_ID layer );
+    void SwitchLayer( wxDC* DC, LAYER_ID layer ) override;
 
     /**
      * Function Add45DegreeSegment
@@ -1642,7 +1642,7 @@ public:
 
     void Begin_Self( wxDC* DC );
 
-    void ShowChangedLanguage();         // override EDA_BASE_FRAME virtual
+    void ShowChangedLanguage() override;
 
     /**
      * Function UpdateTitle
diff --git a/include/wxstruct.h b/include/wxstruct.h
index a6eb79c..ac49ab7 100644
--- a/include/wxstruct.h
+++ b/include/wxstruct.h
@@ -205,9 +205,9 @@ public:
      * @warning If you override this function in a derived class, make sure you call
      *          down to this or the auto save feature will be disabled.
      */
-    bool ProcessEvent( wxEvent& aEvent );       // override wxFrame::ProcessEvent()
+    bool ProcessEvent( wxEvent& aEvent ) override;
 
-    bool Enable( bool enable );                 // override wxFrame::Enable virtual
+    bool Enable( bool enable ) override;
 
     void SetAutoSaveInterval( int aInterval ) { m_autoSaveInterval = aInterval; }
 
diff --git a/kicad/class_treeprojectfiles.h b/kicad/class_treeprojectfiles.h
index db1d512..d6fd49a 100644
--- a/kicad/class_treeprojectfiles.h
+++ b/kicad/class_treeprojectfiles.h
@@ -57,7 +57,7 @@ public:
     ~TREEPROJECTFILES();
 private:
     /* overridden sort function */
-    int OnCompareItems( const wxTreeItemId& item1, const wxTreeItemId& item2 );
+    int OnCompareItems( const wxTreeItemId& item1, const wxTreeItemId& item2 ) override;
 };
 
 #endif  // CLASS_TREEPROJECTFILES_H
diff --git a/kicad/dialogs/dialog_template_selector.h b/kicad/dialogs/dialog_template_selector.h
index 17a7a62..74b14e0 100644
--- a/kicad/dialogs/dialog_template_selector.h
+++ b/kicad/dialogs/dialog_template_selector.h
@@ -119,10 +119,10 @@ private:
     void replaceCurrentPage();
 
     void onNotebookResize( wxSizeEvent& event );
-    void OnPageChange( wxNotebookEvent& event );
-    void onDirectoryBrowseClicked( wxCommandEvent& event );
-	void onValidatePath( wxCommandEvent& event );
-	void OnHtmlLinkActivated( wxHtmlLinkEvent& event );
+    void OnPageChange( wxNotebookEvent& event ) override;
+    void onDirectoryBrowseClicked( wxCommandEvent& event ) override;
+	void onValidatePath( wxCommandEvent& event ) override;
+	void OnHtmlLinkActivated( wxHtmlLinkEvent& event ) override;
 };
 
 #endif
diff --git a/kicad/kicad.h b/kicad/kicad.h
index 16e18d4..ab04f31 100644
--- a/kicad/kicad.h
+++ b/kicad/kicad.h
@@ -188,7 +188,7 @@ public:
 
     void Process_Config( wxCommandEvent& event );
 
-    void ReCreateMenuBar();
+    void ReCreateMenuBar() override;
     void RecreateBaseHToolbar();
 
     /**
@@ -221,9 +221,9 @@ public:
 
     void CreateNewProject( const wxString& aPrjFullFileName, bool aTemplateSelector );
 
-    void LoadSettings( wxConfigBase* aCfg );
+    void LoadSettings( wxConfigBase* aCfg ) override;
 
-    void SaveSettings( wxConfigBase* aCfg );
+    void SaveSettings( wxConfigBase* aCfg ) override;
 
     /**
      * Function Execute
@@ -246,7 +246,7 @@ public:
         {
         }
 
-        void OnTerminate( int pid, int status );
+        void OnTerminate( int pid, int status ) override;
     };
 
     /**
diff --git a/kicad/pgm_kicad.h b/kicad/pgm_kicad.h
index b16c985..2ebed91 100644
--- a/kicad/pgm_kicad.h
+++ b/kicad/pgm_kicad.h
@@ -52,7 +52,7 @@ public:
     bool OnPgmInit();
     void OnPgmExit();
 
-    void MacOpenFile( const wxString& aFileName );
+    void MacOpenFile( const wxString& aFileName ) override;
 
     wxFileHistory&  GetFileHistory()            { return m_bm.m_history; }
 
diff --git a/lib_dxf/drw_entities.h b/lib_dxf/drw_entities.h
index 7f7b085..a8e7f75 100644
--- a/lib_dxf/drw_entities.h
+++ b/lib_dxf/drw_entities.h
@@ -159,7 +159,7 @@ public:
         thickness = 0;
     }
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
 
     void parseCode( int code, dxfReader* reader );
 
@@ -183,7 +183,7 @@ public:
         secPoint.z = 0;
     }
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
     void parseCode( int code, dxfReader* reader );
 
 public:
@@ -232,7 +232,7 @@ public:
         radious = 0.0;
     }
 
-    virtual void    applyExtrusion();
+    virtual void    applyExtrusion() override;
     void            parseCode( int code, dxfReader* reader );
 
 public:
@@ -255,7 +255,7 @@ public:
         endangle    = 0.0;
     }
 
-    virtual void    applyExtrusion();
+    virtual void    applyExtrusion() override;
     void            parseCode( int code, dxfReader* reader );
 
 public:
@@ -284,7 +284,7 @@ public:
 
     void            parseCode( int code, dxfReader* reader );
     void            toPolyline( DRW_Polyline* pol, int parts = 128 );
-    virtual void    applyExtrusion();
+    virtual void    applyExtrusion() override;
     void            correctAxis();
 
 public:
@@ -309,7 +309,7 @@ public:
         fourPoint.z     = 0;
     }
 
-    virtual void    applyExtrusion();
+    virtual void    applyExtrusion() override;
     void            parseCode( int code, dxfReader* reader );
 
 public:
@@ -347,7 +347,7 @@ public:
         invisibleflag = 0;
     }
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
     void parseCode( int code, dxfReader* reader );
 
 public:
@@ -370,7 +370,7 @@ public:
         name    = "*U0";
     }
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
     void parseCode( int code, dxfReader* reader );
 
 public:
@@ -400,7 +400,7 @@ public:
         rowspace    = 0;
     }
 
-    virtual void applyExtrusion() { DRW_Point::applyExtrusion(); }
+    virtual void applyExtrusion() override { DRW_Point::applyExtrusion(); }
     void parseCode( int code, dxfReader* reader );
 
 public:
@@ -442,7 +442,7 @@ public:
         }
     }
 
-    virtual void applyExtrusion();
+    virtual void applyExtrusion() override;
 
     void addVertex( DRW_Vertex2D v )
     {
@@ -521,7 +521,7 @@ public:
         height  = 0.0;
     }
 
-    virtual void applyExtrusion() {}    // RLZ TODO
+    virtual void applyExtrusion() override {}
     void parseCode( int code, dxfReader* reader );
 
 public:
@@ -715,7 +715,7 @@ public:
         }
     }
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
 
     void parseCode( int code, dxfReader* reader );
 
@@ -820,7 +820,7 @@ public:
         looplist.push_back( v );
     }
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
     void parseCode( int code, dxfReader* reader );
 
 public:
@@ -988,7 +988,7 @@ public:
 
     void parseCode( int code, dxfReader* reader );
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
 
     DRW_Coord getDefPoint() const { return defPoint; }      /*!< Definition point, code 10, 20 & 30 */
     void setDefPoint( const DRW_Coord& p ) { defPoint = p; }
@@ -1280,7 +1280,7 @@ public:
         }
     }
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
     void parseCode( int code, dxfReader* reader );
 
 public:
@@ -1324,7 +1324,7 @@ public:
         centerPY    = 97.5;
     }
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
     void parseCode( int code, dxfReader* reader );
 
 public:
diff --git a/lib_dxf/intern/drw_textcodec.h b/lib_dxf/intern/drw_textcodec.h
index 1a8c56a..d6a8977 100644
--- a/lib_dxf/intern/drw_textcodec.h
+++ b/lib_dxf/intern/drw_textcodec.h
@@ -56,8 +56,8 @@ class DRW_ConvTable : public DRW_Converter
 {
 public:
     DRW_ConvTable( const int* t, int l ) : DRW_Converter( t, l ) {}
-    virtual std::string fromUtf8( std::string* s );
-    virtual std::string toUtf8( std::string* s );
+    virtual std::string fromUtf8( std::string* s ) override;
+    virtual std::string toUtf8( std::string* s ) override;
 };
 
 class DRW_ConvDBCSTable : public DRW_Converter
@@ -70,8 +70,8 @@ public:
         doubleTable = dt;
     }
 
-    virtual std::string fromUtf8( std::string* s );
-    virtual std::string toUtf8( std::string* s );
+    virtual std::string fromUtf8( std::string* s ) override;
+    virtual std::string toUtf8( std::string* s ) override;
 
 private:
     const int* leadTable;
@@ -88,8 +88,8 @@ public:
         doubleTable = dt;
     }
 
-    virtual std::string fromUtf8( std::string* s );
-    virtual std::string toUtf8( std::string* s );
+    virtual std::string fromUtf8( std::string* s ) override;
+    virtual std::string toUtf8( std::string* s ) override;
 
 private:
     const int* leadTable;
diff --git a/lib_dxf/intern/dxfreader.h b/lib_dxf/intern/dxfreader.h
index 8452449..0049378 100644
--- a/lib_dxf/intern/dxfreader.h
+++ b/lib_dxf/intern/dxfreader.h
@@ -73,14 +73,14 @@ class dxfReaderBinary : public dxfReader
 public:
     dxfReaderBinary( std::ifstream* stream ) : dxfReader( stream ) {}
     virtual ~dxfReaderBinary() {}
-    virtual bool    readCode( int* code );
-    virtual bool    readString( std::string* text );
-    virtual bool    readString();
-    virtual bool    readInt();
-    virtual bool    readInt32();
-    virtual bool    readInt64();
-    virtual bool    readDouble();
-    virtual bool    readBool();
+    virtual bool    readCode( int* code ) override;
+    virtual bool    readString( std::string* text ) override;
+    virtual bool    readString() override;
+    virtual bool    readInt() override;
+    virtual bool    readInt32() override;
+    virtual bool    readInt64() override;
+    virtual bool    readDouble() override;
+    virtual bool    readBool() override;
 };
 
 class dxfReaderAscii : public dxfReader
@@ -88,14 +88,14 @@ class dxfReaderAscii : public dxfReader
 public:
     dxfReaderAscii( std::ifstream* stream ) : dxfReader( stream ) {}
     virtual ~dxfReaderAscii() {}
-    virtual bool    readCode( int* code );
-    virtual bool    readString( std::string* text );
-    virtual bool    readString();
-    virtual bool    readInt();
-    virtual bool    readDouble();
-    virtual bool    readInt32();
-    virtual bool    readInt64();
-    virtual bool    readBool();
+    virtual bool    readCode( int* code ) override;
+    virtual bool    readString( std::string* text ) override;
+    virtual bool    readString() override;
+    virtual bool    readInt() override;
+    virtual bool    readDouble() override;
+    virtual bool    readInt32() override;
+    virtual bool    readInt64() override;
+    virtual bool    readBool() override;
 };
 
 #endif    // DXFREADER_H
diff --git a/lib_dxf/intern/dxfwriter.h b/lib_dxf/intern/dxfwriter.h
index cd9f0bb..50d99a2 100644
--- a/lib_dxf/intern/dxfwriter.h
+++ b/lib_dxf/intern/dxfwriter.h
@@ -47,12 +47,12 @@ class dxfWriterBinary : public dxfWriter
 public:
     dxfWriterBinary( std::ofstream* stream ) : dxfWriter( stream ) {}
     virtual ~dxfWriterBinary() {}
-    virtual bool    writeString( int code, std::string text );
-    virtual bool    writeInt16( int code, int data );
-    virtual bool    writeInt32( int code, int data );
-    virtual bool    writeInt64( int code, unsigned long long int data );
-    virtual bool    writeDouble( int code, double data );
-    virtual bool    writeBool( int code, bool data );
+    virtual bool    writeString( int code, std::string text ) override;
+    virtual bool    writeInt16( int code, int data ) override;
+    virtual bool    writeInt32( int code, int data ) override;
+    virtual bool    writeInt64( int code, unsigned long long int data ) override;
+    virtual bool    writeDouble( int code, double data ) override;
+    virtual bool    writeBool( int code, bool data ) override;
 };
 
 class dxfWriterAscii : public dxfWriter
@@ -60,12 +60,12 @@ class dxfWriterAscii : public dxfWriter
 public:
     dxfWriterAscii( std::ofstream* stream ) : dxfWriter( stream ) {}
     virtual ~dxfWriterAscii() {}
-    virtual bool    writeString( int code, std::string text );
-    virtual bool    writeInt16( int code, int data );
-    virtual bool    writeInt32( int code, int data );
-    virtual bool    writeInt64( int code, unsigned long long int data );
-    virtual bool    writeDouble( int code, double data );
-    virtual bool    writeBool( int code, bool data );
+    virtual bool    writeString( int code, std::string text ) override;
+    virtual bool    writeInt16( int code, int data ) override;
+    virtual bool    writeInt32( int code, int data ) override;
+    virtual bool    writeInt64( int code, unsigned long long int data ) override;
+    virtual bool    writeDouble( int code, double data ) override;
+    virtual bool    writeBool( int code, bool data ) override;
 };
 
 #endif    // DXFWRITER_H
diff --git a/pagelayout_editor/class_pl_editor_screen.h b/pagelayout_editor/class_pl_editor_screen.h
index 957180f..cc9b744 100644
--- a/pagelayout_editor/class_pl_editor_screen.h
+++ b/pagelayout_editor/class_pl_editor_screen.h
@@ -48,14 +48,14 @@ public:
 
     ~PL_EDITOR_SCREEN();
 
-    virtual int MilsToIuScalar();
+    virtual int MilsToIuScalar() override;
 
     /**
      * Function ClearUndoORRedoList
      * virtual pure in BASE_SCREEN, so it must be defined here
      */
 
-    void ClearUndoORRedoList( UNDO_REDO_CONTAINER& aList, int aItemCount = -1 );
+    void ClearUndoORRedoList( UNDO_REDO_CONTAINER& aList, int aItemCount = -1 ) override;
     /**
      * Function GetCurItem
      * returns the currently selected WORKSHEET_DATAITEM, overriding
diff --git a/pagelayout_editor/design_tree_frame.h b/pagelayout_editor/design_tree_frame.h
index 1ff901e..3676695 100644
--- a/pagelayout_editor/design_tree_frame.h
+++ b/pagelayout_editor/design_tree_frame.h
@@ -82,7 +82,7 @@ public:
     ~DESIGN_TREE_FRAME();
 
     void    ReCreateDesignTree();
-    wxSize  GetMinSize() const;
+    wxSize  GetMinSize() const override;
 
     /** @return the page layout item managed by the cell
      */
diff --git a/pagelayout_editor/dialogs/dialog_new_dataitem.cpp b/pagelayout_editor/dialogs/dialog_new_dataitem.cpp
index 12a6744..7c71cee 100644
--- a/pagelayout_editor/dialogs/dialog_new_dataitem.cpp
+++ b/pagelayout_editor/dialogs/dialog_new_dataitem.cpp
@@ -43,8 +43,8 @@ public:
     DIALOG_NEW_DATAITEM( PL_EDITOR_FRAME* aCaller, WORKSHEET_DATAITEM* aItem );
 
 private:
-    void OnCancelClick( wxCommandEvent& event );
-    void OnOKClick( wxCommandEvent& event );
+    void OnCancelClick( wxCommandEvent& event ) override;
+    void OnOKClick( wxCommandEvent& event ) override;
 
     void initDlg();
 };
diff --git a/pagelayout_editor/dialogs/dialogs_for_printing.cpp b/pagelayout_editor/dialogs/dialogs_for_printing.cpp
index 5ed93f4..f04a8e1 100644
--- a/pagelayout_editor/dialogs/dialogs_for_printing.cpp
+++ b/pagelayout_editor/dialogs/dialogs_for_printing.cpp
@@ -55,9 +55,9 @@ public:
         m_parent = aParent;
     }
 
-    bool OnPrintPage( int aPageNum );
+    bool OnPrintPage( int aPageNum ) override;
     bool HasPage( int aPageNum ) { return ( aPageNum <= 2 ); }
-    void GetPageInfo( int* minPage, int* maxPage, int* selPageFrom, int* selPageTo );
+    void GetPageInfo( int* minPage, int* maxPage, int* selPageFrom, int* selPageTo ) override;
     void DrawPage( int aPageNum );
 };
 
diff --git a/pagelayout_editor/pl_editor.cpp b/pagelayout_editor/pl_editor.cpp
index c55f9aa..479b072 100644
--- a/pagelayout_editor/pl_editor.cpp
+++ b/pagelayout_editor/pl_editor.cpp
@@ -51,9 +51,9 @@ static struct IFACE : public KIFACE_I
         KIFACE_I( aName, aType )
     {}
 
-    bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits );
+    bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) override;
 
-    void OnKifaceEnd();
+    void OnKifaceEnd() override;
 
     wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 )
     {
diff --git a/pagelayout_editor/pl_editor_frame.h b/pagelayout_editor/pl_editor_frame.h
index 12e44b6..bcb4bbd 100644
--- a/pagelayout_editor/pl_editor_frame.h
+++ b/pagelayout_editor/pl_editor_frame.h
@@ -104,10 +104,10 @@ public:
     void    OnCloseWindow( wxCloseEvent& Event );
 
     // Virtual basic functions:
-    void    RedrawActiveWindow( wxDC* DC, bool EraseBg );
-    void    ReCreateHToolbar();
+    void    RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
+    void    ReCreateHToolbar() override;
 
-    void SetPageSettings(const PAGE_INFO&);
+    void SetPageSettings(const PAGE_INFO&) override;
     const PAGE_INFO& GetPageSettings () const;                  // overload EDA_DRAW_FRAME
     const wxSize GetPageSizeIU() const;                         // overload EDA_DRAW_FRAME
 
@@ -117,7 +117,7 @@ public:
      * level indicator in dialogs.
      * Virtual from the base class
      */
-    const wxString GetZoomLevelIndicator() const;
+    const wxString GetZoomLevelIndicator() const override;
 
     PL_EDITOR_SCREEN* GetScreen() const                         // overload EDA_DRAW_FRAME
     {
@@ -155,7 +155,7 @@ public:
      * creates or updates the right vertical toolbar.
      * @note This is currently not used.
      */
-    void    ReCreateVToolbar();
+    void    ReCreateVToolbar() override;
 
     /**
      * Create or update the left vertical toolbar (option toolbar
@@ -163,11 +163,11 @@ public:
      */
     void    ReCreateOptToolbar();
 
-    void    ReCreateMenuBar();
-    void    OnLeftClick( wxDC* aDC, const wxPoint& aMousePos );
-    void    OnLeftDClick( wxDC* aDC, const wxPoint& aMousePos );
-    bool    OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu );
-    double  BestZoom();
+    void    ReCreateMenuBar() override;
+    void    OnLeftClick( wxDC* aDC, const wxPoint& aMousePos ) override;
+    void    OnLeftDClick( wxDC* aDC, const wxPoint& aMousePos ) override;
+    bool    OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu ) override;
+    double  BestZoom() override;
 
     // Events created by clicking on the design tree list:
     void OnTreeSelection( wxTreeEvent& event );
@@ -237,13 +237,13 @@ public:
      * returns the block command (BLOCK_MOVE, BLOCK_COPY...) corresponding to
      * the \a aKey (ALT, SHIFT ALT ..)
      */
-    virtual int         BlockCommand( EDA_KEY key );
+    virtual int         BlockCommand( EDA_KEY key ) override;
 
     /**
      * Function HandleBlockPlace
      * handles the block place command.
      */
-    virtual void        HandleBlockPlace( wxDC* DC );
+    virtual void        HandleBlockPlace( wxDC* DC ) override;
 
     /**
      * Function HandleBlockEnd( )
@@ -256,7 +256,7 @@ public:
      * @return false if no item selected, or command finished,
      *         true if some items found and HandleBlockPlace must be called later.
      */
-    virtual bool        HandleBlockEnd( wxDC* DC );
+    virtual bool        HandleBlockEnd( wxDC* DC ) override;
 
     /**
      * Function Block_Move
@@ -275,7 +275,7 @@ public:
     void                OnQuit( wxCommandEvent& event );
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const;
+    EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
 
     /**
      * Function OnHotKey.
@@ -286,7 +286,7 @@ public:
      * @param aPosition The cursor position in logical (drawing) units.
      * @param aItem = NULL or pointer on a EDA_ITEM under the mouse cursor
      */
-    bool OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosition, EDA_ITEM* aItem = NULL );
+    bool OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
 
     void                Process_Settings( wxCommandEvent& event );
     void                Process_Config( wxCommandEvent& event );
@@ -305,7 +305,7 @@ public:
     void                ToPrinter( wxCommandEvent& event );
 
     void                Files_io( wxCommandEvent& event );
-    bool                GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    bool                GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
 
     /** Virtual function PrintPage
      * used to print a page
diff --git a/pagelayout_editor/properties_frame.h b/pagelayout_editor/properties_frame.h
index 208bdc1..7cb130b 100644
--- a/pagelayout_editor/properties_frame.h
+++ b/pagelayout_editor/properties_frame.h
@@ -48,8 +48,8 @@ public:
     ~PROPERTIES_FRAME();
 
     // Event functions
-    void OnAcceptPrms( wxCommandEvent& event );
-    void OnSetDefaultValues( wxCommandEvent& event );
+    void OnAcceptPrms( wxCommandEvent& event ) override;
+    void OnSetDefaultValues( wxCommandEvent& event ) override;
 
 
     // Data transfert from general properties to widgets
@@ -64,7 +64,7 @@ public:
     // Data transfert from widgets in properties frame to item
     bool CopyPrmsFromPanelToItem( WORKSHEET_DATAITEM* aItem );
 
-    wxSize GetMinSize() const;
+    wxSize GetMinSize() const override;
 };
 
 #endif /* _PROPERTIES_FRAME_H */
diff --git a/pcb_calculator/UnitSelector.h b/pcb_calculator/UnitSelector.h
index d5adea0..c402624 100644
--- a/pcb_calculator/UnitSelector.h
+++ b/pcb_calculator/UnitSelector.h
@@ -70,7 +70,7 @@ public:
      * @return the scaling factor to convert users units
      * to normalized units (meter)
      */
-    virtual double GetUnitScale();
+    virtual double GetUnitScale() override;
 };
 
 class UNIT_SELECTOR_THICKNESS: public UNIT_SELECTOR
@@ -85,7 +85,7 @@ public:
      * @return the scaling factor to convert users units
      * to normalized units (meter) including oz/ft^2
      */
-    virtual double GetUnitScale();
+    virtual double GetUnitScale() override;
 };
 
 class UNIT_SELECTOR_FREQUENCY: public UNIT_SELECTOR
@@ -100,7 +100,7 @@ public:
      * @return the scaling factor to convert users units
      * to normalized units (Hz)
      */
-    virtual double GetUnitScale();
+    virtual double GetUnitScale() override;
 };
 
 class UNIT_SELECTOR_ANGLE: public UNIT_SELECTOR
@@ -115,7 +115,7 @@ public:
      * @return the scaling factor to convert users units
      * to normalized units (Hz)
      */
-    virtual double GetUnitScale();
+    virtual double GetUnitScale() override;
 };
 
 class UNIT_SELECTOR_RESISTOR: public UNIT_SELECTOR
@@ -130,7 +130,7 @@ public:
      * @return the scaling factor to convert users units
      * to normalized units (Hz)
      */
-    virtual double GetUnitScale();
+    virtual double GetUnitScale() override;
 };
 
 #endif  // _UnitSelector_h_
diff --git a/pcb_calculator/attenuators/attenuator_classes.h b/pcb_calculator/attenuators/attenuator_classes.h
index 7e8e895..34a8517 100644
--- a/pcb_calculator/attenuators/attenuator_classes.h
+++ b/pcb_calculator/attenuators/attenuator_classes.h
@@ -79,7 +79,7 @@ class ATTENUATOR_PI : public ATTENUATOR
 public:
     ATTENUATOR_PI();
     ~ATTENUATOR_PI(){};
-    virtual bool Calculate();
+    virtual bool Calculate() override;
 };
 
 class ATTENUATOR_TEE : public ATTENUATOR
@@ -87,7 +87,7 @@ class ATTENUATOR_TEE : public ATTENUATOR
 public:
     ATTENUATOR_TEE();
     ~ATTENUATOR_TEE(){};
-    virtual bool Calculate();
+    virtual bool Calculate() override;
 };
 
 class ATTENUATOR_BRIDGE : public ATTENUATOR
@@ -95,7 +95,7 @@ class ATTENUATOR_BRIDGE : public ATTENUATOR
 public:
     ATTENUATOR_BRIDGE();
     ~ATTENUATOR_BRIDGE(){};
-    virtual bool Calculate();
+    virtual bool Calculate() override;
 };
 
 class ATTENUATOR_SPLITTER : public ATTENUATOR
@@ -103,7 +103,7 @@ class ATTENUATOR_SPLITTER : public ATTENUATOR
 public:
     ATTENUATOR_SPLITTER();
     ~ATTENUATOR_SPLITTER(){};
-    virtual bool Calculate();
+    virtual bool Calculate() override;
 };
 
 #endif  // ATTENUATORFUNC_H
diff --git a/pcb_calculator/pcb_calculator.cpp b/pcb_calculator/pcb_calculator.cpp
index 384bc8e..70854bc 100644
--- a/pcb_calculator/pcb_calculator.cpp
+++ b/pcb_calculator/pcb_calculator.cpp
@@ -55,9 +55,9 @@ static struct IFACE : public KIFACE_I
         KIFACE_I( aName, aType )
     {}
 
-    bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits );
+    bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) override;
 
-    void OnKifaceEnd();
+    void OnKifaceEnd() override;
 
     wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 )
     {
diff --git a/pcb_calculator/pcb_calculator.h b/pcb_calculator/pcb_calculator.h
index 3c685cb..b4389f1 100644
--- a/pcb_calculator/pcb_calculator.h
+++ b/pcb_calculator/pcb_calculator.h
@@ -78,16 +78,16 @@ public:
 private:
 
     // Event handlers
-    void OnClosePcbCalc( wxCloseEvent& event );
+    void OnClosePcbCalc( wxCloseEvent& event ) override;
 
     // These 3 functions are called by the OnPaint event, to draw
     // icons that show the current item on the specific panels
-    void OnPaintTranslinePanel( wxPaintEvent& event );
-    void OnPaintAttenuatorPanel( wxPaintEvent& event );
+    void OnPaintTranslinePanel( wxPaintEvent& event ) override;
+    void OnPaintAttenuatorPanel( wxPaintEvent& event ) override;
 
     // Config read-write, virtual from EDA_BASE_FRAME
-    void LoadSettings( wxConfigBase* aCfg );
-    void SaveSettings( wxConfigBase* aCfg );
+    void LoadSettings( wxConfigBase* aCfg ) override;
+    void SaveSettings( wxConfigBase* aCfg ) override;
 
     // R/W data files:
     bool ReadDataFile();
@@ -124,28 +124,28 @@ private:
      * Called when the user changes the general parameters (i.e., anything that
      * is not one of the controlling values). This update the calculations.
      */
-    void OnTWParametersChanged( wxCommandEvent& event );
+    void OnTWParametersChanged( wxCommandEvent& event ) override;
 
     /**
      * Function OnTWCalculateFromCurrent
      * Called when the user changes the desired maximum current. This sets the
      * current as the controlling value and performs the calculations.
      */
-    void OnTWCalculateFromCurrent( wxCommandEvent& event );
+    void OnTWCalculateFromCurrent( wxCommandEvent& event ) override;
 
     /**
      * Function OnTWCalculateFromExtWidth
      * Called when the user changes the desired external trace width. This sets
      * the external width as the controlling value and performs the calculations.
      */
-    void OnTWCalculateFromExtWidth( wxCommandEvent& event );
+    void OnTWCalculateFromExtWidth( wxCommandEvent& event ) override;
 
     /**
      * Function OnTWCalculateFromIntWidth
      * Called when the user changes the desired internal trace width. This sets
      * the internal width as the controlling value and performs the calculations.
      */
-    void OnTWCalculateFromIntWidth( wxCommandEvent& event );
+    void OnTWCalculateFromIntWidth( wxCommandEvent& event ) override;
 
     /**
      * Function TWCalculateWidth
@@ -177,8 +177,8 @@ private:
     void TWUpdateModeDisplay();
 
     // Electrical spacing panel:
-    void OnElectricalSpacingUnitsSelection( wxCommandEvent& event );
-    void OnElectricalSpacingRefresh( wxCommandEvent& event );
+    void OnElectricalSpacingUnitsSelection( wxCommandEvent& event ) override;
+    void OnElectricalSpacingRefresh( wxCommandEvent& event ) override;
     void ElectricalSpacingUpdateData( double aUnitScale );
 
     // Transline functions:
@@ -186,42 +186,42 @@ private:
      * Function OnTranslineSelection
      * Called on new transmission line selection
     */
-    void OnTranslineSelection( wxCommandEvent& event );
+    void OnTranslineSelection( wxCommandEvent& event ) override;
 
     /**
      * Function OnTranslineAnalyse
      * Run a new analyse for the current transline with current parameters
      * and displays the electrical parmeters
      */
-    void OnTranslineAnalyse( wxCommandEvent& event );
+    void OnTranslineAnalyse( wxCommandEvent& event ) override;
 
     /**
      * Function OnTranslineSynthetize
      * Run a new synthezis for the current transline with current parameters
      * and displays the geometrical parmeters
      */
-    void OnTranslineSynthetize( wxCommandEvent& event );
+    void OnTranslineSynthetize( wxCommandEvent& event ) override;
 
     /**
      * Function OnTranslineEpsilonR_Button
      * Shows a list of current relative dielectric constant(Er)
      * and set the selected value in main dialog frame
      */
-    void OnTranslineEpsilonR_Button( wxCommandEvent& event );
+    void OnTranslineEpsilonR_Button( wxCommandEvent& event ) override;
 
     /**
      * Function OnTranslineTanD_Button
      * Shows a list of current dielectric loss factor (tangent delta)
      * and set the selected value in main dialog frame
      */
-    void OnTranslineTanD_Button( wxCommandEvent& event );
+    void OnTranslineTanD_Button( wxCommandEvent& event ) override;
 
     /**
      * Function OnTranslineRho_Button
      * Shows a list of current Specific resistance list (rho)
      * and set the selected value in main dialog frame
      */
-    void OnTranslineRho_Button( wxCommandEvent& event );
+    void OnTranslineRho_Button( wxCommandEvent& event ) override;
 
     /**
      * Function TranslineTypeSelection
@@ -241,25 +241,25 @@ private:
     void TransfDlgDataToTranslineParams();
 
     // Color Code panel
-    void OnToleranceSelection( wxCommandEvent& event );
+    void OnToleranceSelection( wxCommandEvent& event ) override;
     void ToleranceSelection( int aSelection );
 
     // Attenuators Panel
-    void OnAttenuatorSelection( wxCommandEvent& event );
+    void OnAttenuatorSelection( wxCommandEvent& event ) override;
     void SetAttenuator( unsigned aIdx );
-    void OnCalculateAttenuator( wxCommandEvent& event );
+    void OnCalculateAttenuator( wxCommandEvent& event ) override;
     void TransfPanelDataToAttenuator();
     void TransfAttenuatorDataToPanel();
     void TransfAttenuatorResultsToPanel();
 
     // Regulators Panel
-    void OnRegulatorCalcButtonClick( wxCommandEvent& event );
-    void OnRegulTypeSelection( wxCommandEvent& event );
-    void OnRegulatorSelection( wxCommandEvent& event );
-    void OnDataFileSelection( wxCommandEvent& event );
-    void OnAddRegulator( wxCommandEvent& event );
-    void OnEditRegulator( wxCommandEvent& event );
-    void OnRemoveRegulator( wxCommandEvent& event );
+    void OnRegulatorCalcButtonClick( wxCommandEvent& event ) override;
+    void OnRegulTypeSelection( wxCommandEvent& event ) override;
+    void OnRegulatorSelection( wxCommandEvent& event ) override;
+    void OnDataFileSelection( wxCommandEvent& event ) override;
+    void OnAddRegulator( wxCommandEvent& event ) override;
+    void OnEditRegulator( wxCommandEvent& event ) override;
+    void OnRemoveRegulator( wxCommandEvent& event ) override;
 
     /**
      * Function RegulatorPageUpdate:
@@ -315,7 +315,7 @@ public:
     bool   IsPrmSelected( enum PRMS_ID aPrmId );
 
     // Board classes panel:
-    void OnBoardClassesUnitsSelection( wxCommandEvent& event );
+    void OnBoardClassesUnitsSelection( wxCommandEvent& event ) override;
     void BoardClassesUpdateData( double aUnitScale );
 
 };
diff --git a/pcb_calculator/regulators_funct.cpp b/pcb_calculator/regulators_funct.cpp
index 0d95703..6c28fbc 100644
--- a/pcb_calculator/regulators_funct.cpp
+++ b/pcb_calculator/regulators_funct.cpp
@@ -49,7 +49,7 @@ public:
     ~DIALOG_EDITOR_DATA() {};
 
     // Event called functions:
-    void OnOKClick( wxCommandEvent& event );
+    void OnOKClick( wxCommandEvent& event ) override;
 
     /**
      * Function IsOK()
diff --git a/pcb_calculator/transline/c_microstrip.h b/pcb_calculator/transline/c_microstrip.h
index ac348a9..01ee17c 100644
--- a/pcb_calculator/transline/c_microstrip.h
+++ b/pcb_calculator/transline/c_microstrip.h
@@ -59,8 +59,8 @@ private:
     double atten_cond_o;        // odd-mode conductors losses (dB)
 
 public:
-    void   analyze();
-    void   synthesize();
+    void   analyze() override;
+    void   synthesize() override;
 
 private:
     double delta_u_thickness_single( double, double );
diff --git a/pcb_calculator/transline/coax.h b/pcb_calculator/transline/coax.h
index b4c301f..07a2d16 100644
--- a/pcb_calculator/transline/coax.h
+++ b/pcb_calculator/transline/coax.h
@@ -41,8 +41,8 @@ private:
     double fc;                  // Cutoff frequency for higher order modes
 
 public:
-    void   analyze();
-    void   synthesize();
+    void   analyze() override;
+    void   synthesize() override;
 
 private:
     void   get_coax_sub();
diff --git a/pcb_calculator/transline/coplanar.h b/pcb_calculator/transline/coplanar.h
index 0d96f45..d51411a 100644
--- a/pcb_calculator/transline/coplanar.h
+++ b/pcb_calculator/transline/coplanar.h
@@ -42,8 +42,8 @@ private:
     double atten_cond;          // Loss in conductors (dB)
 
 public:
-    void analyze();
-    void synthesize();
+    void analyze() override;
+    void synthesize() override;
 
 protected:
     bool backMetal;
diff --git a/pcb_calculator/transline/microstrip.h b/pcb_calculator/transline/microstrip.h
index 8f2737b..ec06936 100644
--- a/pcb_calculator/transline/microstrip.h
+++ b/pcb_calculator/transline/microstrip.h
@@ -53,8 +53,8 @@ private:
     double Z0_h_1;      // homogeneous stripline impedance
 
 public:
-    void   analyze();
-    void   synthesize();
+    void   analyze() override;
+    void   synthesize() override;
 
 private:
     double er_eff_freq();
diff --git a/pcb_calculator/transline/rectwaveguide.h b/pcb_calculator/transline/rectwaveguide.h
index 58d5ce4..466accd 100644
--- a/pcb_calculator/transline/rectwaveguide.h
+++ b/pcb_calculator/transline/rectwaveguide.h
@@ -45,8 +45,8 @@ private:
     double fc10;                // Cutoff frequency for TE10 mode
 
 public:
-    void   analyze();
-    void   synthesize();
+    void   analyze() override;
+    void   synthesize() override;
 
 private:
     double kval_square();
diff --git a/pcb_calculator/transline/stripline.h b/pcb_calculator/transline/stripline.h
index 628e1e2..300885f 100644
--- a/pcb_calculator/transline/stripline.h
+++ b/pcb_calculator/transline/stripline.h
@@ -41,8 +41,8 @@ private:
     double atten_cond;          // loss in conductors (dB)
 
 public:
-    void   analyze();
-    void   synthesize();
+    void   analyze() override;
+    void   synthesize() override;
 
 private:
     double lineImpedance( double, double& );
diff --git a/pcb_calculator/transline/twistedpair.h b/pcb_calculator/transline/twistedpair.h
index b38b88f..d41361f 100644
--- a/pcb_calculator/transline/twistedpair.h
+++ b/pcb_calculator/transline/twistedpair.h
@@ -41,8 +41,8 @@ private:
     double atten_cond;          // Loss in conductors (dB)
 
 public:
-    void analyze();
-    void synthesize();
+    void analyze() override;
+    void synthesize() override;
 
 private:
     void calc();
diff --git a/pcbnew/block.cpp b/pcbnew/block.cpp
index 68c4b0d..7d8fbb4 100644
--- a/pcbnew/block.cpp
+++ b/pcbnew/block.cpp
@@ -102,7 +102,7 @@ public:
 
 
 private:
-    void ExecuteCommand( wxCommandEvent& event );
+    void ExecuteCommand( wxCommandEvent& event ) override;
     void OnCancel( wxCommandEvent& event )
     {
         EndModal( wxID_CANCEL );
diff --git a/pcbnew/board_commit.h b/pcbnew/board_commit.h
index 7f4d09d..2dbcddf 100644
--- a/pcbnew/board_commit.h
+++ b/pcbnew/board_commit.h
@@ -40,13 +40,13 @@ public:
     BOARD_COMMIT( PCB_BASE_FRAME* aFrame );
     virtual ~BOARD_COMMIT();
 
-    virtual void Push( const wxString& aMessage );
-    virtual void Revert();
+    virtual void Push( const wxString& aMessage ) override;
+    virtual void Revert() override;
 
 private:
     TOOL_MANAGER* m_toolMgr;
     bool m_editModules;
-    virtual EDA_ITEM* parentObject( EDA_ITEM* aItem ) const;
+    virtual EDA_ITEM* parentObject( EDA_ITEM* aItem ) const override;
 };
 
 #endif
diff --git a/pcbnew/class_board.h b/pcbnew/class_board.h
index 89bd4d0..8e1f11f 100644
--- a/pcbnew/class_board.h
+++ b/pcbnew/class_board.h
@@ -257,9 +257,9 @@ public:
     BOARD();
     ~BOARD();
 
-    virtual const wxPoint& GetPosition() const;
+    virtual const wxPoint& GetPosition() const override;
 
-    virtual void SetPosition( const wxPoint& aPos );
+    virtual void SetPosition( const wxPoint& aPos ) override;
 
     bool IsEmpty() const
     {
@@ -267,7 +267,7 @@ public:
                m_Track.GetCount() == 0 && m_Zone.GetCount() == 0;
     }
 
-    void Move( const wxPoint& aMoveVector );        // overload
+    void Move( const wxPoint& aMoveVector ) override;
 
     void SetFileFormatVersionAtLoad( int aVersion ) { m_fileFormatVersionAtLoad = aVersion; }
     int GetFileFormatVersionAtLoad()  const { return m_fileFormatVersionAtLoad; }
@@ -833,11 +833,11 @@ public:
      * as long as the BOARD has not changed.  Remember, ComputeBoundingBox()'s
      * aBoardEdgesOnly argument is considered in this return value also.
      */
-    const EDA_RECT GetBoundingBox() const { return m_BoundingBox; }   // override
+    const EDA_RECT GetBoundingBox() const override { return m_BoundingBox; }
 
     void SetBoundingBox( const EDA_RECT& aBox ) { m_BoundingBox = aBox; }
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     /**
      * Function Draw.
@@ -848,7 +848,7 @@ public:
      * @param aOffset = an draw offset value (default = 0,0)
      */
     void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
-               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset );
+               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset ) override;
 
     /**
      * Function DrawHighLight
@@ -951,13 +951,13 @@ public:
 
     /***************************************************************************/
 
-    wxString GetClass() const
+    wxString GetClass() const override
     {
         return wxT( "BOARD" );
     }
 
 #if defined(DEBUG)
-    void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); } // override
+    void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
 
diff --git a/pcbnew/class_board_connected_item.h b/pcbnew/class_board_connected_item.h
index 6687f0a..a4e3042 100644
--- a/pcbnew/class_board_connected_item.h
+++ b/pcbnew/class_board_connected_item.h
@@ -78,7 +78,7 @@ public:
     }
 
     ///> @copydoc BOARD_ITEM::IsConnected()
-    bool IsConnected() const
+    bool IsConnected() const override
     {
         return true;
     }
diff --git a/pcbnew/class_dimension.h b/pcbnew/class_dimension.h
index bb444a6..62bf204 100644
--- a/pcbnew/class_dimension.h
+++ b/pcbnew/class_dimension.h
@@ -87,16 +87,16 @@ public:
 
     int GetValue() const { return m_Value; }
 
-    const wxPoint&  GetPosition() const;
+    const wxPoint&  GetPosition() const override;
 
-    void            SetPosition( const wxPoint& aPos ); // override, sets m_Text's position too
+    void            SetPosition( const wxPoint& aPos ) override;
 
     void SetTextSize( const wxSize& aTextSize )
     {
         m_Text.SetSize( aTextSize );
     }
 
-    void SetLayer( LAYER_ID aLayer );
+    void SetLayer( LAYER_ID aLayer ) override;
 
     void SetShape( int aShape )         { m_Shape = aShape; }
     int GetShape() const { return m_Shape; }
@@ -184,17 +184,17 @@ public:
     TEXTE_PCB&      Text() const  { return *(const_cast<TEXTE_PCB*> (&m_Text)); }
 
     void            Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
-                          GR_DRAWMODE aColorMode, const wxPoint& offset = ZeroOffset );
+                          GR_DRAWMODE aColorMode, const wxPoint& offset = ZeroOffset ) override;
 
     /**
      * Function Move
      * @param offset : moving vector
      */
-    void            Move( const wxPoint& offset );
+    void            Move( const wxPoint& offset ) override;
 
-    void            Rotate( const wxPoint& aRotCentre, double aAngle );
+    void            Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
-    void            Flip( const wxPoint& aCentre );
+    void            Flip( const wxPoint& aCentre ) override;
 
     /**
      * Function Mirror
@@ -205,34 +205,34 @@ public:
      */
     void            Mirror( const wxPoint& axis_pos );
 
-    void            GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void            GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    bool            HitTest( const wxPoint& aPosition ) const;
+    bool            HitTest( const wxPoint& aPosition ) const override;
 
     /** @copydoc BOARD_ITEM::HitTest(const EDA_RECT& aRect,
      *                               bool aContained = true, int aAccuracy ) const
      */
-    bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const;
+    bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const override;
 
-    wxString GetClass() const
+    wxString GetClass() const override
     {
         return wxT( "DIMENSION" );
     }
 
     // Virtual function
-    const EDA_RECT    GetBoundingBox() const;
+    const EDA_RECT    GetBoundingBox() const override;
 
-    wxString    GetSelectMenuText() const;
+    wxString    GetSelectMenuText() const override;
 
-    BITMAP_DEF GetMenuImage() const { return add_dimension_xpm; }
+    BITMAP_DEF GetMenuImage() const override { return add_dimension_xpm; }
 
-    EDA_ITEM*   Clone() const;
+    EDA_ITEM*   Clone() const override;
 
     /// @copydoc VIEW_ITEM::ViewBBox()
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }    // override
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 };
 
diff --git a/pcbnew/class_drawsegment.h b/pcbnew/class_drawsegment.h
index db8f3c8..989bb891 100644
--- a/pcbnew/class_drawsegment.h
+++ b/pcbnew/class_drawsegment.h
@@ -98,8 +98,8 @@ public:
     void SetBezControl2( const wxPoint& aPoint )    { m_BezierC2 = aPoint; }
     const wxPoint& GetBezControl2() const           { return m_BezierC2; }
 
-    void SetPosition( const wxPoint& aPos )         { m_Start = aPos; }     // override
-    const wxPoint& GetPosition() const              { return m_Start; }     // override
+    void SetPosition( const wxPoint& aPos ) override { m_Start = aPos; }
+    const wxPoint& GetPosition() const override     { return m_Start; }
 
     /**
      * Function GetStart
@@ -123,7 +123,7 @@ public:
     // m_Start, m_End, and m_Angle.
     // No Set...() function for these attributes.
 
-    const wxPoint GetCenter() const;        //override
+    const wxPoint GetCenter() const override;
     const wxPoint& GetArcStart() const      { return m_End; }
     const wxPoint GetArcEnd() const;
 
@@ -180,20 +180,20 @@ public:
     }
 
     void Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
-               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset );
+               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset ) override;
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
     /** @copydoc BOARD_ITEM::HitTest(const EDA_RECT& aRect,
      *                               bool aContained = true, int aAccuracy ) const
      */
-    bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const;
+    bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const override;
 
-    wxString GetClass() const
+    wxString GetClass() const override
     {
         return wxT( "DRAWSEGMENT" );
     }
@@ -208,15 +208,15 @@ public:
         return GetLineLength( GetStart(), GetEnd() );
     }
 
-    virtual void Move( const wxPoint& aMoveVector )
+    virtual void Move( const wxPoint& aMoveVector ) override
     {
         m_Start += aMoveVector;
         m_End   += aMoveVector;
     }
 
-    virtual void Rotate( const wxPoint& aRotCentre, double aAngle );
+    virtual void Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
-    virtual void Flip( const wxPoint& aCentre );
+    virtual void Flip( const wxPoint& aCentre ) override;
 
     /**
      * Function TransformShapeWithClearanceToPolygon
@@ -235,17 +235,17 @@ public:
                                                int             aCircleToSegmentsCount,
                                                double          aCorrectionFactor ) const;
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_dashed_line_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_dashed_line_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
     /// @copydoc VIEW_ITEM::ViewBBox()
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
 #if defined(DEBUG)
-    void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); } // override
+    void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 };
 
diff --git a/pcbnew/class_edge_mod.h b/pcbnew/class_edge_mod.h
index c89e1c7..6588286 100644
--- a/pcbnew/class_edge_mod.h
+++ b/pcbnew/class_edge_mod.h
@@ -61,7 +61,7 @@ public:
      * This is a footprint shape modification.
      * (should be only called by a footprint editing function)
      */
-    void Move( const wxPoint& aMoveVector );
+    void Move( const wxPoint& aMoveVector ) override;
 
     /**
      * Mirror an edge of the footprint.
@@ -76,7 +76,7 @@ public:
      * This is a footprint shape modification.
      * (should be only called by a footprint editing function )
      */
-    void Rotate( const wxPoint& aRotCentre, double aAngle );
+    void Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
     /**
      * Flip entity relative to aCentre.
@@ -86,7 +86,7 @@ public:
      * not usual to flip an item alone, without flipping the parent footprint.
      * (consider Mirror for a mirror transform).
      */
-    void Flip( const wxPoint& aCentre );
+    void Flip( const wxPoint& aCentre ) override;
 
     void SetStart0( const wxPoint& aPoint )     { m_Start0 = aPoint; }
     const wxPoint& GetStart0() const            { return m_Start0; }
@@ -113,18 +113,18 @@ public:
     void Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
                GR_DRAWMODE aDrawMode, const wxPoint& offset = ZeroOffset );
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     wxString GetClass() const
     {
         return wxT( "MGRAPHIC" );
     }
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
     BITMAP_DEF GetMenuImage() const { return  show_mod_edge_xpm; }
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 
 #if defined(DEBUG)
diff --git a/pcbnew/class_marker_pcb.h b/pcbnew/class_marker_pcb.h
index e524ae7..187aab6 100644
--- a/pcbnew/class_marker_pcb.h
+++ b/pcbnew/class_marker_pcb.h
@@ -70,23 +70,23 @@ public:
 
     ~MARKER_PCB();
 
-    void Move(const wxPoint& aMoveVector)
+    void Move(const wxPoint& aMoveVector) override
     {
         m_Pos += aMoveVector;
     }
 
-    void Rotate( const wxPoint& aRotCentre, double aAngle );
+    void Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
-    void Flip( const wxPoint& aCentre );
+    void Flip( const wxPoint& aCentre ) override;
 
     void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
-               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset )
+               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset ) override
     {
         DrawMarker( aPanel, aDC, aDrawMode, aOffset );
     }
 
-    const wxPoint& GetPosition() const          { return m_Pos; }
-    void SetPosition( const wxPoint& aPos )     { m_Pos = aPos; }
+    const wxPoint& GetPosition() const override { return m_Pos; }
+    void SetPosition( const wxPoint& aPos ) override { m_Pos = aPos; }
 
     void SetItem( const BOARD_ITEM* aItem )
     {
@@ -98,36 +98,36 @@ public:
         return m_item;
     }
 
-    bool HitTest( const wxPoint& aPosition ) const
+    bool HitTest( const wxPoint& aPosition ) const override
     {
         return HitTestMarker( aPosition );
     }
 
-    bool IsOnLayer( LAYER_ID aLayer ) const;
+    bool IsOnLayer( LAYER_ID aLayer ) const override;
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
-    BITMAP_DEF GetMenuImage() const { return  drc_xpm; }
+    BITMAP_DEF GetMenuImage() const override { return  drc_xpm; }
 
     ///> @copydoc VIEW_ITEM::ViewBBox()
-    virtual const BOX2I ViewBBox() const
+    virtual const BOX2I ViewBBox() const override
     {
         return GetParent()->ViewBBox();
     }
 
     ///> @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
 #if defined(DEBUG)
-    void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); } // override
+    void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
     /** Get class name
      * @return  string "MARKER_PCB"
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "MARKER_PCB" );
     }
diff --git a/pcbnew/class_mire.h b/pcbnew/class_mire.h
index 18523b4..8396ad8 100644
--- a/pcbnew/class_mire.h
+++ b/pcbnew/class_mire.h
@@ -59,8 +59,8 @@ public:
 
     ~PCB_TARGET();
 
-    void SetPosition( const wxPoint& aPos ) { m_Pos = aPos; }   // override
-    const wxPoint& GetPosition() const      { return m_Pos; }   // override
+    void SetPosition( const wxPoint& aPos ) override { m_Pos = aPos; }
+    const wxPoint& GetPosition() const override { return m_Pos; }
 
     void SetShape( int aShape )     { m_Shape = aShape; }
     int GetShape() const            { return m_Shape; }
@@ -71,21 +71,21 @@ public:
     void SetWidth( int aWidth )     { m_Width = aWidth; }
     int GetWidth() const            { return m_Width; }
 
-    void Move( const wxPoint& aMoveVector )
+    void Move( const wxPoint& aMoveVector ) override
     {
         m_Pos += aMoveVector;
     }
 
-    void Rotate( const wxPoint& aRotCentre, double aAngle );
+    void Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
-    void Flip( const wxPoint& aCentre );
+    void Flip( const wxPoint& aCentre ) override;
 
     void Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
-               GR_DRAWMODE aDrawMode, const wxPoint& offset = ZeroOffset );
+               GR_DRAWMODE aDrawMode, const wxPoint& offset = ZeroOffset ) override;
 
-    bool HitTest( const wxPoint& aPosition ) const;
+    bool HitTest( const wxPoint& aPosition ) const override;
 
-    wxString GetClass() const
+    wxString GetClass() const override
     {
         return wxT( "PCB_TARGET" );
     }
@@ -93,19 +93,19 @@ public:
     /** @copydoc BOARD_ITEM::HitTest(const EDA_RECT& aRect,
      *                               bool aContained = true, int aAccuracy ) const
      */
-    bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const;
+    bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const override;
 
     // Virtual function
-    const EDA_RECT GetBoundingBox() const;
+    const EDA_RECT GetBoundingBox() const override;
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
-    BITMAP_DEF GetMenuImage() const { return  add_mires_xpm; }
+    BITMAP_DEF GetMenuImage() const override { return  add_mires_xpm; }
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
-    void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); } // override
+    void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 };
 
diff --git a/pcbnew/class_module.h b/pcbnew/class_module.h
index 715a8f6..66a8afe 100644
--- a/pcbnew/class_module.h
+++ b/pcbnew/class_module.h
@@ -124,7 +124,7 @@ public:
     EDA_RECT GetFootprintRect() const;
 
     // Virtual function
-    const EDA_RECT GetBoundingBox() const;
+    const EDA_RECT GetBoundingBox() const override;
 
     DLIST<D_PAD>& Pads()                        { return m_Pads; }
     const DLIST<D_PAD>& Pads() const            { return m_Pads; }
@@ -135,8 +135,8 @@ public:
     std::list<S3D_INFO>& Models()             { return m_3D_Drawings; }
     const std::list<S3D_INFO>& Models() const { return m_3D_Drawings; }
 
-    void SetPosition( const wxPoint& aPos );                        // was overload
-    const wxPoint& GetPosition() const          { return m_Pos; }   // was overload
+    void SetPosition( const wxPoint& aPos ) override;
+    const wxPoint& GetPosition() const override { return m_Pos; }
 
     void SetOrientation( double newangle );
     void SetOrientationDegrees( double aOrientation ) { SetOrientation( aOrientation*10.0 ); }
@@ -184,11 +184,11 @@ public:
     void IncrementFlag() { m_arflag += 1; }
     int GetFlag() const { return m_arflag; }
 
-    void Move( const wxPoint& aMoveVector );
+    void Move( const wxPoint& aMoveVector ) override;
 
-    void Rotate( const wxPoint& aRotCentre, double aAngle );
+    void Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
-    void Flip( const wxPoint& aCentre );
+    void Flip( const wxPoint& aCentre ) override;
 
     /**
      * Function MoveAnchorPosition
@@ -216,7 +216,7 @@ public:
 #define MODULE_PADS_LOCKED  0x08        ///< In autoplace: module waiting for autoplace
 
 
-    bool IsLocked() const // override
+    bool IsLocked() const override
     {
         return ( m_ModuleStatus & MODULE_is_LOCKED ) != 0;
     }
@@ -226,7 +226,7 @@ public:
      * sets the MODULE_is_LOCKED bit in the m_ModuleStatus
      * @param isLocked When true means turn on locked status, else unlock
      */
-    void SetLocked( bool isLocked ) // override
+    void SetLocked( bool isLocked ) override
     {
         if( isLocked )
             m_ModuleStatus |= MODULE_is_LOCKED;
@@ -279,7 +279,7 @@ public:
     void Draw( EDA_DRAW_PANEL* aPanel,
                wxDC*           aDC,
                GR_DRAWMODE     aDrawMode,
-               const wxPoint&  aOffset = ZeroOffset );
+               const wxPoint&  aOffset = ZeroOffset ) override;
 
     /**
      * Function DrawOutlinesWhenMoving
@@ -391,14 +391,14 @@ public:
                     const wxPoint& offset, int dim_ancre, GR_DRAWMODE draw_mode );
 
     ///> @copydoc EDA_ITEM::GetMsgPanelInfo
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    bool HitTest( const wxPoint& aPosition ) const;
+    bool HitTest( const wxPoint& aPosition ) const override;
 
     /** @copydoc BOARD_ITEM::HitTest(const EDA_RECT& aRect,
      *                               bool aContained = true, int aAccuracy ) const
      */
-    bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const;
+    bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const override;
 
     /**
      * Function GetReference
@@ -538,16 +538,16 @@ public:
 
     SEARCH_RESULT Visit( INSPECTOR inspector,  void* testData, const KICAD_T scanTypes[] ) override;
 
-    wxString GetClass() const
+    wxString GetClass() const override
     {
         return wxT( "MODULE" );
     }
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
-    BITMAP_DEF GetMenuImage() const { return  module_xpm; }
+    BITMAP_DEF GetMenuImage() const override { return  module_xpm; }
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
     /**
      * Function RunOnChildren
@@ -558,16 +558,16 @@ public:
     void RunOnChildren( std::function<void (BOARD_ITEM*)> aFunction );
 
     /// @copydoc VIEW_ITEM::ViewUpdate()
-    void ViewUpdate( int aUpdateFlags = KIGFX::VIEW_ITEM::ALL );
+    void ViewUpdate( int aUpdateFlags = KIGFX::VIEW_ITEM::ALL ) override;
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLOD()
-    virtual unsigned int ViewGetLOD( int aLayer ) const;
+    virtual unsigned int ViewGetLOD( int aLayer ) const override;
 
     /// @copydoc VIEW_ITEM::ViewBBox()
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
     /**
      * Function CopyNetlistSettings
@@ -639,7 +639,7 @@ public:
     const wxArrayString* GetInitialComments() const { return m_initial_comments; }
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }    // override
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
 private:
diff --git a/pcbnew/class_netinfo.h b/pcbnew/class_netinfo.h
index 8470eea..3e30c08 100644
--- a/pcbnew/class_netinfo.h
+++ b/pcbnew/class_netinfo.h
@@ -169,22 +169,22 @@ public:
         return aItem && PCB_T == aItem->Type();
     }
 
-    wxString GetClass() const
+    wxString GetClass() const override
     {
         return wxT( "NETINFO_ITEM" );
     }
 
-    void Show( int nestLevel, std::ostream& os ) const
+    void Show( int nestLevel, std::ostream& os ) const override
     {
     }
 
-    const wxPoint& GetPosition() const
+    const wxPoint& GetPosition() const override
     {
         static wxPoint dummy(0, 0);
         return dummy;
     }
 
-    void SetPosition( const wxPoint& aPos )
+    void SetPosition( const wxPoint& aPos ) override
     {
     }
 
@@ -301,7 +301,7 @@ public:
      *       a pads or net name on pad and vias
      */
     void Draw( EDA_DRAW_PANEL* panel, wxDC* DC, GR_DRAWMODE aDrawMode,
-               const wxPoint& offset );
+               const wxPoint& offset ) override;
 
     /**
      * Function GetNet
@@ -330,7 +330,7 @@ public:
      *
      * @param aList is the list in which to place the  status information.
      */
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     /**
      * Function Clear
diff --git a/pcbnew/class_pad.h b/pcbnew/class_pad.h
index 0c277b9..63798d6 100644
--- a/pcbnew/class_pad.h
+++ b/pcbnew/class_pad.h
@@ -154,8 +154,8 @@ public:
     PAD_SHAPE_T GetShape() const                { return m_padShape; }
     void SetShape( PAD_SHAPE_T aShape )         { m_padShape = aShape; m_boundingRadius = -1; }
 
-    void SetPosition( const wxPoint& aPos )     { m_Pos = aPos; }   // was overload
-    const wxPoint& GetPosition() const          { return m_Pos; }   // was overload
+    void SetPosition( const wxPoint& aPos ) override { m_Pos = aPos; }
+    const wxPoint& GetPosition() const override { return m_Pos; }
 
     void SetY( int y )                          { m_Pos.y = y; }
     void SetX( int x )                          { m_Pos.x = x; }
@@ -179,7 +179,7 @@ public:
     const wxPoint& GetOffset() const            { return m_Offset; }
 
 
-    void Flip( const wxPoint& aCentre );        // Virtual function
+    void Flip( const wxPoint& aCentre ) override;
 
 
     /**
@@ -220,7 +220,7 @@ public:
     void GetOblongDrillGeometry( wxPoint& aStartPoint, wxPoint& aEndPoint, int& aWidth ) const;
 
     void SetLayerSet( LSET aLayerMask )         { m_layerMask = aLayerMask; }
-    LSET GetLayerSet() const                    { return m_layerMask; }
+    LSET GetLayerSet() const override           { return m_layerMask; }
 
     void SetAttribute( PAD_ATTR_T aAttribute );
     PAD_ATTR_T GetAttribute() const             { return m_Attribute; }
@@ -267,7 +267,7 @@ public:
      * @param aItem is another BOARD_CONNECTED_ITEM or NULL
      * @return int - the clearance in internal units.
      */
-    int GetClearance( BOARD_CONNECTED_ITEM* aItem = NULL ) const;
+    int GetClearance( BOARD_CONNECTED_ITEM* aItem = NULL ) const override;
 
    // Mask margins handling:
 
@@ -305,7 +305,7 @@ public:
 
     /* drawing functions */
     void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
-               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset );
+               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset ) override;
 
     /**
      * Function DrawShape
@@ -462,22 +462,22 @@ public:
     int GetSubRatsnest() const                  { return m_SubRatsnest; }
     void SetSubRatsnest( int aSubRatsnest )     { m_SubRatsnest = aSubRatsnest; }
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    bool IsOnLayer( LAYER_ID aLayer ) const
+    bool IsOnLayer( LAYER_ID aLayer ) const override
     {
         return m_layerMask[aLayer];
     }
 
-    bool HitTest( const wxPoint& aPosition ) const;
+    bool HitTest( const wxPoint& aPosition ) const override;
 
-    wxString GetClass() const
+    wxString GetClass() const override
     {
         return wxT( "PAD" );
     }
 
     // Virtual function:
-    const EDA_RECT GetBoundingBox() const;
+    const EDA_RECT GetBoundingBox() const override;
 
     ///> Set absolute coordinates.
     void SetDrawCoord();
@@ -492,17 +492,17 @@ public:
      */
     static int Compare( const D_PAD* padref, const D_PAD* padcmp );
 
-    void Move( const wxPoint& aMoveVector )
+    void Move( const wxPoint& aMoveVector ) override
     {
         m_Pos += aMoveVector;
         SetLocalCoord();
     }
 
-    void Rotate( const wxPoint& aRotCentre, double aAngle );
+    void Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
-    BITMAP_DEF GetMenuImage() const { return pad_xpm; }
+    BITMAP_DEF GetMenuImage() const override { return pad_xpm; }
 
     /**
      * Function ShowPadShape
@@ -524,7 +524,7 @@ public:
      */
     void AppendConfigs( PARAM_CFG_ARRAY* aResult );
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
     /**
      * same as Clone, but returns a D_PAD item.
@@ -537,13 +537,13 @@ public:
     }
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLOD()
-    virtual unsigned int ViewGetLOD( int aLayer ) const;
+    virtual unsigned int ViewGetLOD( int aLayer ) const override;
 
     /// @copydoc VIEW_ITEM::ViewBBox()
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
     /**
      * Function CopyNetlistSettings
@@ -563,7 +563,7 @@ public:
     void CopyNetlistSettings( D_PAD* aPad, bool aCopyLocalSettings );
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }    // override
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
 
diff --git a/pcbnew/class_pcb_layer_box_selector.h b/pcbnew/class_pcb_layer_box_selector.h
index 196c891..fbcd30a 100644
--- a/pcbnew/class_pcb_layer_box_selector.h
+++ b/pcbnew/class_pcb_layer_box_selector.h
@@ -76,7 +76,7 @@ public:
 
     // Reload the Layers names and bitmaps
     // Virtual function
-    void Resync();
+    void Resync() override;
 
     // Allow (or not) the layers not activated for the current board to be shown
     // in layer selector. Not actavated layers are flagged
@@ -89,15 +89,15 @@ public:
 private:
     // Returns a color index from the layer id
     // Virtual function
-    EDA_COLOR_T GetLayerColor( LAYER_NUM aLayer ) const;
+    EDA_COLOR_T GetLayerColor( LAYER_NUM aLayer ) const override;
 
     // Returns true if the layer id is enabled (i.e. is it should be displayed)
     // Virtual function
-    bool IsLayerEnabled( LAYER_NUM aLayer ) const;
+    bool IsLayerEnabled( LAYER_NUM aLayer ) const override;
 
     // Returns the name of the layer id
     // Virtual function
-    wxString GetLayerName( LAYER_NUM aLayer ) const;
+    wxString GetLayerName( LAYER_NUM aLayer ) const override;
 
     LSET getEnabledLayers() const;
 };
diff --git a/pcbnew/class_pcb_layer_widget.h b/pcbnew/class_pcb_layer_widget.h
index 7908d80..26c4a0d 100644
--- a/pcbnew/class_pcb_layer_widget.h
+++ b/pcbnew/class_pcb_layer_widget.h
@@ -88,11 +88,11 @@ public:
     void SetLayersManagerTabsText();
 
     //-----<implement LAYER_WIDGET abstract callback functions>-----------
-    void OnLayerColorChange( int aLayer, EDA_COLOR_T aColor );
-    bool OnLayerSelect( int aLayer );
-    void OnLayerVisible( int aLayer, bool isVisible, bool isFinal );
-    void OnRenderColorChange( int aId, EDA_COLOR_T aColor );
-    void OnRenderEnable( int aId, bool isEnabled );
+    void OnLayerColorChange( int aLayer, EDA_COLOR_T aColor ) override;
+    bool OnLayerSelect( int aLayer ) override;
+    void OnLayerVisible( int aLayer, bool isVisible, bool isFinal ) override;
+    void OnRenderColorChange( int aId, EDA_COLOR_T aColor ) override;
+    void OnRenderEnable( int aId, bool isEnabled ) override;
     //-----</implement LAYER_WIDGET abstract callback functions>----------
 
     /**
diff --git a/pcbnew/class_pcb_text.h b/pcbnew/class_pcb_text.h
index d1120e7..ff5009f 100644
--- a/pcbnew/class_pcb_text.h
+++ b/pcbnew/class_pcb_text.h
@@ -55,31 +55,31 @@ public:
         return aItem && PCB_TEXT_T == aItem->Type();
     }
 
-    virtual const wxPoint& GetPosition() const
+    virtual const wxPoint& GetPosition() const override
     {
         return m_Pos;
     }
 
-    virtual void SetPosition( const wxPoint& aPos )
+    virtual void SetPosition( const wxPoint& aPos ) override
     {
         m_Pos = aPos;
     }
 
-    void Move( const wxPoint& aMoveVector )
+    void Move( const wxPoint& aMoveVector ) override
     {
         m_Pos += aMoveVector;
     }
 
-    void Rotate( const wxPoint& aRotCentre, double aAngle );
+    void Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
-    void Flip( const wxPoint& aCentre );
+    void Flip( const wxPoint& aCentre ) override;
 
     void Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
-               GR_DRAWMODE aDrawMode, const wxPoint& offset = ZeroOffset );
+               GR_DRAWMODE aDrawMode, const wxPoint& offset = ZeroOffset ) override;
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    bool HitTest( const wxPoint& aPosition ) const
+    bool HitTest( const wxPoint& aPosition ) const override
     {
         return TextHitTest( aPosition );
     }
@@ -87,12 +87,12 @@ public:
     /** @copydoc BOARD_ITEM::HitTest(const EDA_RECT& aRect,
      *                               bool aContained = true, int aAccuracy ) const
      */
-    bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const
+    bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const override
     {
         return TextHitTest( aRect, aContained, aAccuracy );
     }
 
-    wxString GetClass() const
+    wxString GetClass() const override
     {
         return wxT( "PTEXT" );
     }
@@ -129,17 +129,17 @@ public:
                                                int                aCircleToSegmentsCount,
                                                double             aCorrectionFactor ) const;
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
-    BITMAP_DEF GetMenuImage() const { return  add_text_xpm; }
+    BITMAP_DEF GetMenuImage() const override { return  add_text_xpm; }
 
     // Virtual function
-    const EDA_RECT GetBoundingBox() const;
+    const EDA_RECT GetBoundingBox() const override;
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }    // override
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 };
 
diff --git a/pcbnew/class_text_mod.h b/pcbnew/class_text_mod.h
index 79edd49..42b3503 100644
--- a/pcbnew/class_text_mod.h
+++ b/pcbnew/class_text_mod.h
@@ -74,12 +74,12 @@ public:
         return aItem && PCB_MODULE_TEXT_T == aItem->Type();
     }
 
-    virtual const wxPoint& GetPosition() const
+    virtual const wxPoint& GetPosition() const override
     {
         return m_Pos;
     }
 
-    virtual void SetPosition( const wxPoint& aPos )
+    virtual void SetPosition( const wxPoint& aPos ) override
     {
         m_Pos = aPos;
         SetLocalCoord();
@@ -87,10 +87,10 @@ public:
 
     /// Rotate text, in footprint editor
     /// (for instance in footprint rotation transform)
-    void Rotate( const wxPoint& aOffset, double aAngle );
+    void Rotate( const wxPoint& aOffset, double aAngle ) override;
 
     /// Flip entity during module flip
-    void Flip( const wxPoint& aCentre );
+    void Flip( const wxPoint& aCentre ) override;
 
     /// Mirror text position in footprint edition
     /// the text itself is not mirrored, and the layer not modified,
@@ -99,7 +99,7 @@ public:
     void Mirror( const wxPoint& aCentre, bool aMirrorAroundXAxis );
 
     /// move text in move transform, in footprint editor
-    void Move( const wxPoint& aMoveVector );
+    void Move( const wxPoint& aMoveVector ) override;
 
     /// @deprecated it seems (but the type is used to 'protect'
     //  reference and value from deletion, and for identification)
@@ -123,7 +123,7 @@ public:
     double GetDrawRotationRadians() const { return GetDrawRotation() * M_PI/1800; }
 
     // Virtual function
-    const EDA_RECT GetBoundingBox() const;
+    const EDA_RECT GetBoundingBox() const override;
 
     ///> Set absolute coordinates.
     void SetDrawCoord();
@@ -144,7 +144,7 @@ public:
     void Draw( EDA_DRAW_PANEL* aPanel,
                wxDC*           aDC,
                GR_DRAWMODE     aDrawMode,
-               const wxPoint&  aOffset = ZeroOffset );
+               const wxPoint&  aOffset = ZeroOffset ) override;
 
     /**
      * Function DrawUmbilical
@@ -160,34 +160,34 @@ public:
                         GR_DRAWMODE     aDrawMode,
                         const wxPoint&  aOffset = ZeroOffset );
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    bool HitTest( const wxPoint& aPosition ) const;
+    bool HitTest( const wxPoint& aPosition ) const override;
 
-    wxString GetClass() const
+    wxString GetClass() const override
     {
         return wxT( "MTEXT" );
     }
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
-    BITMAP_DEF GetMenuImage() const { return  footprint_text_xpm; }
+    BITMAP_DEF GetMenuImage() const override { return  footprint_text_xpm; }
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
-    virtual wxString GetShownText() const;
+    virtual wxString GetShownText() const override;
 
     /// @copydoc VIEW_ITEM::ViewBBox()
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLOD()
-    virtual unsigned int ViewGetLOD( int aLayer ) const;
+    virtual unsigned int ViewGetLOD( int aLayer ) const override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }    // override
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
 private:
diff --git a/pcbnew/class_track.h b/pcbnew/class_track.h
index 7316ecb..e1f782d 100644
--- a/pcbnew/class_track.h
+++ b/pcbnew/class_track.h
@@ -97,18 +97,18 @@ public:
     TRACK* Next() const { return static_cast<TRACK*>( Pnext ); }
     TRACK* Back() const { return static_cast<TRACK*>( Pback ); }
 
-    virtual void Move( const wxPoint& aMoveVector )
+    virtual void Move( const wxPoint& aMoveVector ) override
     {
         m_Start += aMoveVector;
         m_End   += aMoveVector;
     }
 
-    virtual void Rotate( const wxPoint& aRotCentre, double aAngle );
+    virtual void Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
-    virtual void Flip( const wxPoint& aCentre );
+    virtual void Flip( const wxPoint& aCentre ) override;
 
-    void SetPosition( const wxPoint& aPos )     { m_Start = aPos; }     // was overload
-    const wxPoint& GetPosition() const          { return m_Start; }     // was overload
+    void SetPosition( const wxPoint& aPos ) override { m_Start = aPos; }
+    const wxPoint& GetPosition() const override { return m_Start; }
 
     void SetWidth( int aWidth )                 { m_Width = aWidth; }
     int GetWidth() const                        { return m_Width; }
@@ -130,14 +130,14 @@ public:
     }
 
     // Virtual function
-    const EDA_RECT GetBoundingBox() const;
+    const EDA_RECT GetBoundingBox() const override;
 
-    bool IsLocked() const // override
+    bool IsLocked() const override
     {
         return GetState( TRACK_LOCKED );
     }
 
-    void SetLocked( bool aLocked ) // override
+    void SetLocked( bool aLocked ) override
     {
         return SetState( TRACK_LOCKED, aLocked );
     }
@@ -174,7 +174,7 @@ public:
 
     /* Display on screen: */
     void Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
-               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset );
+               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset ) override;
 
     /**
      * Function TransformShapeWithClearanceToPolygon
@@ -207,7 +207,7 @@ public:
      */
     bool IsNull();
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     /**
      * Function ShowWidth
@@ -217,12 +217,12 @@ public:
 
     SEARCH_RESULT Visit( INSPECTOR inspector, void* testData, const KICAD_T scanTypes[] ) override;
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
     /** @copydoc BOARD_ITEM::HitTest(const EDA_RECT& aRect,
      *                               bool aContained = true, int aAccuracy ) const
      */
-    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const;
+    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const override;
 
     /**
      * Function GetVia
@@ -276,7 +276,7 @@ public:
      */
     int GetEndSegments( int NbSegm, TRACK** StartTrack, TRACK** EndTrack );
 
-    wxString GetClass() const
+    wxString GetClass() const override
     {
         return wxT( "TRACK" );
     }
@@ -290,22 +290,22 @@ public:
      * @param aItem is another BOARD_CONNECTED_ITEM or NULL
      * @return int - the clearance in internal units.
      */
-    virtual int GetClearance( BOARD_CONNECTED_ITEM* aItem = NULL ) const;
+    virtual int GetClearance( BOARD_CONNECTED_ITEM* aItem = NULL ) const override;
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  showtrack_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  showtrack_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLOD()
-    virtual unsigned int ViewGetLOD( int aLayer ) const;
+    virtual unsigned int ViewGetLOD( int aLayer ) const override;
 
 #if defined (DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }    // override
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 
     /**
      * Function ShowState
@@ -353,7 +353,7 @@ public:
 
     // Do not create a copy constructor.  The one generated by the compiler is adequate.
 
-    wxString GetClass() const
+    wxString GetClass() const override
     {
         return wxT( "ZONE" );
     }
@@ -361,17 +361,17 @@ public:
 
     SEGZONE* Next() const { return static_cast<SEGZONE*>( Pnext ); }
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
     void Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
-               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset );
+               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset ) override;
 
-    BITMAP_DEF GetMenuImage() const { return  add_zone_xpm; }
+    BITMAP_DEF GetMenuImage() const override { return  add_zone_xpm; }
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
 protected:
-    virtual void GetMsgPanelInfoBase( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfoBase( std::vector< MSG_PANEL_ITEM >& aList ) override;
 };
 
 
@@ -388,11 +388,11 @@ public:
     // Do not create a copy constructor.  The one generated by the compiler is adequate.
 
     void Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
-               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset );
+               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset ) override;
 
-    bool IsOnLayer( LAYER_ID aLayer ) const;
+    bool IsOnLayer( LAYER_ID aLayer ) const override;
 
-    virtual LSET GetLayerSet() const;
+    virtual LSET GetLayerSet() const override;
 
     /**
      * Function SetLayerPair
@@ -412,31 +412,31 @@ public:
      */
     void LayerPair( LAYER_ID* top_layer, LAYER_ID* bottom_layer ) const;
 
-    const wxPoint& GetPosition() const  {  return m_Start; }       // was overload
-    void SetPosition( const wxPoint& aPoint ) { m_Start = aPoint;  m_End = aPoint; }    // was overload
+    const wxPoint& GetPosition() const override {  return m_Start; }
+    void SetPosition( const wxPoint& aPoint ) override { m_Start = aPoint;  m_End = aPoint; }
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
-    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const;
+    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const override;
 
-    wxString GetClass() const
+    wxString GetClass() const override
     {
         return wxT( "VIA" );
     }
 
-    wxString GetSelectMenuText() const;
+    wxString GetSelectMenuText() const override;
 
-    BITMAP_DEF GetMenuImage() const { return  via_sketch_xpm; }
+    BITMAP_DEF GetMenuImage() const override { return  via_sketch_xpm; }
 
-    EDA_ITEM* Clone() const;
+    EDA_ITEM* Clone() const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
-    virtual void Flip( const wxPoint& aCentre );
+    virtual void Flip( const wxPoint& aCentre ) override;
 
 #if defined (DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }    // override
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
     VIATYPE_T GetViaType() const          { return m_ViaType; }
@@ -477,7 +477,7 @@ public:
     bool IsDrillDefault() const { return m_Drill <= 0; }
 
 protected:
-    virtual void GetMsgPanelInfoBase( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfoBase( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
 private:
     /// The bottom layer of the via (the top layer is in m_Layer)
diff --git a/pcbnew/class_zone.h b/pcbnew/class_zone.h
index 76c5ae8..ab488a1 100644
--- a/pcbnew/class_zone.h
+++ b/pcbnew/class_zone.h
@@ -90,8 +90,8 @@ public:
      * Function GetPosition
      * @return a wxPoint, position of the first point of the outline
      */
-    const wxPoint& GetPosition() const;             // was overload
-    void SetPosition( const wxPoint& aPos )     {}  // was overload
+    const wxPoint& GetPosition() const override;
+    void SetPosition( const wxPoint& aPos ) override {}
 
     /**
      * Function SetPriority
@@ -105,7 +105,7 @@ public:
      */
     unsigned GetPriority() const { return m_priority; }
 
-    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     /**
      * Function Draw
@@ -118,7 +118,7 @@ public:
     void Draw( EDA_DRAW_PANEL* panel,
                wxDC*           DC,
                GR_DRAWMODE     aDrawMode,
-               const wxPoint&  offset = ZeroOffset );
+               const wxPoint&  offset = ZeroOffset ) override;
 
     /**
      * Function DrawDrawFilledArea
@@ -148,9 +148,9 @@ public:
     /** Function GetBoundingBox (virtual)
      * @return an EDA_RECT that is the bounding box of the zone outline
      */
-    const EDA_RECT GetBoundingBox() const;
+    const EDA_RECT GetBoundingBox() const override;
 
-    int GetClearance( BOARD_CONNECTED_ITEM* aItem = NULL ) const;
+    int GetClearance( BOARD_CONNECTED_ITEM* aItem = NULL ) const override;
 
     /**
      * Function TestForCopperIslandAndRemoveInsulatedIslands
@@ -220,7 +220,7 @@ public:
      * @param aPosition the wxPoint to test
      * @return bool - true if a hit, else false
      */
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
     /**
      * Function HitTest
@@ -333,7 +333,7 @@ public:
     /** @copydoc BOARD_ITEM::HitTest(const EDA_RECT& aRect,
      *                               bool aContained = true, int aAccuracy ) const
      */
-    bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const;
+    bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const override;
 
     /**
      * Function FillZoneAreasWithSegments
@@ -360,7 +360,7 @@ public:
      * Move the outlines
      * @param offset = moving vector
      */
-    void Move( const wxPoint& offset );
+    void Move( const wxPoint& offset ) override;
 
     /**
      * Function MoveEdge
@@ -376,7 +376,7 @@ public:
      * @param centre = rot centre
      * @param angle = in 0.1 degree
      */
-    void Rotate( const wxPoint& centre, double angle );
+    void Rotate( const wxPoint& centre, double angle ) override;
 
     /**
      * Function Flip
@@ -384,7 +384,7 @@ public:
      * (like Mirror() but changes layer)
      * @param aCentre - the rotation point.
      */
-    virtual void Flip( const wxPoint& aCentre );
+    virtual void Flip( const wxPoint& aCentre ) override;
 
     /**
      * Function Mirror
@@ -399,7 +399,7 @@ public:
      * returns the class name.
      * @return wxString
      */
-    wxString GetClass() const
+    wxString GetClass() const override
     {
         return wxT( "ZONE_CONTAINER" );
     }
@@ -515,11 +515,11 @@ public:
         m_FillSegmList.insert( m_FillSegmList.end(), aSegments.begin(), aSegments.end() );
     }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_zone_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_zone_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
     /**
      * Accessors to parameters used in Keepout zones:
@@ -535,7 +535,7 @@ public:
     void SetDoNotAllowTracks( bool aEnable ) { m_doNotAllowTracks = aEnable; }
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }    // override
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
 
diff --git a/pcbnew/collectors.h b/pcbnew/collectors.h
index 8822558..d3fdb73 100644
--- a/pcbnew/collectors.h
+++ b/pcbnew/collectors.h
@@ -445,7 +445,7 @@ public:
      * Function IsLayerLocked
      * @return bool - true if the given layer is locked, else false.
      */
-    bool IsLayerLocked( LAYER_ID aLayerId ) const
+    bool IsLayerLocked( LAYER_ID aLayerId ) const override
     {
         return m_LayerLocked[aLayerId];
     }
@@ -459,7 +459,7 @@ public:
      * Function IsLayerVisible
      * @return bool - true if the given layer is visible, else false.
      */
-    bool IsLayerVisible( LAYER_ID aLayerId ) const
+    bool IsLayerVisible( LAYER_ID aLayerId ) const override
     {
         return m_LayerVisible[aLayerId];
     }
@@ -473,7 +473,7 @@ public:
      * Function IgnoreLockedLayers
      * @return bool - true if should ignore locked layers, else false.
      */
-    bool IgnoreLockedLayers() const                 { return m_IgnoreLockedLayers; }
+    bool IgnoreLockedLayers() const override        { return m_IgnoreLockedLayers; }
     void SetIgnoreLockedLayers( bool ignore )       { m_IgnoreLockedLayers = ignore; }
 
 
@@ -481,7 +481,7 @@ public:
      * Function IgnoredNonVisibleLayers
      * @return bool - true if should ignore non-visible layers, else false.
      */
-    bool IgnoreNonVisibleLayers() const             { return m_IgnoreNonVisibleLayers; }
+    bool IgnoreNonVisibleLayers() const override    { return m_IgnoreNonVisibleLayers; }
     void SetIgnoreNonVisibleLayers( bool ignore )   { m_IgnoreLockedLayers = ignore; }
 
 
@@ -489,7 +489,7 @@ public:
      * Function GetPreferredLayer
      * @return int - the preferred layer for HitTest()ing.
      */
-    LAYER_ID GetPreferredLayer() const             { return m_PreferredLayer; }
+    LAYER_ID GetPreferredLayer() const override    { return m_PreferredLayer; }
     void SetPreferredLayer( LAYER_ID aLayer )      { m_PreferredLayer = aLayer; }
 
 
@@ -498,7 +498,7 @@ public:
      * provides wildcard behavior regarding the preferred layer.
      * @return bool - true if should ignore preferred layer, else false.
      */
-    bool IgnorePreferredLayer() const               { return  m_IgnorePreferredLayer; }
+    bool IgnorePreferredLayer() const override      { return  m_IgnorePreferredLayer; }
     void SetIgnorePreferredLayer( bool ignore )     { m_IgnorePreferredLayer = ignore; }
 
 
@@ -506,7 +506,7 @@ public:
      * Function IgnoreLockedItems
      * @return bool - true if should ignore locked items, else false.
      */
-    bool IgnoreLockedItems() const                  { return m_IgnoreLockedItems; }
+    bool IgnoreLockedItems() const override         { return m_IgnoreLockedItems; }
     void SetIgnoreLockedItems( bool ignore )        { m_IgnoreLockedItems = ignore; }
 
 
@@ -516,7 +516,7 @@ public:
      * included.
      * @return bool - true if should include, else false.
      */
-    bool IncludeSecondary() const  { return m_IncludeSecondary; }
+    bool IncludeSecondary() const override { return m_IncludeSecondary; }
     void SetIncludeSecondary( bool include ) { m_IncludeSecondary = include; }
 
 
@@ -524,63 +524,63 @@ public:
      * Function IgnoreMTextsMarkedNoShow
      * @return bool - true if MTexts marked as "no show" should be ignored.
      */
-    bool IgnoreMTextsMarkedNoShow() const { return m_IgnoreMTextsMarkedNoShow; }
+    bool IgnoreMTextsMarkedNoShow() const override { return m_IgnoreMTextsMarkedNoShow; }
     void SetIgnoreMTextsMarkedNoShow( bool ignore ) { m_IgnoreMTextsMarkedNoShow = ignore; }
 
     /**
      * Function IgnoreMTextsOnCu
      * @return bool - true if should ignore MTexts on back layers
      */
-    bool IgnoreMTextsOnBack() const { return m_IgnoreMTextsOnBack; }
+    bool IgnoreMTextsOnBack() const override { return m_IgnoreMTextsOnBack; }
     void SetIgnoreMTextsOnBack( bool ignore ) { m_IgnoreMTextsOnBack = ignore; }
 
     /**
      * Function IgnoreMTextsOnFront
      * @return bool - true if should ignore MTexts on front layers
      */
-    bool IgnoreMTextsOnFront() const { return m_IgnoreMTextsOnFront; }
+    bool IgnoreMTextsOnFront() const override { return m_IgnoreMTextsOnFront; }
     void SetIgnoreMTextsOnFront( bool ignore ) { m_IgnoreMTextsOnFront = ignore; }
 
     /**
      * Function IgnoreModulesOnBack
      * @return bool - true if should ignore MODULEs on the back side
      */
-    bool IgnoreModulesOnBack() const { return m_IgnoreModulesOnBack; }
+    bool IgnoreModulesOnBack() const override { return m_IgnoreModulesOnBack; }
     void SetIgnoreModulesOnBack( bool ignore ) { m_IgnoreModulesOnBack = ignore; }
 
     /**
      * Function IgnoreModulesOnFront
      * @return bool - true if should ignore MODULEs on component layer.
      */
-    bool IgnoreModulesOnFront() const { return m_IgnoreModulesOnFront; }
+    bool IgnoreModulesOnFront() const override { return m_IgnoreModulesOnFront; }
     void SetIgnoreModulesOnFront( bool ignore ) { m_IgnoreModulesOnFront = ignore; }
 
     /**
      * Function IgnorePadsOnBack
      * @return bool - true if should ignore Pads on Back Side.
      */
-    bool IgnorePadsOnBack() const { return m_IgnorePadsOnBack; }
+    bool IgnorePadsOnBack() const override { return m_IgnorePadsOnBack; }
     void SetIgnorePadsOnBack(bool ignore) { m_IgnorePadsOnBack = ignore; }
 
     /**
      * Function IgnorePadsOnFront
      * @return bool - true if should ignore PADSs on Front Side.
      */
-    bool IgnorePadsOnFront() const { return m_IgnorePadsOnFront; }
+    bool IgnorePadsOnFront() const override { return m_IgnorePadsOnFront; }
     void SetIgnorePadsOnFront(bool ignore) { m_IgnorePadsOnFront = ignore; }
 
     /**
      * Function IgnoreModulesVals
      * @return bool - true if should ignore modules values.
      */
-    bool IgnoreModulesVals() const { return m_IgnoreModulesVals; }
+    bool IgnoreModulesVals() const override { return m_IgnoreModulesVals; }
     void SetIgnoreModulesVals(bool ignore) { m_IgnoreModulesVals = ignore; }
 
     /**
      * Function IgnoreModulesRefs
      * @return bool - true if should ignore modules references.
      */
-    bool IgnoreModulesRefs() const { return m_IgnoreModulesRefs; }
+    bool IgnoreModulesRefs() const override { return m_IgnoreModulesRefs; }
     void SetIgnoreModulesRefs(bool ignore) { m_IgnoreModulesRefs = ignore; }
 };
 
diff --git a/pcbnew/dialogs/dialog_SVG_print.cpp b/pcbnew/dialogs/dialog_SVG_print.cpp
index d9d68a5..f33c2f6 100644
--- a/pcbnew/dialogs/dialog_SVG_print.cpp
+++ b/pcbnew/dialogs/dialog_SVG_print.cpp
@@ -70,12 +70,12 @@ private:
 
     void initDialog();
 
-    void OnCloseWindow( wxCloseEvent& event );
-    void OnButtonPlot( wxCommandEvent& event );
+    void OnCloseWindow( wxCloseEvent& event ) override;
+    void OnButtonPlot( wxCommandEvent& event ) override;
 
-    void OnButtonCloseClick( wxCommandEvent& event );
+    void OnButtonCloseClick( wxCommandEvent& event ) override;
 
-    void OnOutputDirectoryBrowseClicked( wxCommandEvent& event );
+    void OnOutputDirectoryBrowseClicked( wxCommandEvent& event ) override;
     void SetPenWidth();
     void ExportSVGFile( bool aOnlyOneFile );
 
diff --git a/pcbnew/dialogs/dialog_copper_zones.cpp b/pcbnew/dialogs/dialog_copper_zones.cpp
index d746bfe..2f34a51 100644
--- a/pcbnew/dialogs/dialog_copper_zones.cpp
+++ b/pcbnew/dialogs/dialog_copper_zones.cpp
@@ -83,10 +83,10 @@ private:
      */
     void initDialog();
 
-    void OnButtonOkClick( wxCommandEvent& event );
-    void OnButtonCancelClick( wxCommandEvent& event );
-    void OnClose( wxCloseEvent& event );
-    void OnCornerSmoothingModeChoice( wxCommandEvent& event );
+    void OnButtonOkClick( wxCommandEvent& event ) override;
+    void OnButtonCancelClick( wxCommandEvent& event ) override;
+    void OnClose( wxCloseEvent& event ) override;
+    void OnCornerSmoothingModeChoice( wxCommandEvent& event ) override;
 
     /**
      * Function AcceptOptions
@@ -96,10 +96,10 @@ private:
      */
     bool AcceptOptions( bool aPromptForErrors, bool aUseExportableSetupOnly = false );
 
-    void OnNetSortingOptionSelected( wxCommandEvent& event );
-    void ExportSetupToOtherCopperZones( wxCommandEvent& event );
-    void OnPadsInZoneClick( wxCommandEvent& event );
-    void OnRunFiltersButtonClick( wxCommandEvent& event );
+    void OnNetSortingOptionSelected( wxCommandEvent& event ) override;
+    void ExportSetupToOtherCopperZones( wxCommandEvent& event ) override;
+    void OnPadsInZoneClick( wxCommandEvent& event ) override;
+    void OnRunFiltersButtonClick( wxCommandEvent& event ) override;
 
     void buildAvailableListOfNets();
 
diff --git a/pcbnew/dialogs/dialog_create_array.h b/pcbnew/dialogs/dialog_create_array.h
index 4ff2449..c79a2d0 100644
--- a/pcbnew/dialogs/dialog_create_array.h
+++ b/pcbnew/dialogs/dialog_create_array.h
@@ -344,8 +344,8 @@ private:
     const wxPoint m_originalItemPosition;
 
     // Event callbacks
-    void    OnParameterChanged( wxCommandEvent& event );
-    void    OnOkClick( wxCommandEvent& event );
+    void    OnParameterChanged( wxCommandEvent& event ) override;
+    void    OnOkClick( wxCommandEvent& event ) override;
 
     // Internal callback handlers
     void setControlEnablement();
diff --git a/pcbnew/dialogs/dialog_design_rules.h b/pcbnew/dialogs/dialog_design_rules.h
index 1006d2f..31efcec 100644
--- a/pcbnew/dialogs/dialog_design_rules.h
+++ b/pcbnew/dialogs/dialog_design_rules.h
@@ -86,42 +86,42 @@ private:
 private:
     void OnNetClassesNameLeftClick( wxGridEvent& event ){ event.Skip(); }
     void OnNetClassesNameRightClick( wxGridEvent& event ){ event.Skip(); }
-    void OnAddNetclassClick( wxCommandEvent& event );
-    void OnRemoveNetclassClick( wxCommandEvent& event );
+    void OnAddNetclassClick( wxCommandEvent& event ) override;
+    void OnRemoveNetclassClick( wxCommandEvent& event ) override;
 
     /*
      * Called on "Move Up" button click
      * the selected(s) rules are moved up
      * The default netclass is always the first rule
      */
-    void OnMoveUpSelectedNetClass( wxCommandEvent& event );
+    void OnMoveUpSelectedNetClass( wxCommandEvent& event ) override;
 
     /*
      * Called on the left Choice Box selection
      */
-    void OnLeftCBSelection( wxCommandEvent& event );
+    void OnLeftCBSelection( wxCommandEvent& event ) override;
 
     /*
      * Called on the Right Choice Box selection
      */
-    void OnRightCBSelection( wxCommandEvent& event );
+    void OnRightCBSelection( wxCommandEvent& event ) override;
 
-    void OnRightToLeftCopyButton( wxCommandEvent& event );
-    void OnLeftToRightCopyButton( wxCommandEvent& event );
+    void OnRightToLeftCopyButton( wxCommandEvent& event ) override;
+    void OnLeftToRightCopyButton( wxCommandEvent& event ) override;
 
-    void OnNotebookPageChanged( wxNotebookEvent& event );
+    void OnNotebookPageChanged( wxNotebookEvent& event ) override;
 
     /*
      * Called on clicking the left "select all" button:
      * select all items of the left netname list list box
      */
-    void OnLeftSelectAllButton( wxCommandEvent& event );
+    void OnLeftSelectAllButton( wxCommandEvent& event ) override;
 
     /*
      * Called on clicking the right "select all" button:
      * select all items of the right netname list list box
      */
-    void OnRightSelectAllButton( wxCommandEvent& event );
+    void OnRightSelectAllButton( wxCommandEvent& event ) override;
 
     /*
      * Function TestDataValidity
@@ -185,7 +185,7 @@ public:
     DIALOG_DESIGN_RULES( PCB_EDIT_FRAME* parent );
     ~DIALOG_DESIGN_RULES( ) { }
 
-    virtual bool TransferDataFromWindow();
+    virtual bool TransferDataFromWindow() override;
 };
 
 #endif //__dialog_design_rules_h_
diff --git a/pcbnew/dialogs/dialog_design_rules_aux_helper_class.h b/pcbnew/dialogs/dialog_design_rules_aux_helper_class.h
index bc8af25..ec6c4ee 100644
--- a/pcbnew/dialogs/dialog_design_rules_aux_helper_class.h
+++ b/pcbnew/dialogs/dialog_design_rules_aux_helper_class.h
@@ -58,7 +58,7 @@ public:
      * Function OnGetItemText
      * is an overloaded method needed by wxListCtrl with wxLC_VIRTUAL options
      */
-    virtual wxString OnGetItemText( long item, long column ) const;
+    virtual wxString OnGetItemText( long item, long column ) const override;
 
     /**
      * Function SetRowItems
diff --git a/pcbnew/dialogs/dialog_display_options.h b/pcbnew/dialogs/dialog_display_options.h
index 6590a67..108e718 100644
--- a/pcbnew/dialogs/dialog_display_options.h
+++ b/pcbnew/dialogs/dialog_display_options.h
@@ -37,7 +37,7 @@ private:
 public:
    DIALOG_DISPLAY_OPTIONS( PCB_EDIT_FRAME* parent );
    ~DIALOG_DISPLAY_OPTIONS( ) { };
-   void OnOkClick( wxCommandEvent& event );
-   void OnCancelClick( wxCommandEvent& event );
+   void OnOkClick( wxCommandEvent& event ) override;
+   void OnCancelClick( wxCommandEvent& event ) override;
 };
 
diff --git a/pcbnew/dialogs/dialog_drc.h b/pcbnew/dialogs/dialog_drc.h
index 156badc..61d4c7a 100644
--- a/pcbnew/dialogs/dialog_drc.h
+++ b/pcbnew/dialogs/dialog_drc.h
@@ -96,48 +96,48 @@ private:
     void SetDrcParmeters( );
 
     /// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_CHECKBOX
-    void OnReportCheckBoxClicked( wxCommandEvent& event );
+    void OnReportCheckBoxClicked( wxCommandEvent& event ) override;
 
     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON_BROWSE_RPT_FILE
-    void OnButtonBrowseRptFileClick( wxCommandEvent& event );
+    void OnButtonBrowseRptFileClick( wxCommandEvent& event ) override;
 
     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_STARTDRC
-    void OnStartdrcClick( wxCommandEvent& event );
+    void OnStartdrcClick( wxCommandEvent& event ) override;
 
     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_LIST_UNCONNECTED
-    void OnListUnconnectedClick( wxCommandEvent& event );
+    void OnListUnconnectedClick( wxCommandEvent& event ) override;
 
     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_DELETE_ALL
-    void OnDeleteAllClick( wxCommandEvent& event );
+    void OnDeleteAllClick( wxCommandEvent& event ) override;
 
     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_DELETE_ONE
-    void OnDeleteOneClick( wxCommandEvent& event );
+    void OnDeleteOneClick( wxCommandEvent& event ) override;
 
     /// wxEVT_LEFT_DCLICK event handler for ID_CLEARANCE_LIST
-    void OnLeftDClickClearance( wxMouseEvent& event );
+    void OnLeftDClickClearance( wxMouseEvent& event ) override;
 
     /// wxEVT_RIGHT_UP event handler for ID_CLEARANCE_LIST
-    void OnRightUpClearance( wxMouseEvent& event );
+    void OnRightUpClearance( wxMouseEvent& event ) override;
 
     /// wxEVT_LEFT_DCLICK event handler for ID_UNCONNECTED_LIST
-    void OnLeftDClickUnconnected( wxMouseEvent& event );
+    void OnLeftDClickUnconnected( wxMouseEvent& event ) override;
 
     /// wxEVT_RIGHT_UP event handler for ID_UNCONNECTED_LIST
-    void OnRightUpUnconnected( wxMouseEvent& event );
+    void OnRightUpUnconnected( wxMouseEvent& event ) override;
 
     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL
-    void OnCancelClick( wxCommandEvent& event );
+    void OnCancelClick( wxCommandEvent& event ) override;
 
     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
-    void OnOkClick( wxCommandEvent& event );
+    void OnOkClick( wxCommandEvent& event ) override;
 
     /// handler for activate event, updating data which can be modified outside the dialog
     /// (DRC parameters)
-    void OnActivateDlg( wxActivateEvent& event );
+    void OnActivateDlg( wxActivateEvent& event ) override;
 
-    void OnMarkerSelectionEvent( wxCommandEvent& event );
-    void OnUnconnectedSelectionEvent( wxCommandEvent& event );
-    void OnChangingMarkerList( wxNotebookEvent& event );
+    void OnMarkerSelectionEvent( wxCommandEvent& event ) override;
+    void OnUnconnectedSelectionEvent( wxCommandEvent& event ) override;
+    void OnChangingMarkerList( wxNotebookEvent& event ) override;
 
     void DelDRCMarkers();
     void RedrawDrawPanel();
diff --git a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.h b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.h
index de03ccd..039ae36 100644
--- a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.h
+++ b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.h
@@ -72,23 +72,23 @@ private:
     void Edit3DShapeFileName();
 
     // virtual event functions
-    void OnEditValue( wxCommandEvent& event );
-    void OnEditReference( wxCommandEvent& event );
+    void OnEditValue( wxCommandEvent& event ) override;
+    void OnEditReference( wxCommandEvent& event ) override;
     void On3DShapeSelection( wxCommandEvent& event );
-    void On3DShapeNameSelected( wxCommandEvent& event );
+    void On3DShapeNameSelected( wxCommandEvent& event ) override;
     void Edit3DShapeFilename( wxCommandEvent& event )
     {
         Edit3DShapeFileName();
     }
-    void Remove3DShape( wxCommandEvent& event );
+    void Remove3DShape( wxCommandEvent& event ) override;
     void Add3DShape( wxCommandEvent& event )
     {
         BrowseAndAdd3DShapeFile();
     }
-    void GotoModuleEditor( wxCommandEvent& event );
-    void ExchangeModule( wxCommandEvent& event );
-    void ModuleOrientEvent( wxCommandEvent& event );
-    void Cfg3DPath( wxCommandEvent& event );
+    void GotoModuleEditor( wxCommandEvent& event ) override;
+    void ExchangeModule( wxCommandEvent& event ) override;
+    void ModuleOrientEvent( wxCommandEvent& event ) override;
+    void Cfg3DPath( wxCommandEvent& event ) override;
 
     void OnInitDlg( wxInitDialogEvent& event )
     {
@@ -99,8 +99,8 @@ private:
         FinishDialogSettings();
     }
 
-    bool TransferDataToWindow();
-    bool TransferDataFromWindow();
+    bool TransferDataToWindow() override;
+    bool TransferDataFromWindow() override;
 
     /**
      * @brief OnCloseWindow - called when the frame is closed
diff --git a/pcbnew/dialogs/dialog_edit_module_for_Modedit.h b/pcbnew/dialogs/dialog_edit_module_for_Modedit.h
index 846eaa0..f40162e 100644
--- a/pcbnew/dialogs/dialog_edit_module_for_Modedit.h
+++ b/pcbnew/dialogs/dialog_edit_module_for_Modedit.h
@@ -58,22 +58,22 @@ private:
     void Edit3DShapeFileName();
 
     // virtual event functions
-    void OnEditValue( wxCommandEvent& event );
-    void OnEditReference( wxCommandEvent& event );
+    void OnEditValue( wxCommandEvent& event ) override;
+    void OnEditReference( wxCommandEvent& event ) override;
     void On3DShapeSelection( wxCommandEvent& event );
-    void On3DShapeNameSelected( wxCommandEvent& event );
+    void On3DShapeNameSelected( wxCommandEvent& event ) override;
     void Add3DShape( wxCommandEvent& event )
     {
         BrowseAndAdd3DShapeFile();
     }
-    void Remove3DShape( wxCommandEvent& event );
+    void Remove3DShape( wxCommandEvent& event ) override;
     void Edit3DShapeFilename( wxCommandEvent& event )
     {
         Edit3DShapeFileName();
     }
-    void OnCancelClick( wxCommandEvent& event );
-    void OnOkClick( wxCommandEvent& event );
-    void Cfg3DPath( wxCommandEvent& event );
+    void OnCancelClick( wxCommandEvent& event ) override;
+    void OnOkClick( wxCommandEvent& event ) override;
+    void Cfg3DPath( wxCommandEvent& event ) override;
 
     void OnInitDlg( wxInitDialogEvent& event )
     {
diff --git a/pcbnew/dialogs/dialog_edit_module_text.h b/pcbnew/dialogs/dialog_edit_module_text.h
index a619a99..340fe75 100644
--- a/pcbnew/dialogs/dialog_edit_module_text.h
+++ b/pcbnew/dialogs/dialog_edit_module_text.h
@@ -49,11 +49,11 @@ public:
     ~DialogEditModuleText() {};
 
 protected:
-    bool TransferDataToWindow();
-    bool TransferDataFromWindow();
+    bool TransferDataToWindow() override;
+    bool TransferDataFromWindow() override;
 
 private:
-    void ModuleOrientEvent( wxCommandEvent& event );
+    void ModuleOrientEvent( wxCommandEvent& event ) override;
 
     void OnInitDlg( wxInitDialogEvent& event )
     {
diff --git a/pcbnew/dialogs/dialog_find.h b/pcbnew/dialogs/dialog_find.h
index d374c41..31194fc 100644
--- a/pcbnew/dialogs/dialog_find.h
+++ b/pcbnew/dialogs/dialog_find.h
@@ -48,10 +48,10 @@ private:
     // Function called when an item is found
     boost::function<void (BOARD_ITEM*)> callback;
 
-    void onButtonFindItemClick( wxCommandEvent& event );
-    void onButtonFindMarkerClick( wxCommandEvent& event );
-    void onButtonCloseClick( wxCommandEvent& event );
-    void onClose( wxCloseEvent& event );
+    void onButtonFindItemClick( wxCommandEvent& event ) override;
+    void onButtonFindMarkerClick( wxCommandEvent& event ) override;
+    void onButtonCloseClick( wxCommandEvent& event ) override;
+    void onClose( wxCloseEvent& event ) override;
 };
 
 #endif /* DIALOG_FIND_BASE_H */
diff --git a/pcbnew/dialogs/dialog_footprint_wizard_list.h b/pcbnew/dialogs/dialog_footprint_wizard_list.h
index ad11c4b..6911b0c 100644
--- a/pcbnew/dialogs/dialog_footprint_wizard_list.h
+++ b/pcbnew/dialogs/dialog_footprint_wizard_list.h
@@ -41,7 +41,7 @@ public:
     FOOTPRINT_WIZARD* GetWizard();
 
 private:
-    void OnCellFpGeneratorClick( wxGridEvent& event );
+    void OnCellFpGeneratorClick( wxGridEvent& event ) override;
 };
 
 #endif  // _DIALOG_FOOTPRINT_WIZARD_LIST_H_
diff --git a/pcbnew/dialogs/dialog_fp_lib_table.cpp b/pcbnew/dialogs/dialog_fp_lib_table.cpp
index cb9aae4..9c76b99 100644
--- a/pcbnew/dialogs/dialog_fp_lib_table.cpp
+++ b/pcbnew/dialogs/dialog_fp_lib_table.cpp
@@ -665,7 +665,7 @@ private:
         }
     }
 
-    void OnClickLibraryWizard( wxCommandEvent& event );
+    void OnClickLibraryWizard( wxCommandEvent& event ) override;
 
     void onCancelButtonClick( wxCommandEvent& event )
     {
diff --git a/pcbnew/dialogs/dialog_freeroute_exchange.h b/pcbnew/dialogs/dialog_freeroute_exchange.h
index 1484a6f..7749a49 100644
--- a/pcbnew/dialogs/dialog_freeroute_exchange.h
+++ b/pcbnew/dialogs/dialog_freeroute_exchange.h
@@ -35,10 +35,10 @@ private:
 
 private:
     // Virtual event handlers
-    void OnExportButtonClick( wxCommandEvent& event );
-    void OnLaunchButtonClick( wxCommandEvent& event );
-    void OnImportButtonClick( wxCommandEvent& event );
-    void OnHelpButtonClick( wxCommandEvent& event );
+    void OnExportButtonClick( wxCommandEvent& event ) override;
+    void OnLaunchButtonClick( wxCommandEvent& event ) override;
+    void OnImportButtonClick( wxCommandEvent& event ) override;
+    void OnHelpButtonClick( wxCommandEvent& event ) override;
 
     void MyInit ( );
     const wxString createDSN_File();
diff --git a/pcbnew/dialogs/dialog_gendrill.h b/pcbnew/dialogs/dialog_gendrill.h
index 85a7087..1e9471b 100644
--- a/pcbnew/dialogs/dialog_gendrill.h
+++ b/pcbnew/dialogs/dialog_gendrill.h
@@ -68,20 +68,20 @@ private:
     void            InitDisplayParams( void );
 
     // event functions
-    void            OnSelDrillUnitsSelected( wxCommandEvent& event );
-    void            OnSelZerosFmtSelected( wxCommandEvent& event );
-    void            OnGenDrillFile( wxCommandEvent& event );
-    void            OnGenMapFile( wxCommandEvent& event );
+    void            OnSelDrillUnitsSelected( wxCommandEvent& event ) override;
+    void            OnSelZerosFmtSelected( wxCommandEvent& event ) override;
+    void            OnGenDrillFile( wxCommandEvent& event ) override;
+    void            OnGenMapFile( wxCommandEvent& event ) override;
 
     /*
      *  Create a plain text report file giving a list of drill values and drill count
      *  for through holes, oblong holes, and for buried vias,
      *  drill values and drill count per layer pair
      */
-    void            OnGenReportFile( wxCommandEvent& event );
+    void            OnGenReportFile( wxCommandEvent& event ) override;
 
-    void            OnCancelClick( wxCommandEvent& event );
-    void            OnOutputDirectoryBrowseClicked( wxCommandEvent& event );
+    void            OnCancelClick( wxCommandEvent& event ) override;
+    void            OnOutputDirectoryBrowseClicked( wxCommandEvent& event ) override;
 
     // Specific functions:
     void            SetParams( void );
diff --git a/pcbnew/dialogs/dialog_general_options.h b/pcbnew/dialogs/dialog_general_options.h
index 7d72404..ab29149 100644
--- a/pcbnew/dialogs/dialog_general_options.h
+++ b/pcbnew/dialogs/dialog_general_options.h
@@ -37,8 +37,8 @@ private:
 public:
     DIALOG_GENERALOPTIONS( PCB_EDIT_FRAME* parent );
     ~DIALOG_GENERALOPTIONS() {};
-    void OnOkClick( wxCommandEvent& event );
-    void OnCancelClick( wxCommandEvent& event );
+    void OnOkClick( wxCommandEvent& event ) override;
+    void OnCancelClick( wxCommandEvent& event ) override;
 
     PCB_EDIT_FRAME* GetParent() const { return (PCB_EDIT_FRAME*) wxDialog::GetParent(); }
 };
diff --git a/pcbnew/dialogs/dialog_global_deletion.h b/pcbnew/dialogs/dialog_global_deletion.h
index e38b495..87f2ecb 100644
--- a/pcbnew/dialogs/dialog_global_deletion.h
+++ b/pcbnew/dialogs/dialog_global_deletion.h
@@ -48,8 +48,8 @@ private:
     }
 
     void AcceptPcbDelete();
-    void OnCheckDeleteTracks( wxCommandEvent& event );
-    void OnCheckDeleteModules( wxCommandEvent& event );
+    void OnCheckDeleteTracks( wxCommandEvent& event ) override;
+    void OnCheckDeleteModules( wxCommandEvent& event ) override;
 };
 
 #endif  // _DIALOG_GLOBAL_DELETION_H_
diff --git a/pcbnew/dialogs/dialog_global_edit_tracks_and_vias.h b/pcbnew/dialogs/dialog_global_edit_tracks_and_vias.h
index 6114239..532fd1f 100644
--- a/pcbnew/dialogs/dialog_global_edit_tracks_and_vias.h
+++ b/pcbnew/dialogs/dialog_global_edit_tracks_and_vias.h
@@ -44,8 +44,8 @@ public:
 
     // Virtual event handlers, overided here
     void OnSelectionClick( wxCommandEvent& event ){ m_OptionID = event.GetId(); }
-    void OnOkClick( wxCommandEvent& event );
-    void OnCancelClick( wxCommandEvent& event );
+    void OnOkClick( wxCommandEvent& event ) override;
+    void OnCancelClick( wxCommandEvent& event ) override;
     void MyInit();
 };
 
diff --git a/pcbnew/dialogs/dialog_global_modules_fields_edition.cpp b/pcbnew/dialogs/dialog_global_modules_fields_edition.cpp
index 25fdc92..afa084b 100644
--- a/pcbnew/dialogs/dialog_global_modules_fields_edition.cpp
+++ b/pcbnew/dialogs/dialog_global_modules_fields_edition.cpp
@@ -72,7 +72,7 @@ private:
     void initDialog();
 
     // event handlers
-    void OnOKClick( wxCommandEvent& event );
+    void OnOKClick( wxCommandEvent& event ) override;
     void OnCancelClick( wxCommandEvent& event )
     {
         EndModal( wxID_CANCEL );
diff --git a/pcbnew/dialogs/dialog_graphic_item_properties.cpp b/pcbnew/dialogs/dialog_graphic_item_properties.cpp
index 7790d36..e156493 100644
--- a/pcbnew/dialogs/dialog_graphic_item_properties.cpp
+++ b/pcbnew/dialogs/dialog_graphic_item_properties.cpp
@@ -70,8 +70,8 @@ public:
     ~DIALOG_GRAPHIC_ITEM_PROPERTIES() {};
 
 private:
-    bool TransferDataToWindow();
-    bool TransferDataFromWindow();
+    bool TransferDataToWindow() override;
+    bool TransferDataFromWindow() override;
     void OnLayerChoice( wxCommandEvent& event );
 
     void OnInitDlg( wxInitDialogEvent& event )
@@ -83,7 +83,7 @@ private:
         FinishDialogSettings();
     }
 
-    bool Validate();
+    bool Validate() override;
 };
 
 DIALOG_GRAPHIC_ITEM_PROPERTIES::DIALOG_GRAPHIC_ITEM_PROPERTIES( PCB_EDIT_FRAME* aParent,
diff --git a/pcbnew/dialogs/dialog_graphic_item_properties_for_Modedit.cpp b/pcbnew/dialogs/dialog_graphic_item_properties_for_Modedit.cpp
index 81c1f99..da5a89d 100644
--- a/pcbnew/dialogs/dialog_graphic_item_properties_for_Modedit.cpp
+++ b/pcbnew/dialogs/dialog_graphic_item_properties_for_Modedit.cpp
@@ -70,10 +70,10 @@ public:
     ~DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES() {};
 
 private:
-    bool TransferDataToWindow();
-    bool TransferDataFromWindow();
+    bool TransferDataToWindow() override;
+    bool TransferDataFromWindow() override;
     void OnLayerChoice( wxCommandEvent& event );
-    bool Validate();
+    bool Validate() override;
 };
 
 DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES::DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES(
diff --git a/pcbnew/dialogs/dialog_graphic_items_options.h b/pcbnew/dialogs/dialog_graphic_items_options.h
index 1c607f9..b29c590 100644
--- a/pcbnew/dialogs/dialog_graphic_items_options.h
+++ b/pcbnew/dialogs/dialog_graphic_items_options.h
@@ -47,8 +47,8 @@ public:
 
 private:
     void initValues( );
-    void OnOkClick( wxCommandEvent& event );
-    void OnCancelClick( wxCommandEvent& event );
+    void OnOkClick( wxCommandEvent& event ) override;
+    void OnCancelClick( wxCommandEvent& event ) override;
 
     void OnInitDlg( wxInitDialogEvent& event )
     {
diff --git a/pcbnew/dialogs/dialog_layers_setup.cpp b/pcbnew/dialogs/dialog_layers_setup.cpp
index 96585a3..0b4d546 100644
--- a/pcbnew/dialogs/dialog_layers_setup.cpp
+++ b/pcbnew/dialogs/dialog_layers_setup.cpp
@@ -164,12 +164,12 @@ private:
     int getLayerTypeIndex( LAYER_NUM layer );
 
 
-    void OnCancelButtonClick( wxCommandEvent& event );
-    void OnOkButtonClick( wxCommandEvent& event );
-    void OnCheckBox( wxCommandEvent& event );
-    void DenyChangeCheckBox( wxCommandEvent& event );
-    void OnPresetsChoice( wxCommandEvent& event );
-    void OnCopperLayersChoice( wxCommandEvent& event );
+    void OnCancelButtonClick( wxCommandEvent& event ) override;
+    void OnOkButtonClick( wxCommandEvent& event ) override;
+    void OnCheckBox( wxCommandEvent& event ) override;
+    void DenyChangeCheckBox( wxCommandEvent& event ) override;
+    void OnPresetsChoice( wxCommandEvent& event ) override;
+    void OnCopperLayersChoice( wxCommandEvent& event ) override;
 
     bool testLayerNames();
 
@@ -214,7 +214,7 @@ private:
         m_typeStaticText->Move( offset + (widths[2] - txtz.x)/2, 5 );
     }
 
-    void OnSize( wxSizeEvent& event );
+    void OnSize( wxSizeEvent& event ) override;
 };
 
 
diff --git a/pcbnew/dialogs/dialog_mask_clearance.h b/pcbnew/dialogs/dialog_mask_clearance.h
index 764ea1a..f8478f9 100644
--- a/pcbnew/dialogs/dialog_mask_clearance.h
+++ b/pcbnew/dialogs/dialog_mask_clearance.h
@@ -43,8 +43,8 @@ public:
     ~DIALOG_PADS_MASK_CLEARANCE() {};
 private:
     void         myInit();
-    virtual void OnButtonOkClick( wxCommandEvent& event );
-    virtual void OnButtonCancelClick( wxCommandEvent& event );
+    virtual void OnButtonOkClick( wxCommandEvent& event ) override;
+    virtual void OnButtonCancelClick( wxCommandEvent& event ) override;
 };
 
 #endif    // _DIALOG_MASK_CLEARANCE_H_
diff --git a/pcbnew/dialogs/dialog_modedit_options.cpp b/pcbnew/dialogs/dialog_modedit_options.cpp
index fdf41eb..5e39370 100644
--- a/pcbnew/dialogs/dialog_modedit_options.cpp
+++ b/pcbnew/dialogs/dialog_modedit_options.cpp
@@ -45,7 +45,7 @@ public:
 
 private:
     void OnCancelClick( wxCommandEvent& event ) { EndModal( wxID_CANCEL ); }
-    void OnOkClick( wxCommandEvent& event );
+    void OnOkClick( wxCommandEvent& event ) override;
 
     void initValues( );
 };
diff --git a/pcbnew/dialogs/dialog_move_exact.h b/pcbnew/dialogs/dialog_move_exact.h
index ffd5bc5..eea605b 100644
--- a/pcbnew/dialogs/dialog_move_exact.h
+++ b/pcbnew/dialogs/dialog_move_exact.h
@@ -47,12 +47,12 @@ private:
     /*!
      * Reset a text field to be 0 if it was exited while blank
      */
-    void OnTextFocusLost( wxFocusEvent& event );
+    void OnTextFocusLost( wxFocusEvent& event ) override;
 
-    void OnPolarChanged( wxCommandEvent& event );
-    void OnClear( wxCommandEvent& event );
+    void OnPolarChanged( wxCommandEvent& event ) override;
+    void OnClear( wxCommandEvent& event ) override;
 
-    void OnOkClick( wxCommandEvent& event );
+    void OnOkClick( wxCommandEvent& event ) override;
 
     /**
      * Convert a given Cartesian point into a polar representation.
diff --git a/pcbnew/dialogs/dialog_netlist.h b/pcbnew/dialogs/dialog_netlist.h
index 958a7e0..85c26fd 100644
--- a/pcbnew/dialogs/dialog_netlist.h
+++ b/pcbnew/dialogs/dialog_netlist.h
@@ -78,19 +78,19 @@ private:
     void loadFootprints( NETLIST& aNetlist );
 
     // Virtual event handlers:
-    void OnOpenNetlistClick( wxCommandEvent& event );
-    void OnReadNetlistFileClick( wxCommandEvent& event );
-    void OnTestFootprintsClick( wxCommandEvent& event );
-    void OnCompileRatsnestClick( wxCommandEvent& event );
-    void OnCancelClick( wxCommandEvent& event );
-    void OnSaveMessagesToFile( wxCommandEvent& aEvent );
+    void OnOpenNetlistClick( wxCommandEvent& event ) override;
+    void OnReadNetlistFileClick( wxCommandEvent& event ) override;
+    void OnTestFootprintsClick( wxCommandEvent& event ) override;
+    void OnCompileRatsnestClick( wxCommandEvent& event ) override;
+    void OnCancelClick( wxCommandEvent& event ) override;
+    void OnSaveMessagesToFile( wxCommandEvent& aEvent ) override;
     void OnClickSilentMode( wxCommandEvent& event )
     {
         m_silentMode = m_checkBoxSilentMode->GetValue();
     }
 
-    void OnUpdateUISaveMessagesToFile( wxUpdateUIEvent& aEvent );
-    void OnUpdateUIValidNetlistFile( wxUpdateUIEvent& aEvent );
+    void OnUpdateUISaveMessagesToFile( wxUpdateUIEvent& aEvent ) override;
+    void OnUpdateUIValidNetlistFile( wxUpdateUIEvent& aEvent ) override;
 };
 
 
diff --git a/pcbnew/dialogs/dialog_non_copper_zones_properties.cpp b/pcbnew/dialogs/dialog_non_copper_zones_properties.cpp
index 124eb28..552dd73 100644
--- a/pcbnew/dialogs/dialog_non_copper_zones_properties.cpp
+++ b/pcbnew/dialogs/dialog_non_copper_zones_properties.cpp
@@ -59,8 +59,8 @@ private:
     ZONE_SETTINGS*  m_ptr;
     ZONE_SETTINGS   m_settings;     // working copy of zone settings
 
-    void OnOkClick( wxCommandEvent& event );
-    void OnCancelClick( wxCommandEvent& event );
+    void OnOkClick( wxCommandEvent& event ) override;
+    void OnCancelClick( wxCommandEvent& event ) override;
     void Init();
 
 public:
diff --git a/pcbnew/dialogs/dialog_pad_properties.h b/pcbnew/dialogs/dialog_pad_properties.h
index 634caa8..09541c8 100644
--- a/pcbnew/dialogs/dialog_pad_properties.h
+++ b/pcbnew/dialogs/dialog_pad_properties.h
@@ -103,26 +103,26 @@ private:
     // event handlers:
     void OnResize( wxSizeEvent& event );
 
-    void OnPadShapeSelection( wxCommandEvent& event );
-    void OnDrillShapeSelected( wxCommandEvent& event );
+    void OnPadShapeSelection( wxCommandEvent& event ) override;
+    void OnDrillShapeSelected( wxCommandEvent& event ) override;
 
-    void PadOrientEvent( wxCommandEvent& event );
-    void PadTypeSelected( wxCommandEvent& event );
+    void PadOrientEvent( wxCommandEvent& event ) override;
+    void PadTypeSelected( wxCommandEvent& event ) override;
 
-    void OnSetLayers( wxCommandEvent& event );
-    void OnPaintShowPanel( wxPaintEvent& event );
+    void OnSetLayers( wxCommandEvent& event ) override;
+    void OnPaintShowPanel( wxPaintEvent& event ) override;
 
     // Called when corner setup value is changed for rounded rect pads
-    void onCornerSizePercentChange( wxCommandEvent& event );
+    void onCornerSizePercentChange( wxCommandEvent& event ) override;
 
     /// Called when a dimension has changed.
     /// Update the graphical pad shown in the panel.
-    void OnValuesChanged( wxCommandEvent& event );
+    void OnValuesChanged( wxCommandEvent& event ) override;
 
     /// Updates the different parameters for the component being edited.
     /// Automatically fired from the OK button click.
-    bool TransferDataFromWindow();
-    bool TransferDataToWindow();
+    bool TransferDataFromWindow() override;
+    bool TransferDataToWindow() override;
 };
 
 #endif      // #ifndef _DIALOG_PAD_PROPERTIES_H_
diff --git a/pcbnew/dialogs/dialog_pcb_text_properties.cpp b/pcbnew/dialogs/dialog_pcb_text_properties.cpp
index 32f19d2..ae1bc63 100644
--- a/pcbnew/dialogs/dialog_pcb_text_properties.cpp
+++ b/pcbnew/dialogs/dialog_pcb_text_properties.cpp
@@ -63,8 +63,8 @@ private:
     wxFloatingPointValidator<double>    m_OrientValidator;
     double              m_OrientValue;
 
-    bool TransferDataToWindow();
-    bool TransferDataFromWindow();
+    bool TransferDataToWindow() override;
+    bool TransferDataFromWindow() override;
 
     // Virtual event handler
     virtual void OnInitDlg( wxInitDialogEvent& event )
diff --git a/pcbnew/dialogs/dialog_plot.h b/pcbnew/dialogs/dialog_plot.h
index 52d47a0..c4e152a 100644
--- a/pcbnew/dialogs/dialog_plot.h
+++ b/pcbnew/dialogs/dialog_plot.h
@@ -59,15 +59,15 @@ private:
 
     // Event called functions
     void        Init_Dialog();
-    void        Plot( wxCommandEvent& event );
-    void        OnQuit( wxCommandEvent& event );
-    void        OnClose( wxCloseEvent& event );
-    void        OnOutputDirectoryBrowseClicked( wxCommandEvent& event );
-    void        OnRightClick( wxMouseEvent& event );
-    void        OnPopUpLayers( wxCommandEvent& event );
-    void        SetPlotFormat( wxCommandEvent& event );
-    void        OnSetScaleOpt( wxCommandEvent& event );
-    void        CreateDrillFile( wxCommandEvent& event );
+    void        Plot( wxCommandEvent& event ) override;
+    void        OnQuit( wxCommandEvent& event ) override;
+    void        OnClose( wxCloseEvent& event ) override;
+    void        OnOutputDirectoryBrowseClicked( wxCommandEvent& event ) override;
+    void        OnRightClick( wxMouseEvent& event ) override;
+    void        OnPopUpLayers( wxCommandEvent& event ) override;
+    void        SetPlotFormat( wxCommandEvent& event ) override;
+    void        OnSetScaleOpt( wxCommandEvent& event ) override;
+    void        CreateDrillFile( wxCommandEvent& event ) override;
 	virtual void onRunDRC( wxCommandEvent& event ) override;
 
     // orther functions
diff --git a/pcbnew/dialogs/dialog_pns_diff_pair_dimensions.h b/pcbnew/dialogs/dialog_pns_diff_pair_dimensions.h
index 1ec8ea4..6b37086 100644
--- a/pcbnew/dialogs/dialog_pns_diff_pair_dimensions.h
+++ b/pcbnew/dialogs/dialog_pns_diff_pair_dimensions.h
@@ -44,8 +44,8 @@ public:
 private:
     void updateCheckbox();
 
-    virtual void OnOkClick( wxCommandEvent& aEvent );
-    virtual void OnViaTraceGapEqualCheck( wxCommandEvent& event );
+    virtual void OnOkClick( wxCommandEvent& aEvent ) override;
+    virtual void OnViaTraceGapEqualCheck( wxCommandEvent& event ) override;
 
     WX_UNIT_BINDER m_traceWidth;
     WX_UNIT_BINDER m_traceGap;
diff --git a/pcbnew/dialogs/dialog_pns_length_tuning_settings.h b/pcbnew/dialogs/dialog_pns_length_tuning_settings.h
index 19e7647..636cd01 100644
--- a/pcbnew/dialogs/dialog_pns_length_tuning_settings.h
+++ b/pcbnew/dialogs/dialog_pns_length_tuning_settings.h
@@ -43,7 +43,7 @@ class DIALOG_PNS_LENGTH_TUNING_SETTINGS : public DIALOG_PNS_LENGTH_TUNING_SETTIN
 public:
     DIALOG_PNS_LENGTH_TUNING_SETTINGS( wxWindow* aParent, PNS::MEANDER_SETTINGS& aSettings, PNS::ROUTER_MODE aMode );
 
-    virtual void OnOkClick( wxCommandEvent& aEvent );
+    virtual void OnOkClick( wxCommandEvent& aEvent ) override;
 
 private:
     WX_UNIT_BINDER m_minAmpl;
diff --git a/pcbnew/dialogs/dialog_pns_settings.h b/pcbnew/dialogs/dialog_pns_settings.h
index 09e40f1..d9fca5b 100644
--- a/pcbnew/dialogs/dialog_pns_settings.h
+++ b/pcbnew/dialogs/dialog_pns_settings.h
@@ -40,7 +40,7 @@ class DIALOG_PNS_SETTINGS : public DIALOG_PNS_SETTINGS_BASE
         DIALOG_PNS_SETTINGS( wxWindow* aParent, PNS::ROUTING_SETTINGS& aSettings );
 
     private:
-        virtual void OnOkClick( wxCommandEvent& aEvent );
+        virtual void OnOkClick( wxCommandEvent& aEvent ) override;
 
         PNS::ROUTING_SETTINGS& m_settings;
 };
diff --git a/pcbnew/dialogs/dialog_print_for_modedit.cpp b/pcbnew/dialogs/dialog_print_for_modedit.cpp
index d2239b2..6864094 100644
--- a/pcbnew/dialogs/dialog_print_for_modedit.cpp
+++ b/pcbnew/dialogs/dialog_print_for_modedit.cpp
@@ -59,15 +59,15 @@ private:
     PCB_BASE_FRAME* m_parent;
     wxConfigBase*       m_config;
 
-    void OnCloseWindow( wxCloseEvent& event );
+    void OnCloseWindow( wxCloseEvent& event ) override;
 
     /// Open a dialog box for printer setup (printer options, page size ...)
-    void OnPageSetup( wxCommandEvent& event );
+    void OnPageSetup( wxCommandEvent& event ) override;
 
-    void OnPrintPreview( wxCommandEvent& event );
+    void OnPrintPreview( wxCommandEvent& event ) override;
 
     /// Called on activate Print button
-    void OnPrintButtonClick( wxCommandEvent& event );
+    void OnPrintButtonClick( wxCommandEvent& event ) override;
 
     void OnButtonCancelClick( wxCommandEvent& event ) { Close(); }
 
diff --git a/pcbnew/dialogs/dialog_print_using_printer.cpp b/pcbnew/dialogs/dialog_print_using_printer.cpp
index 86bcb00..1b4637f 100644
--- a/pcbnew/dialogs/dialog_print_using_printer.cpp
+++ b/pcbnew/dialogs/dialog_print_using_printer.cpp
@@ -86,11 +86,11 @@ private:
     std::pair<wxCheckListBox*, int> m_boxSelectLayer[LAYER_ID_COUNT];
     static bool     m_ExcludeEdgeLayer;
 
-    void OnCloseWindow( wxCloseEvent& event );
-    void OnPageSetup( wxCommandEvent& event );
-    void OnPrintPreview( wxCommandEvent& event );
-    void OnPrintButtonClick( wxCommandEvent& event );
-    void OnScaleSelectionClick( wxCommandEvent& event );
+    void OnCloseWindow( wxCloseEvent& event ) override;
+    void OnPageSetup( wxCommandEvent& event ) override;
+    void OnPrintPreview( wxCommandEvent& event ) override;
+    void OnPrintButtonClick( wxCommandEvent& event ) override;
+    void OnScaleSelectionClick( wxCommandEvent& event ) override;
 
     void OnButtonCancelClick( wxCommandEvent& event ) { Close(); }
 
diff --git a/pcbnew/dialogs/dialog_select_net_from_list.cpp b/pcbnew/dialogs/dialog_select_net_from_list.cpp
index 9745cfd..01ad563 100644
--- a/pcbnew/dialogs/dialog_select_net_from_list.cpp
+++ b/pcbnew/dialogs/dialog_select_net_from_list.cpp
@@ -61,8 +61,8 @@ public:
     bool GetNetName( wxString& aName );
 
 private:
-    void onCellClick( wxGridEvent& event );
-	void onFilterChange( wxCommandEvent& event );
+    void onCellClick( wxGridEvent& event ) override;
+	void onFilterChange( wxCommandEvent& event ) override;
 
     void buildNetsList();
 };
diff --git a/pcbnew/dialogs/dialog_select_pretty_lib.h b/pcbnew/dialogs/dialog_select_pretty_lib.h
index 0188c19..443287e 100644
--- a/pcbnew/dialogs/dialog_select_pretty_lib.h
+++ b/pcbnew/dialogs/dialog_select_pretty_lib.h
@@ -50,8 +50,8 @@ public:
     const wxString GetFullPrettyLibName();
 
 private:
-    virtual void OnSelectFolder( wxFileDirPickerEvent& event );
-	virtual void OnOKButton( wxCommandEvent& event );
+    virtual void OnSelectFolder( wxFileDirPickerEvent& event ) override;
+	virtual void OnOKButton( wxCommandEvent& event ) override;
 };
 
 
diff --git a/pcbnew/dialogs/dialog_set_grid.cpp b/pcbnew/dialogs/dialog_set_grid.cpp
index ffb5690..df97284 100644
--- a/pcbnew/dialogs/dialog_set_grid.cpp
+++ b/pcbnew/dialogs/dialog_set_grid.cpp
@@ -58,11 +58,11 @@ public:
     /// This has no dependencies on calling wxFrame derivative, such as PCB_BASE_FRAME.
     DIALOG_SET_GRID( PCB_BASE_FRAME* aParent, const wxArrayString& aGridChoices );
 
-    bool TransferDataFromWindow();
-    bool TransferDataToWindow();
+    bool TransferDataFromWindow() override;
+    bool TransferDataToWindow() override;
 
 private:
-    void OnResetGridOrgClick( wxCommandEvent& event );
+    void OnResetGridOrgClick( wxCommandEvent& event ) override;
     void OnInitDlg( wxInitDialogEvent& event )
     {
         // Call the default wxDialog handler of a wxInitDialogEvent
diff --git a/pcbnew/dialogs/dialog_track_via_properties.h b/pcbnew/dialogs/dialog_track_via_properties.h
index 206f08a..9418d84 100644
--- a/pcbnew/dialogs/dialog_track_via_properties.h
+++ b/pcbnew/dialogs/dialog_track_via_properties.h
@@ -41,11 +41,11 @@ public:
     bool Apply( COMMIT& aCommit );
 
 private:
-    void onClose( wxCloseEvent& aEvent );
-    void onTrackNetclassCheck( wxCommandEvent& aEvent );
-    void onViaNetclassCheck( wxCommandEvent& aEvent );
-    void onCancelClick( wxCommandEvent& aEvent );
-    void onOkClick( wxCommandEvent& aEvent );
+    void onClose( wxCloseEvent& aEvent ) override;
+    void onTrackNetclassCheck( wxCommandEvent& aEvent ) override;
+    void onViaNetclassCheck( wxCommandEvent& aEvent ) override;
+    void onCancelClick( wxCommandEvent& aEvent ) override;
+    void onOkClick( wxCommandEvent& aEvent ) override;
 
     void OnInitDlg( wxInitDialogEvent& event )
     {
diff --git a/pcbnew/dialogs/dialog_track_via_size.h b/pcbnew/dialogs/dialog_track_via_size.h
index b84d77f..39120c6 100644
--- a/pcbnew/dialogs/dialog_track_via_size.h
+++ b/pcbnew/dialogs/dialog_track_via_size.h
@@ -50,9 +50,9 @@ protected:
     bool check();
 
     // Handlers for DIALOG_TRACK_VIA_SIZE_BASE events.
-    void onClose( wxCloseEvent& aEvent );
-    void onOkClick( wxCommandEvent& aEvent );
-    void onCancelClick( wxCommandEvent& aEvent );
+    void onClose( wxCloseEvent& aEvent ) override;
+    void onOkClick( wxCommandEvent& aEvent ) override;
+    void onCancelClick( wxCommandEvent& aEvent ) override;
 };
 
 #endif // __dialog_track_via_size__
diff --git a/pcbnew/dialogs/dialog_update_pcb.h b/pcbnew/dialogs/dialog_update_pcb.h
index 88b7151..5b4c181 100644
--- a/pcbnew/dialogs/dialog_update_pcb.h
+++ b/pcbnew/dialogs/dialog_update_pcb.h
@@ -47,9 +47,9 @@ public:
 
 private:
 
-    virtual void OnMatchChange( wxCommandEvent& event );
-    virtual void OnCancelClick( wxCommandEvent& event );
-    virtual void OnUpdateClick( wxCommandEvent& event );
+    virtual void OnMatchChange( wxCommandEvent& event ) override;
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
+    virtual void OnUpdateClick( wxCommandEvent& event ) override;
 
 };
 
diff --git a/pcbnew/dialogs/wizard_3DShape_Libs_downloader.h b/pcbnew/dialogs/wizard_3DShape_Libs_downloader.h
index 8ea13f1..6e5b710 100644
--- a/pcbnew/dialogs/wizard_3DShape_Libs_downloader.h
+++ b/pcbnew/dialogs/wizard_3DShape_Libs_downloader.h
@@ -65,16 +65,16 @@ public:
     // Wizard event handlers
     void OnSourceCheck( wxCommandEvent& aEvent );
     void OnCheckGithubList( wxCommandEvent& aEvent );
-    void OnPageChanged( wxWizardEvent& aEvent );
-    void OnSelectAll3Dlibs( wxCommandEvent& aEvent );
-    void OnUnselectAll3Dlibs( wxCommandEvent& aEvent );
-    void OnChangeSearch( wxCommandEvent& aEvent );
-    void OnWizardFinished( wxWizardEvent& aEvent );
-    void OnBrowseButtonClick( wxCommandEvent& aEvent );
+    void OnPageChanged( wxWizardEvent& aEvent ) override;
+    void OnSelectAll3Dlibs( wxCommandEvent& aEvent ) override;
+    void OnUnselectAll3Dlibs( wxCommandEvent& aEvent ) override;
+    void OnChangeSearch( wxCommandEvent& aEvent ) override;
+    void OnWizardFinished( wxWizardEvent& aEvent ) override;
+    void OnBrowseButtonClick( wxCommandEvent& aEvent ) override;
     void OnCheckSaveCopy( wxCommandEvent& aEvent );
-	void OnDefault3DPathButtonClick( wxCommandEvent& event );
-	void OnGridLibReviewSize( wxSizeEvent& event );
-    void OnLocalFolderChange( wxCommandEvent& event );
+	void OnDefault3DPathButtonClick( wxCommandEvent& event ) override;
+	void OnGridLibReviewSize( wxSizeEvent& event ) override;
+    void OnLocalFolderChange( wxCommandEvent& event ) override;
 
 protected:
     // Initialization of wizard pages
diff --git a/pcbnew/dialogs/wizard_add_fplib.h b/pcbnew/dialogs/wizard_add_fplib.h
index 94ba00b..bc51b09 100644
--- a/pcbnew/dialogs/wizard_add_fplib.h
+++ b/pcbnew/dialogs/wizard_add_fplib.h
@@ -86,13 +86,13 @@ public:
     void OnSourceCheck( wxCommandEvent& aEvent );
     void OnSelectFiles( wxCommandEvent& aEvent );
     void OnCheckGithubList( wxCommandEvent& aEvent );
-    void OnPageChanged( wxWizardEvent& aEvent );
-    void OnSelectAllGH( wxCommandEvent& aEvent );
-    void OnUnselectAllGH( wxCommandEvent& aEvent );
-    void OnChangeSearch( wxCommandEvent& aEvent );
-    void OnWizardFinished( wxWizardEvent& aEvent );
-    void OnBrowseButtonClick( wxCommandEvent& aEvent );
-    void OnCheckSaveCopy( wxCommandEvent& aEvent );
+    void OnPageChanged( wxWizardEvent& aEvent ) override;
+    void OnSelectAllGH( wxCommandEvent& aEvent ) override;
+    void OnUnselectAllGH( wxCommandEvent& aEvent ) override;
+    void OnChangeSearch( wxCommandEvent& aEvent ) override;
+    void OnWizardFinished( wxWizardEvent& aEvent ) override;
+    void OnBrowseButtonClick( wxCommandEvent& aEvent ) override;
+    void OnCheckSaveCopy( wxCommandEvent& aEvent ) override;
 
     class LIBRARY
     {
diff --git a/pcbnew/eagle_plugin.h b/pcbnew/eagle_plugin.h
index d12738f..cf5f5b1 100644
--- a/pcbnew/eagle_plugin.h
+++ b/pcbnew/eagle_plugin.h
@@ -79,13 +79,13 @@ class EAGLE_PLUGIN : public PLUGIN
 public:
 
     //-----<PUBLIC PLUGIN API>--------------------------------------------------
-    const wxString PluginName() const;
+    const wxString PluginName() const override;
 
-    BOARD* Load( const wxString& aFileName, BOARD* aAppendToMe,  const PROPERTIES* aProperties = NULL );
+    BOARD* Load( const wxString& aFileName, BOARD* aAppendToMe,  const PROPERTIES* aProperties = NULL ) override;
 
-    const wxString GetFileExtension() const;
+    const wxString GetFileExtension() const override;
 
-    wxArrayString FootprintEnumerate( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL);
+    wxArrayString FootprintEnumerate( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL) override;
 
     MODULE* FootprintLoad( const wxString& aLibraryPath, const wxString& aFootprintName,
             const PROPERTIES* aProperties = NULL );
@@ -95,7 +95,7 @@ public:
         return false;   // until someone writes others like FootprintSave(), etc.
     }
 
-    void FootprintLibOptions( PROPERTIES* aProperties ) const;
+    void FootprintLibOptions( PROPERTIES* aProperties ) const override;
 
 /*
     void Save( const wxString& aFileName, BOARD* aBoard, const PROPERTIES* aProperties = NULL );
diff --git a/pcbnew/exporters/gen_modules_placefile.cpp b/pcbnew/exporters/gen_modules_placefile.cpp
index bb66f8d..8d2d2ac 100644
--- a/pcbnew/exporters/gen_modules_placefile.cpp
+++ b/pcbnew/exporters/gen_modules_placefile.cpp
@@ -117,8 +117,8 @@ private:
     static int m_fileFormat;
 
 	void initDialog();
-    void OnOutputDirectoryBrowseClicked( wxCommandEvent& event );
-    void OnOKButton( wxCommandEvent& event );
+    void OnOutputDirectoryBrowseClicked( wxCommandEvent& event ) override;
+    void OnOKButton( wxCommandEvent& event ) override;
 
     bool CreateFiles();
 
diff --git a/pcbnew/footprint_wizard_frame.h b/pcbnew/footprint_wizard_frame.h
index 65e6d0d..0c817b1 100644
--- a/pcbnew/footprint_wizard_frame.h
+++ b/pcbnew/footprint_wizard_frame.h
@@ -74,7 +74,7 @@ public:
 
 private:
 
-    void                OnSize( wxSizeEvent& event );
+    void                OnSize( wxSizeEvent& event ) override;
 
     /**
      * Function ExportSelectedFootprint();
@@ -143,15 +143,15 @@ private:
     void                DisplayWizardInfos();
 
 
-    void                RedrawActiveWindow( wxDC* DC, bool EraseBg );
-    void                OnCloseWindow( wxCloseEvent& Event );
-    void                ReCreateHToolbar();
-    void                ReCreateVToolbar();
-    void                OnLeftClick( wxDC* DC, const wxPoint& MousePos );
+    void                RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
+    void                OnCloseWindow( wxCloseEvent& Event ) override;
+    void                ReCreateHToolbar() override;
+    void                ReCreateVToolbar() override;
+    void                OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override;
     void                ClickOnPageList( wxCommandEvent& event );
     void                OnSetRelativeOffset( wxCommandEvent& event );
 
-    bool                GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    bool                GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
 
     void                LoadSettings( wxConfigBase* aCfg ); // override virtual
     void                SaveSettings( wxConfigBase* aCfg ); // override virtual
@@ -164,7 +164,7 @@ private:
      * is called when the frame frame is activate to reload the libraries and component lists
      * that can be changed by the schematic editor or the library editor.
      */
-    virtual void        OnActivate( wxActivateEvent& event );
+    virtual void        OnActivate( wxActivateEvent& event ) override;
 
     void                SelectCurrentWizard( wxCommandEvent& event );
 
@@ -174,13 +174,13 @@ private:
      */
     void                ParametersUpdated( wxGridEvent& event );
 
-    bool                OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
+    bool                OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) override;
 
     /**
      * Function Show3D_Frame (virtual)
      * displays 3D view of the footprint (module) being edited.
      */
-    void                Show3D_Frame( wxCommandEvent& event );
+    void                Show3D_Frame( wxCommandEvent& event ) override;
 
     /**
      * Function Update3D_Frame
diff --git a/pcbnew/github/github_plugin.h b/pcbnew/github/github_plugin.h
index 92f2c13..ad19c32 100644
--- a/pcbnew/github/github_plugin.h
+++ b/pcbnew/github/github_plugin.h
@@ -163,9 +163,9 @@ class GITHUB_PLUGIN : public PCB_IO
 {
 public:
     //-----<PLUGIN API>----------------------------------------------------------
-    const wxString PluginName() const;
+    const wxString PluginName() const override;
 
-    const wxString GetFileExtension() const;
+    const wxString GetFileExtension() const override;
 
     wxArrayString FootprintEnumerate( const wxString& aLibraryPath,
             const PROPERTIES* aProperties = NULL );
@@ -179,17 +179,17 @@ public:
     void FootprintDelete( const wxString& aLibraryPath, const wxString& aFootprintName,
             const PROPERTIES* aProperties = NULL );
 
-    bool IsFootprintLibWritable( const wxString& aLibraryPath );
+    bool IsFootprintLibWritable( const wxString& aLibraryPath ) override;
 
-    void FootprintLibOptions( PROPERTIES* aListToAppendTo ) const;
+    void FootprintLibOptions( PROPERTIES* aListToAppendTo ) const override;
 
     // Since I derive from PCB_IO, I have to implement this, else I'd inherit his, which is bad since
     // my lib_path is not his.  Note: it is impossible to create a Github library, but can the C.O.W. portion.
-    void FootprintLibCreate( const wxString& aLibraryPath, const PROPERTIES* aProperties );
+    void FootprintLibCreate( const wxString& aLibraryPath, const PROPERTIES* aProperties ) override;
 
     // Since I derive from PCB_IO, I have to implement this, else I'd inherit his, which is bad since
     // my lib_path is not his.  Note: it is impossible to delete a Github library, but can the C.O.W portion.
-    bool FootprintLibDelete( const wxString& aLibraryPath, const PROPERTIES* aProperties );
+    bool FootprintLibDelete( const wxString& aLibraryPath, const PROPERTIES* aProperties ) override;
 
     //-----</PLUGIN API>---------------------------------------------------------
 
diff --git a/pcbnew/github/html_link_parser.h b/pcbnew/github/html_link_parser.h
index c18c27e..0abe739 100644
--- a/pcbnew/github/html_link_parser.h
+++ b/pcbnew/github/html_link_parser.h
@@ -65,7 +65,7 @@ public:
         return "A";
     }
 
-    bool HandleTag(const wxHtmlTag& tag);
+    bool HandleTag(const wxHtmlTag& tag) override;
 };
 
 /**
diff --git a/pcbnew/globaleditpad.cpp b/pcbnew/globaleditpad.cpp
index 1640444..8cfc46a 100644
--- a/pcbnew/globaleditpad.cpp
+++ b/pcbnew/globaleditpad.cpp
@@ -59,9 +59,9 @@ public:
     DIALOG_GLOBAL_PADS_EDITION( PCB_BASE_FRAME* aParent, D_PAD* aPad );
 
 private:
-    void InstallPadEditor( wxCommandEvent& event );
-    void PadPropertiesAccept( wxCommandEvent& event );
-    void OnCancelClick( wxCommandEvent& event );
+    void InstallPadEditor( wxCommandEvent& event ) override;
+    void PadPropertiesAccept( wxCommandEvent& event ) override;
+    void OnCancelClick( wxCommandEvent& event ) override;
 };
 
 
diff --git a/pcbnew/gpcb_plugin.h b/pcbnew/gpcb_plugin.h
index 20951cd..405f309 100644
--- a/pcbnew/gpcb_plugin.h
+++ b/pcbnew/gpcb_plugin.h
@@ -71,9 +71,9 @@ public:
     void FootprintDelete( const wxString& aLibraryPath, const wxString& aFootprintName,
             const PROPERTIES* aProperties = NULL );
 
-    bool FootprintLibDelete( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL );
+    bool FootprintLibDelete( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL ) override;
 
-    bool IsFootprintLibWritable( const wxString& aLibraryPath );
+    bool IsFootprintLibWritable( const wxString& aLibraryPath ) override;
 
     //-----</PLUGIN API>--------------------------------------------------------
 
diff --git a/pcbnew/import_dxf/dialog_dxf_import.h b/pcbnew/import_dxf/dialog_dxf_import.h
index 68944f9..d5550c7 100644
--- a/pcbnew/import_dxf/dialog_dxf_import.h
+++ b/pcbnew/import_dxf/dialog_dxf_import.h
@@ -56,9 +56,9 @@ private:
 
     // Virtual event handlers
     void OnCancelClick( wxCommandEvent& event ) { event.Skip(); }
-    void OnOKClick( wxCommandEvent& event );
-    void OnBrowseDxfFiles( wxCommandEvent& event );
-    void OriginOptionOnUpdateUI( wxUpdateUIEvent& event );
+    void OnOKClick( wxCommandEvent& event ) override;
+    void OnBrowseDxfFiles( wxCommandEvent& event ) override;
+    void OriginOptionOnUpdateUI( wxUpdateUIEvent& event ) override;
     int  GetPCBGridUnits( void );
     void GetPCBGridOffsets( double &aXOffset, double &aYOffset );
 };
diff --git a/pcbnew/import_dxf/dxf2brd_items.h b/pcbnew/import_dxf/dxf2brd_items.h
index 7951f39..5159ef7 100644
--- a/pcbnew/import_dxf/dxf2brd_items.h
+++ b/pcbnew/import_dxf/dxf2brd_items.h
@@ -106,28 +106,28 @@ private:
     // They are "call back" fonctions, called when the corresponding object
     // is read in dxf file
     // Depending of the application, they can do something or not
-    virtual void addHeader( const DRW_Header* aData );
+    virtual void addHeader( const DRW_Header* aData ) override;
     virtual void addLType( const DRW_LType& aData ) {}
-    virtual void addLayer( const DRW_Layer& aData );
+    virtual void addLayer( const DRW_Layer& aData ) override;
     virtual void addDimStyle( const DRW_Dimstyle& aData ) {}
     virtual void addBlock( const DRW_Block& aData ) {}
     virtual void endBlock() {}
     virtual void addPoint( const DRW_Point& aData ) {}
-    virtual void addLine( const DRW_Line& aData);
+    virtual void addLine( const DRW_Line& aData) override;
     virtual void addRay( const DRW_Ray& aData ) {}
     virtual void addXline( const DRW_Xline& aData ) {}
-    virtual void addCircle( const DRW_Circle& aData );
-    virtual void addArc( const DRW_Arc& aData );
+    virtual void addCircle( const DRW_Circle& aData ) override;
+    virtual void addArc( const DRW_Arc& aData ) override;
     virtual void addEllipse( const DRW_Ellipse& aData ) {}
-    virtual void addLWPolyline( const DRW_LWPolyline& aData );
-    virtual void addText( const DRW_Text& aData );
-    virtual void addPolyline( const DRW_Polyline& aData );
+    virtual void addLWPolyline( const DRW_LWPolyline& aData ) override;
+    virtual void addText( const DRW_Text& aData ) override;
+    virtual void addPolyline( const DRW_Polyline& aData ) override;
     virtual void addSpline( const DRW_Spline* aData ) {}
     virtual void addKnot( const DRW_Entity&) {}
     virtual void addInsert( const DRW_Insert& aData ){}
     virtual void addTrace( const DRW_Trace& aData ){}
     virtual void addSolid( const DRW_Solid& aData ){}
-    virtual void addMText( const DRW_MText& aData);
+    virtual void addMText( const DRW_MText& aData) override;
     virtual void addDimAlign( const DRW_DimAligned* aData ) {}
     virtual void addDimLinear( const DRW_DimLinear* aData ) {}
     virtual void addDimRadial( const DRW_DimRadial* aData ) {}
@@ -145,7 +145,7 @@ private:
 
     virtual void addVport( const DRW_Vport& aData ) {}
 
-    virtual void addTextStyle( const DRW_Textstyle& aData );
+    virtual void addTextStyle( const DRW_Textstyle& aData ) override;
 
     virtual void addViewport( const DRW_Viewport& aData ) {}
 
diff --git a/pcbnew/kicad_plugin.h b/pcbnew/kicad_plugin.h
index e8243ef..e66e64d 100644
--- a/pcbnew/kicad_plugin.h
+++ b/pcbnew/kicad_plugin.h
@@ -108,7 +108,7 @@ public:
     void Save( const wxString& aFileName, BOARD* aBoard,
                const PROPERTIES* aProperties = NULL );          // overload
 
-    BOARD* Load( const wxString& aFileName, BOARD* aAppendToMe, const PROPERTIES* aProperties = NULL );
+    BOARD* Load( const wxString& aFileName, BOARD* aAppendToMe, const PROPERTIES* aProperties = NULL ) override;
 
     wxArrayString FootprintEnumerate( const wxString& aLibraryPath,
             const PROPERTIES* aProperties = NULL );
@@ -119,13 +119,13 @@ public:
     void FootprintSave( const wxString& aLibraryPath, const MODULE* aFootprint,
                         const PROPERTIES* aProperties = NULL );
 
-    void FootprintDelete( const wxString& aLibraryPath, const wxString& aFootprintName, const PROPERTIES* aProperties = NULL );
+    void FootprintDelete( const wxString& aLibraryPath, const wxString& aFootprintName, const PROPERTIES* aProperties = NULL ) override;
 
-    void FootprintLibCreate( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL);
+    void FootprintLibCreate( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL) override;
 
-    bool FootprintLibDelete( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL );
+    bool FootprintLibDelete( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL ) override;
 
-    bool IsFootprintLibWritable( const wxString& aLibraryPath );
+    bool IsFootprintLibWritable( const wxString& aLibraryPath ) override;
 
     //-----</PLUGIN API>--------------------------------------------------------
 
diff --git a/pcbnew/legacy_plugin.h b/pcbnew/legacy_plugin.h
index a1c21d0..176fc7d 100644
--- a/pcbnew/legacy_plugin.h
+++ b/pcbnew/legacy_plugin.h
@@ -90,9 +90,9 @@ public:
     MODULE* FootprintLoad( const wxString& aLibraryPath, const wxString& aFootprintName,
             const PROPERTIES* aProperties = NULL );
 
-    bool FootprintLibDelete( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL );
+    bool FootprintLibDelete( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL ) override;
 
-    bool IsFootprintLibWritable( const wxString& aLibraryPath );
+    bool IsFootprintLibWritable( const wxString& aLibraryPath ) override;
 
     //-----</PLUGIN IMPLEMENTATION>---------------------------------------------
 
diff --git a/pcbnew/module_editor_frame.h b/pcbnew/module_editor_frame.h
index fb1a7ac..cf29051 100644
--- a/pcbnew/module_editor_frame.h
+++ b/pcbnew/module_editor_frame.h
@@ -82,7 +82,7 @@ public:
 
     void InstallOptionsFrame( const wxPoint& pos );
 
-    void OnCloseWindow( wxCloseEvent& Event );
+    void OnCloseWindow( wxCloseEvent& Event ) override;
     void CloseModuleEditor( wxCommandEvent& Event );
 
     void Process_Special_Functions( wxCommandEvent& event );
@@ -93,25 +93,25 @@ public:
      * Function RedrawActiveWindoow
      * draws the footprint editor BOARD, and others elements such as axis and grid.
      */
-    void RedrawActiveWindow( wxDC* DC, bool EraseBg );
+    void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
 
     /**
      * Function ReCreateHToolbar
      * create the main horizontal toolbar for the footprint editor
      */
-    void ReCreateHToolbar();
+    void ReCreateHToolbar() override;
 
-    void ReCreateVToolbar();
+    void ReCreateVToolbar() override;
     void ReCreateOptToolbar();
-    void ReCreateAuxiliaryToolbar();
-    void OnLeftClick( wxDC* DC, const wxPoint& MousePos );
+    void ReCreateAuxiliaryToolbar() override;
+    void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override;
 
     /**
      * Function OnLeftDClick
      * handles the double click in the footprint editor:
      * If the double clicked item is editable: call the corresponding editor.
      */
-    void OnLeftDClick( wxDC* DC, const wxPoint& MousePos );
+    void OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) override;
 
     /**
      * Function OnRightClick
@@ -119,17 +119,17 @@ public:
      * Create the pop up menu
      * After this menu is built, the standard ZOOM menu is added
      */
-    bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
+    bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) override;
 
     /**
      * @brief (Re)Create the menubar for the module editor frame
      */
-    void ReCreateMenuBar();
+    void ReCreateMenuBar() override;
 
     // The Tool Framework initalization, for GAL mode
     void setupTools();
 
-    void ToolOnRightClick( wxCommandEvent& event );
+    void ToolOnRightClick( wxCommandEvent& event ) override;
     void OnSelectOptionToolbar( wxCommandEvent& event );
     void OnConfigurePaths( wxCommandEvent& aEvent );
 
@@ -143,7 +143,7 @@ public:
     void OnSaveLibraryAs( wxCommandEvent& aEvent );
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const;
+    EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
 
     /**
      * Function OnHotKey
@@ -153,7 +153,7 @@ public:
      * case insensitive
      * </p>
      */
-    bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL );
+    bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
 
     BOARD_ITEM* PrepareItemForHotkey( bool failIfCurrentlyEdited );
 
@@ -168,9 +168,9 @@ public:
      * Function Show3D_Frame
      * displays 3D view of the footprint (module) being edited.
      */
-    void Show3D_Frame( wxCommandEvent& event );
+    void Show3D_Frame( wxCommandEvent& event ) override;
 
-    bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
     void OnVerticalToolbar( wxCommandEvent& aEvent );
 
     void OnUpdateVerticalToolbar( wxUpdateUIEvent& aEvent );
@@ -184,7 +184,7 @@ public:
     void OnUpdateSelectCurrentLib( wxUpdateUIEvent& aEvent );
 
     ///> @copydoc PCB_BASE_EDIT_FRAME::OnEditItemRequest()
-    void OnEditItemRequest( wxDC* aDC, BOARD_ITEM* aItem );
+    void OnEditItemRequest( wxDC* aDC, BOARD_ITEM* aItem ) override;
 
     /**
      * Function LoadModuleFromBoard
@@ -215,7 +215,7 @@ public:
      * and prepare, if needed the refresh of the 3D frame showing the footprint
      * do not forget to call the basic OnModify function to update auxiliary info
      */
-    virtual void OnModify();
+    virtual void OnModify() override;
 
     /**
      * Function ToPrinter
@@ -245,7 +245,7 @@ public:
     bool Clear_Pcb( bool aQuery );
 
     /* handlers for block commands */
-    virtual int BlockCommand( EDA_KEY key );
+    virtual int BlockCommand( EDA_KEY key ) override;
 
     /**
      * Function HandleBlockPlace
@@ -254,7 +254,7 @@ public:
      *  - block move & drag
      *  - block copy & paste
      */
-    virtual void HandleBlockPlace( wxDC* DC );
+    virtual void HandleBlockPlace( wxDC* DC ) override;
 
     /**
      * Function HandleBlockEnd( )
@@ -266,7 +266,7 @@ public:
      * @return false if no item selected, or command finished,
      * true if some items found and HandleBlockPlace must be called later
      */
-    virtual bool HandleBlockEnd( wxDC* DC );
+    virtual bool HandleBlockEnd( wxDC* DC ) override;
 
     BOARD_ITEM* ModeditLocateAndDisplay( int aHotKeyCode = 0 );
 
@@ -434,7 +434,7 @@ public:
      * Function IsGridVisible() , virtual
      * @return true if the grid must be shown
      */
-    virtual bool IsGridVisible() const;
+    virtual bool IsGridVisible() const override;
 
     /**
      * Function SetGridVisibility() , virtual
@@ -442,19 +442,19 @@ public:
      * if you want to store/retrieve the grid visibility in configuration.
      * @param aVisible = true if the grid must be shown
      */
-    virtual void SetGridVisibility( bool aVisible );
+    virtual void SetGridVisibility( bool aVisible ) override;
 
     /**
      * Function GetGridColor() , virtual
      * @return the color of the grid
      */
-    virtual EDA_COLOR_T GetGridColor() const;
+    virtual EDA_COLOR_T GetGridColor() const override;
 
     ///> @copydoc PCB_BASE_FRAME::SetActiveLayer()
-    void SetActiveLayer( LAYER_ID aLayer );
+    void SetActiveLayer( LAYER_ID aLayer ) override;
 
     ///> @copydoc EDA_DRAW_FRAME::UseGalCanvas()
-    virtual void UseGalCanvas( bool aEnable );
+    virtual void UseGalCanvas( bool aEnable ) override;
 
     DECLARE_EVENT_TABLE()
 
diff --git a/pcbnew/modview_frame.h b/pcbnew/modview_frame.h
index 2e1909b..79ce20a 100644
--- a/pcbnew/modview_frame.h
+++ b/pcbnew/modview_frame.h
@@ -52,7 +52,7 @@ protected:
 public:
     ~FOOTPRINT_VIEWER_FRAME();
 
-    virtual EDA_COLOR_T GetGridColor() const;
+    virtual EDA_COLOR_T GetGridColor() const override;
 
     /**
      * Function ReCreateLibraryList
@@ -73,7 +73,7 @@ private:
     const wxString      getCurFootprintName();
     void                setCurFootprintName( const wxString& aName );
 
-    void OnSize( wxSizeEvent& event );
+    void OnSize( wxSizeEvent& event ) override;
 
     void ReCreateFootprintList();
     void OnIterateFootprintList( wxCommandEvent& event );
@@ -89,25 +89,25 @@ private:
      * Display the current selected component.
      * If the component is an alias, the ROOT component is displayed
      */
-    void RedrawActiveWindow( wxDC* DC, bool EraseBg );
+    void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
 
-    void OnCloseWindow( wxCloseEvent& Event );
+    void OnCloseWindow( wxCloseEvent& Event ) override;
     void CloseFootprintViewer( wxCommandEvent& event );
 
-    void ReCreateHToolbar();
-    void ReCreateVToolbar();
-    void ReCreateMenuBar();
+    void ReCreateHToolbar() override;
+    void ReCreateVToolbar() override;
+    void ReCreateMenuBar() override;
 
-    void OnLeftClick( wxDC* DC, const wxPoint& MousePos );
+    void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override;
     void ClickOnLibList( wxCommandEvent& event );
     void ClickOnFootprintList( wxCommandEvent& event );
     void DClickOnFootprintList( wxCommandEvent& event );
     void OnSetRelativeOffset( wxCommandEvent& event );
 
-    bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const;
+    EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
 
     /**
      * Function OnHotKey
@@ -117,7 +117,7 @@ private:
      * case insensitive
      * </p>
      */
-    bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL );
+    bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
 
     void LoadSettings( wxConfigBase* aCfg );    // override virtual
     void SaveSettings( wxConfigBase* aCfg );    // override virtual
@@ -127,7 +127,7 @@ private:
      * is called when the frame frame is activate to reload the libraries and component lists
      * that can be changed by the schematic editor or the library editor.
      */
-    virtual void OnActivate( wxActivateEvent& event );
+    virtual void OnActivate( wxActivateEvent& event ) override;
 
     void SelectCurrentLibrary( wxCommandEvent& event );
 
@@ -152,13 +152,13 @@ private:
      */
     void SelectAndViewFootprint( int aMode );
 
-    bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
+    bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) override;
 
     /**
      * Function Show3D_Frame (virtual)
      * displays 3D view of the footprint (module) being edited.
      */
-    void Show3D_Frame( wxCommandEvent& event );
+    void Show3D_Frame( wxCommandEvent& event ) override;
 
     /**
      * Function Update3D_Frame
diff --git a/pcbnew/netlist_reader.h b/pcbnew/netlist_reader.h
index 0bdd643..dd55610 100644
--- a/pcbnew/netlist_reader.h
+++ b/pcbnew/netlist_reader.h
@@ -283,7 +283,7 @@ public:
      * @throw IO_ERROR if a file IO error occurs.
      * @throw PARSE_ERROR if an error occurs while parsing the file.
      */
-    virtual void LoadNetlist() throw ( IO_ERROR, PARSE_ERROR, boost::bad_pointer );
+    virtual void LoadNetlist() throw ( IO_ERROR, PARSE_ERROR, boost::bad_pointer ) override;
 };
 
 
@@ -397,7 +397,7 @@ public:
         delete m_parser;
     }
 
-    virtual void LoadNetlist() throw ( IO_ERROR, PARSE_ERROR, boost::bad_pointer );
+    virtual void LoadNetlist() throw ( IO_ERROR, PARSE_ERROR, boost::bad_pointer ) override;
 };
 
 
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcad_plugin.h b/pcbnew/pcad2kicadpcb_plugin/pcad_plugin.h
index 45ecbd9..38bfe2b 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcad_plugin.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcad_plugin.h
@@ -39,13 +39,13 @@ public:
 
     // -----<PUBLIC PLUGIN API>--------------------------------------------------
 
-    const wxString  PluginName() const;
+    const wxString  PluginName() const override;
 
     BOARD*          Load( const wxString&   aFileName,
                           BOARD*            aAppendToMe,
                           const PROPERTIES* aProperties = NULL );
 
-    const wxString  GetFileExtension() const;
+    const wxString  GetFileExtension() const override;
 
     // -----</PUBLIC PLUGIN API>-------------------------------------------------
 
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb.h b/pcbnew/pcad2kicadpcb_plugin/pcb.h
index 5d566ff..916837e 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb.h
@@ -53,17 +53,17 @@ public:
     PCB( BOARD* aBoard );
     ~PCB();
 
-    LAYER_ID        GetKiCadLayer( int aPCadLayer );
-    LAYER_TYPE_T    GetLayerType( int aPCadLayer );
-    wxString        GetLayerNetNameRef( int aPCadLayer );
-    int             GetNewTimestamp();
-    int             GetNetCode( wxString aNetName );
+    LAYER_ID        GetKiCadLayer( int aPCadLayer ) override;
+    LAYER_TYPE_T    GetLayerType( int aPCadLayer ) override;
+    wxString        GetLayerNetNameRef( int aPCadLayer ) override;
+    int             GetNewTimestamp() override;
+    int             GetNetCode( wxString aNetName ) override;
 
     void            Parse( wxStatusBar* aStatusBar,
                            wxXmlDocument* aXmlDoc,
                            wxString     aActualConversion );
 
-    void            AddToBoard();
+    void            AddToBoard() override;
 
 private:
     int             m_timestamp_cnt;
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_arc.h b/pcbnew/pcad2kicadpcb_plugin/pcb_arc.h
index 8b1c83e..2b82409 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_arc.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_arc.h
@@ -50,10 +50,10 @@ public:
     virtual void    Parse( XNODE* aNode, int aLayer,
                            wxString aDefaultMeasurementUnit, wxString aActualConversion );
 
-    virtual void    SetPosOffset( int aX_offs, int aY_offs );
-    virtual void    Flip();
-    void            AddToModule( MODULE* aModule );
-    void            AddToBoard();
+    virtual void    SetPosOffset( int aX_offs, int aY_offs ) override;
+    virtual void    Flip() override;
+    void            AddToModule( MODULE* aModule ) override;
+    void            AddToBoard() override;
 };
 
 } // namespace PCAD2KICAD
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_line.h b/pcbnew/pcad2kicadpcb_plugin/pcb_line.h
index e24aa38..3bbec94 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_line.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_line.h
@@ -51,10 +51,10 @@ public:
                            int          aLayer,
                            wxString     aDefaultMeasurementUnit,
                            wxString     aActualConversion );
-    virtual void    SetPosOffset( int aX_offs, int aY_offs );
-    virtual void    Flip();
-    void            AddToModule( MODULE* aModule );
-    void            AddToBoard();
+    virtual void    SetPosOffset( int aX_offs, int aY_offs ) override;
+    virtual void    Flip() override;
+    void            AddToModule( MODULE* aModule ) override;
+    void            AddToBoard() override;
 };
 
 } // namespace PCAD2KICAD
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_module.h b/pcbnew/pcad2kicadpcb_plugin/pcb_module.h
index 27d8d3d..b3757d6 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_module.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_module.h
@@ -62,8 +62,8 @@ public:
     virtual void    Parse( XNODE*   aNode, wxStatusBar* aStatusBar,
                            wxString aDefaultMeasurementUnit, wxString aActualConversion );
 
-    virtual void    Flip();
-    void            AddToBoard();
+    virtual void    Flip() override;
+    void            AddToBoard() override;
 
 private:
     XNODE*          FindPatternMultilayerSection( XNODE* aNode, wxString* aPatGraphRefName );
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_pad.h b/pcbnew/pcad2kicadpcb_plugin/pcb_pad.h
index fa18bd5..6af4e8f 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_pad.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_pad.h
@@ -53,7 +53,7 @@ public:
                            wxString     aActualConversion );
     virtual void    Flip();
     void            AddToModule( MODULE* aModule, int aRotation, bool aEncapsulatedPad );
-    void            AddToBoard();
+    void            AddToBoard() override;
 
 private:
     wxString m_defaultPinDes;
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_pad_shape.h b/pcbnew/pcad2kicadpcb_plugin/pcb_pad_shape.h
index 662fb03..518f089 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_pad_shape.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_pad_shape.h
@@ -51,7 +51,7 @@ public:
                            wxString     aDefaultMeasurementUnit,
                            wxString     aActualConversion );
 
-    void            AddToBoard();
+    void            AddToBoard() override;
 };
 
 WX_DEFINE_ARRAY( PCB_PAD_SHAPE*, PCB_PAD_SHAPES_ARRAY );
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_polygon.h b/pcbnew/pcad2kicadpcb_plugin/pcb_polygon.h
index 90ffdbd..a37be8f 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_polygon.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_polygon.h
@@ -56,9 +56,9 @@ public:
                         wxString        aActualConversion,
                         wxStatusBar*    aStatusBar );
 
-    virtual void    SetPosOffset( int aX_offs, int aY_offs );
-    void            AddToModule( MODULE* aModule );
-    void            AddToBoard();
+    virtual void    SetPosOffset( int aX_offs, int aY_offs ) override;
+    void            AddToModule( MODULE* aModule ) override;
+    void            AddToBoard() override;
 
 // protected:
     void            AssignNet( wxString aNetName );
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_text.h b/pcbnew/pcad2kicadpcb_plugin/pcb_text.h
index b85ec29..1fe856b 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_text.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_text.h
@@ -48,8 +48,8 @@ public:
                            int          aLayer,
                            wxString     aDefaultMeasurementUnit,
                            wxString     aActualConversion );
-    void            AddToModule( MODULE* aModule );
-    void            AddToBoard();
+    void            AddToModule( MODULE* aModule ) override;
+    void            AddToBoard() override;
 
 // virtual void    SetPosOffset( int aX_offs, int aY_offs );
 };
diff --git a/pcbnew/pcb_base_edit_frame.h b/pcbnew/pcb_base_edit_frame.h
index 7fb313b..db6f310 100644
--- a/pcbnew/pcb_base_edit_frame.h
+++ b/pcbnew/pcb_base_edit_frame.h
@@ -159,10 +159,10 @@ public:
     bool PostCommandMenuEvent( int evt_type );
 
     ///> @copydoc EDA_DRAW_FRAME::UseGalCanvas()
-    void UseGalCanvas( bool aEnable );
+    void UseGalCanvas( bool aEnable ) override;
 
     ///> @copydoc PCB_BASE_FRAME::SetBoard()
-    virtual void SetBoard( BOARD* aBoard );
+    virtual void SetBoard( BOARD* aBoard ) override;
 
 protected:
     /// User defined rotation angle (in tenths of a degree).
diff --git a/pcbnew/pcb_draw_panel_gal.h b/pcbnew/pcb_draw_panel_gal.h
index 435f5c6..f4e397d 100644
--- a/pcbnew/pcb_draw_panel_gal.h
+++ b/pcbnew/pcb_draw_panel_gal.h
@@ -65,10 +65,10 @@ public:
     void UseColorScheme( const COLORS_DESIGN_SETTINGS* aSettings );
 
     ///> @copydoc EDA_DRAW_PANEL_GAL::SetHighContrastLayer()
-    virtual void SetHighContrastLayer( LAYER_ID aLayer );
+    virtual void SetHighContrastLayer( LAYER_ID aLayer ) override;
 
     ///> @copydoc EDA_DRAW_PANEL_GAL::SetTopLayer()
-    virtual void SetTopLayer( LAYER_ID aLayer );
+    virtual void SetTopLayer( LAYER_ID aLayer ) override;
 
     /**
      * Function SyncLayersVisibility
@@ -78,7 +78,7 @@ public:
     void SyncLayersVisibility( const BOARD* aBoard );
 
     ///> @copydoc EDA_DRAW_PANEL_GAL::GetMsgPanelInfo()
-    void GetMsgPanelInfo( std::vector<MSG_PANEL_ITEM>& aList );
+    void GetMsgPanelInfo( std::vector<MSG_PANEL_ITEM>& aList ) override;
 
     ///> @copydoc EDA_DRAW_PANEL_GAL::OnShow()
     void OnShow() override;
diff --git a/pcbnew/pcb_painter.h b/pcbnew/pcb_painter.h
index 9d4ce5d..2099f78 100644
--- a/pcbnew/pcb_painter.h
+++ b/pcbnew/pcb_painter.h
@@ -81,7 +81,7 @@ public:
     PCB_RENDER_SETTINGS();
 
     /// @copydoc RENDER_SETTINGS::ImportLegacyColors()
-    void ImportLegacyColors( const COLORS_DESIGN_SETTINGS* aSettings );
+    void ImportLegacyColors( const COLORS_DESIGN_SETTINGS* aSettings ) override;
 
     /**
      * Function LoadDisplayOptions
@@ -92,7 +92,7 @@ public:
     void LoadDisplayOptions( const DISPLAY_OPTIONS* aOptions );
 
     /// @copydoc RENDER_SETTINGS::GetColor()
-    virtual const COLOR4D& GetColor( const VIEW_ITEM* aItem, int aLayer ) const;
+    virtual const COLOR4D& GetColor( const VIEW_ITEM* aItem, int aLayer ) const override;
 
     /**
      * Function GetLayerColor
@@ -141,7 +141,7 @@ public:
 
 protected:
     ///> @copydoc RENDER_SETTINGS::Update()
-    void update();
+    void update() override;
 
     ///> Colors for all layers (normal)
     COLOR4D m_layerColors[TOTAL_LAYER_COUNT];
@@ -185,19 +185,19 @@ public:
     PCB_PAINTER( GAL* aGal );
 
     /// @copydoc PAINTER::ApplySettings()
-    virtual void ApplySettings( const RENDER_SETTINGS* aSettings )
+    virtual void ApplySettings( const RENDER_SETTINGS* aSettings ) override
     {
         m_pcbSettings = *static_cast<const PCB_RENDER_SETTINGS*>( aSettings );
     }
 
     /// @copydoc PAINTER::GetSettings()
-    virtual RENDER_SETTINGS* GetSettings()
+    virtual RENDER_SETTINGS* GetSettings() override
     {
         return &m_pcbSettings;
     }
 
     /// @copydoc PAINTER::Draw()
-    virtual bool Draw( const VIEW_ITEM* aItem, int aLayer );
+    virtual bool Draw( const VIEW_ITEM* aItem, int aLayer ) override;
 
 protected:
     PCB_RENDER_SETTINGS m_pcbSettings;
diff --git a/pcbnew/pcbnew.cpp b/pcbnew/pcbnew.cpp
index d8d904d..ae983d8 100644
--- a/pcbnew/pcbnew.cpp
+++ b/pcbnew/pcbnew.cpp
@@ -104,9 +104,9 @@ static struct IFACE : public KIFACE_I
         KIFACE_I( aName, aType )
     {}
 
-    bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits );
+    bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) override;
 
-    void OnKifaceEnd();
+    void OnKifaceEnd() override;
 
     wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 )
     {
diff --git a/pcbnew/printout_controler.h b/pcbnew/printout_controler.h
index 2f912f5..221012f 100644
--- a/pcbnew/printout_controler.h
+++ b/pcbnew/printout_controler.h
@@ -111,7 +111,7 @@ public:
                                EDA_DRAW_FRAME*         aParent,
                                const wxString&         aTitle );
 
-    bool OnPrintPage( int aPage );
+    bool OnPrintPage( int aPage ) override;
 
     bool HasPage( int aPage )       // do not test page num
     {
@@ -121,7 +121,7 @@ public:
             return false;
     }
 
-    void GetPageInfo( int* minPage, int* maxPage, int* selPageFrom, int* selPageTo );
+    void GetPageInfo( int* minPage, int* maxPage, int* selPageFrom, int* selPageTo ) override;
 
     /**
      * Print a page ( or a set of pages ).
diff --git a/pcbnew/ratsnest.cpp b/pcbnew/ratsnest.cpp
index 6735e4d..fcd3be2 100644
--- a/pcbnew/ratsnest.cpp
+++ b/pcbnew/ratsnest.cpp
@@ -88,7 +88,7 @@ public:
      * @param aItem2 = other item
      * @return the weight between items ( the rectilinear distance )
      */
-    int GetWeight( int aItem1, int aItem2 );
+    int GetWeight( int aItem1, int aItem2 ) override;
 };
 
 
diff --git a/pcbnew/ratsnest_data.h b/pcbnew/ratsnest_data.h
index 94583a0..5497c23 100644
--- a/pcbnew/ratsnest_data.h
+++ b/pcbnew/ratsnest_data.h
@@ -94,7 +94,7 @@ RN_NODE_OR_FILTER operator||( const RN_NODE_FILTER& aFilter1, const RN_NODE_FILT
 ///> Leaves nodes that can be a ratsnest line target
 struct LINE_TARGET : public RN_NODE_FILTER
 {
-    bool operator()( const RN_NODE_PTR& aNode ) const
+    bool operator()( const RN_NODE_PTR& aNode ) const override
     {
         return !aNode->GetNoLine();
     }
@@ -107,7 +107,7 @@ struct LINE_TARGET_SAME_TAG : public RN_NODE_FILTER
         m_tag( aTag )
     {}
 
-    bool operator()( const RN_NODE_PTR& aNode ) const
+    bool operator()( const RN_NODE_PTR& aNode ) const override
     {
         return !aNode->GetNoLine() && aNode->GetTag() == m_tag;
     }
@@ -122,7 +122,7 @@ struct LINE_TARGET_DIFF_TAG : public RN_NODE_FILTER
         m_tag( aTag )
     {}
 
-    bool operator()( const RN_NODE_PTR& aNode ) const
+    bool operator()( const RN_NODE_PTR& aNode ) const override
     {
         return !aNode->GetNoLine() && aNode->GetTag() == m_tag;
     }
@@ -137,7 +137,7 @@ struct RN_NODE_AND_FILTER : public RN_NODE_FILTER
         m_filter1( aFilter1 ), m_filter2( aFilter2 )
     {}
 
-    bool operator()( const RN_NODE_PTR& aNode ) const
+    bool operator()( const RN_NODE_PTR& aNode ) const override
     {
         return m_filter1( aNode ) && m_filter2( aNode );
     }
@@ -153,7 +153,7 @@ struct RN_NODE_OR_FILTER : public RN_NODE_FILTER
         m_filter1( aFilter1 ), m_filter2( aFilter2 )
     {}
 
-    bool operator()( const RN_NODE_PTR& aNode ) const
+    bool operator()( const RN_NODE_PTR& aNode ) const override
     {
         return m_filter1( aNode ) || m_filter2( aNode );
     }
diff --git a/pcbnew/ratsnest_viewitem.h b/pcbnew/ratsnest_viewitem.h
index 8898be8..516c4ca 100644
--- a/pcbnew/ratsnest_viewitem.h
+++ b/pcbnew/ratsnest_viewitem.h
@@ -44,17 +44,17 @@ public:
     RATSNEST_VIEWITEM( RN_DATA* aData );
 
     /// @copydoc VIEW_ITEM::ViewBBox()
-    const BOX2I ViewBBox() const;
+    const BOX2I ViewBBox() const override;
 
     /// @copydoc VIEW_ITEM::ViewDraw()
-    void ViewDraw( int aLayer, GAL* aGal ) const;
+    void ViewDraw( int aLayer, GAL* aGal ) const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    void ViewGetLayers( int aLayers[], int& aCount ) const;
+    void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
 #if defined(DEBUG)
     /// @copydoc EDA_ITEM::Show()
-    void Show( int x, std::ostream& st ) const
+    void Show( int x, std::ostream& st ) const override
     {
     }
 #endif
@@ -62,7 +62,7 @@ public:
     /** Get class name
      * @return  string "RATSNEST_VIEWITEM"
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "RATSNEST_VIEWITEM" );
     }
diff --git a/pcbnew/router/length_tuner_tool.h b/pcbnew/router/length_tuner_tool.h
index 1fadd44..4d86157 100644
--- a/pcbnew/router/length_tuner_tool.h
+++ b/pcbnew/router/length_tuner_tool.h
@@ -34,7 +34,7 @@ public:
     LENGTH_TUNER_TOOL();
     ~LENGTH_TUNER_TOOL();
 
-    void Reset( RESET_REASON aReason );
+    void Reset( RESET_REASON aReason ) override;
 
     int TuneSingleTrace( const TOOL_EVENT& aEvent );
     int TuneDiffPair( const TOOL_EVENT& aEvent );
diff --git a/pcbnew/router/pns_diff_pair_placer.h b/pcbnew/router/pns_diff_pair_placer.h
index b84a2e1..e56bf81 100644
--- a/pcbnew/router/pns_diff_pair_placer.h
+++ b/pcbnew/router/pns_diff_pair_placer.h
@@ -64,7 +64,7 @@ public:
      * Starts routing a single track at point aP, taking item aStartItem as anchor
      * (unless NULL).
      */
-    bool Start( const VECTOR2I& aP, ITEM* aStartItem );
+    bool Start( const VECTOR2I& aP, ITEM* aStartItem ) override;
 
     /**
      * Function Move()
@@ -73,7 +73,7 @@ public:
      * aEndItem as anchor (if not NULL).
      * (unless NULL).
      */
-    bool Move( const VECTOR2I& aP, ITEM* aEndItem );
+    bool Move( const VECTOR2I& aP, ITEM* aEndItem ) override;
 
     /**
      * Function FixRoute()
@@ -84,28 +84,28 @@ public:
      * result is violating design rules - in such case, the track is only committed
      * if Settings.CanViolateDRC() is on.
      */
-    bool FixRoute( const VECTOR2I& aP, ITEM* aEndItem );
+    bool FixRoute( const VECTOR2I& aP, ITEM* aEndItem ) override;
 
     /**
      * Function ToggleVia()
      *
      * Enables/disables a via at the end of currently routed trace.
      */
-    bool ToggleVia( bool aEnabled );
+    bool ToggleVia( bool aEnabled ) override;
 
     /**
      * Function SetLayer()
      *
      * Sets the current routing layer.
      */
-    bool SetLayer( int aLayer );
+    bool SetLayer( int aLayer ) override;
 
     /**
      * Function Traces()
      *
      * Returns the complete routed line, as a single-member ITEM_SET.
      */
-    const ITEM_SET Traces();
+    const ITEM_SET Traces() override;
 
     /**
      * Function CurrentEnd()
@@ -123,7 +123,7 @@ public:
      *
      * Returns the net code of currently routed track.
      */
-    const std::vector<int> CurrentNets() const;
+    const std::vector<int> CurrentNets() const override;
 
     /**
      * Function CurrentLayer()
@@ -140,14 +140,14 @@ public:
      *
      * Returns the most recent world state.
      */
-    NODE* CurrentNode( bool aLoopsRemoved = false ) const;
+    NODE* CurrentNode( bool aLoopsRemoved = false ) const override;
 
     /**
      * Function FlipPosture()
      *
      * Toggles the current posture (straight/diagonal) of the trace head.
      */
-    void FlipPosture();
+    void FlipPosture() override;
 
     /**
      * Function UpdateSizes()
@@ -156,13 +156,13 @@ public:
      * a settings class. Used to dynamically change these parameters as
      * the track is routed.
      */
-    void UpdateSizes( const SIZES_SETTINGS& aSizes );
+    void UpdateSizes( const SIZES_SETTINGS& aSizes ) override;
 
     bool IsPlacingVia() const { return m_placingVia; }
 
-    void SetOrthoMode( bool aOrthoMode );
+    void SetOrthoMode( bool aOrthoMode ) override;
 
-    void GetModifiedNets( std::vector<int>& aNets ) const;
+    void GetModifiedNets( std::vector<int>& aNets ) const override;
 
 private:
     int viaGap() const;
diff --git a/pcbnew/router/pns_dp_meander_placer.h b/pcbnew/router/pns_dp_meander_placer.h
index dc21f7b..63a942d 100644
--- a/pcbnew/router/pns_dp_meander_placer.h
+++ b/pcbnew/router/pns_dp_meander_placer.h
@@ -58,7 +58,7 @@ public:
      * Starts routing a single track at point aP, taking item aStartItem as anchor
      * (unless NULL).
      */
-    bool Start( const VECTOR2I& aP, ITEM* aStartItem );
+    bool Start( const VECTOR2I& aP, ITEM* aStartItem ) override;
 
     /**
      * Function Move()
@@ -67,7 +67,7 @@ public:
      * aEndItem as anchor (if not NULL).
      * (unless NULL).
      */
-    bool Move( const VECTOR2I& aP, ITEM* aEndItem );
+    bool Move( const VECTOR2I& aP, ITEM* aEndItem ) override;
 
     /**
      * Function FixRoute()
@@ -78,7 +78,7 @@ public:
      * result is violating design rules - in such case, the track is only committed
      * if Settings.CanViolateDRC() is on.
      */
-    bool FixRoute( const VECTOR2I& aP, ITEM* aEndItem );
+    bool FixRoute( const VECTOR2I& aP, ITEM* aEndItem ) override;
 
     const LINE Trace() const;
 
@@ -87,23 +87,23 @@ public:
      *
      * Returns the most recent world state.
      */
-    NODE* CurrentNode( bool aLoopsRemoved = false ) const;
+    NODE* CurrentNode( bool aLoopsRemoved = false ) const override;
 
-    const ITEM_SET Traces();
+    const ITEM_SET Traces() override;
 
-    const VECTOR2I& CurrentEnd() const;
+    const VECTOR2I& CurrentEnd() const override;
 
     /// @copydoc PLACEMENT_ALGO::CurrentNets()
-    const std::vector<int> CurrentNets() const;
+    const std::vector<int> CurrentNets() const override;
 
-    int CurrentLayer() const;
+    int CurrentLayer() const override;
 
     int totalLength();
 
-    const wxString TuningInfo() const;
-    TUNING_STATUS TuningStatus() const;
+    const wxString TuningInfo() const override;
+    TUNING_STATUS TuningStatus() const override;
 
-    bool CheckFit( MEANDER_SHAPE* aShape );
+    bool CheckFit( MEANDER_SHAPE* aShape ) override;
 
 
 private:
diff --git a/pcbnew/router/pns_dragger.h b/pcbnew/router/pns_dragger.h
index 8c87837..3aae5ed 100644
--- a/pcbnew/router/pns_dragger.h
+++ b/pcbnew/router/pns_dragger.h
@@ -95,7 +95,7 @@ public:
     const ITEM_SET Traces();
 
     /// @copydoc ALGO_BASE::Logger()
-    virtual LOGGER* Logger();
+    virtual LOGGER* Logger() override;
 
 private:
     enum DragMode {
diff --git a/pcbnew/router/pns_kicad_iface.cpp b/pcbnew/router/pns_kicad_iface.cpp
index db8c425..3e965ef 100644
--- a/pcbnew/router/pns_kicad_iface.cpp
+++ b/pcbnew/router/pns_kicad_iface.cpp
@@ -67,12 +67,12 @@ public:
     PNS_PCBNEW_RULE_RESOLVER( BOARD* aBoard, PNS::ROUTER* aRouter );
     virtual ~PNS_PCBNEW_RULE_RESOLVER();
 
-    virtual int Clearance( const PNS::ITEM* aA, const PNS::ITEM* aB );
-    virtual void OverrideClearance( bool aEnable, int aNetA = 0, int aNetB = 0, int aClearance = 0 );
+    virtual int Clearance( const PNS::ITEM* aA, const PNS::ITEM* aB ) override;
+    virtual void OverrideClearance( bool aEnable, int aNetA = 0, int aNetB = 0, int aClearance = 0 ) override;
     virtual void UseDpGap( bool aUseDpGap ) { m_useDpGap = aUseDpGap; }
-    virtual int DpCoupledNet( int aNet );
-    virtual int DpNetPolarity( int aNet );
-    virtual bool DpNetPair( PNS::ITEM* aItem, int& aNetP, int& aNetN );
+    virtual int DpCoupledNet( int aNet ) override;
+    virtual int DpNetPolarity( int aNet ) override;
+    virtual bool DpNetPair( PNS::ITEM* aItem, int& aNetP, int& aNetN ) override;
 
 private:
     struct CLEARANCE_ENT
diff --git a/pcbnew/router/pns_kicad_iface.h b/pcbnew/router/pns_kicad_iface.h
index b59228b..3550f82 100644
--- a/pcbnew/router/pns_kicad_iface.h
+++ b/pcbnew/router/pns_kicad_iface.h
@@ -41,23 +41,23 @@ public:
     PNS_KICAD_IFACE();
     ~PNS_KICAD_IFACE();
 
-    void SetRouter( PNS::ROUTER* aRouter );
+    void SetRouter( PNS::ROUTER* aRouter ) override;
     void SetHostFrame( PCB_EDIT_FRAME* aFrame );
 
     void SetBoard( BOARD* aBoard );
     void SetView( KIGFX::VIEW* aView );
-    void SyncWorld( PNS::NODE* aWorld );
-    void EraseView();
-    void HideItem( PNS::ITEM* aItem );
-    void DisplayItem( const PNS::ITEM* aItem, int aColor = 0, int aClearance = 0 );
-    void AddItem( PNS::ITEM* aItem );
-    void RemoveItem( PNS::ITEM* aItem );
-    void Commit();
+    void SyncWorld( PNS::NODE* aWorld ) override;
+    void EraseView() override;
+    void HideItem( PNS::ITEM* aItem ) override;
+    void DisplayItem( const PNS::ITEM* aItem, int aColor = 0, int aClearance = 0 ) override;
+    void AddItem( PNS::ITEM* aItem ) override;
+    void RemoveItem( PNS::ITEM* aItem ) override;
+    void Commit() override;
 
-    void UpdateNet( int aNetCode );
+    void UpdateNet( int aNetCode ) override;
 
-    PNS::RULE_RESOLVER* GetRuleResolver();
-    PNS::DEBUG_DECORATOR* GetDebugDecorator();
+    PNS::RULE_RESOLVER* GetRuleResolver() override;
+    PNS::DEBUG_DECORATOR* GetDebugDecorator() override;
 
 private:
     PNS_PCBNEW_RULE_RESOLVER* m_ruleResolver;
diff --git a/pcbnew/router/pns_line.h b/pcbnew/router/pns_line.h
index 151c83c..9dc3507 100644
--- a/pcbnew/router/pns_line.h
+++ b/pcbnew/router/pns_line.h
@@ -97,7 +97,7 @@ public:
     }
 
     /// @copydoc ITEM::Clone()
-    virtual LINE* Clone() const;
+    virtual LINE* Clone() const override;
 
     const LINE& operator=( const LINE& aOther );
 
@@ -252,15 +252,15 @@ public:
 
     const VIA& Via() const { return m_via; }
 
-    virtual void Mark( int aMarker );
+    virtual void Mark( int aMarker ) override;
     virtual void Unmark ();
-    virtual int Marker() const;
+    virtual int Marker() const override;
 
     void DragSegment( const VECTOR2I& aP, int aIndex, int aSnappingThreshold = 0 );
     void DragCorner( const VECTOR2I& aP, int aIndex, int aSnappingThreshold = 0 );
 
-    void SetRank( int aRank );
-    int Rank() const;
+    void SetRank( int aRank ) override;
+    int Rank() const override;
 
     bool HasLoops() const;
     bool HasLockedSegments() const;
diff --git a/pcbnew/router/pns_line_placer.h b/pcbnew/router/pns_line_placer.h
index e0f33df..e813a42 100644
--- a/pcbnew/router/pns_line_placer.h
+++ b/pcbnew/router/pns_line_placer.h
@@ -61,7 +61,7 @@ public:
      * Starts routing a single track at point aP, taking item aStartItem as anchor
      * (unless NULL).
      */
-    bool Start( const VECTOR2I& aP, ITEM* aStartItem );
+    bool Start( const VECTOR2I& aP, ITEM* aStartItem ) override;
 
     /**
      * Function Move()
@@ -70,7 +70,7 @@ public:
      * aEndItem as anchor (if not NULL).
      * (unless NULL).
      */
-    bool Move( const VECTOR2I& aP, ITEM* aEndItem );
+    bool Move( const VECTOR2I& aP, ITEM* aEndItem ) override;
 
     /**
      * Function FixRoute()
@@ -81,21 +81,21 @@ public:
      * result is violating design rules - in such case, the track is only committed
      * if Settings.CanViolateDRC() is on.
      */
-    bool FixRoute( const VECTOR2I& aP, ITEM* aEndItem );
+    bool FixRoute( const VECTOR2I& aP, ITEM* aEndItem ) override;
 
     /**
      * Function ToggleVia()
      *
      * Enables/disables a via at the end of currently routed trace.
      */
-    bool ToggleVia( bool aEnabled );
+    bool ToggleVia( bool aEnabled ) override;
 
     /**
      * Function SetLayer()
      *
      * Sets the current routing layer.
      */
-    bool SetLayer( int aLayer );
+    bool SetLayer( int aLayer ) override;
 
     /**
      * Function Head()
@@ -125,7 +125,7 @@ public:
      *
      * Returns the complete routed line, as a single-member ITEM_SET.
      */
-    const ITEM_SET Traces();
+    const ITEM_SET Traces() override;
 
     /**
      * Function CurrentEnd()
@@ -163,14 +163,14 @@ public:
      *
      * Returns the most recent world state.
      */
-    NODE* CurrentNode( bool aLoopsRemoved = false ) const;
+    NODE* CurrentNode( bool aLoopsRemoved = false ) const override;
 
     /**
      * Function FlipPosture()
      *
      * Toggles the current posture (straight/diagonal) of the trace head.
      */
-    void FlipPosture();
+    void FlipPosture() override;
 
     /**
      * Function UpdateSizes()
@@ -179,15 +179,15 @@ public:
      * a settings class. Used to dynamically change these parameters as
      * the track is routed.
      */
-    void UpdateSizes( const SIZES_SETTINGS& aSizes );
+    void UpdateSizes( const SIZES_SETTINGS& aSizes ) override;
 
-    void SetOrthoMode( bool aOrthoMode );
+    void SetOrthoMode( bool aOrthoMode ) override;
 
     bool IsPlacingVia() const { return m_placingVia; }
 
-    void GetModifiedNets( std::vector<int>& aNets ) const;
+    void GetModifiedNets( std::vector<int>& aNets ) const override;
 
-    LOGGER* Logger();
+    LOGGER* Logger() override;
 
 
 private:
diff --git a/pcbnew/router/pns_meander_placer.h b/pcbnew/router/pns_meander_placer.h
index 894a04a..f14e022 100644
--- a/pcbnew/router/pns_meander_placer.h
+++ b/pcbnew/router/pns_meander_placer.h
@@ -53,22 +53,22 @@ public:
     virtual ~MEANDER_PLACER();
 
     /// @copydoc PLACEMENT_ALGO::Start()
-    virtual bool Start( const VECTOR2I& aP, ITEM* aStartItem );
+    virtual bool Start( const VECTOR2I& aP, ITEM* aStartItem ) override;
 
     /// @copydoc PLACEMENT_ALGO::Move()
-    virtual bool Move( const VECTOR2I& aP, ITEM* aEndItem );
+    virtual bool Move( const VECTOR2I& aP, ITEM* aEndItem ) override;
 
     /// @copydoc PLACEMENT_ALGO::FixRoute()
-    virtual bool FixRoute( const VECTOR2I& aP, ITEM* aEndItem );
+    virtual bool FixRoute( const VECTOR2I& aP, ITEM* aEndItem ) override;
 
     /// @copydoc PLACEMENT_ALGO::CurrentNode()
-    NODE* CurrentNode( bool aLoopsRemoved = false ) const;
+    NODE* CurrentNode( bool aLoopsRemoved = false ) const override;
 
     /// @copydoc PLACEMENT_ALGO::Traces()
-    const ITEM_SET Traces();
+    const ITEM_SET Traces() override;
 
     /// @copydoc PLACEMENT_ALGO::CurrentEnd()
-    const VECTOR2I& CurrentEnd() const;
+    const VECTOR2I& CurrentEnd() const override;
 
     /// @copydoc PLACEMENT_ALGO::CurrentNets()
     const std::vector<int> CurrentNets() const
@@ -77,16 +77,16 @@ public:
     }
 
     /// @copydoc PLACEMENT_ALGO::CurrentLayer()
-    int CurrentLayer() const;
+    int CurrentLayer() const override;
 
     /// @copydoc MEANDER_PLACER_BASE::TuningInfo()
-    virtual const wxString TuningInfo() const;
+    virtual const wxString TuningInfo() const override;
 
     /// @copydoc MEANDER_PLACER_BASE::TuningStatus()
-    virtual TUNING_STATUS TuningStatus() const;
+    virtual TUNING_STATUS TuningStatus() const override;
 
     /// @copydoc MEANDER_PLACER_BASE::CheckFit()
-    bool CheckFit ( MEANDER_SHAPE* aShape );
+    bool CheckFit ( MEANDER_SHAPE* aShape ) override;
 
 protected:
 
diff --git a/pcbnew/router/pns_meander_skew_placer.h b/pcbnew/router/pns_meander_skew_placer.h
index 04b7ef6..e65ecd1 100644
--- a/pcbnew/router/pns_meander_skew_placer.h
+++ b/pcbnew/router/pns_meander_skew_placer.h
@@ -43,20 +43,20 @@ public:
     ~MEANDER_SKEW_PLACER();
 
     /// @copydoc PLACEMENT_ALGO::Start()
-    bool Start( const VECTOR2I& aP, ITEM* aStartItem );
+    bool Start( const VECTOR2I& aP, ITEM* aStartItem ) override;
 
     /// @copydoc PLACEMENT_ALGO::Move()
-    bool Move( const VECTOR2I& aP, ITEM* aEndItem );
+    bool Move( const VECTOR2I& aP, ITEM* aEndItem ) override;
 
     /// @copydoc MEANDER_PLACER_BASE::TuningInfo()
-    const wxString TuningInfo() const;
+    const wxString TuningInfo() const override;
 
 private:
 
     int currentSkew( ) const;
     int itemsetLength( const ITEM_SET& aSet ) const;
 
-    int origPathLength () const;
+    int origPathLength () const override;
 
     DIFF_PAIR m_originPair;
     ITEM_SET  m_tunedPath, m_tunedPathP, m_tunedPathN;
diff --git a/pcbnew/router/pns_segment.h b/pcbnew/router/pns_segment.h
index 7cf94ba..1049e5d 100644
--- a/pcbnew/router/pns_segment.h
+++ b/pcbnew/router/pns_segment.h
@@ -63,7 +63,7 @@ public:
         return aItem && SEGMENT_T == aItem->Kind();
     }
 
-    SEGMENT* Clone() const;
+    SEGMENT* Clone() const override;
 
     const SHAPE* Shape() const
     {
@@ -111,7 +111,7 @@ public:
         m_seg.SetSeg( SEG (tmp.B , tmp.A ) );
     }
 
-    const SHAPE_LINE_CHAIN Hull( int aClearance, int aWalkaroundThickness ) const;
+    const SHAPE_LINE_CHAIN Hull( int aClearance, int aWalkaroundThickness ) const override;
 
     virtual VECTOR2I Anchor( int n ) const
     {
diff --git a/pcbnew/router/pns_solid.h b/pcbnew/router/pns_solid.h
index d3849ed..68b6f05 100644
--- a/pcbnew/router/pns_solid.h
+++ b/pcbnew/router/pns_solid.h
@@ -57,11 +57,11 @@ public:
         return aItem && SOLID_T == aItem->Kind();
     }
 
-    ITEM* Clone() const;
+    ITEM* Clone() const override;
 
     const SHAPE* Shape() const { return m_shape; }
 
-    const SHAPE_LINE_CHAIN Hull( int aClearance = 0, int aWalkaroundThickness = 0 ) const;
+    const SHAPE_LINE_CHAIN Hull( int aClearance = 0, int aWalkaroundThickness = 0 ) const override;
 
     void SetShape( SHAPE* shape )
     {
diff --git a/pcbnew/router/pns_tool_base.h b/pcbnew/router/pns_tool_base.h
index fea4c0f..96ab237 100644
--- a/pcbnew/router/pns_tool_base.h
+++ b/pcbnew/router/pns_tool_base.h
@@ -49,7 +49,7 @@ public:
     TOOL_BASE( const std::string& aToolName );
     virtual ~TOOL_BASE();
 
-    virtual void Reset( RESET_REASON aReason );
+    virtual void Reset( RESET_REASON aReason ) override;
 
     const ROUTING_SETTINGS& PNSSettings() const
     {
diff --git a/pcbnew/router/pns_via.h b/pcbnew/router/pns_via.h
index bf7e9f1..79eaa09 100644
--- a/pcbnew/router/pns_via.h
+++ b/pcbnew/router/pns_via.h
@@ -138,9 +138,9 @@ public:
         return &m_shape;
     }
 
-    VIA* Clone() const;
+    VIA* Clone() const override;
 
-    const SHAPE_LINE_CHAIN Hull( int aClearance = 0, int aWalkaroundThickness = 0 ) const;
+    const SHAPE_LINE_CHAIN Hull( int aClearance = 0, int aWalkaroundThickness = 0 ) const override;
 
     virtual VECTOR2I Anchor( int n ) const
     {
diff --git a/pcbnew/router/router_preview_item.h b/pcbnew/router/router_preview_item.h
index 33f211c..d24243c 100644
--- a/pcbnew/router/router_preview_item.h
+++ b/pcbnew/router/router_preview_item.h
@@ -78,7 +78,7 @@ public:
     }
 
 #if defined(DEBUG)
-    void Show( int aA, std::ostream& aB ) const {};
+    void Show( int aA, std::ostream& aB ) const override {}
 #endif
 
     /** Get class name
@@ -89,9 +89,9 @@ public:
         return wxT( "ROUTER_PREVIEW_ITEM" );
     }
 
-    const BOX2I ViewBBox() const;
+    const BOX2I ViewBBox() const override;
 
-    virtual void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const;
+    virtual void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const override;
 
     virtual void ViewGetLayers( int aLayers[], int& aCount ) const
     {
diff --git a/pcbnew/router/router_tool.h b/pcbnew/router/router_tool.h
index 95d0cdd..5191e9f 100644
--- a/pcbnew/router/router_tool.h
+++ b/pcbnew/router/router_tool.h
@@ -31,8 +31,8 @@ public:
     ROUTER_TOOL();
     ~ROUTER_TOOL();
 
-    bool Init();
-    void Reset( RESET_REASON aReason );
+    bool Init() override;
+    void Reset( RESET_REASON aReason ) override;
 
     int RouteSingleTrace ( const TOOL_EVENT& aEvent );
     int RouteDiffPair ( const TOOL_EVENT& aEvent );
diff --git a/pcbnew/sel_layer.cpp b/pcbnew/sel_layer.cpp
index b32b032..0d56cc5 100644
--- a/pcbnew/sel_layer.cpp
+++ b/pcbnew/sel_layer.cpp
@@ -94,8 +94,8 @@ public:
 
 private:
     // Event handlers
-    void OnLeftGridCellClick( wxGridEvent& event );
-    void OnRightGridCellClick( wxGridEvent& event );
+    void OnLeftGridCellClick( wxGridEvent& event ) override;
+    void OnRightGridCellClick( wxGridEvent& event ) override;
 
     void buildList();
 };
@@ -264,8 +264,8 @@ public:
     }
 
 private:
-    void OnLeftGridCellClick( wxGridEvent& event );
-    void OnRightGridCellClick( wxGridEvent& event );
+    void OnLeftGridCellClick( wxGridEvent& event ) override;
+    void OnRightGridCellClick( wxGridEvent& event ) override;
 
     void OnOkClick( wxCommandEvent& event )
     {
diff --git a/pcbnew/specctra.h b/pcbnew/specctra.h
index 723575e..f24c94b 100644
--- a/pcbnew/specctra.h
+++ b/pcbnew/specctra.h
@@ -293,7 +293,7 @@ public:
     {
     }
 
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR );
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override;
 
 
     //-----< list operations >--------------------------------------------
@@ -389,7 +389,7 @@ public:
 
     PARSER( ELEM* aParent );
 
-    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR );
+    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override;
 };
 
 
@@ -423,7 +423,7 @@ public:
     DSN_T   GetEngUnits() const  { return units; }
     int     GetValue() const  { return value; }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( type == T_unit )
             out->Print( nestLevel, "(%s %s)\n", Name(),
@@ -469,7 +469,7 @@ public:
     POINT GetOrigin() { return point0; }
     POINT GetEnd() { return point1; }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* newline = nestLevel ? "\n" : "";
 
@@ -502,7 +502,7 @@ public:
     {
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s", Name() );
 
@@ -548,7 +548,7 @@ public:
         delete rule;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s", Name() );
 
@@ -609,7 +609,7 @@ public:
         aperture_width = aWidth;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* newline = nestLevel ? "\n" : "";
 
@@ -702,7 +702,7 @@ public:
     }
 
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s\n", Name() );
 
@@ -735,7 +735,7 @@ public:
         diameter = 0.0;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* newline = nestLevel ? "\n" : "";
 
@@ -782,7 +782,7 @@ public:
         aperture_width = 0.0;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* newline = nestLevel ? "\n" : "";
 
@@ -864,7 +864,7 @@ public:
         }
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s ", Name() );
 
@@ -947,7 +947,7 @@ public:
         windows.push_back( aWindow );
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* newline = "\n";
 
@@ -1024,7 +1024,7 @@ public:
         padstacks.push_back( aViaName );
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const int RIGHTMARGIN = 80;
         int perLine = out->Print( nestLevel, "(%s", Name() );
@@ -1078,7 +1078,7 @@ public:
     {
     }
 
-    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         for( STRINGS::iterator i=class_ids.begin();  i!=class_ids.end();  ++i )
         {
@@ -1117,7 +1117,7 @@ public:
         delete classes;
     }
 
-    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( classes )
             classes->Format( out, nestLevel );
@@ -1147,7 +1147,7 @@ public:
     {
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s\n", Name() );
 
@@ -1202,7 +1202,7 @@ public:
         delete rules;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( name.c_str() );
 
@@ -1276,7 +1276,7 @@ public:
         layer_weight = 0.0;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote0 = out->GetQuoteChar( layer_id0.c_str() );
         const char* quote1 = out->GetQuoteChar( layer_id1.c_str() );
@@ -1303,7 +1303,7 @@ public:
     {
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s\n", Name() );
 
@@ -1351,7 +1351,7 @@ public:
         value = T_NONE;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s %s)\n", Name(),
                    GetTokenText( value ) );
@@ -1377,7 +1377,7 @@ public:
     {
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( value.c_str() );
 
@@ -1420,7 +1420,7 @@ public:
         delete rules;
     }
 
-    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( region_id.size() )
         {
@@ -1464,7 +1464,7 @@ public:
         image_type= T_NONE;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s %s %.6g",
                    Name(),
@@ -1508,7 +1508,7 @@ public:
         delete rules;
     }
 
-    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         for( LAYERS::iterator i=layers.begin();  i!=layers.end();  ++i )
             i->Format( out, nestLevel );
@@ -1592,7 +1592,7 @@ public:
             place_boundary->SetParent( this );
     }
 
-    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( unit )
             unit->Format( out, nestLevel );
@@ -1639,7 +1639,7 @@ public:
             i->Format( out, nestLevel );
     }
 
-    UNIT_RES* GetUnits() const
+    UNIT_RES* GetUnits() const override
     {
         if( unit )
             return unit;
@@ -1724,7 +1724,7 @@ public:
         rotation = aRotation;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR );
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override;
 };
 typedef boost::ptr_vector<PLACE>    PLACES;
 
@@ -1761,7 +1761,7 @@ public:
      */
 //    static int Compare( IMAGE* lhs, IMAGE* rhs );
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( image_id.c_str() );
         out->Print( nestLevel, "(%s %s%s%s\n", Name(),
@@ -1772,7 +1772,7 @@ public:
         out->Print( nestLevel, ")\n" );
     }
 
-    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         for( PLACES::iterator i=places.begin();  i!=places.end();  ++i )
             i->Format( out, nestLevel );
@@ -1825,7 +1825,7 @@ public:
         return added;
     }
 
-    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( unit )
             unit->Format( out, nestLevel );
@@ -1840,7 +1840,7 @@ public:
             i->Format( out, nestLevel );
     }
 
-    UNIT_RES* GetUnits() const
+    UNIT_RES* GetUnits() const override
     {
         if( unit )
             return unit;
@@ -1891,7 +1891,7 @@ public:
         connect = aConnect;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s ", Name() );
 
@@ -1950,7 +1950,7 @@ public:
         vertex.FixNegativeZero();
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( padstack_id.c_str() );
         if( isRotated )
@@ -2035,7 +2035,7 @@ public:
         return image_id;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         std::string imageId = GetImageId();
 
@@ -2050,7 +2050,7 @@ public:
     }
 
     // this is here for makeHash()
-    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( side != T_both )
             out->Print( 0, " (side %s)", GetTokenText( side ) );
@@ -2077,7 +2077,7 @@ public:
     }
 
 
-    UNIT_RES* GetUnits() const
+    UNIT_RES* GetUnits() const override
     {
         if( unit )
             return unit;
@@ -2150,7 +2150,7 @@ public:
         padstack_id = aPadstackId;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( padstack_id.c_str() );
 
@@ -2164,7 +2164,7 @@ public:
 
 
     // this factored out for use by Compare()
-    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( unit )
             unit->Format( out, nestLevel );
@@ -2198,7 +2198,7 @@ public:
     }
 
 
-    UNIT_RES* GetUnits() const
+    UNIT_RES* GetUnits() const override
     {
         if( unit )
             return unit;
@@ -2393,7 +2393,7 @@ public:
         return NULL;
     }
 
-    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( unit )
             unit->Format( out, nestLevel );
@@ -2408,7 +2408,7 @@ public:
             i->Format( out, nestLevel );
     }
 
-    UNIT_RES* GetUnits() const
+    UNIT_RES* GetUnits() const override
     {
         if( unit )
             return unit;
@@ -2482,7 +2482,7 @@ public:
         delete rules;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         // no quoting on these two, the lexer preserved the quotes on input
         out->Print( nestLevel, "(%s %s %s ",
@@ -2540,7 +2540,7 @@ public:
     {
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s", Name() );
 
@@ -2623,7 +2623,7 @@ public:
         return -1;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( net_id.c_str() );
         const char* space = " ";
@@ -2700,7 +2700,7 @@ public:
     {
     }
 
-    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         for( FROMTOS::iterator i=fromtos.begin();  i!=fromtos.end();  ++i )
             i->Format( out, nestLevel );
@@ -2747,7 +2747,7 @@ public:
     }
 
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( class_id.c_str() );
 
@@ -2816,7 +2816,7 @@ public:
     {
     }
 
-    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         for( NETS::iterator i=nets.begin();  i!=nets.end();  ++i )
             i->Format( out, nestLevel );
@@ -2897,7 +2897,7 @@ public:
         }
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s ", Name() );
 
@@ -2981,7 +2981,7 @@ public:
         return padstack_id;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( padstack_id.c_str() );
 
@@ -3107,7 +3107,7 @@ public:
         delete unit;
     }
 
-    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( unit )
             unit->Format( out, nestLevel );
@@ -3119,7 +3119,7 @@ public:
             i->Format( out, nestLevel );
     }
 
-    UNIT_RES*  GetUnits() const
+    UNIT_RES*  GetUnits() const override
     {
         if( unit )
             return unit;
@@ -3170,7 +3170,7 @@ public:
         delete wiring;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( pcbname.c_str() );
 
@@ -3204,7 +3204,7 @@ public:
         out->Print( nestLevel, ")\n" );
     }
 
-    UNIT_RES*  GetUnits() const
+    UNIT_RES*  GetUnits() const override
     {
         if( unit )
             return unit;
@@ -3233,7 +3233,7 @@ public:
         time_stamp = time(NULL);
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         char    temp[80];
         struct  tm* tmp;
@@ -3277,7 +3277,7 @@ public:
         time_stamp = time(NULL);
     }
 
-    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         for( ANCESTORS::iterator i=ancestors.begin();  i!=ancestors.end();  ++i )
             i->Format( out, nestLevel );
@@ -3320,7 +3320,7 @@ public:
     {
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         bool singleLine = pin_refs.size() <= 1;
         out->Print( nestLevel, "(%s", Name() );
@@ -3379,7 +3379,7 @@ public:
         delete rules;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( net_id.c_str() );
 
@@ -3438,7 +3438,7 @@ public:
 //        delete test_points;
     }
 
-    UNIT_RES*  GetUnits() const
+    UNIT_RES*  GetUnits() const override
     {
         if( resolution )
             return resolution;
@@ -3446,7 +3446,7 @@ public:
         return ELEM::GetUnits();
     }
 
-    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( resolution )
             resolution->Format( out, nestLevel );
@@ -3509,7 +3509,7 @@ public:
     {
     }
 
-    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         for( PIN_PAIRS::iterator i=pin_pairs.begin();  i!=pin_pairs.end();  ++i )
         {
@@ -3566,7 +3566,7 @@ public:
         delete route;
     }
 
-    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( session_id.c_str() );
         out->Print( nestLevel, "(%s %s%s%s\n", Name(),
diff --git a/pcbnew/target_edit.cpp b/pcbnew/target_edit.cpp
index 4e73ba3..0765803 100644
--- a/pcbnew/target_edit.cpp
+++ b/pcbnew/target_edit.cpp
@@ -75,8 +75,8 @@ public:
     ~TARGET_PROPERTIES_DIALOG_EDITOR() { }
 
 private:
-    void OnOkClick( wxCommandEvent& event );
-    void OnCancelClick( wxCommandEvent& event );
+    void OnOkClick( wxCommandEvent& event ) override;
+    void OnCancelClick( wxCommandEvent& event ) override;
 };
 
 
diff --git a/pcbnew/tools/bright_box.h b/pcbnew/tools/bright_box.h
index fc9aeee..44c448e 100644
--- a/pcbnew/tools/bright_box.h
+++ b/pcbnew/tools/bright_box.h
@@ -47,7 +47,7 @@ public:
         return m_item->ViewBBox();
     }
 
-    void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const;
+    void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const override;
 
     void ViewGetLayers( int aLayers[], int& aCount ) const
     {
diff --git a/pcbnew/tools/drawing_tool.h b/pcbnew/tools/drawing_tool.h
index dbf9aa6..c4945cd 100644
--- a/pcbnew/tools/drawing_tool.h
+++ b/pcbnew/tools/drawing_tool.h
@@ -50,7 +50,7 @@ public:
     ~DRAWING_TOOL();
 
     /// @copydoc TOOL_INTERACTIVE::Reset()
-    void Reset( RESET_REASON aReason );
+    void Reset( RESET_REASON aReason ) override;
 
     /**
      * Function DrawLine()
@@ -122,7 +122,7 @@ public:
     int SetAnchor( const TOOL_EVENT& aEvent );
 
     ///> Sets up handlers for various events.
-    void SetTransitions();
+    void SetTransitions() override;
 
 private:
     ///> Starts drawing a selected shape (i.e. DRAWSEGMENT).
diff --git a/pcbnew/tools/edit_constraints.h b/pcbnew/tools/edit_constraints.h
index a1744d3..a244b15 100644
--- a/pcbnew/tools/edit_constraints.h
+++ b/pcbnew/tools/edit_constraints.h
@@ -92,7 +92,7 @@ public:
     {}
 
     ///> @copydoc EDIT_CONSTRAINT::Apply()
-    virtual void Apply( EDIT_POINT& aHandle );
+    virtual void Apply( EDIT_POINT& aHandle ) override;
 
 private:
     const EDIT_POINT& m_constrainer;      ///< Point that imposes the constraint.
@@ -118,7 +118,7 @@ public:
     {}
 
     ///> @copydoc EDIT_CONSTRAINT::Apply()
-    virtual void Apply( EDIT_POINT& aHandle );
+    virtual void Apply( EDIT_POINT& aHandle ) override;
 
 private:
     const EDIT_POINT& m_constrainer;    ///< Point that imposes the constraint.
@@ -145,7 +145,7 @@ public:
     {}
 
     ///> @copydoc EDIT_CONSTRAINT::Apply()
-    virtual void Apply( EDIT_POINT& aHandle );
+    virtual void Apply( EDIT_POINT& aHandle ) override;
 
 private:
     const EDIT_POINT& m_constrainer;    ///< Point that imposes the constraint.
@@ -164,7 +164,7 @@ public:
     EC_LINE( EDIT_POINT& aConstrained, const EDIT_POINT& aConstrainer );
 
     ///> @copydoc EDIT_CONSTRAINT::Apply()
-    virtual void Apply( EDIT_POINT& aHandle );
+    virtual void Apply( EDIT_POINT& aHandle ) override;
 
 private:
     const EDIT_POINT& m_constrainer;    ///< Point that imposes the constraint.
@@ -192,7 +192,7 @@ public:
     {}
 
     ///> @copydoc EDIT_CONSTRAINT::Apply()
-    virtual void Apply( EDIT_POINT& aHandle );
+    virtual void Apply( EDIT_POINT& aHandle ) override;
 
 private:
     ///> Point that imposes the constraint (center of the circle).
@@ -217,7 +217,7 @@ public:
     virtual ~EC_CONVERGING();
 
     ///> @copydoc EDIT_CONSTRAINT::Apply()
-    virtual void Apply( EDIT_LINE& aHandle );
+    virtual void Apply( EDIT_LINE& aHandle ) override;
 
 private:
     ///> Constraint for origin side segment.
@@ -257,7 +257,7 @@ public:
     {}
 
     ///> @copydoc EDIT_CONSTRAINT::Apply()
-    virtual void Apply( EDIT_LINE& aHandle );
+    virtual void Apply( EDIT_LINE& aHandle ) override;
 
 private:
     ///> Function that determines snapping point.
diff --git a/pcbnew/tools/edit_points.h b/pcbnew/tools/edit_points.h
index b1d8166..3ff87f6 100644
--- a/pcbnew/tools/edit_points.h
+++ b/pcbnew/tools/edit_points.h
@@ -498,7 +498,7 @@ public:
     }
 
     ///> @copydoc VIEW_ITEM::ViewDraw()
-    virtual void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const;
+    virtual void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const override;
 
     ///> @copydoc VIEW_ITEM::ViewGetLayers()
     virtual void ViewGetLayers( int aLayers[], int& aCount ) const
diff --git a/pcbnew/tools/edit_tool.h b/pcbnew/tools/edit_tool.h
index 640caf5..0a4ca6e 100644
--- a/pcbnew/tools/edit_tool.h
+++ b/pcbnew/tools/edit_tool.h
@@ -52,10 +52,10 @@ public:
     EDIT_TOOL();
 
     /// @copydoc TOOL_INTERACTIVE::Reset()
-    void Reset( RESET_REASON aReason );
+    void Reset( RESET_REASON aReason ) override;
 
     /// @copydoc TOOL_INTERACTIVE::Init()
-    bool Init();
+    bool Init() override;
 
     /**
      * Function Main()
@@ -117,7 +117,7 @@ public:
 
 
     ///> Sets up handlers for various events.
-    void SetTransitions();
+    void SetTransitions() override;
 
 private:
     ///> Selection tool used for obtaining selected items
diff --git a/pcbnew/tools/module_tools.h b/pcbnew/tools/module_tools.h
index b2178ba..584c49f 100644
--- a/pcbnew/tools/module_tools.h
+++ b/pcbnew/tools/module_tools.h
@@ -48,10 +48,10 @@ public:
     ~MODULE_TOOLS();
 
     /// @copydoc TOOL_INTERACTIVE::Reset()
-    void Reset( RESET_REASON aReason );
+    void Reset( RESET_REASON aReason ) override;
 
     /// @copydoc TOOL_INTERACTIVE::Init()
-    bool Init();
+    bool Init() override;
 
     /**
      * Function PlacePad()
@@ -101,7 +101,7 @@ public:
     int ModuleEdgeOutlines( const TOOL_EVENT& aEvent );
 
     ///> Sets up handlers for various events.
-    void SetTransitions();
+    void SetTransitions() override;
 
 private:
     KIGFX::VIEW* m_view;
diff --git a/pcbnew/tools/pcb_editor_control.h b/pcbnew/tools/pcb_editor_control.h
index c7119d8..bbf99e7 100644
--- a/pcbnew/tools/pcb_editor_control.h
+++ b/pcbnew/tools/pcb_editor_control.h
@@ -47,10 +47,10 @@ public:
     ~PCB_EDITOR_CONTROL();
 
     /// @copydoc TOOL_INTERACTIVE::Reset()
-    void Reset( RESET_REASON aReason );
+    void Reset( RESET_REASON aReason ) override;
 
     /// @copydoc TOOL_INTERACTIVE::Init()
-    bool Init();
+    bool Init() override;
 
     // Track & via size control
     int TrackWidthInc( const TOOL_EVENT& aEvent );
@@ -102,7 +102,7 @@ public:
     int HighlightNetCursor( const TOOL_EVENT& aEvent );
 
     ///> Sets up handlers for various events.
-    void SetTransitions();
+    void SetTransitions() override;
 
 private:
     ///> Pointer to the currently used edit frame.
diff --git a/pcbnew/tools/pcbnew_control.h b/pcbnew/tools/pcbnew_control.h
index 1117b77..6fcc12f 100644
--- a/pcbnew/tools/pcbnew_control.h
+++ b/pcbnew/tools/pcbnew_control.h
@@ -45,7 +45,7 @@ public:
     ~PCBNEW_CONTROL();
 
     /// @copydoc TOOL_INTERACTIVE::Reset()
-    void Reset( RESET_REASON aReason );
+    void Reset( RESET_REASON aReason ) override;
 
     // View controls
     int ZoomInOut( const TOOL_EVENT& aEvent );
@@ -93,7 +93,7 @@ public:
     int ToBeDone( const TOOL_EVENT& aEvent );
 
     ///> Sets up handlers for various events.
-    void SetTransitions();
+    void SetTransitions() override;
 
 private:
     ///> Pointer to the currently used edit frame.
diff --git a/pcbnew/tools/picker_tool.h b/pcbnew/tools/picker_tool.h
index 6512d95..e0afc27 100644
--- a/pcbnew/tools/picker_tool.h
+++ b/pcbnew/tools/picker_tool.h
@@ -99,7 +99,7 @@ public:
     }
 
     ///> @copydoc TOOL_INTERACTIVE::SetTransitions();
-    void SetTransitions();
+    void SetTransitions() override;
 
 private:
     // Tool settings.
diff --git a/pcbnew/tools/placement_tool.h b/pcbnew/tools/placement_tool.h
index db8ec92..e5f51a6 100644
--- a/pcbnew/tools/placement_tool.h
+++ b/pcbnew/tools/placement_tool.h
@@ -36,10 +36,10 @@ public:
     virtual ~PLACEMENT_TOOL();
 
     /// @copydoc TOOL_INTERACTIVE::Reset()
-    void Reset( RESET_REASON aReason ) {};
+    void Reset( RESET_REASON aReason ) override {}
 
     /// @copydoc TOOL_INTERACTIVE::Init()
-    bool Init();
+    bool Init() override;
 
     /**
      * Function AlignTop()
@@ -78,7 +78,7 @@ public:
     int DistributeVertically( const TOOL_EVENT& aEvent );
 
     ///> Sets up handlers for various events.
-    void SetTransitions();
+    void SetTransitions() override;
 
 private:
     SELECTION_TOOL* m_selectionTool;
diff --git a/pcbnew/tools/point_editor.h b/pcbnew/tools/point_editor.h
index eb43e1b..2dbe133 100644
--- a/pcbnew/tools/point_editor.h
+++ b/pcbnew/tools/point_editor.h
@@ -44,10 +44,10 @@ public:
     POINT_EDITOR();
 
     /// @copydoc TOOL_INTERACTIVE::Reset()
-    void Reset( RESET_REASON aReason );
+    void Reset( RESET_REASON aReason ) override;
 
     /// @copydoc TOOL_INTERACTIVE::Init()
-    bool Init();
+    bool Init() override;
 
     /**
      * Function OnSelected()
@@ -57,7 +57,7 @@ public:
     int OnSelectionChange( const TOOL_EVENT& aEvent );
 
     ///> Sets up handlers for various events.
-    void SetTransitions();
+    void SetTransitions() override;
 
 private:
     ///> Selection tool used for obtaining selected items
diff --git a/pcbnew/tools/selection_area.h b/pcbnew/tools/selection_area.h
index 737e7be..67b0503 100644
--- a/pcbnew/tools/selection_area.h
+++ b/pcbnew/tools/selection_area.h
@@ -47,11 +47,11 @@ public:
     SELECTION_AREA();
     ~SELECTION_AREA() {};
 
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
-    void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const;
+    void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const override;
 
-    void ViewGetLayers( int aLayers[], int& aCount ) const;
+    void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
     void SetOrigin( VECTOR2I aOrigin )
     {
diff --git a/pcbnew/tools/selection_tool.h b/pcbnew/tools/selection_tool.h
index 508d35f..da3b9c6 100644
--- a/pcbnew/tools/selection_tool.h
+++ b/pcbnew/tools/selection_tool.h
@@ -118,10 +118,10 @@ public:
     ~SELECTION_TOOL();
 
     /// @copydoc TOOL_BASE::Init()
-    bool Init();
+    bool Init() override;
 
     /// @copydoc TOOL_BASE::Reset()
-    void Reset( RESET_REASON aReason );
+    void Reset( RESET_REASON aReason ) override;
 
     /**
      * Function Main()
@@ -171,7 +171,7 @@ public:
     static const TOOL_EVENT ClearedEvent;
 
     ///> Sets up handlers for various events.
-    void SetTransitions();
+    void SetTransitions() override;
 
 private:
     /**
diff --git a/pcbnew/tools/zoom_tool.h b/pcbnew/tools/zoom_tool.h
index ca9842e..30ca304 100644
--- a/pcbnew/tools/zoom_tool.h
+++ b/pcbnew/tools/zoom_tool.h
@@ -32,13 +32,13 @@ public:
     ~ZOOM_TOOL();
 
     /// @copydoc TOOL_BASE::Reset()
-    void Reset( RESET_REASON aReason );
+    void Reset( RESET_REASON aReason ) override;
 
     /// Main loop
     int Main( const TOOL_EVENT& aEvent );
 
     /// @copydoc TOOL_BASE::SetTransitions()
-    void SetTransitions();
+    void SetTransitions() override;
 
 private:
     bool selectRegion();
diff --git a/pcbnew/xchgmod.cpp b/pcbnew/xchgmod.cpp
index 87f9834..a4e59a4 100644
--- a/pcbnew/xchgmod.cpp
+++ b/pcbnew/xchgmod.cpp
@@ -62,12 +62,12 @@ public:
     ~DIALOG_EXCHANGE_MODULE() { };
 
 private:
-    void OnSelectionClicked( wxCommandEvent& event );
-    void OnOkClick( wxCommandEvent& event );
-    void OnQuit( wxCommandEvent& event );
-    void BrowseAndSelectFootprint( wxCommandEvent& event );
-    void ViewAndSelectFootprint( wxCommandEvent& event );
-    void RebuildCmpList( wxCommandEvent& event );
+    void OnSelectionClicked( wxCommandEvent& event ) override;
+    void OnOkClick( wxCommandEvent& event ) override;
+    void OnQuit( wxCommandEvent& event ) override;
+    void BrowseAndSelectFootprint( wxCommandEvent& event ) override;
+    void ViewAndSelectFootprint( wxCommandEvent& event ) override;
+    void RebuildCmpList( wxCommandEvent& event ) override;
     void init();
 
     bool changeCurrentFootprint();
diff --git a/plugins/3d/vrml/v1/vrml1_base.h b/plugins/3d/vrml/v1/vrml1_base.h
index 195fd6a..fe93ef4 100644
--- a/plugins/3d/vrml/v1/vrml1_base.h
+++ b/plugins/3d/vrml/v1/vrml1_base.h
@@ -70,13 +70,13 @@ public:
     bool ReadNode( WRLPROC& proc, WRL1NODE* aParent, WRL1NODE** aNode );
 
     // overrides
-    virtual std::string GetName( void );
-    virtual bool SetName( const std::string& aName );
+    virtual std::string GetName( void ) override;
+    virtual bool SetName( const std::string& aName ) override;
 
     // functions inherited from WRL1NODE
-    bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    bool SetParent( WRL1NODE* aParent, bool doUnlink = true );
-    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    bool SetParent( WRL1NODE* aParent, bool doUnlink = true ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 };
 
 #endif  // VRML1_BASE_H
diff --git a/plugins/3d/vrml/v1/vrml1_coords.h b/plugins/3d/vrml/v1/vrml1_coords.h
index 7b23860..6f190e5 100644
--- a/plugins/3d/vrml/v1/vrml1_coords.h
+++ b/plugins/3d/vrml/v1/vrml1_coords.h
@@ -50,10 +50,10 @@ public:
     virtual ~WRL1COORDS();
 
     // functions inherited from WRL1NODE
-    bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    bool AddRefNode( WRL1NODE* aNode );
-    bool AddChildNode( WRL1NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    bool AddRefNode( WRL1NODE* aNode ) override;
+    bool AddChildNode( WRL1NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 
     void GetCoords( WRLVEC3F*& aCoordList, size_t& aListSize );
 };
diff --git a/plugins/3d/vrml/v1/vrml1_faceset.h b/plugins/3d/vrml/v1/vrml1_faceset.h
index f077a89..0d96d32 100644
--- a/plugins/3d/vrml/v1/vrml1_faceset.h
+++ b/plugins/3d/vrml/v1/vrml1_faceset.h
@@ -53,10 +53,10 @@ public:
     virtual ~WRL1FACESET();
 
     // functions inherited from WRL1NODE
-    bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    bool AddRefNode( WRL1NODE* aNode );
-    bool AddChildNode( WRL1NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    bool AddRefNode( WRL1NODE* aNode ) override;
+    bool AddChildNode( WRL1NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 };
 
 #endif  // VRML1_FACESET_H
diff --git a/plugins/3d/vrml/v1/vrml1_group.h b/plugins/3d/vrml/v1/vrml1_group.h
index fa0957a..efa8a1c 100644
--- a/plugins/3d/vrml/v1/vrml1_group.h
+++ b/plugins/3d/vrml/v1/vrml1_group.h
@@ -45,8 +45,8 @@ public:
     virtual ~WRL1GROUP();
 
     // functions inherited from WRL1NODE
-    bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 };
 
 #endif  // VRML1_GROUP_H
diff --git a/plugins/3d/vrml/v1/vrml1_matbinding.h b/plugins/3d/vrml/v1/vrml1_matbinding.h
index 0eea9da..778b5b6 100644
--- a/plugins/3d/vrml/v1/vrml1_matbinding.h
+++ b/plugins/3d/vrml/v1/vrml1_matbinding.h
@@ -49,10 +49,10 @@ public:
     virtual ~WRL1MATBINDING();
 
     // functions inherited from WRL1NODE
-    bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    bool AddRefNode( WRL1NODE* aNode );
-    bool AddChildNode( WRL1NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    bool AddRefNode( WRL1NODE* aNode ) override;
+    bool AddChildNode( WRL1NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 };
 
 #endif  // VRML1_MATBINDING_H
diff --git a/plugins/3d/vrml/v1/vrml1_material.h b/plugins/3d/vrml/v1/vrml1_material.h
index 50facb1..9ee9de4 100644
--- a/plugins/3d/vrml/v1/vrml1_material.h
+++ b/plugins/3d/vrml/v1/vrml1_material.h
@@ -60,10 +60,10 @@ public:
     virtual ~WRL1MATERIAL();
 
     // functions inherited from WRL1NODE
-    bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    bool AddRefNode( WRL1NODE* aNode );
-    bool AddChildNode( WRL1NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    bool AddRefNode( WRL1NODE* aNode ) override;
+    bool AddChildNode( WRL1NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 
     /**
      * Function GetAppearance
diff --git a/plugins/3d/vrml/v1/vrml1_separator.h b/plugins/3d/vrml/v1/vrml1_separator.h
index 3e6b3ac..907f369 100644
--- a/plugins/3d/vrml/v1/vrml1_separator.h
+++ b/plugins/3d/vrml/v1/vrml1_separator.h
@@ -45,8 +45,8 @@ public:
     virtual ~WRL1SEPARATOR();
 
     // functions inherited from WRL1NODE
-    bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 };
 
 #endif  // VRML1_SEPARATOR_H
diff --git a/plugins/3d/vrml/v1/vrml1_shapehints.h b/plugins/3d/vrml/v1/vrml1_shapehints.h
index f6cd9f2..8379777 100644
--- a/plugins/3d/vrml/v1/vrml1_shapehints.h
+++ b/plugins/3d/vrml/v1/vrml1_shapehints.h
@@ -50,10 +50,10 @@ public:
     virtual ~WRL1SHAPEHINTS();
 
     // functions inherited from WRL1NODE
-    bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    bool AddRefNode( WRL1NODE* aNode );
-    bool AddChildNode( WRL1NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    bool AddRefNode( WRL1NODE* aNode ) override;
+    bool AddChildNode( WRL1NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 };
 
 #endif  // VRML1_SHAPEHINTS_H
diff --git a/plugins/3d/vrml/v1/vrml1_switch.h b/plugins/3d/vrml/v1/vrml1_switch.h
index 605adfe..628eb3b 100644
--- a/plugins/3d/vrml/v1/vrml1_switch.h
+++ b/plugins/3d/vrml/v1/vrml1_switch.h
@@ -48,8 +48,8 @@ public:
     virtual ~WRL1SWITCH();
 
     // functions inherited from WRL1NODE
-    bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 };
 
 #endif  // VRML1_SWITCH_H
diff --git a/plugins/3d/vrml/v1/vrml1_transform.h b/plugins/3d/vrml/v1/vrml1_transform.h
index abf724b..3654b02 100644
--- a/plugins/3d/vrml/v1/vrml1_transform.h
+++ b/plugins/3d/vrml/v1/vrml1_transform.h
@@ -52,10 +52,10 @@ public:
     virtual ~WRL1TRANSFORM();
 
     // functions inherited from WRL1NODE
-    bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    bool AddRefNode( WRL1NODE* aNode );
-    bool AddChildNode( WRL1NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    bool AddRefNode( WRL1NODE* aNode ) override;
+    bool AddChildNode( WRL1NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 };
 
 #endif  // VRML1_TRANSFORM_H
diff --git a/plugins/3d/vrml/v2/vrml2_appearance.h b/plugins/3d/vrml/v2/vrml2_appearance.h
index 637e59c..fa23b91 100644
--- a/plugins/3d/vrml/v2/vrml2_appearance.h
+++ b/plugins/3d/vrml/v2/vrml2_appearance.h
@@ -51,13 +51,13 @@ private:
     bool checkNodeType( WRL2NODES aType );
 
     // overloads
-    void unlinkChildNode( const WRL2NODE* aNode );
-    void unlinkRefNode( const WRL2NODE* aNode );
+    void unlinkChildNode( const WRL2NODE* aNode ) override;
+    void unlinkRefNode( const WRL2NODE* aNode ) override;
 
 public:
 
     // functions inherited from WRL2NODE
-    bool isDangling( void );
+    bool isDangling( void ) override;
 
 public:
     WRL2APPEARANCE();
@@ -65,10 +65,10 @@ public:
     virtual ~WRL2APPEARANCE();
 
     // functions inherited from WRL2NODE
-    bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    bool AddRefNode( WRL2NODE* aNode );
-    bool AddChildNode( WRL2NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    bool AddRefNode( WRL2NODE* aNode ) override;
+    bool AddChildNode( WRL2NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_APPEARANCE_H
diff --git a/plugins/3d/vrml/v2/vrml2_base.h b/plugins/3d/vrml/v2/vrml2_base.h
index edfd818..f3f3a98 100644
--- a/plugins/3d/vrml/v2/vrml2_base.h
+++ b/plugins/3d/vrml/v2/vrml2_base.h
@@ -85,7 +85,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    bool isDangling( void );
+    bool isDangling( void ) override;
 
 public:
     WRL2BASE();
@@ -105,13 +105,13 @@ public:
     bool ReadNode( WRLPROC& proc, WRL2NODE* aParent, WRL2NODE** aNode );
 
     // overrides
-    virtual std::string GetName( void );
-    virtual bool SetName( const std::string& aName );
+    virtual std::string GetName( void ) override;
+    virtual bool SetName( const std::string& aName ) override;
 
     // functions inherited from WRL2NODE
-    bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    bool SetParent( WRL2NODE* aParent, bool doUnlink = true );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    bool SetParent( WRL2NODE* aParent, bool doUnlink = true ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_BASE_H
diff --git a/plugins/3d/vrml/v2/vrml2_box.h b/plugins/3d/vrml/v2/vrml2_box.h
index 3e4f175..29df95b 100644
--- a/plugins/3d/vrml/v2/vrml2_box.h
+++ b/plugins/3d/vrml/v2/vrml2_box.h
@@ -45,7 +45,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    bool isDangling( void );
+    bool isDangling( void ) override;
 
 public:
     WRL2BOX();
@@ -53,10 +53,10 @@ public:
     virtual ~WRL2BOX();
 
     // functions inherited from WRL2NODE
-    bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    bool AddRefNode( WRL2NODE* aNode );
-    bool AddChildNode( WRL2NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    bool AddRefNode( WRL2NODE* aNode ) override;
+    bool AddChildNode( WRL2NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_BOX_H
diff --git a/plugins/3d/vrml/v2/vrml2_color.h b/plugins/3d/vrml/v2/vrml2_color.h
index 4792a14..7e18479 100644
--- a/plugins/3d/vrml/v2/vrml2_color.h
+++ b/plugins/3d/vrml/v2/vrml2_color.h
@@ -47,7 +47,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    bool isDangling( void );
+    bool isDangling( void ) override;
 
 public:
     WRL2COLOR();
@@ -55,10 +55,10 @@ public:
     virtual ~WRL2COLOR();
 
     // functions inherited from WRL2NODE
-    bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    bool AddRefNode( WRL2NODE* aNode );
-    bool AddChildNode( WRL2NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    bool AddRefNode( WRL2NODE* aNode ) override;
+    bool AddChildNode( WRL2NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 
     /**
      * Function HasColors
diff --git a/plugins/3d/vrml/v2/vrml2_coords.h b/plugins/3d/vrml/v2/vrml2_coords.h
index 61c57af..deeed07 100644
--- a/plugins/3d/vrml/v2/vrml2_coords.h
+++ b/plugins/3d/vrml/v2/vrml2_coords.h
@@ -47,7 +47,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    bool isDangling( void );
+    bool isDangling( void ) override;
 
 public:
     WRL2COORDS();
@@ -55,10 +55,10 @@ public:
     virtual ~WRL2COORDS();
 
     // functions inherited from WRL2NODE
-    bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    bool AddRefNode( WRL2NODE* aNode );
-    bool AddChildNode( WRL2NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    bool AddRefNode( WRL2NODE* aNode ) override;
+    bool AddChildNode( WRL2NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 
     void GetCoords( WRLVEC3F*& aCoordList, size_t& aListSize );
 };
diff --git a/plugins/3d/vrml/v2/vrml2_faceset.h b/plugins/3d/vrml/v2/vrml2_faceset.h
index c7f7044..78b395a 100644
--- a/plugins/3d/vrml/v2/vrml2_faceset.h
+++ b/plugins/3d/vrml/v2/vrml2_faceset.h
@@ -72,12 +72,12 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    bool isDangling( void );
+    bool isDangling( void ) override;
 
 
     // overloads
-    void unlinkChildNode( const WRL2NODE* aNode );
-    void unlinkRefNode( const WRL2NODE* aNode );
+    void unlinkChildNode( const WRL2NODE* aNode ) override;
+    void unlinkRefNode( const WRL2NODE* aNode ) override;
 
 public:
     WRL2FACESET();
@@ -85,10 +85,10 @@ public:
     virtual ~WRL2FACESET();
 
     // functions inherited from WRL2NODE
-    bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    bool AddRefNode( WRL2NODE* aNode );
-    bool AddChildNode( WRL2NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    bool AddRefNode( WRL2NODE* aNode ) override;
+    bool AddChildNode( WRL2NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 
     /**
      * Function HasColors
diff --git a/plugins/3d/vrml/v2/vrml2_inline.h b/plugins/3d/vrml/v2/vrml2_inline.h
index d12293a..aa1e208 100644
--- a/plugins/3d/vrml/v2/vrml2_inline.h
+++ b/plugins/3d/vrml/v2/vrml2_inline.h
@@ -48,7 +48,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    bool isDangling( void );
+    bool isDangling( void ) override;
 
 public:
     WRL2INLINE();
@@ -56,10 +56,10 @@ public:
     virtual ~WRL2INLINE();
 
     // functions inherited from WRL2NODE
-    bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    bool AddRefNode( WRL2NODE* aNode );
-    bool AddChildNode( WRL2NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    bool AddRefNode( WRL2NODE* aNode ) override;
+    bool AddChildNode( WRL2NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_INLINE_H
diff --git a/plugins/3d/vrml/v2/vrml2_lineset.h b/plugins/3d/vrml/v2/vrml2_lineset.h
index 509c4f8..01e5551 100644
--- a/plugins/3d/vrml/v2/vrml2_lineset.h
+++ b/plugins/3d/vrml/v2/vrml2_lineset.h
@@ -61,12 +61,12 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    bool isDangling( void );
+    bool isDangling( void ) override;
 
 
     // overloads
-    void unlinkChildNode( const WRL2NODE* aNode );
-    void unlinkRefNode( const WRL2NODE* aNode );
+    void unlinkChildNode( const WRL2NODE* aNode ) override;
+    void unlinkRefNode( const WRL2NODE* aNode ) override;
 
 public:
     WRL2LINESET();
@@ -74,10 +74,10 @@ public:
     virtual ~WRL2LINESET();
 
     // functions inherited from WRL2NODE
-    bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    bool AddRefNode( WRL2NODE* aNode );
-    bool AddChildNode( WRL2NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    bool AddRefNode( WRL2NODE* aNode ) override;
+    bool AddChildNode( WRL2NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 
     /**
      * Function HasColors
diff --git a/plugins/3d/vrml/v2/vrml2_material.h b/plugins/3d/vrml/v2/vrml2_material.h
index c3daa1f..e7ab547 100644
--- a/plugins/3d/vrml/v2/vrml2_material.h
+++ b/plugins/3d/vrml/v2/vrml2_material.h
@@ -52,7 +52,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    bool isDangling( void );
+    bool isDangling( void ) override;
 
 public:
     WRL2MATERIAL();
@@ -60,10 +60,10 @@ public:
     virtual ~WRL2MATERIAL();
 
     // functions inherited from WRL2NODE
-    bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    bool AddRefNode( WRL2NODE* aNode );
-    bool AddChildNode( WRL2NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    bool AddRefNode( WRL2NODE* aNode ) override;
+    bool AddChildNode( WRL2NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_MATERIAL_H
diff --git a/plugins/3d/vrml/v2/vrml2_norms.h b/plugins/3d/vrml/v2/vrml2_norms.h
index 7eb5a5f..424c2fa 100644
--- a/plugins/3d/vrml/v2/vrml2_norms.h
+++ b/plugins/3d/vrml/v2/vrml2_norms.h
@@ -47,7 +47,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    bool isDangling( void );
+    bool isDangling( void ) override;
 
 public:
     WRL2NORMS();
@@ -55,10 +55,10 @@ public:
     virtual ~WRL2NORMS();
 
     // functions inherited from WRL2NODE
-    bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    bool AddRefNode( WRL2NODE* aNode );
-    bool AddChildNode( WRL2NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    bool AddRefNode( WRL2NODE* aNode ) override;
+    bool AddChildNode( WRL2NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_NORMS_H
diff --git a/plugins/3d/vrml/v2/vrml2_pointset.h b/plugins/3d/vrml/v2/vrml2_pointset.h
index 5390a3f..fa14a88 100644
--- a/plugins/3d/vrml/v2/vrml2_pointset.h
+++ b/plugins/3d/vrml/v2/vrml2_pointset.h
@@ -56,12 +56,12 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    bool isDangling( void );
+    bool isDangling( void ) override;
 
 
     // overloads
-    void unlinkChildNode( const WRL2NODE* aNode );
-    void unlinkRefNode( const WRL2NODE* aNode );
+    void unlinkChildNode( const WRL2NODE* aNode ) override;
+    void unlinkRefNode( const WRL2NODE* aNode ) override;
 
 public:
     WRL2POINTSET();
@@ -69,10 +69,10 @@ public:
     virtual ~WRL2POINTSET();
 
     // functions inherited from WRL2NODE
-    bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    bool AddRefNode( WRL2NODE* aNode );
-    bool AddChildNode( WRL2NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    bool AddRefNode( WRL2NODE* aNode ) override;
+    bool AddChildNode( WRL2NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 
     /**
      * Function HasColors
diff --git a/plugins/3d/vrml/v2/vrml2_shape.h b/plugins/3d/vrml/v2/vrml2_shape.h
index d29885a..276e2c6 100644
--- a/plugins/3d/vrml/v2/vrml2_shape.h
+++ b/plugins/3d/vrml/v2/vrml2_shape.h
@@ -50,13 +50,13 @@ private:
     bool checkNodeType( WRL2NODES aType );
 
     // overloads
-    void unlinkChildNode( const WRL2NODE* aNode );
-    void unlinkRefNode( const WRL2NODE* aNode );
+    void unlinkChildNode( const WRL2NODE* aNode ) override;
+    void unlinkRefNode( const WRL2NODE* aNode ) override;
 
 public:
 
     // functions inherited from WRL2NODE
-    bool isDangling( void );
+    bool isDangling( void ) override;
 
 public:
     WRL2SHAPE();
@@ -64,10 +64,10 @@ public:
     virtual ~WRL2SHAPE();
 
     // functions inherited from WRL2NODE
-    bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    bool AddRefNode( WRL2NODE* aNode );
-    bool AddChildNode( WRL2NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    bool AddRefNode( WRL2NODE* aNode ) override;
+    bool AddChildNode( WRL2NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_SHAPE_H
diff --git a/plugins/3d/vrml/v2/vrml2_switch.h b/plugins/3d/vrml/v2/vrml2_switch.h
index a7edf39..e03471c 100644
--- a/plugins/3d/vrml/v2/vrml2_switch.h
+++ b/plugins/3d/vrml/v2/vrml2_switch.h
@@ -48,7 +48,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    bool isDangling( void );
+    bool isDangling( void ) override;
 
 public:
     WRL2SWITCH();
@@ -56,9 +56,9 @@ public:
     virtual ~WRL2SWITCH();
 
     // functions inherited from WRL2NODE
-    bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    bool AddRefNode( WRL2NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    bool AddRefNode( WRL2NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_SWITCH_H
diff --git a/plugins/3d/vrml/v2/vrml2_transform.h b/plugins/3d/vrml/v2/vrml2_transform.h
index 857064e..bd2fabf 100644
--- a/plugins/3d/vrml/v2/vrml2_transform.h
+++ b/plugins/3d/vrml/v2/vrml2_transform.h
@@ -53,7 +53,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    bool isDangling( void );
+    bool isDangling( void ) override;
 
 public:
     WRL2TRANSFORM();
@@ -61,9 +61,9 @@ public:
     virtual ~WRL2TRANSFORM();
 
     // functions inherited from WRL2NODE
-    bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    bool AddRefNode( WRL2NODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    bool AddRefNode( WRL2NODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_TRANSFORM_H
diff --git a/plugins/3d/vrml/x3d/x3d_appearance.h b/plugins/3d/vrml/x3d/x3d_appearance.h
index 3ab188b..6bd5d72 100644
--- a/plugins/3d/vrml/x3d/x3d_appearance.h
+++ b/plugins/3d/vrml/x3d/x3d_appearance.h
@@ -59,11 +59,11 @@ public:
     virtual ~X3DAPP();
 
     // functions inherited from X3DNODE
-    bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict );
-    bool SetParent( X3DNODE* aParent, bool doUnlink = true );
-    bool AddChildNode( X3DNODE* aNode );
-    bool AddRefNode( X3DNODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict ) override;
+    bool SetParent( X3DNODE* aParent, bool doUnlink = true ) override;
+    bool AddChildNode( X3DNODE* aNode ) override;
+    bool AddRefNode( X3DNODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // X3D_APPEARANCE_H
diff --git a/plugins/3d/vrml/x3d/x3d_coords.h b/plugins/3d/vrml/x3d/x3d_coords.h
index 1d8579f..8c3400d 100644
--- a/plugins/3d/vrml/x3d/x3d_coords.h
+++ b/plugins/3d/vrml/x3d/x3d_coords.h
@@ -49,11 +49,11 @@ public:
     virtual ~X3DCOORDS();
 
     // functions inherited from X3DNODE
-    bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict );
-    bool SetParent( X3DNODE* aParent, bool doUnlink = true );
-    bool AddChildNode( X3DNODE* aNode );
-    bool AddRefNode( X3DNODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict ) override;
+    bool SetParent( X3DNODE* aParent, bool doUnlink = true ) override;
+    bool AddChildNode( X3DNODE* aNode ) override;
+    bool AddRefNode( X3DNODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 
     void GetCoords( WRLVEC3F*& aCoordList, size_t& aListSize );
 };
diff --git a/plugins/3d/vrml/x3d/x3d_ifaceset.h b/plugins/3d/vrml/x3d/x3d_ifaceset.h
index 79dfe13..881f27e 100644
--- a/plugins/3d/vrml/x3d/x3d_ifaceset.h
+++ b/plugins/3d/vrml/x3d/x3d_ifaceset.h
@@ -57,11 +57,11 @@ public:
     virtual ~X3DIFACESET();
 
     // functions inherited from X3DNODE
-    bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict );
-    bool SetParent( X3DNODE* aParent, bool doUnlink = true );
-    bool AddChildNode( X3DNODE* aNode );
-    bool AddRefNode( X3DNODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict ) override;
+    bool SetParent( X3DNODE* aParent, bool doUnlink = true ) override;
+    bool AddChildNode( X3DNODE* aNode ) override;
+    bool AddRefNode( X3DNODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // X3D_IFACESET_H
diff --git a/plugins/3d/vrml/x3d/x3d_shape.h b/plugins/3d/vrml/x3d/x3d_shape.h
index 714efb9..7d52ee2 100644
--- a/plugins/3d/vrml/x3d/x3d_shape.h
+++ b/plugins/3d/vrml/x3d/x3d_shape.h
@@ -50,15 +50,15 @@ public:
     virtual ~X3DSHAPE();
 
     // functions inherited from X3DNODE
-    bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict );
-    bool SetParent( X3DNODE* aParent, bool doUnlink = true );
-    bool AddChildNode( X3DNODE* aNode );
-    bool AddRefNode( X3DNODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict ) override;
+    bool SetParent( X3DNODE* aParent, bool doUnlink = true ) override;
+    bool AddChildNode( X3DNODE* aNode ) override;
+    bool AddRefNode( X3DNODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 
     // overrides
-    virtual void unlinkChildNode( const X3DNODE* aNode );
-    virtual void unlinkRefNode( const X3DNODE* aNode );
+    virtual void unlinkChildNode( const X3DNODE* aNode ) override;
+    virtual void unlinkRefNode( const X3DNODE* aNode ) override;
 };
 
 #endif  // X3D_SHAPE_H
diff --git a/plugins/3d/vrml/x3d/x3d_transform.h b/plugins/3d/vrml/x3d/x3d_transform.h
index ca994fa..32b9cbc 100644
--- a/plugins/3d/vrml/x3d/x3d_transform.h
+++ b/plugins/3d/vrml/x3d/x3d_transform.h
@@ -58,11 +58,11 @@ public:
     virtual ~X3DTRANSFORM();
 
     // functions inherited from X3DNODE
-    bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict );
-    bool SetParent( X3DNODE* aParent, bool doUnlink = true );
-    bool AddChildNode( X3DNODE* aNode );
-    bool AddRefNode( X3DNODE* aNode );
-    SGNODE* TranslateToSG( SGNODE* aParent );
+    bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict ) override;
+    bool SetParent( X3DNODE* aParent, bool doUnlink = true ) override;
+    bool AddChildNode( X3DNODE* aNode ) override;
+    bool AddRefNode( X3DNODE* aNode ) override;
+    SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // X3D_TRANSFORM_H
diff --git a/plugins/ldr/3d/pluginldr3D.h b/plugins/ldr/3d/pluginldr3D.h
index c413fcf..b779329 100644
--- a/plugins/ldr/3d/pluginldr3D.h
+++ b/plugins/ldr/3d/pluginldr3D.h
@@ -65,9 +65,9 @@ public:
 
 
     // virtuals inherited from KICAD_PLUGIN_LDR
-    bool Open( const wxString& aFullFileName );
+    bool Open( const wxString& aFullFileName ) override;
 
-    void Close( void );
+    void Close( void ) override;
 
     void GetLoaderVersion( unsigned char* Major, unsigned char* Minor,
         unsigned char* Revision, unsigned char* Patch ) const;
diff --git a/polygon/clipper.hpp b/polygon/clipper.hpp
index 1c38371..c6363b3 100644
--- a/polygon/clipper.hpp
+++ b/polygon/clipper.hpp
@@ -391,7 +391,7 @@ class clipperException : public std::exception
   public:
     clipperException(const char* description): m_descr(description) {}
     virtual ~clipperException() throw() {}
-    virtual const char* what() const throw() {return m_descr.c_str();}
+    virtual const char* what() const throw() override { return m_descr.c_str(); }
   private:
     std::string m_descr;
 };
diff --git a/utils/idftools/dxf2idf.h b/utils/idftools/dxf2idf.h
index bd620a7..6b6d0bc 100644
--- a/utils/idftools/dxf2idf.h
+++ b/utils/idftools/dxf2idf.h
@@ -46,58 +46,58 @@ public:
 
 private:
     // DRW_Interface implemented callback functions
-    virtual void addHeader( const DRW_Header* data );
-    virtual void addLine(const DRW_Line& data);
-    virtual void addArc(const DRW_Arc& data );
-    virtual void addCircle(const DRW_Circle& data );
-    virtual void addLWPolyline(const DRW_LWPolyline& data );
-    virtual void addPolyline(const DRW_Polyline& data );
+    virtual void addHeader( const DRW_Header* data ) override;
+    virtual void addLine(const DRW_Line& data) override;
+    virtual void addArc(const DRW_Arc& data ) override;
+    virtual void addCircle(const DRW_Circle& data ) override;
+    virtual void addLWPolyline(const DRW_LWPolyline& data ) override;
+    virtual void addPolyline(const DRW_Polyline& data ) override;
 
     // DRW_Interface callbacks unsupported by DXF2IDF
-    virtual void addLType( const DRW_LType& data ){}
-    virtual void addLayer( const DRW_Layer& data ){}
-    virtual void addDimStyle( const DRW_Dimstyle& data ){}
-    virtual void addVport(const DRW_Vport& data){}
-    virtual void addTextStyle(const DRW_Textstyle& data){}
-    virtual void addBlock(const DRW_Block& data ){}
-    virtual void setBlock(const int handle){}
-    virtual void endBlock(){}
-    virtual void addPoint(const DRW_Point& data ){}
-    virtual void addRay(const DRW_Ray& data ){}
-    virtual void addXline(const DRW_Xline& data ){}
-    virtual void addEllipse(const DRW_Ellipse& data ){}
-    virtual void addSpline(const DRW_Spline* data ){}
-    virtual void addKnot(const DRW_Entity&){}
-    virtual void addInsert(const DRW_Insert& data ){}
-    virtual void addTrace(const DRW_Trace& data ){}
-    virtual void add3dFace(const DRW_3Dface& data ){}
-    virtual void addSolid(const DRW_Solid& data ){}
-    virtual void addMText(const DRW_MText& data){}
-    virtual void addText(const DRW_Text& data ){}
-    virtual void addDimAlign(const DRW_DimAligned *data ){}
-    virtual void addDimLinear(const DRW_DimLinear *data ){}
-    virtual void addDimRadial(const DRW_DimRadial *data ){}
-    virtual void addDimDiametric(const DRW_DimDiametric *data ){}
-    virtual void addDimAngular(const DRW_DimAngular *data ){}
-    virtual void addDimAngular3P(const DRW_DimAngular3p *data ){}
-    virtual void addDimOrdinate(const DRW_DimOrdinate *data ){}
-    virtual void addLeader(const DRW_Leader *data ){}
-    virtual void addHatch(const DRW_Hatch* data ){}
-    virtual void addViewport(const DRW_Viewport& data){}
-    virtual void addImage(const DRW_Image* data ){}
-    virtual void linkImage(const DRW_ImageDef* data ){}
-    virtual void addComment(const char*){}
-    virtual void writeHeader(DRW_Header& data){}
-    virtual void writeBlocks(){}
-    virtual void writeBlockRecords(){}
-    virtual void writeEntities(){}
-    virtual void writeLTypes(){}
-    virtual void writeLayers(){}
-    virtual void writeTextstyles(){}
-    virtual void writeVports(){}
-    virtual void writeDimstyles(){}
-    virtual void addAppId( const DRW_AppId& data ) {}
-    virtual void writeAppId() {}
+    virtual void addLType( const DRW_LType& data ) override {}
+    virtual void addLayer( const DRW_Layer& data ) override {}
+    virtual void addDimStyle( const DRW_Dimstyle& data ) override {}
+    virtual void addVport(const DRW_Vport& data) override {}
+    virtual void addTextStyle(const DRW_Textstyle& data) override {}
+    virtual void addBlock(const DRW_Block& data ) override {}
+    virtual void setBlock(const int handle) override {}
+    virtual void endBlock() override {}
+    virtual void addPoint(const DRW_Point& data ) override {}
+    virtual void addRay(const DRW_Ray& data ) override {}
+    virtual void addXline(const DRW_Xline& data ) override {}
+    virtual void addEllipse(const DRW_Ellipse& data ) override {}
+    virtual void addSpline(const DRW_Spline* data ) override {}
+    virtual void addKnot(const DRW_Entity&) override {}
+    virtual void addInsert(const DRW_Insert& data ) override {}
+    virtual void addTrace(const DRW_Trace& data ) override {}
+    virtual void add3dFace(const DRW_3Dface& data ) override {}
+    virtual void addSolid(const DRW_Solid& data ) override {}
+    virtual void addMText(const DRW_MText& data) override {}
+    virtual void addText(const DRW_Text& data ) override {}
+    virtual void addDimAlign(const DRW_DimAligned *data ) override {}
+    virtual void addDimLinear(const DRW_DimLinear *data ) override {}
+    virtual void addDimRadial(const DRW_DimRadial *data ) override {}
+    virtual void addDimDiametric(const DRW_DimDiametric *data ) override {}
+    virtual void addDimAngular(const DRW_DimAngular *data ) override {}
+    virtual void addDimAngular3P(const DRW_DimAngular3p *data ) override {}
+    virtual void addDimOrdinate(const DRW_DimOrdinate *data ) override {}
+    virtual void addLeader(const DRW_Leader *data ) override {}
+    virtual void addHatch(const DRW_Hatch* data ) override {}
+    virtual void addViewport(const DRW_Viewport& data) override {}
+    virtual void addImage(const DRW_Image* data ) override {}
+    virtual void linkImage(const DRW_ImageDef* data ) override {}
+    virtual void addComment(const char*) override {}
+    virtual void writeHeader(DRW_Header& data) override {}
+    virtual void writeBlocks() override {}
+    virtual void writeBlockRecords() override {}
+    virtual void writeEntities() override {}
+    virtual void writeLTypes() override {}
+    virtual void writeLayers() override {}
+    virtual void writeTextstyles() override {}
+    virtual void writeVports() override {}
+    virtual void writeDimstyles() override {}
+    virtual void addAppId( const DRW_AppId& data ) override {}
+    virtual void writeAppId() override {}
 };
 
 #endif  // DXF2IDF_H
diff --git a/utils/idftools/idf2vrml.cpp b/utils/idftools/idf2vrml.cpp
index 47821d0..dc12035 100644
--- a/utils/idftools/idf2vrml.cpp
+++ b/utils/idftools/idf2vrml.cpp
@@ -66,10 +66,10 @@
 class IDF2VRML : public wxAppConsole
 {
 public:
-    virtual bool OnInit();
-    virtual int OnRun();
-    virtual void OnInitCmdLine(wxCmdLineParser& parser);
-    virtual bool OnCmdLineParsed(wxCmdLineParser& parser);
+    virtual bool OnInit() override;
+    virtual int OnRun() override;
+    virtual void OnInitCmdLine(wxCmdLineParser& parser) override;
+    virtual bool OnCmdLineParsed(wxCmdLineParser& parser) override;
 
 private:
     double m_ScaleFactor;
diff --git a/utils/idftools/idf_common.h b/utils/idftools/idf_common.h
index 398f8f8..806ec3c 100644
--- a/utils/idftools/idf_common.h
+++ b/utils/idftools/idf_common.h
@@ -55,7 +55,7 @@ struct IDF_ERROR : std::exception
 
     virtual ~IDF_ERROR() throw();
 
-    virtual const char* what() const throw();
+    virtual const char* what() const throw() override;
 };
 
 
diff --git a/utils/idftools/idf_outlines.h b/utils/idftools/idf_outlines.h
index 33957e7..d50d149 100644
--- a/utils/idftools/idf_outlines.h
+++ b/utils/idftools/idf_outlines.h
@@ -364,7 +364,7 @@ private:
      * @param aHeader is the .OTHER_OUTLINE header as read via FetchIDFLine
      */
     virtual void readData( std::ifstream& aBoardFile, const std::string& aHeader,
-                           IDF3::IDF_VERSION aIdfVersion );
+                           IDF3::IDF_VERSION aIdfVersion ) override;
 
     /**
      * Function writeData
@@ -374,7 +374,7 @@ private:
      *
      * @return bool: true if the data was successfully written, otherwise false.
      */
-    virtual void writeData( std::ofstream& aBoardFile );
+    virtual void writeData( std::ofstream& aBoardFile ) override;
 
 public:
     OTHER_OUTLINE( IDF3_BOARD* aParent );
@@ -411,7 +411,7 @@ public:
      * Function Clear
      * deletes internal data except for the parent object
      */
-    virtual bool Clear( void );
+    virtual bool Clear( void ) override;
 };
 
 
@@ -432,13 +432,13 @@ private:
      * @param aHeader is the .ROUTE_OUTLINE header as returned by FetchIDFLine
      */
     virtual void readData( std::ifstream& aBoardFile, const std::string& aHeader,
-                           IDF3::IDF_VERSION aIdfVersion );
+                           IDF3::IDF_VERSION aIdfVersion ) override;
 
     /**
      * Function writeData
      * writes the ROUTE_OUTLINE data to an open IDFv3 file
      */
-    virtual void writeData( std::ofstream& aBoardFile );
+    virtual void writeData( std::ofstream& aBoardFile ) override;
 
 protected:
     IDF3::IDF_LAYER layers; // Routing layers (IDF spec)
@@ -464,7 +464,7 @@ public:
      * Function Clear
      * deletes internal data except for the parent object
      */
-    virtual bool Clear( void );
+    virtual bool Clear( void ) override;
 };
 
 /**
@@ -484,7 +484,7 @@ private:
      * @param aHeader is the .PLACE_OUTLINE header as returned by FetchIDFLine
      */
     virtual void readData( std::ifstream& aBoardFile, const std::string& aHeader,
-                           IDF3::IDF_VERSION aIdfVersion );
+                           IDF3::IDF_VERSION aIdfVersion ) override;
 
     /**
      * Function writeData
@@ -494,7 +494,7 @@ private:
      *
      * @return bool: true if the data was successfully written, otherwise false
      */
-    virtual void writeData( std::ofstream& aBoardFile );
+    virtual void writeData( std::ofstream& aBoardFile ) override;
 
 protected:
     IDF3::IDF_LAYER side;   // Board Side [TOP/BOTTOM/BOTH ONLY] (IDF spec)
@@ -534,7 +534,7 @@ public:
      * Function Clear
      * deletes all internal data
      */
-    virtual bool Clear( void );
+    virtual bool Clear( void ) override;
 };
 
 
@@ -593,7 +593,7 @@ private:
      * @param aHeader is the .PLACE_REGION header as returned by FetchIDFLine
      */
     virtual void readData( std::ifstream& aBoardFile, const std::string& aHeader,
-                           IDF3::IDF_VERSION aIdfVersion );
+                           IDF3::IDF_VERSION aIdfVersion ) override;
 
     /**
      * Function writeData
@@ -603,7 +603,7 @@ private:
      *
      * @return bool: true if the data is successfully written, otherwise false
      */
-    virtual void writeData( std::ofstream& aBoardFile );
+    virtual void writeData( std::ofstream& aBoardFile ) override;
 
 public:
     GROUP_OUTLINE( IDF3_BOARD* aParent );
@@ -640,7 +640,7 @@ public:
      * Function Clear
      * deletes internal data, subject to IDF ownership rules
      */
-    virtual bool Clear( void );
+    virtual bool Clear( void ) override;
 };
 
 
@@ -673,7 +673,7 @@ private:
      * @param aHeader is the .ELECTRICAL or .MECHANICAL header as returned by FetchIDFLine
      */
     virtual void readData( std::ifstream& aLibFile, const std::string& aHeader,
-                           IDF3::IDF_VERSION aIdfVersion );
+                           IDF3::IDF_VERSION aIdfVersion ) override;
 
     /**
      * Function writeData
@@ -683,7 +683,7 @@ private:
      *
      * @return bool: true if the data was successfully written, otherwise false
      */
-    virtual void writeData( std::ofstream& aLibFile );
+    virtual void writeData( std::ofstream& aLibFile ) override;
 
     /**
      * Function incrementRef
@@ -712,7 +712,7 @@ public:
      * Function Clear
      * deletes internal outline data
      */
-    virtual bool Clear( void );
+    virtual bool Clear( void ) override;
 
     /**
      * Function SetComponentClass