Ticket #69869: broken-rtti.patch
File broken-rtti.patch, 38.1 KB (added by cdavis5e (Chip Davis), 4 months ago) |
---|
-
include/ki_exception.h
Fix broken RTTI references that cause crashes at run time
old new 25 25 #ifndef KI_EXCEPTION_H_ 26 26 #define KI_EXCEPTION_H_ 27 27 28 #include <import_export.h> 28 29 #include <wx/string.h> 29 30 30 31 … … 41 42 * Hold a translatable error message and may be used when throwing exceptions containing a 42 43 * translated error message. 43 44 */ 44 class KI_PARAM_ERROR // similar to std::invalid_argument for instance45 class MY_TYPE KI_PARAM_ERROR // similar to std::invalid_argument for instance 45 46 { 46 47 public: 47 48 /** … … 72 73 * 73 74 * @author Dick Hollenbeck 74 75 */ 75 class IO_ERROR // : std::exception76 class MY_TYPE IO_ERROR // : std::exception 76 77 { 77 78 public: 78 79 /** … … 115 116 * 116 117 * @author Dick Hollenbeck 117 118 */ 118 struct PARSE_ERROR : public IO_ERROR119 struct MY_TYPE PARSE_ERROR : public IO_ERROR 119 120 { 120 121 int lineNumber; ///< at which line number, 1 based index. 121 122 int byteIndex; ///< at which byte offset within the line, 1 based index … … 171 172 * by a file generated by a newer version of KiCad than this. This can be used to generate 172 173 * more informative error messages. 173 174 */ 174 struct FUTURE_FORMAT_ERROR : public PARSE_ERROR175 struct MY_TYPE FUTURE_FORMAT_ERROR : public PARSE_ERROR 175 176 { 176 177 wxString requiredVersion; ///< version or date of KiCad required to open file 177 178 -
include/settings/kicad_settings.h
old new 21 21 #ifndef _KICAD_SETTINGS_H 22 22 #define _KICAD_SETTINGS_H 23 23 24 #include <import_export.h> 24 25 #include <settings/app_settings.h> 25 26 #define PCM_DEFAULT_REPOSITORY_URL "https://repository.kicad.org/repository.json" 26 27 27 28 28 class KICAD_SETTINGS : public APP_SETTINGS_BASE29 class MY_TYPE KICAD_SETTINGS : public APP_SETTINGS_BASE 29 30 { 30 31 public: 31 32 KICAD_SETTINGS(); -
include/settings/app_settings.h
old new 21 21 #ifndef _APP_SETTINGS_H 22 22 #define _APP_SETTINGS_H 23 23 24 #include <import_export.h> 24 25 #include <gal/color4d.h> 25 26 #include <settings/json_settings.h> 26 27 … … 106 107 * 107 108 * COMMON_SETTINGS stores settings that are always the same across all applications. 108 109 */ 109 class APP_SETTINGS_BASE : public JSON_SETTINGS110 class MY_TYPE APP_SETTINGS_BASE : public JSON_SETTINGS 110 111 { 111 112 public: 112 113 struct FIND_REPLACE -
include/settings/color_settings.h
old new 23 23 24 24 #include <unordered_map> 25 25 26 #include <import_export.h> 26 27 #include <gal/color4d.h> 27 28 #include <settings/json_settings.h> 28 29 #include <settings/parameters.h> … … 48 49 * Each application (eeschema, gerbview, pcbnew) can have a different active color scheme selected. 49 50 * The "child applications" (library editors) inherit from either eeschema or pcbnew. 50 51 */ 51 class COLOR_SETTINGS : public JSON_SETTINGS52 class MY_TYPE COLOR_SETTINGS : public JSON_SETTINGS 52 53 { 53 54 public: 54 55 explicit COLOR_SETTINGS( const wxString& aFilename = wxT( "user" ), … … 113 114 std::unordered_map<int, COLOR4D> m_defaultColors; 114 115 }; 115 116 116 class COLOR_MAP_PARAM : public PARAM_BASE117 class MY_TYPE COLOR_MAP_PARAM : public PARAM_BASE 117 118 { 118 119 public: 119 120 COLOR_MAP_PARAM( const std::string& aJsonPath, int aMapKey, COLOR4D aDefault, -
include/settings/common_settings.h
old new 21 21 #ifndef _COMMON_SETTINGS_H 22 22 #define _COMMON_SETTINGS_H 23 23 24 #include <import_export.h> 24 25 #include <settings/environment.h> 25 26 #include <settings/json_settings.h> 26 27 … … 44 45 }; 45 46 46 47 47 class COMMON_SETTINGS : public JSON_SETTINGS48 class MY_TYPE COMMON_SETTINGS : public JSON_SETTINGS 48 49 { 49 50 public: 50 51 struct APPEARANCE -
include/settings/cvpcb_settings.h
old new 24 24 #ifndef _CVPCB_SETTINGS_H 25 25 #define _CVPCB_SETTINGS_H 26 26 27 #include <import_export.h> 27 28 #include <pcb_display_options.h> 28 29 #include <pcbnew_settings.h> 29 30 #include <settings/app_settings.h> 30 31 31 class CVPCB_SETTINGS : public PCB_VIEWERS_SETTINGS_BASE32 class MY_TYPE CVPCB_SETTINGS : public PCB_VIEWERS_SETTINGS_BASE 32 33 { 33 34 public: 34 35 CVPCB_SETTINGS(); -
include/eda_search_data.h
old new 24 24 #ifndef EDA_ITEM_SEARCH_H 25 25 #define EDA_ITEM_SEARCH_H 26 26 27 #include <import_export.h> 27 28 #include <wx/string.h> 28 29 29 30 enum class EDA_SEARCH_MATCH_MODE … … 33 34 WILDCARD 34 35 }; 35 36 36 struct EDA_SEARCH_DATA37 struct MY_TYPE EDA_SEARCH_DATA 37 38 { 38 39 wxString findString; 39 40 wxString replaceString; … … 57 58 virtual ~EDA_SEARCH_DATA() {} 58 59 }; 59 60 60 struct SCH_SEARCH_DATA : public EDA_SEARCH_DATA61 struct MY_TYPE SCH_SEARCH_DATA : public EDA_SEARCH_DATA 61 62 { 62 63 bool searchAllFields; 63 64 bool searchAllPins; … … 75 75 } 76 76 }; 77 77 78 #endif 79 No newline at end of file 78 #endif -
include/lib_table_base.h
old new 32 32 #include <memory> 33 33 #include <mutex> 34 34 #include <shared_mutex> 35 #include <import_export.h> 35 36 #include <project.h> 36 37 #include <string_utf8_map.h> 37 38 #include <richio.h> … … 62 63 * Hold a record identifying a library accessed by the appropriate plug in object in the 63 64 * #LIB_TABLE. This is an abstract base class from which to derive library specific rows. 64 65 */ 65 class LIB_TABLE_ROW : boost::noncopyable66 class MY_TYPE LIB_TABLE_ROW : boost::noncopyable 66 67 { 67 68 public: 68 69 LIB_TABLE_ROW() : … … 286 287 * 287 288 * @author Wayne Stambaugh 288 289 */ 289 class LIB_TABLE : public PROJECT::_ELEM290 class MY_TYPE LIB_TABLE : public PROJECT::_ELEM 290 291 { 291 292 public: 292 293 /** -
include/dialog_shim.h
old new 26 26 #define DIALOG_SHIM_ 27 27 28 28 #include <wx/dialog.h> 29 #include <import_export.h> 29 30 #include <kiway_player.h> 30 31 class wxGridEvent; 31 32 … … 79 80 * <br> 80 81 * in the dialog window's properties. 81 82 */ 82 class DIALOG_SHIM : public wxDialog, public KIWAY_HOLDER83 class MY_TYPE DIALOG_SHIM : public wxDialog, public KIWAY_HOLDER 83 84 { 84 85 public: 85 86 DIALOG_SHIM( wxWindow* aParent, wxWindowID id, const wxString& title, -
include/import_export.h
old new 54 54 #else 55 55 #define MY_API(rettype) APIIMPORT rettype 56 56 #endif 57 // For types used in multiple DSOs where the typeinfo symbols must be weak defs, 58 // or bad things happen at run time. 59 #if defined(_WIN32) || defined(SWIG) 60 #define MY_TYPE 61 #elif defined(__has_attribute) && __has_attribute(type_visibility) 62 #define MY_TYPE __attribute__((type_visibility("default"), weak)) 63 #else 64 #define MY_TYPE APIEXPORT __attribute__((weak)) 65 #endif 57 66 58 67 #define MY_LOCAL(rettype) APILOCAL rettype 59 68 -
include/board_printout.h
old new 29 29 #define BOARD_PRINTOUT_H 30 30 31 31 #include <wx/print.h> 32 #include <import_export.h> 32 33 #include <layer_ids.h> 33 34 #include <printout.h> 34 35 #include <math/box2.h> … … 43 44 }; 44 45 45 46 46 struct BOARD_PRINTOUT_SETTINGS : public PRINTOUT_SETTINGS47 struct MY_TYPE BOARD_PRINTOUT_SETTINGS : public PRINTOUT_SETTINGS 47 48 { 48 49 BOARD_PRINTOUT_SETTINGS( const PAGE_INFO& aPageInfo ); 49 50 … … 63 64 * An object derived from wxPrintout to handle the necessary information to control a printer 64 65 * when printing a board. 65 66 */ 66 class BOARD_PRINTOUT : public wxPrintout67 class MY_TYPE BOARD_PRINTOUT : public wxPrintout 67 68 { 68 69 public: 69 70 BOARD_PRINTOUT( const BOARD_PRINTOUT_SETTINGS& aParams, const KIGFX::VIEW* aView, -
include/drawing_sheet/ds_draw_item.h
old new 27 27 28 28 #include <core/typeinfo.h> 29 29 #include <math/vector2d.h> 30 #include <import_export.h> 30 31 #include <eda_text.h> 31 32 #include "widgets/msgpanel.h" 32 33 #include <geometry/shape_poly_set.h> … … 55 56 * - bitmaps (also for logos, but they cannot be plot by SVG, GERBER or HPGL plotters 56 57 * where we just plot the bounding box) 57 58 */ 58 class DS_DRAW_ITEM_BASE : public EDA_ITEM59 class MY_TYPE DS_DRAW_ITEM_BASE : public EDA_ITEM 59 60 { 60 61 public: 61 62 virtual ~DS_DRAW_ITEM_BASE() {} … … 124 125 125 126 126 127 // This class draws a thick segment 127 class DS_DRAW_ITEM_LINE : public DS_DRAW_ITEM_BASE128 class MY_TYPE DS_DRAW_ITEM_LINE : public DS_DRAW_ITEM_BASE 128 129 { 129 130 public: 130 131 DS_DRAW_ITEM_LINE( DS_DATA_ITEM* aPeer, int aIndex, VECTOR2I aStart, VECTOR2I aEnd, … … 164 165 }; 165 166 166 167 167 class DS_DRAW_ITEM_POLYPOLYGONS : public DS_DRAW_ITEM_BASE168 class MY_TYPE DS_DRAW_ITEM_POLYPOLYGONS : public DS_DRAW_ITEM_BASE 168 169 { 169 170 public: 170 171 DS_DRAW_ITEM_POLYPOLYGONS( DS_DATA_ITEM* aPeer, int aIndex, VECTOR2I aPos, int aPenWidth ) : … … 212 213 /** 213 214 * Non filled rectangle with thick segment. 214 215 */ 215 class DS_DRAW_ITEM_RECT : public DS_DRAW_ITEM_BASE216 class MY_TYPE DS_DRAW_ITEM_RECT : public DS_DRAW_ITEM_BASE 216 217 { 217 218 public: 218 219 DS_DRAW_ITEM_RECT( DS_DATA_ITEM* aPeer, int aIndex, VECTOR2I aStart, VECTOR2I aEnd, … … 260 261 * This only a draw item only. Therefore m_peer ( the parent DS_DATA_ITEM item in the 261 262 * DS_DATA_MODEL) is always a nullptr. 262 263 */ 263 class DS_DRAW_ITEM_PAGE : public DS_DRAW_ITEM_BASE264 class MY_TYPE DS_DRAW_ITEM_PAGE : public DS_DRAW_ITEM_BASE 264 265 { 265 266 public: 266 267 DS_DRAW_ITEM_PAGE( int aPenWidth, double aMarkerSize ) : … … 307 308 * It is derived from an #EDA_TEXT, so it handle all characteristics of this graphic text 308 309 * (justification, rotation ... ). 309 310 */ 310 class DS_DRAW_ITEM_TEXT : public DS_DRAW_ITEM_BASE, public EDA_TEXT311 class MY_TYPE DS_DRAW_ITEM_TEXT : public DS_DRAW_ITEM_BASE, public EDA_TEXT 311 312 { 312 313 public: 313 314 DS_DRAW_ITEM_TEXT( DS_DATA_ITEM* aPeer, int aIndex, const wxString& aText, const VECTOR2I& aPos, … … 351 352 /** 352 353 * A bitmap. 353 354 */ 354 class DS_DRAW_ITEM_BITMAP : public DS_DRAW_ITEM_BASE355 class MY_TYPE DS_DRAW_ITEM_BITMAP : public DS_DRAW_ITEM_BASE 355 356 { 356 357 public: 357 358 DS_DRAW_ITEM_BITMAP( DS_DATA_ITEM* aPeer, int aIndex, VECTOR2I aPos ) : -
include/fp_lib_table.h
old new 26 26 #ifndef FP_LIB_TABLE_H_ 27 27 #define FP_LIB_TABLE_H_ 28 28 29 #include <import_export.h> 29 30 #include <lib_table_base.h> 30 31 #include <io_mgr.h> 31 32 … … 37 38 * Hold a record identifying a library accessed by the appropriate footprint library #PLUGIN 38 39 * object in the #FP_LIB_TABLE. 39 40 */ 40 class FP_LIB_TABLE_ROW : public LIB_TABLE_ROW41 class MY_TYPE FP_LIB_TABLE_ROW : public LIB_TABLE_ROW 41 42 { 42 43 public: 43 44 typedef IO_MGR::PCB_FILE_T LIB_T; … … 93 94 }; 94 95 95 96 96 class FP_LIB_TABLE : public LIB_TABLE97 class MY_TYPE FP_LIB_TABLE : public LIB_TABLE 97 98 { 98 99 public: 99 100 KICAD_T Type() override { return FP_LIB_TABLE_T; } -
include/project/project_file.h
old new 22 22 #ifndef KICAD_PROJECT_FILE_H 23 23 #define KICAD_PROJECT_FILE_H 24 24 25 #include <import_export.h> 25 26 #include <common.h> // needed for wxstring hash template 26 27 #include <kiid.h> 27 28 #include <project/board_project_settings.h> … … 62 63 * There is either zero or one PROJECT_FILE for every PROJECT 63 64 * (you can have a dummy PROJECT that has no file) 64 65 */ 65 class PROJECT_FILE : public JSON_SETTINGS66 class MY_TYPE PROJECT_FILE : public JSON_SETTINGS 66 67 { 67 68 public: 68 69 /** -
include/eda_draw_frame.h
old new 69 69 * The Eeschema, Pcbnew and GerbView main windows are just a few examples of classes 70 70 * derived from EDA_DRAW_FRAME. 71 71 */ 72 class EDA_DRAW_FRAME : public KIWAY_PLAYER72 class MY_TYPE EDA_DRAW_FRAME : public KIWAY_PLAYER 73 73 { 74 74 public: 75 75 EDA_DRAW_FRAME( KIWAY* aKiway, wxWindow* aParent, FRAME_T aFrameType, const wxString& aTitle, -
include/eda_shape.h
old new 25 25 #ifndef EDA_SHAPE_H 26 26 #define EDA_SHAPE_H 27 27 28 #include <import_export.h> 28 29 #include <trigo.h> 29 30 #include <geometry/shape_poly_set.h> 30 31 #include <geometry/geometry_utils.h> … … 68 69 VECTOR2I center; 69 70 }; 70 71 71 class EDA_SHAPE72 class MY_TYPE EDA_SHAPE 72 73 { 73 74 public: 74 75 EDA_SHAPE( SHAPE_T aType, int aLineWidth, FILL_T aFill ); -
include/pcb_group.h
old new 30 30 #ifndef CLASS_PCB_GROUP_H_ 31 31 #define CLASS_PCB_GROUP_H_ 32 32 33 #include <import_export.h> 33 34 #include <board_commit.h> 34 35 #include <board_item.h> 35 36 #include <unordered_set> … … 47 48 * containing a group implicitly contains its members. However other operations on sets of 48 49 * items, like committing, updating the view, etc the set is explicit. 49 50 */ 50 class PCB_GROUP : public BOARD_ITEM51 class MY_TYPE PCB_GROUP : public BOARD_ITEM 51 52 { 52 53 public: 53 54 PCB_GROUP( BOARD_ITEM* aParent ); -
include/properties/pg_properties.h
old new 25 25 #include <wx/propgrid/property.h> 26 26 #include <wx/propgrid/props.h> 27 27 #include <common.h> 28 #include <import_export.h> 28 29 #include <origin_transforms.h> 29 30 30 31 class PROPERTY_BASE; … … 33 34 wxPGProperty* PGPropertyFactory( const PROPERTY_BASE* aProperty ); 34 35 35 36 ///> Customized abstract wxPGProperty class to handle coordinate/size units 36 class PGPROPERTY_DISTANCE37 class MY_TYPE PGPROPERTY_DISTANCE 37 38 { 38 39 public: 39 40 PGPROPERTY_DISTANCE( const wxString& aRegEx, … … 52 53 }; 53 54 54 55 55 class PGPROPERTY_SIZE : public wxUIntProperty, public PGPROPERTY_DISTANCE56 class MY_TYPE PGPROPERTY_SIZE : public wxUIntProperty, public PGPROPERTY_DISTANCE 56 57 { 57 58 public: 58 59 PGPROPERTY_SIZE( const wxString& aLabel = wxPG_LABEL, const wxString& aName = wxPG_LABEL, … … 72 73 }; 73 74 74 75 75 class PGPROPERTY_COORD : public wxIntProperty, public PGPROPERTY_DISTANCE76 class MY_TYPE PGPROPERTY_COORD : public wxIntProperty, public PGPROPERTY_DISTANCE 76 77 { 77 78 public: 78 79 PGPROPERTY_COORD( const wxString& aLabel = wxPG_LABEL, const wxString& aName = wxPG_LABEL, … … 94 95 95 96 96 97 ///> Customized wxPGProperty class to handle angles 97 class PGPROPERTY_ANGLE : public wxFloatProperty98 class MY_TYPE PGPROPERTY_ANGLE : public wxFloatProperty 98 99 { 99 100 public: 100 101 PGPROPERTY_ANGLE( const wxString& aLabel = wxPG_LABEL, const wxString& aName = wxPG_LABEL, … … 123 124 124 125 125 126 ///> A wxEnumProperty that displays a color next to the enum value 126 class PGPROPERTY_COLORENUM : public wxEnumProperty127 class MY_TYPE PGPROPERTY_COLORENUM : public wxEnumProperty 127 128 { 128 129 public: 129 130 PGPROPERTY_COLORENUM( const wxString& aLabel, wxString& aName, wxPGChoices* aChoices, … … 153 154 }; 154 155 155 156 156 class PGPROPERTY_STRING : public wxStringProperty157 class MY_TYPE PGPROPERTY_STRING : public wxStringProperty 157 158 { 158 159 public: 159 160 PGPROPERTY_STRING( const wxString& aLabel = wxPG_LABEL, const wxString& aName = wxPG_LABEL, … … 170 171 }; 171 172 172 173 173 class PGPROPERTY_BOOL : public wxBoolProperty174 class MY_TYPE PGPROPERTY_BOOL : public wxBoolProperty 174 175 { 175 176 public: 176 177 PGPROPERTY_BOOL( const wxString& aLabel = wxPG_LABEL, const wxString& aName = wxPG_LABEL, -
include/kiway_express.h
old new 26 26 #define KIWAY_EXPRESS_H_ 27 27 28 28 // @see http://wiki.wxwidgets.org/Custom_Events_Tutorial 29 #include <import_export.h> 29 30 #include <frame_type.h> 30 31 #include <mail_type.h> 31 32 #include <wx/string.h> … … 35 36 /** 36 37 * Carry a payload from one #KIWAY_PLAYER to another within a #PROJECT. 37 38 */ 38 class KIWAY_EXPRESS : public wxEvent39 class MY_TYPE KIWAY_EXPRESS : public wxEvent 39 40 { 40 41 public: 41 42 /** -
include/eda_text.h
old new 28 28 #include <memory> 29 29 #include <vector> 30 30 31 #include <import_export.h> 31 32 #include <outline_mode.h> 32 33 #include <eda_search_data.h> 33 34 #include <font/glyph.h> … … 68 69 * function names (accessors) that to not collide with function names likely to be seen 69 70 * in the combined derived classes. 70 71 */ 71 class EDA_TEXT72 class MY_TYPE EDA_TEXT 72 73 { 73 74 public: 74 75 EDA_TEXT( const EDA_IU_SCALE& aIuScale, const wxString& aText = wxEmptyString ); -
include/gal/hidpi_gl_canvas.h
old new 27 27 #ifndef HIDPI_GL_CANVAS_H 28 28 #define HIDPI_GL_CANVAS_H 29 29 30 #include <import_export.h> 30 31 #include <wx/glcanvas.h> 31 32 32 33 … … 35 36 * 36 37 * This is a small wrapper class to enable HiDPI/Retina support for wxGLCanvas. 37 38 */ 38 class HIDPI_GL_CANVAS : public wxGLCanvas39 class MY_TYPE HIDPI_GL_CANVAS : public wxGLCanvas 39 40 { 40 41 public: 41 42 // wxGLCanvas constructor -
include/kiway_holder.h
old new 24 24 #ifndef KIWAY_HOLDER_H_ 25 25 #define KIWAY_HOLDER_H_ 26 26 27 #include <import_export.h> 28 27 29 class KIWAY; 28 30 class PROJECT; 29 31 class wxWindow; … … 33 35 * 34 36 * It allows calls to Kiway() and SetKiway(). 35 37 */ 36 class KIWAY_HOLDER38 class MY_TYPE KIWAY_HOLDER 37 39 { 38 40 public: 39 41 enum HOLDER_TYPE { DIALOG, FRAME, PANEL }; -
include/board_item.h
old new 26 26 #define BOARD_ITEM_STRUCT_H 27 27 28 28 29 #include <import_export.h> 29 30 #include <eda_item.h> 30 31 #include <layer_ids.h> 31 32 #include <geometry/geometry_utils.h> … … 66 67 * therefore instances of derived classes should only be found in Pcbnew or other programs 67 68 * that use class #BOARD and its contents. 68 69 */ 69 class BOARD_ITEM : public EDA_ITEM70 class MY_TYPE BOARD_ITEM : public EDA_ITEM 70 71 { 71 72 public: 72 73 BOARD_ITEM( BOARD_ITEM* aParent, KICAD_T idtype, PCB_LAYER_ID aLayer = F_Cu ) : … … 356 357 * 357 358 * Its sole purpose is to flag the item as having been deleted. 358 359 */ 359 class DELETED_BOARD_ITEM : public BOARD_ITEM360 class MY_TYPE DELETED_BOARD_ITEM : public BOARD_ITEM 360 361 { 361 362 public: 362 363 DELETED_BOARD_ITEM() : -
include/units_provider.h
old new 24 24 #ifndef UNITS_PROVIDER_H 25 25 #define UNITS_PROVIDER_H 26 26 27 #include <import_export.h> 27 28 #include <eda_units.h> 28 29 #include <origin_transforms.h> 29 30 30 31 31 class UNITS_PROVIDER32 class MY_TYPE UNITS_PROVIDER 32 33 { 33 34 public: 34 35 UNITS_PROVIDER( const EDA_IU_SCALE& aIuScale, EDA_UNITS aUnits ) : -
include/eda_item.h
old new 29 29 30 30 #include <deque> 31 31 32 #include <import_export.h> 32 33 #include <core/typeinfo.h> 33 34 #include <eda_item_flags.h> 34 35 #include <eda_search_data.h> … … 81 82 /** 82 83 * A base class for most all the KiCad significant classes used in schematics and boards. 83 84 */ 84 class EDA_ITEM : public KIGFX::VIEW_ITEM85 class MY_TYPE EDA_ITEM : public KIGFX::VIEW_ITEM 85 86 { 86 87 public: 87 88 virtual ~EDA_ITEM() { }; -
include/font/glyph.h
old new 26 26 #define GLYPH_H 27 27 28 28 #include <memory> 29 #include <import_export.h> 29 30 #include <math/box2.h> 30 31 #include <geometry/shape_poly_set.h> 31 32 #include <wx/debug.h> … … 55 56 }; 56 57 57 58 58 class OUTLINE_GLYPH : public GLYPH, public SHAPE_POLY_SET59 class MY_TYPE OUTLINE_GLYPH : public GLYPH, public SHAPE_POLY_SET 59 60 { 60 61 public: 61 62 OUTLINE_GLYPH() : … … 80 81 }; 81 82 82 83 83 class STROKE_GLYPH : public GLYPH, public std::vector<std::vector<VECTOR2D>>84 class MY_TYPE STROKE_GLYPH : public GLYPH, public std::vector<std::vector<VECTOR2D>> 84 85 { 85 86 public: 86 87 STROKE_GLYPH() -
include/pcb_base_frame.h
old new 27 27 #define PCB_BASE_FRAME_H 28 28 29 29 30 #include <import_export.h> 30 31 #include <eda_item.h> 31 32 #include <board.h> 32 33 #include <eda_draw_frame.h> … … 66 67 /** 67 68 * Base PCB main window class for Pcbnew, Gerbview, and CvPcb footprint viewer. 68 69 */ 69 class PCB_BASE_FRAME : public EDA_DRAW_FRAME70 class MY_TYPE PCB_BASE_FRAME : public EDA_DRAW_FRAME 70 71 { 71 72 public: 72 73 PCB_BASE_FRAME( KIWAY* aKiway, wxWindow* aParent, FRAME_T aFrameType, -
include/search_stack.h
old new 28 28 29 29 #include <wx/filefn.h> 30 30 #include <wx/filename.h> 31 #include <import_export.h> 31 32 #include <project.h> 32 33 33 34 … … 38 39 * reminder that anything you put in here means searching work at some point in time. 39 40 * (An alternative is to simply know where something is.) 40 41 */ 41 class SEARCH_STACK : public wxPathList, public PROJECT::_ELEM42 class MY_TYPE SEARCH_STACK : public wxPathList, public PROJECT::_ELEM 42 43 { 43 44 public: 44 45 KICAD_T Type() override { return SEARCH_STACK_T; } -
include/eda_base_frame.h
old new 36 36 #include <map> 37 37 38 38 #include <wx/aui/aui.h> 39 #include <import_export.h> 39 40 #include <layer_ids.h> 40 41 #include <frame_type.h> 41 42 #include <hotkeys_basic.h> … … 101 102 * calling it from the derived class's SaveSettings(). This class is not a #KIWAY_PLAYER 102 103 * because #KICAD_MANAGER_FRAME is derived from it and that class is not a player. 103 104 */ 104 class EDA_BASE_FRAME : public wxFrame, public TOOLS_HOLDER, public KIWAY_HOLDER,105 public UNITS_PROVIDER105 class MY_TYPE EDA_BASE_FRAME : public wxFrame, public TOOLS_HOLDER, 106 public KIWAY_HOLDER, public UNITS_PROVIDER 106 107 { 107 108 public: 108 109 /** … … 802 803 * then after a //==// break has additional calls to anchor toolbars in a way that matches 803 804 * present functionality. 804 805 */ 805 class EDA_PANE : public wxAuiPaneInfo806 class MY_TYPE EDA_PANE : public wxAuiPaneInfo 806 807 { 807 808 public: 808 809 EDA_PANE() -
include/widgets/color_swatch.h
old new 32 32 33 33 #include <functional> 34 34 35 #include <import_export.h> 35 36 #include <gal/color4d.h> 36 37 #include <dialogs/dialog_color_picker.h> 37 38 … … 53 54 /** 54 55 * A simple color swatch of the kind used to set layer colors. 55 56 */ 56 class COLOR_SWATCH: public wxPanel57 class MY_TYPE COLOR_SWATCH: public wxPanel 57 58 { 58 59 public: 59 60 -
include/widgets/search_pane_tab.h
old new 24 24 #include <wx/listctrl.h> 25 25 #include <wx/sizer.h> 26 26 #include <wx/panel.h> 27 #include <import_export.h> 27 28 28 29 class SEARCH_HANDLER; 29 30 30 31 31 class SEARCH_PANE_LISTVIEW : public wxListView32 class MY_TYPE SEARCH_PANE_LISTVIEW : public wxListView 32 33 { 33 34 public: 34 35 SEARCH_PANE_LISTVIEW( SEARCH_HANDLER* handler, … … 53 54 }; 54 55 55 56 56 class SEARCH_PANE_TAB : public wxPanel57 class MY_TYPE SEARCH_PANE_TAB : public wxPanel 57 58 { 58 59 public: 59 60 SEARCH_PANE_TAB( SEARCH_HANDLER* handler, wxWindow* parent, wxWindowID aId = wxID_ANY, -
include/widgets/footprint_preview_widget.h
old new 34 34 class wxSizer; 35 35 36 36 37 class FOOTPRINT_PREVIEW_WIDGET: public wxPanel37 class MY_TYPE FOOTPRINT_PREVIEW_WIDGET: public wxPanel 38 38 { 39 39 public: 40 40 -
include/widgets/bitmap_button.h
old new 25 25 #ifndef BITMAP_BUTTON_H_ 26 26 #define BITMAP_BUTTON_H_ 27 27 28 #include <import_export.h> 28 29 #include <wx/bitmap.h> 29 30 #include <wx/panel.h> 30 31 #include <wx/colour.h> … … 37 38 * * It has a rectangle highlight when the mouse is hovering/pressed 38 39 * * It has the ability to be checked/toggled 39 40 */ 40 class BITMAP_BUTTON : public wxPanel41 class MY_TYPE BITMAP_BUTTON : public wxPanel 41 42 { 42 43 public: 43 44 BITMAP_BUTTON( wxWindow* aParent, wxWindowID aId, const wxPoint& aPos = wxDefaultPosition, -
include/widgets/paged_dialog.h
old new 21 21 #ifndef PAGED_DIALOG_H 22 22 #define PAGED_DIALOG_H 23 23 24 #include <import_export.h> 24 25 #include <dialog_shim.h> 25 26 #include <widgets/wx_treebook.h> 26 27 … … 28 29 class WX_INFOBAR; 29 30 class WX_TREEBOOK; 30 31 31 class PAGED_DIALOG : public DIALOG_SHIM32 class MY_TYPE PAGED_DIALOG : public DIALOG_SHIM 32 33 { 33 34 public: 34 35 PAGED_DIALOG( wxWindow* aParent, const wxString& aTitle, bool aShowReset, -
include/widgets/wx_grid.h
old new 31 31 #include <wx/event.h> 32 32 #include <wx/grid.h> 33 33 #include <wx/version.h> 34 #include <import_export.h> 34 35 #include <units_provider.h> 35 36 #include <libeval/numeric_evaluator.h> 36 37 37 38 38 class WX_GRID : public wxGrid39 class MY_TYPE WX_GRID : public wxGrid 39 40 { 40 41 public: 41 42 // Constructor has to be wxFormBuilder-compatible -
include/tool/action_toolbar.h
old new 32 32 #include <wx/aui/framemanager.h> 33 33 #include <wx/popupwin.h> 34 34 #include <wx/panel.h> 35 #include <import_export.h> 35 36 #include <tool/action_manager.h> 36 37 37 38 class ACTION_MENU; … … 99 100 /** 100 101 * A popup window that contains a row of toolbar-like buttons for the user to choose from. 101 102 */ 102 class ACTION_TOOLBAR_PALETTE : public wxPopupTransientWindow103 class MY_TYPE ACTION_TOOLBAR_PALETTE : public wxPopupTransientWindow 103 104 { 104 105 public: 105 106 /** … … 180 181 /** 181 182 * Define the structure of a toolbar with buttons that invoke ACTIONs. 182 183 */ 183 class ACTION_TOOLBAR : public wxAuiToolBar184 class MY_TYPE ACTION_TOOLBAR : public wxAuiToolBar 184 185 { 185 186 public: 186 187 ACTION_TOOLBAR( EDA_BASE_FRAME* parent, wxWindowID id = wxID_ANY, -
include/tool/action_menu.h
old new 34 34 35 35 #include <wx/menu.h> 36 36 #include <wx/textentry.h> 37 #include <import_export.h> 37 38 #include <tool/tool_event.h> 38 39 39 40 class KIFACE_BASE; … … 45 46 /** 46 47 * Defines the structure of a menu based on ACTIONs. 47 48 */ 48 class ACTION_MENU : public wxMenu49 class MY_TYPE ACTION_MENU : public wxMenu 49 50 { 50 51 public: 51 52 ///< Default constructor -
include/tool/conditional_menu.h
old new 38 38 enum class BITMAPS : unsigned int; 39 39 40 40 41 class CONDITIONAL_MENU : public ACTION_MENU41 class MY_TYPE CONDITIONAL_MENU : public ACTION_MENU 42 42 { 43 43 public: 44 44 ///< Constant to indicate that we do not care about an #ENTRY location in the menu. -
include/kiway_player.h
old new 28 28 #include <wx/frame.h> 29 29 30 30 #include <vector> 31 #include <import_export.h> 31 32 #include <kiway_holder.h> 32 33 #include <eda_base_frame.h> 33 34 … … 61 62 #ifdef SWIG 62 63 class KIWAY_PLAYER : public wxFrame, public KIWAY_HOLDER 63 64 #else 64 class KIWAY_PLAYER : public EDA_BASE_FRAME65 class MY_TYPE KIWAY_PLAYER : public EDA_BASE_FRAME 65 66 #endif 66 67 { 67 68 public: -
libs/kimath/include/geometry/shape_null.h
old new 31 31 32 32 #include <algorithm> 33 33 34 class SHAPE_NULL : public SHAPE34 class MY_TYPE SHAPE_NULL : public SHAPE 35 35 { 36 36 public: 37 37 SHAPE_NULL() : -
libs/kimath/include/geometry/shape_compound.h
old new 35 35 36 36 class SHAPE_SIMPLE; 37 37 38 class SHAPE_COMPOUND : public SHAPE38 class MY_TYPE SHAPE_COMPOUND : public SHAPE 39 39 { 40 40 public: 41 41 SHAPE_COMPOUND() : -
libs/kimath/include/geometry/shape_rect.h
old new 34 34 #include <math/vector2d.h> 35 35 #include <trigo.h> 36 36 37 class SHAPE_RECT : public SHAPE37 class MY_TYPE SHAPE_RECT : public SHAPE 38 38 { 39 39 public: 40 40 /** -
libs/kimath/include/geometry/shape_simple.h
old new 38 38 * there is a "virtual" line segment between the last and first vertex. 39 39 */ 40 40 41 class SHAPE_SIMPLE : public SHAPE_LINE_CHAIN_BASE41 class MY_TYPE SHAPE_SIMPLE : public SHAPE_LINE_CHAIN_BASE 42 42 { 43 43 public: 44 44 /** -
libs/kimath/include/geometry/shape_line_chain.h
old new 78 78 * 79 79 * @note The SHAPE_LINE_CHAIN class shall not be used for polygons! 80 80 */ 81 class SHAPE_LINE_CHAIN : public SHAPE_LINE_CHAIN_BASE81 class MY_TYPE SHAPE_LINE_CHAIN : public SHAPE_LINE_CHAIN_BASE 82 82 { 83 83 private: 84 84 typedef std::vector<VECTOR2I>::iterator point_iter; -
libs/kimath/include/geometry/shape_circle.h
old new 34 34 35 35 #include <algorithm> 36 36 37 class SHAPE_CIRCLE : public SHAPE37 class MY_TYPE SHAPE_CIRCLE : public SHAPE 38 38 { 39 39 public: 40 40 SHAPE_CIRCLE() : -
libs/kimath/include/geometry/shape_arc.h
old new 33 33 34 34 class SHAPE_LINE_CHAIN; 35 35 36 class SHAPE_ARC : public SHAPE36 class MY_TYPE SHAPE_ARC : public SHAPE 37 37 { 38 38 public: 39 39 -
libs/kimath/include/geometry/shape_segment.h
old new 34 34 35 35 #include <algorithm> 36 36 37 class SHAPE_SEGMENT : public SHAPE37 class MY_TYPE SHAPE_SEGMENT : public SHAPE 38 38 { 39 39 public: 40 40 SHAPE_SEGMENT() : -
libs/kimath/include/geometry/shape.h
old new 28 28 29 29 #include <sstream> 30 30 #include <vector> 31 #include <import_export.h> 31 32 #include <geometry/seg.h> 32 33 #include <geometry/eda_angle.h> 33 34 #include <math/vector2d.h> … … 74 75 75 76 class SHAPE; 76 77 77 class SHAPE_BASE78 class MY_TYPE SHAPE_BASE 78 79 { 79 80 public: 80 81 /** … … 119 120 /** 120 121 * An abstract shape on 2D plane. 121 122 */ 122 class SHAPE : public SHAPE_BASE123 class MY_TYPE SHAPE : public SHAPE_BASE 123 124 { 124 125 public: 125 126 /** … … 250 251 }; 251 252 252 253 253 class SHAPE_LINE_CHAIN_BASE : public SHAPE254 class MY_TYPE SHAPE_LINE_CHAIN_BASE : public SHAPE 254 255 { 255 256 public: 256 257 SHAPE_LINE_CHAIN_BASE( SHAPE_TYPE aType ) : -
libs/sexpr/include/sexpr/sexpr.h
old new 22 22 #include <cstdint> 23 23 #include <string> 24 24 #include <vector> 25 #include "import_export.h" 25 26 #include "sexpr/isexprable.h" 26 27 #include "sexpr/sexpr_exception.h" 27 28 … … 42 43 43 44 typedef std::vector< class SEXPR * > SEXPR_VECTOR; 44 45 45 class SEXPR46 class MY_TYPE SEXPR 46 47 { 47 48 public: 48 49 virtual ~SEXPR() {}; … … 94 95 SEXPR( SEXPR_TYPE::SEXPR_TYPE_ATOM_DOUBLE, aLineNumber ), m_value( aValue ) {}; 95 96 }; 96 97 97 struct SEXPR_STRING : public SEXPR98 struct MY_TYPE SEXPR_STRING : public SEXPR 98 99 { 99 100 std::string m_value; 100 101 … … 105 106 SEXPR( SEXPR_TYPE::SEXPR_TYPE_ATOM_STRING, aLineNumber ), m_value( aValue ) {}; 106 107 }; 107 108 108 struct SEXPR_SYMBOL : public SEXPR109 struct MY_TYPE SEXPR_SYMBOL : public SEXPR 109 110 { 110 111 std::string m_value; 111 112 -
include/properties/eda_angle_variant.h
old new 20 20 #ifndef KICAD_EDA_ANGLE_VARIANT_H 21 21 #define KICAD_EDA_ANGLE_VARIANT_H 22 22 23 #include <import_export.h> 23 24 #include <geometry/eda_angle.h> 24 25 25 26 #include <wx/variant.h> 26 27 27 class EDA_ANGLE_VARIANT_DATA : public wxVariantData28 class MY_TYPE EDA_ANGLE_VARIANT_DATA : public wxVariantData 28 29 { 29 30 public: 30 31 EDA_ANGLE_VARIANT_DATA(); -
libs/kimath/include/geometry/shape_poly_set.h
old new 62 62 * 63 63 * TODO: add convex partitioning & spatial index 64 64 */ 65 class SHAPE_POLY_SET : public SHAPE65 class MY_TYPE SHAPE_POLY_SET : public SHAPE 66 66 { 67 67 public: 68 68 ///< represents a single polygon outline with holes. The first entry is the outline, … … 73 73 class TRIANGULATED_POLYGON 74 74 { 75 75 public: 76 struct TRI : public SHAPE_LINE_CHAIN_BASE76 struct MY_TYPE TRI : public SHAPE_LINE_CHAIN_BASE 77 77 { 78 78 TRI( int _a = 0, int _b = 0, int _c = 0, TRIANGULATED_POLYGON* aParent = nullptr ) : 79 79 SHAPE_LINE_CHAIN_BASE( SH_POLY_SET_TRIANGLE ), -
pcbnew/CMakeLists.txt
old new 435 435 -I${CMAKE_SOURCE_DIR}/common/swig 436 436 -I${CMAKE_SOURCE_DIR}/libs/kimath/include 437 437 -I${CMAKE_BINARY_DIR} 438 -DMY_TYPE= 438 439 ) 439 440 440 441 if( DEBUG ) -
include/settings/json_settings.h
old new 21 21 #ifndef _JSON_SETTINGS_H 22 22 #define _JSON_SETTINGS_H 23 23 24 #include <import_export.h> 24 25 #include <core/wx_stl_compat.h> 25 26 26 27 #include <utility> … … 56 57 /// pimpl to allow hiding json.hpp 57 58 class JSON_SETTINGS_INTERNALS; 58 59 59 class JSON_SETTINGS60 class MY_TYPE JSON_SETTINGS 60 61 { 61 62 public: 62 63 friend class NESTED_SETTINGS; -
include/settings/parameters.h
old new 27 27 #include <math/util.h> 28 28 29 29 #include <optional> 30 #include <import_export.h> 30 31 #include <settings/json_settings.h> 31 32 32 33 33 class PARAM_BASE34 class MY_TYPE PARAM_BASE 34 35 { 35 36 public: 36 37 PARAM_BASE( std::string aJsonPath, bool aReadOnly ) : … … 160 161 /** 161 162 * Stores a path as a string with directory separators normalized to unix-style 162 163 */ 163 class PARAM_PATH : public PARAM<wxString>164 class MY_TYPE PARAM_PATH : public PARAM<wxString> 164 165 { 165 166 public: 166 167 PARAM_PATH( const std::string& aJsonPath, wxString* aPtr, const wxString& aDefault, … … 485 486 * Represents a list of strings holding directory paths. 486 487 * Normalizes paths to unix directory separator style in the file. 487 488 */ 488 class PARAM_PATH_LIST : public PARAM_LIST<wxString>489 class MY_TYPE PARAM_PATH_LIST : public PARAM_LIST<wxString> 489 490 { 490 491 public: 491 492 PARAM_PATH_LIST( const std::string& aJsonPath, std::vector<wxString>* aPtr, … … 576 577 /** 577 578 * A helper for <wxString, wxString> maps 578 579 */ 579 class PARAM_WXSTRING_MAP : public PARAM_BASE580 class MY_TYPE PARAM_WXSTRING_MAP : public PARAM_BASE 580 581 { 581 582 public: 582 583 PARAM_WXSTRING_MAP( const std::string& aJsonPath, std::map<wxString, wxString>* aPtr, -
pcbnew/pcbnew_settings.h
old new 101 101 102 102 103 103 // base class to handle Pcbnew SETTINGS also used in Cvpcb 104 class PCB_VIEWERS_SETTINGS_BASE : public APP_SETTINGS_BASE104 class MY_TYPE PCB_VIEWERS_SETTINGS_BASE : public APP_SETTINGS_BASE 105 105 { 106 106 public: 107 107 struct VIEWERS_DISPLAY_OPTIONS -
include/printout.h
old new 28 28 /** 29 29 * Handle the parameters used to print a board drawing. 30 30 */ 31 struct PRINTOUT_SETTINGS31 struct MY_TYPE PRINTOUT_SETTINGS 32 32 { 33 33 PRINTOUT_SETTINGS( const PAGE_INFO& aPageInfo ) 34 34 : m_pageInfo( aPageInfo ) -
include/project.h
old new 29 29 */ 30 30 #include <map> 31 31 #include <vector> 32 #include <import_export.h> 32 33 #include <kiid.h> 33 34 #include <wx_filename.h> 34 35 #include <wx/string.h> … … 71 72 * include derived class headers in this file, you are doing incompatible with the goal 72 73 * of this class. Keep knowledge of derived classes opaque to class PROJECT please. 73 74 */ 74 class _ELEM75 class MY_TYPE _ELEM 75 76 { 76 77 public: 77 78 virtual ~_ELEM() {} -
include/view/view_item.h
old new 29 29 30 30 #include <vector> 31 31 #include <bitset> 32 #include <import_export.h> 32 33 #include <math/box2.h> 33 34 #include <inspectable.h> 34 35 … … 73 74 * VIEW_ITEM objects are never owned by a #VIEW. A single VIEW_ITEM can belong to any number of 74 75 * static VIEWs, but only one dynamic VIEW due to storage of only one VIEW reference. 75 76 */ 76 class VIEW_ITEM : public INSPECTABLE77 class MY_TYPE VIEW_ITEM : public INSPECTABLE 77 78 { 78 79 public: 79 80 VIEW_ITEM() : -
include/tool/tools_holder.h
old new 25 25 #define TOOL_HOLDER_H 26 26 27 27 #include <vector> 28 #include <import_export.h> 28 29 #include <view/view_controls.h> 29 30 #include <tool/selection.h> 30 31 #include <tool/tool_action.h> … … 41 42 * This is just the framework; the owner is responsible for registering individual tools, 42 43 * creating the dispatcher, etc. 43 44 */ 44 class TOOLS_HOLDER45 class MY_TYPE TOOLS_HOLDER 45 46 { 46 47 public: 47 48 TOOLS_HOLDER(); -
include/inspectable.h
old new 22 22 #ifndef INSPECTABLE_H 23 23 #define INSPECTABLE_H 24 24 25 #include <import_export.h> 26 25 27 #include <core/wx_stl_compat.h> 26 28 27 29 #include <properties/property_mgr.h> … … 32 34 /** 33 35 * Class that other classes need to inherit from, in order to be inspectable. 34 36 */ 35 class INSPECTABLE37 class MY_TYPE INSPECTABLE 36 38 { 37 39 public: 38 40 virtual ~INSPECTABLE()