From 6997fec14f8d1ce0f64191e02c229e7f14159c83 Mon Sep 17 00:00:00 2001 From: Wayne Stambaugh Date: Sun, 21 Mar 2021 13:31:23 -0400 Subject: [PATCH] Schematic editor dialog source code housekeeping. --- eeschema/dialogs/dialog_annotate.cpp | 13 +- eeschema/dialogs/dialog_bus_manager.h | 18 +- eeschema/dialogs/dialog_choose_symbol.h | 33 ++-- .../dialogs/dialog_edit_components_libid.cpp | 172 +++++++++--------- eeschema/dialogs/dialog_edit_one_field.h | 29 +-- eeschema/dialogs/dialog_erc.h | 25 ++- .../dialogs/dialog_fields_editor_global.h | 16 +- eeschema/dialogs/dialog_junction_props.h | 6 +- eeschema/dialogs/dialog_lib_edit_text.h | 17 +- eeschema/dialogs/dialog_lib_new_component.h | 11 +- .../dialogs/dialog_lib_symbol_properties.h | 60 +++--- eeschema/dialogs/dialog_migrate_buses.h | 10 +- eeschema/dialogs/dialog_netlist.cpp | 90 +++++---- eeschema/dialogs/dialog_pin_properties.h | 39 ++-- eeschema/dialogs/dialog_plot_schematic.h | 106 ++++++----- .../dialogs/dialog_print_using_printer.cpp | 14 +- eeschema/dialogs/dialog_sch_import_settings.h | 10 +- eeschema/dialogs/dialog_schematic_find.h | 26 +-- .../dialogs/dialog_sheet_pin_properties.h | 18 +- eeschema/dialogs/dialog_update_from_pcb.h | 40 ++-- .../dialogs/panel_eeschema_display_options.h | 9 +- .../dialogs/panel_eeschema_editing_options.h | 11 +- .../panel_eeschema_template_fieldnames.h | 59 +++--- eeschema/dialogs/panel_setup_formatting.h | 17 +- eeschema/dialogs/panel_setup_pinmap.h | 21 +-- eeschema/dialogs/panel_sym_color_settings.h | 6 +- eeschema/dialogs/panel_sym_editing_options.h | 16 +- 27 files changed, 434 insertions(+), 458 deletions(-) diff --git a/eeschema/dialogs/dialog_annotate.cpp b/eeschema/dialogs/dialog_annotate.cpp index 58e8613670..789f225933 100644 --- a/eeschema/dialogs/dialog_annotate.cpp +++ b/eeschema/dialogs/dialog_annotate.cpp @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 1992-2017 jean-pierre Charras jp.charras at wanadoo.fr - * Copyright (C) 1992-2021 Kicad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -37,8 +37,7 @@ /** - * DIALOG_ANNOTATE: a dialog to set/clear reference designators, - * of a schematic hierarchy, with different options + * A dialog to set/clear reference designators of a schematic with different options. */ class DIALOG_ANNOTATE: public DIALOG_ANNOTATE_BASE { @@ -47,9 +46,7 @@ public: ~DIALOG_ANNOTATE(); private: - SCH_EDIT_FRAME* m_Parent; - - /// Initialises member variables + /// Initialize member variables. void InitValues(); void OnOptionChanged( wxCommandEvent& event ) override; void OnClearAnnotationClick( wxCommandEvent& event ) override; @@ -63,14 +60,12 @@ private: bool GetLockUnits(); /** - * Function GetSortOrder * @return 0 if annotation by X position, * 1 if annotation by Y position, */ int GetSortOrder(); /** - * Function GetAnnotateAlgo * @return 0 if annotation using first free Id value * 1 for first free Id value inside sheet num * 100 to sheet num * 100 + 99 * 2 for first free Id value inside sheet num * 1000 to sheet num * 1000 + 999 @@ -78,6 +73,8 @@ private: int GetAnnotateAlgo(); int GetStartNumber(); + + SCH_EDIT_FRAME* m_Parent; }; diff --git a/eeschema/dialogs/dialog_bus_manager.h b/eeschema/dialogs/dialog_bus_manager.h index 15f2370b2d..9b4ad60f86 100644 --- a/eeschema/dialogs/dialog_bus_manager.h +++ b/eeschema/dialogs/dialog_bus_manager.h @@ -2,6 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2018 CERN + * Copyright (C) 2021 KiCad Developers, see AUTHORS.txt for contributors. * @author Jon Evans * * This program is free software: you can redistribute it and/or modify it @@ -48,13 +49,16 @@ public: void OnRemoveSignal( wxCommandEvent& aEvent ); protected: - void OnInitDialog( wxInitDialogEvent& aEvent ); - void OnSelectBus( wxListEvent& event ); - void OnSelectSignal( wxListEvent& event ); +private: + virtual void OnOkClick( wxCommandEvent& aEvent ); + virtual void OnCancelClick( wxCommandEvent& aEvent ); + wxString getAliasDisplayText( std::shared_ptr< BUS_ALIAS > aAlias ); + +protected: SCH_EDIT_FRAME* m_parent; wxListView* m_bus_list_view; @@ -71,16 +75,8 @@ protected: wxButton* m_btn_remove_signal; private: - virtual void OnOkClick( wxCommandEvent& aEvent ); - - virtual void OnCancelClick( wxCommandEvent& aEvent ); - - wxString getAliasDisplayText( std::shared_ptr< BUS_ALIAS > aAlias ); - std::vector< std::shared_ptr< BUS_ALIAS > > m_aliases; - std::unordered_set m_screens; - std::shared_ptr< BUS_ALIAS > m_active_alias; DECLARE_EVENT_TABLE() diff --git a/eeschema/dialogs/dialog_choose_symbol.h b/eeschema/dialogs/dialog_choose_symbol.h index 9da511ec0a..9276e32921 100644 --- a/eeschema/dialogs/dialog_choose_symbol.h +++ b/eeschema/dialogs/dialog_choose_symbol.h @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2014 Henner Zeller - * Copyright (C) 2014-2019 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2014-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -94,13 +94,13 @@ public: * @param aTitle Dialog title. * @param aAdapter SYMBOL_TREE_MODEL_ADAPTER::PTR. See CMP_TREE_MODEL_ADAPTER * for documentation. - * @param aDeMorganConvert preferred deMorgan conversion + * @param aDeMorganConvert preferred deMorgan conversion. * (TODO: should happen in dialog) * @param aAllowFieldEdits if false, all functions that allow the user to edit fields * (currently just footprint selection) will not be available. * @param aShowFootprints if false, all footprint preview and selection features are * disabled. This forces aAllowFieldEdits false too. - * @param aAllowBrowser show a Select with Browser button + * @param aAllowBrowser show a Select with Browser button. */ DIALOG_CHOOSE_SYMBOL( SCH_BASE_FRAME* aParent, const wxString& aTitle, wxObjectDataPtr& aAdapter, @@ -126,8 +126,9 @@ public: * To be called after this dialog returns from ShowModal() * * In the case of multi-unit symbols, this preferences asks to iterate through - * all units of the symbol, one per click - * @return The value of the dialog preference checkbox + * all units of the symbol, one per click. + * + * @return The value of the dialog preference checkbox. */ bool GetUseAllUnits() const { return m_useUnits->GetValue(); } @@ -135,33 +136,31 @@ public: * To be called after this dialog returns from ShowModal() * * Keeps a new copy of the symbol on the mouse cursor, allowing the user to rapidly - * place multiple copies of the same symbol on their schematic + * place multiple copies of the same symbol on their schematic. * - * @return The value of the keep symbol preference checkbox + * @return The value of the keep symbol preference checkbox. */ bool GetKeepSymbol() const { return m_keepSymbol->GetValue(); } /** * Get a list of fields edited by the user. - * @return vector of pairs; each.first = field ID, each.second = new value + * + * @return vector of pairs; each.first = field ID, each.second = new value. */ std::vector> GetFields() const { return m_field_edits; } - /** Function IsExternalBrowserSelected - * - * @return true, iff the user pressed the thumbnail view of the component to - * launch the component browser. + /** + * @return true if the user pressed the thumbnail view of the component to + * launch the component browser. */ bool IsExternalBrowserSelected() const { return m_external_browser_requested; } - static std::mutex g_Mutex; - protected: static constexpr int DblClickDelay = 100; // milliseconds @@ -196,10 +195,14 @@ protected: /** * Populate the footprint selector for a given alias. * - * @param aLibId the #LIB_ID of the selection or invalid to clear + * @param aLibId the #LIB_ID of the selection or invalid to clear. */ void PopulateFootprintSelector( LIB_ID const& aLibId ); +public: + static std::mutex g_Mutex; + +protected: wxTimer* m_dbl_click_timer; SYMBOL_PREVIEW_WIDGET* m_symbol_preview; wxButton* m_browser_button; diff --git a/eeschema/dialogs/dialog_edit_components_libid.cpp b/eeschema/dialogs/dialog_edit_components_libid.cpp index b9a662c266..28750c3243 100644 --- a/eeschema/dialogs/dialog_edit_components_libid.cpp +++ b/eeschema/dialogs/dialog_edit_components_libid.cpp @@ -62,66 +62,54 @@ public: private: // HELPER ROUTINES UNCHANGED FROM wxWidgets IMPLEMENTATION - wxArrayString GetTextLines( wxGrid& grid, - wxDC& dc, - const wxGridCellAttr& attr, - const wxRect& rect, - int row, int col); + wxArrayString GetTextLines( wxGrid& grid, wxDC& dc, const wxGridCellAttr& attr, + const wxRect& rect, int row, int col ); // Helper methods of GetTextLines() // Break a single logical line of text into several physical lines, all of // which are added to the lines array. The lines are broken at maxWidth and // the dc is used for measuring text extent only. - void BreakLine(wxDC& dc, - const wxString& logicalLine, - wxCoord maxWidth, - wxArrayString& lines); + void BreakLine( wxDC& dc, const wxString& logicalLine, wxCoord maxWidth, wxArrayString& lines ); // Break a word, which is supposed to be wider than maxWidth, into several // lines, which are added to lines array and the last, incomplete, of which // is returned in line output parameter. // // Returns the width of the last line. - wxCoord BreakWord(wxDC& dc, - const wxString& word, - wxCoord maxWidth, - wxArrayString& lines, - wxString& line); + wxCoord BreakWord( wxDC& dc, const wxString& word, wxCoord maxWidth, wxArrayString& lines, + wxString& line ); }; // PRIVATE METHOD UNCHANGED FROM wxWidgets IMPLEMENTATION -wxArrayString -GRIDCELL_AUTOWRAP_STRINGRENDERER::GetTextLines(wxGrid& grid, - wxDC& dc, - const wxGridCellAttr& attr, - const wxRect& rect, - int row, int col) +wxArrayString GRIDCELL_AUTOWRAP_STRINGRENDERER::GetTextLines( wxGrid& grid, wxDC& dc, + const wxGridCellAttr& attr, + const wxRect& rect, int row, int col ) { dc.SetFont( attr.GetFont() ); const wxCoord maxWidth = rect.GetWidth(); // Transform logical lines into physical ones, wrapping the longer ones. - const wxArrayString - logicalLines = wxSplit(grid.GetCellValue(row, col), '\n', '\0'); + const wxArrayString logicalLines = wxSplit( grid.GetCellValue( row, col ), '\n', '\0' ); // Trying to do anything if the column is hidden anyhow doesn't make sense // and we run into problems in BreakLine() in this case. - if ( maxWidth <= 0 ) + if( maxWidth <= 0 ) return logicalLines; wxArrayString physicalLines; - for ( const wxString& line : logicalLines ) + + for( const wxString& line : logicalLines ) { - if ( dc.GetTextExtent(line).x > maxWidth ) + if( dc.GetTextExtent( line ).x > maxWidth ) { // Line does not fit, break it up. - BreakLine(dc, line, maxWidth, physicalLines); + BreakLine( dc, line, maxWidth, physicalLines ); } else // The entire line fits as is { - physicalLines.push_back(line); + physicalLines.push_back( line ); } } @@ -130,22 +118,21 @@ GRIDCELL_AUTOWRAP_STRINGRENDERER::GetTextLines(wxGrid& grid, // PRIVATE METHOD UNCHANGED FROM wxWidgets IMPLEMENTATION -void -GRIDCELL_AUTOWRAP_STRINGRENDERER::BreakLine(wxDC& dc, - const wxString& logicalLine, - wxCoord maxWidth, - wxArrayString& lines) +void GRIDCELL_AUTOWRAP_STRINGRENDERER::BreakLine( wxDC& dc, const wxString& logicalLine, + wxCoord maxWidth, wxArrayString& lines ) { - wxCoord lineWidth = 0; + wxCoord lineWidth = 0; wxString line; // For each word - wxStringTokenizer wordTokenizer(logicalLine, wxS(" \t"), wxTOKEN_RET_DELIMS); - while ( wordTokenizer.HasMoreTokens() ) + wxStringTokenizer wordTokenizer( logicalLine, wxS( " \t" ), wxTOKEN_RET_DELIMS ); + + while( wordTokenizer.HasMoreTokens() ) { const wxString word = wordTokenizer.GetNextToken(); - const wxCoord wordWidth = dc.GetTextExtent(word).x; - if ( lineWidth + wordWidth < maxWidth ) + const wxCoord wordWidth = dc.GetTextExtent( word ).x; + + if( lineWidth + wordWidth < maxWidth ) { // Word fits, just add it to this line. line += word; @@ -155,55 +142,53 @@ GRIDCELL_AUTOWRAP_STRINGRENDERER::BreakLine(wxDC& dc, { // Word does not fit, check whether the word is itself wider that // available width - if ( wordWidth < maxWidth ) + if( wordWidth < maxWidth ) { // Word can fit in a new line, put it at the beginning // of the new line. - lines.push_back(line); + lines.push_back( line ); line = word; lineWidth = wordWidth; } else // Word cannot fit in available width at all. { - if ( !line.empty() ) + if( !line.empty() ) { - lines.push_back(line); + lines.push_back( line ); line.clear(); lineWidth = 0; } // Break it up in several lines. - lineWidth = BreakWord(dc, word, maxWidth, lines, line); + lineWidth = BreakWord( dc, word, maxWidth, lines, line ); } } } - if ( !line.empty() ) - lines.push_back(line); + if( !line.empty() ) + lines.push_back( line ); } // PRIVATE METHOD UNCHANGED FROM wxWidgets IMPLEMENTATION -wxCoord -GRIDCELL_AUTOWRAP_STRINGRENDERER::BreakWord(wxDC& dc, - const wxString& word, - wxCoord maxWidth, - wxArrayString& lines, - wxString& line) +wxCoord GRIDCELL_AUTOWRAP_STRINGRENDERER::BreakWord( wxDC& dc, const wxString& word, + wxCoord maxWidth, wxArrayString& lines, + wxString& line ) { wxArrayInt widths; - dc.GetPartialTextExtents(word, widths); + dc.GetPartialTextExtents( word, widths ); // TODO: Use binary search to find the first element > maxWidth. const unsigned count = widths.size(); - unsigned n; - for ( n = 0; n < count; n++ ) + unsigned n; + + for( n = 0; n < count; n++ ) { - if ( widths[n] > maxWidth ) + if( widths[n] > maxWidth ) break; } - if ( n == 0 ) + if( n == 0 ) { // This is a degenerate case: the first character of the word is // already wider than the available space, so we just can't show it @@ -211,7 +196,7 @@ GRIDCELL_AUTOWRAP_STRINGRENDERER::BreakWord(wxDC& dc, n = 1; } - lines.push_back( word.substr(0, n) ); + lines.push_back( word.substr( 0, n ) ); // Check if the remainder of the string fits in one line. // @@ -219,10 +204,10 @@ GRIDCELL_AUTOWRAP_STRINGRENDERER::BreakWord(wxDC& dc, // extent of the remainder may be different when it's rendered in a // separate line instead of as part of the same one, so we have to // recompute it. - const wxString rest = word.substr(n); - const wxCoord restWidth = dc.GetTextExtent(rest).x; + const wxString rest = word.substr( n ); + const wxCoord restWidth = dc.GetTextExtent( rest ).x; - if ( restWidth <= maxWidth ) + if( restWidth <= maxWidth ) { line = rest; return restWidth; @@ -232,7 +217,7 @@ GRIDCELL_AUTOWRAP_STRINGRENDERER::BreakWord(wxDC& dc, // // TODO: Perhaps avoid recursion? The code is simpler like this but using a // loop in this function would probably be more efficient. - return BreakWord(dc, rest, maxWidth, lines, line); + return BreakWord( dc, rest, maxWidth, lines, line ); } @@ -255,17 +240,12 @@ int GRIDCELL_AUTOWRAP_STRINGRENDERER::GetHeight( wxDC& aDC, wxGrid* aGrid, int a } -// a helper class to handle components to edit +/** + * A helper to handle symbols to edit. + */ class CMP_CANDIDATE { public: - SCH_COMPONENT* m_Component; // the schematic component - int m_Row; // the row index in m_grid - SCH_SCREEN* m_Screen; // the screen where m_Component lives - wxString m_Reference; // the schematic reference, only to display it in list - wxString m_InitialLibId; // the Lib Id of the component before any change - bool m_IsOrphan; // true if a component has no corresponding symbol found in libs - CMP_CANDIDATE( SCH_COMPONENT* aComponent ) { m_Component = aComponent; @@ -275,17 +255,24 @@ public: m_Screen = nullptr; } - // Returns a string like mylib:symbol_name from the LIB_ID of the component + // Return a string like mylib:symbol_name from the #LIB_ID of the component. wxString GetStringLibId() { return m_Component->GetLibId().GetUniStringLibId(); } - // Returns a string containing the reference of the component + // Return a string containing the reference of the component. wxString GetSchematicReference() { return m_Reference; } + + SCH_COMPONENT* m_Component; // the schematic component + int m_Row; // the row index in m_grid + SCH_SCREEN* m_Screen; // the screen where m_Component lives + wxString m_Reference; // the schematic reference, only to display it in list + wxString m_InitialLibId; // the Lib Id of the component before any change + bool m_IsOrphan; // true if a component has no corresponding symbol found in libs }; @@ -293,8 +280,8 @@ public: * Dialog to globally edit the #LIB_ID of groups if components having the same initial LIB_ID. * * This is useful when you want to: - * * to move a symbol from a symbol library to another symbol library - * to change the nickname of a library + * * move a symbol from a symbol library to another symbol library. + * * change the nickname of a library. * * globally replace the symbol used by a group of components by another symbol. */ class DIALOG_EDIT_COMPONENTS_LIBID : public DIALOG_EDIT_COMPONENTS_LIBID_BASE @@ -308,33 +295,29 @@ public: bool IsSchematicModified() { return m_isModified; } private: - bool m_isModified; // set to true if the schematic is modified - std::vector m_OrphansRowIndexes; // list of rows containing orphan lib_id - - std::vector m_components; - - GRIDCELL_AUTOWRAP_STRINGRENDERER* m_autoWrapRenderer; - void initDlg(); /** * Add a new row (new entry) in m_grid. - * @param aMarkRow = true to use bold/italic font in column COL_CURR_LIBID - * @param aReferences is the value of cell( aRowId, COL_REFS) - * @param aStrLibId is the value of cell( aRowId, COL_CURR_LIBID) + * + * @param aMarkRow set to true to use bold/italic font in column COL_CURR_LIBID. + * @param aReferences is the value of cell( aRowId, COL_REFS). + * @param aStrLibId is the value of cell( aRowId, COL_CURR_LIBID). */ void AddRowToGrid( bool aMarkRow, const wxString& aReferences, const wxString& aStrLibId ); /// returns true if all new lib id are valid bool validateLibIds(); - /** run the lib browser and set the selected LIB_ID for row aRow - * @param aRow is the row to edit - * @return false if the command was aborted + /** + * Run the lib browser and set the selected #LIB_ID for \a aRow. + * + * @param aRow is the row to edit. + * @return false if the command was aborted. */ bool setLibIdByBrowser( int aRow ); - // Events handlers + // Event handlers // called on a right click or a left double click: void onCellBrowseLib( wxGridEvent& event ) override; @@ -358,6 +341,13 @@ private: void AdjustGridColumns( int aWidth ); void OnSizeGrid( wxSizeEvent& event ) override; + + bool m_isModified; // set to true if the schematic is modified + std::vector m_OrphansRowIndexes; // list of rows containing orphan lib_id + + std::vector m_components; + + GRIDCELL_AUTOWRAP_STRINGRENDERER* m_autoWrapRenderer; }; @@ -406,10 +396,11 @@ void DIALOG_EDIT_COMPONENTS_LIBID::initDlg() // the list is larger and looks like it contains all components const SCH_SHEET_LIST& sheets = GetParent()->Schematic().GetSheets(); SCH_REFERENCE_LIST references; + // build the full list of components including component having no symbol in loaded libs // (orphan components) - sheets.GetSymbols( references, /* include power symbols */true, - /* include orphan components */true ); + sheets.GetSymbols( references, /* include power symbols */ true, + /* include orphan components */ true ); for( unsigned ii = 0; ii < references.GetCount(); ii++ ) { @@ -587,8 +578,9 @@ void DIALOG_EDIT_COMPONENTS_LIBID::onClickOrphansButton( wxCommandEvent& event ) LIB_ID curr_libid; curr_libid.Parse( orphanLibid, true ); wxString symbName = curr_libid.GetLibItemName(); + // number of full LIB_ID candidates (because we search for a symbol name - // inside all avaiable libraries, perhaps the same symbol name can be found + // inside all available libraries, perhaps the same symbol name can be found // in more than one library, giving ambiguity int libIdCandidateCount = 0; candidateSymbNames.Clear(); @@ -781,6 +773,7 @@ void DIALOG_EDIT_COMPONENTS_LIBID::AdjustGridColumns( int aWidth ) aWidth -= colWidth; colWidth = 0; + for( int row = 0; row < m_grid->GetNumberRows(); ++row ) { wxString cellValue = m_grid->GetCellValue( row, COL_CURR_LIBID ); @@ -792,6 +785,7 @@ void DIALOG_EDIT_COMPONENTS_LIBID::AdjustGridColumns( int aWidth ) aWidth -= colWidth; colWidth = 0; + for( int row = 0; row < m_grid->GetNumberRows(); ++row ) { wxString cellValue = m_grid->GetCellValue( row, COL_NEW_LIBID ); diff --git a/eeschema/dialogs/dialog_edit_one_field.h b/eeschema/dialogs/dialog_edit_one_field.h index 8c9ea56acf..71d0f9714a 100644 --- a/eeschema/dialogs/dialog_edit_one_field.h +++ b/eeschema/dialogs/dialog_edit_one_field.h @@ -7,7 +7,7 @@ * * Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@gipsa-lab.inpg.com * Copyright (C) 2016 Wayne Stambaugh, stambaughw@gmail.com - * Copyright (C) 2004-2020 KiCad Developers, see change_log.txt for contributors. + * Copyright (C) 2004-2021 KiCad Developers, see change_log.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -39,13 +39,10 @@ class SCINTILLA_TRICKS; /** - * DIALOG_EDIT_ONE_FIELD - * is a base class to edit schematic and component library fields. - *

- * This class is setup in expectation of its children - * possibly using Kiway player so ShowQuasiModal is required when calling - * any subclasses. - *

+ * A base class to edit schematic and component library fields. + * + * This class is setup in expectation of its children possibly using Kiway player so + * #DIALOG_SHIM::ShowQuasiModal is required when calling any subclasses. */ class DIALOG_EDIT_ONE_FIELD : public DIALOG_LIB_EDIT_TEXT_BASE { @@ -68,8 +65,7 @@ protected: void updateText( EDA_TEXT* aText ); /** - * Function OnTextValueSelectButtonClick - * Handles the select button next to the text value field. The current assumption + * Handle the select button next to the text value field. The current assumption * is that this event will only be enabled for footprint type fields. In the future * this function may need to be moved to the subclasses to access m_field and check for * the field type if more select actions are desired. @@ -81,7 +77,6 @@ protected: /** * Used to select the variant part of some text fields (for instance, the question mark * or number in a reference). - * @param event */ virtual void OnSetFocusText( wxFocusEvent& event ) override; @@ -108,11 +103,9 @@ protected: /** - * DIALOG_LIB_EDIT_ONE_FIELD - * is a the class to handle editing a single component field in the library editor. - *

+ * Handle editing a single component field in the library editor. + * * @note Use ShowQuasiModal when calling this class! - *

*/ class DIALOG_LIB_EDIT_ONE_FIELD : public DIALOG_EDIT_ONE_FIELD { @@ -136,11 +129,9 @@ public: /** - * DIALOG_SCH_EDIT_ONE_FIELD - * is a the class to handle editing a single component field in the schematic editor. - *

+ * Handle editing a single component field in the schematic editor. + * * @note Use ShowQuasiModal when calling this class! - *

*/ class DIALOG_SCH_EDIT_ONE_FIELD : public DIALOG_EDIT_ONE_FIELD { diff --git a/eeschema/dialogs/dialog_erc.h b/eeschema/dialogs/dialog_erc.h index ed1ced2bc4..a0160f6a08 100644 --- a/eeschema/dialogs/dialog_erc.h +++ b/eeschema/dialogs/dialog_erc.h @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2007 Jean-Pierre Charras, jp.charras at wanadoo.fr - * Copyright (C) 1992-2014 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -33,21 +33,9 @@ #include #include -// DIALOG_ERC class declaration class DIALOG_ERC : public DIALOG_ERC_BASE, PROGRESS_REPORTER { -private: - SCH_EDIT_FRAME* m_parent; - - RC_ITEMS_PROVIDER* m_markerProvider; - RC_TREE_MODEL* m_markerTreeModel; - - bool m_running; - bool m_ercRun; - - int m_severities; - public: DIALOG_ERC( SCH_EDIT_FRAME* parent ); ~DIALOG_ERC(); @@ -85,6 +73,17 @@ private: void syncCheckboxes(); void updateDisplayedCounts(); + +private: + SCH_EDIT_FRAME* m_parent; + + RC_ITEMS_PROVIDER* m_markerProvider; + RC_TREE_MODEL* m_markerTreeModel; + + bool m_running; + bool m_ercRun; + + int m_severities; }; diff --git a/eeschema/dialogs/dialog_fields_editor_global.h b/eeschema/dialogs/dialog_fields_editor_global.h index 06a2566b31..3d7080d8c7 100644 --- a/eeschema/dialogs/dialog_fields_editor_global.h +++ b/eeschema/dialogs/dialog_fields_editor_global.h @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2017 Oliver Walters - * Copyright (C) 2017-2018 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2017-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -44,13 +44,6 @@ public: bool TransferDataFromWindow() override; private: - SCH_EDIT_FRAME* m_parent; - int m_showColWidth; - int m_groupByColWidth; - - SCH_REFERENCE_LIST m_symbolsList; - FIELDS_EDITOR_GRID_DATA_MODEL* m_dataModel; - void AddField( const wxString& displayName, const wxString& aCanonicalName, bool defaultShow, bool defaultSortBy ); void LoadFieldNames(); @@ -69,6 +62,13 @@ private: void OnSaveAndContinue( wxCommandEvent& aEvent ) override; void OnCancel( wxCommandEvent& event ) override; void OnClose( wxCloseEvent& event ) override; + + SCH_EDIT_FRAME* m_parent; + int m_showColWidth; + int m_groupByColWidth; + + SCH_REFERENCE_LIST m_symbolsList; + FIELDS_EDITOR_GRID_DATA_MODEL* m_dataModel; }; #endif /* DIALOG_FIELDS_EDITOR_GLOBAL_H */ diff --git a/eeschema/dialogs/dialog_junction_props.h b/eeschema/dialogs/dialog_junction_props.h index 7e660fc355..3abea47881 100644 --- a/eeschema/dialogs/dialog_junction_props.h +++ b/eeschema/dialogs/dialog_junction_props.h @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2020 Wayne Stambaugh - * Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2020-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -39,12 +39,12 @@ public: bool TransferDataFromWindow() override; private: + void resetDefaults( wxCommandEvent& event ) override; + SCH_EDIT_FRAME* m_frame; std::deque m_junctions; UNIT_BINDER m_diameter; - - void resetDefaults( wxCommandEvent& event ) override; }; #endif // __dialog_junction_props__ diff --git a/eeschema/dialogs/dialog_lib_edit_text.h b/eeschema/dialogs/dialog_lib_edit_text.h index 2a5e95dc86..0be3e6bda6 100644 --- a/eeschema/dialogs/dialog_lib_edit_text.h +++ b/eeschema/dialogs/dialog_lib_edit_text.h @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2001 Jean-Pierre Charras, jp.charras at wanadoo.fr - * Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors. + * Copyright (C) 2004-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -35,14 +35,6 @@ class LIB_TEXT; class DIALOG_LIB_EDIT_TEXT : public DIALOG_LIB_EDIT_TEXT_BASE { -private: - SYMBOL_EDIT_FRAME* m_parent; - LIB_TEXT* m_graphicText; - - UNIT_BINDER m_posX; - UNIT_BINDER m_posY; - UNIT_BINDER m_textSize; - public: DIALOG_LIB_EDIT_TEXT( SYMBOL_EDIT_FRAME* aParent, LIB_TEXT* aText ); ~DIALOG_LIB_EDIT_TEXT() override {}; @@ -52,6 +44,13 @@ public: private: bool TransferDataToWindow() override; bool TransferDataFromWindow() override; + + SYMBOL_EDIT_FRAME* m_parent; + LIB_TEXT* m_graphicText; + + UNIT_BINDER m_posX; + UNIT_BINDER m_posY; + UNIT_BINDER m_textSize; }; diff --git a/eeschema/dialogs/dialog_lib_new_component.h b/eeschema/dialogs/dialog_lib_new_component.h index df20a7eea9..00005cc70e 100644 --- a/eeschema/dialogs/dialog_lib_new_component.h +++ b/eeschema/dialogs/dialog_lib_new_component.h @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2009 Wayne Stambaugh - * Copyright (C) 2015-2019 KiCad Developers, see CHANGELOG.TXT for contributors. + * Copyright (C) 2015-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -25,11 +25,6 @@ #ifndef __dialog_lib_new_component__ #define __dialog_lib_new_component__ -/** - * @file - * Subclass of DIALOG_LIB_NEW_COMPONENT, which is generated by wxFormBuilder. - */ - #include #include @@ -37,13 +32,11 @@ class EDA_DRAW_FRAME; class wxArrayString; -/** Implementing DIALOG_LIB_NEW_COMPONENT */ class DIALOG_LIB_NEW_COMPONENT : public DIALOG_LIB_NEW_COMPONENT_BASE { public: - /** Constructor */ DIALOG_LIB_NEW_COMPONENT( EDA_DRAW_FRAME* parent, - const wxArrayString* aRootSymbolNames = nullptr ); + const wxArrayString* aRootSymbolNames = nullptr ); void SetName( const wxString& name ) override { m_textName->SetValue( name ); } wxString GetName( void ) const override { return m_textName->GetValue(); } diff --git a/eeschema/dialogs/dialog_lib_symbol_properties.h b/eeschema/dialogs/dialog_lib_symbol_properties.h index cddd4e4359..f23eaa3c31 100644 --- a/eeschema/dialogs/dialog_lib_symbol_properties.h +++ b/eeschema/dialogs/dialog_lib_symbol_properties.h @@ -1,7 +1,7 @@ /* * This program source code file is part of KiCad, a free EDA CAD application. * - * Copyright (C) 1992-2020 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -37,36 +37,7 @@ class WX_GRID; class DIALOG_LIB_SYMBOL_PROPERTIES: public DIALOG_LIB_SYMBOL_PROPERTIES_BASE { - static int m_lastOpenedPage; // To remember the last notebook selection - - enum LAST_LAYOUT { - NONE, - ALIAS, - PARENT - }; - - static LAST_LAYOUT m_lastLayout; - public: - SYMBOL_EDIT_FRAME* m_Parent; - LIB_PART* m_libEntry; - - FIELDS_GRID_TABLE* m_fields; - - UNIT_BINDER m_pinNameOffset; - - wxControl* m_delayedFocusCtrl; - WX_GRID* m_delayedFocusGrid; - int m_delayedFocusRow; - int m_delayedFocusColumn; - int m_delayedFocusPage; - wxString m_delayedErrorMessage; - - wxString m_shownColumns; - int m_width; - -public: - /// Constructors DIALOG_LIB_SYMBOL_PROPERTIES( SYMBOL_EDIT_FRAME* parent, LIB_PART* aLibEntry ); ~DIALOG_LIB_SYMBOL_PROPERTIES(); @@ -97,6 +68,35 @@ private: void adjustGridColumns( int aWidth ); void syncControlStates( bool aIsAlias ); + +public: + SYMBOL_EDIT_FRAME* m_Parent; + LIB_PART* m_libEntry; + + FIELDS_GRID_TABLE* m_fields; + + UNIT_BINDER m_pinNameOffset; + + wxControl* m_delayedFocusCtrl; + WX_GRID* m_delayedFocusGrid; + int m_delayedFocusRow; + int m_delayedFocusColumn; + int m_delayedFocusPage; + wxString m_delayedErrorMessage; + + wxString m_shownColumns; + int m_width; + +private: + static int m_lastOpenedPage; // To remember the last notebook selection + + enum LAST_LAYOUT { + NONE, + ALIAS, + PARENT + }; + + static LAST_LAYOUT m_lastLayout; }; #endif // DIALOG_LIB_SYMBOL_PROPERTIES_H diff --git a/eeschema/dialogs/dialog_migrate_buses.h b/eeschema/dialogs/dialog_migrate_buses.h index 856394fa2d..a442d9600c 100644 --- a/eeschema/dialogs/dialog_migrate_buses.h +++ b/eeschema/dialogs/dialog_migrate_buses.h @@ -2,6 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2018 CERN + * Copyright (C) 2021 KiCad Developers, see AUTHORS.txt for contributors. * @author Jon Evans * * This program is free software; you can redistribute it and/or @@ -51,10 +52,6 @@ public: private: - SCH_EDIT_FRAME* m_frame; - - unsigned m_selected_index; - void loadGraphData(); void updateUi(); @@ -65,6 +62,11 @@ private: void onAcceptClicked( wxCommandEvent& aEvent ); + + SCH_EDIT_FRAME* m_frame; + + unsigned m_selected_index; + std::vector m_items; }; diff --git a/eeschema/dialogs/dialog_netlist.cpp b/eeschema/dialogs/dialog_netlist.cpp index d66596a5f5..9d29ef7e9d 100644 --- a/eeschema/dialogs/dialog_netlist.cpp +++ b/eeschema/dialogs/dialog_netlist.cpp @@ -68,7 +68,26 @@ enum panel_netlist_index { /* wxPanels for creating the NoteBook pages for each netlist format: */ class NETLIST_PAGE_DIALOG : public wxPanel { + public: + /** + * Create a setup page for one netlist format. + * + * Used in Netlist format dialog box creation. + * + * @param parent is the wxNotebook parent. + * @param title is the title of the notebook page. + * @param id_NetType is the netlist ID type. + */ + NETLIST_PAGE_DIALOG( wxNotebook* parent, const wxString& title, + NETLIST_TYPE_ID id_NetType ); + ~NETLIST_PAGE_DIALOG() { }; + + /** + * @return the name of the netlist format for this page. + */ + const wxString GetPageNetFmtName() { return m_pageNetFmtName; } + NETLIST_TYPE_ID m_IdNetType; // opt to reformat passive component values (e.g. 1M -> 1Meg): wxCheckBox* m_AdjustPassiveValues; @@ -81,43 +100,19 @@ public: private: wxString m_pageNetFmtName; - -public: - /** Constructor to create a setup page for one netlist format. - * Used in Netlist format Dialog box creation - * @param parent = wxNotebook * parent - * @param title = title (name) of the notebook page - * @param id_NetType = netlist type id - */ - NETLIST_PAGE_DIALOG( wxNotebook* parent, const wxString& title, - NETLIST_TYPE_ID id_NetType ); - ~NETLIST_PAGE_DIALOG() { }; - - /** - * function GetPageNetFmtName - * @return the name of the netlist format for this page - * This is also the page label. - */ - const wxString GetPageNetFmtName() { return m_pageNetFmtName; } }; /* Dialog frame for creating netlists */ class NETLIST_DIALOG : public NETLIST_DIALOG_BASE { - friend class NETLIST_PAGE_DIALOG; - public: - SCH_EDIT_FRAME* m_Parent; - wxString m_DefaultNetFmtName; - NETLIST_PAGE_DIALOG* m_PanelNetType[4 + CUSTOMPANEL_COUNTMAX]; - -public: - // Constructor and destructor NETLIST_DIALOG( SCH_EDIT_FRAME* parent ); ~NETLIST_DIALOG() { }; private: + friend class NETLIST_PAGE_DIALOG; + void InstallCustomPages(); NETLIST_PAGE_DIALOG* AddOneCustomPage( const wxString & aTitle, const wxString & aCommandString, @@ -130,54 +125,52 @@ private: void OnNetlistTypeSelection( wxNotebookEvent& event ) override; /** - * Function OnAddGenerator - * Add a new panel for a new netlist plugin + * Add a new panel for a new netlist plugin. */ void OnAddGenerator( wxCommandEvent& event ) override; /** - * Function OnDelGenerator - * Remove a panel relative to a netlist plugin + * Remove a panel relative to a netlist plugin. */ void OnDelGenerator( wxCommandEvent& event ) override; /** - * Run the external spice simulator command + * Run the external spice simulator command. */ void OnRunExternSpiceCommand( wxCommandEvent& event ); /** - * Enable (if the command line is not empty or disable the button to run spice command + * Enable (if the command line is not empty or disable the button to run spice command. */ void OnRunSpiceButtUI( wxUpdateUIEvent& event ); /** - * Function WriteCurrentNetlistSetup - * Write the current netlist options setup in the configuration + * Write the current netlist options setup in the configuration. */ void WriteCurrentNetlistSetup(); /** - * Function FilenamePrms - * returns the filename extension and the wildcard string for this curr - * or a void name if there is no default name - * @param aType = the netlist type ( NET_TYPE_PCBNEW ... ) - * @param aExt = a reference to a wxString to return the default file ext. - * @param aWildCard = reference to a wxString to return the default wildcard. - * @return true for known netlist type, false for custom formats + * Return the filename extension and the wildcard string for this page or a void name + * if there is no default name. + * + * @param aType is the netlist type ( NET_TYPE_PCBNEW ... ). + * @param aExt [in] is a holder for the netlist file extension. + * @param aWildCard [in] is a holder for netlist file dialog wildcard. + * @return true for known netlist type, false for custom formats. */ - bool FilenamePrms( NETLIST_TYPE_ID aType, - wxString * aExt, wxString * aWildCard ); + bool FilenamePrms( NETLIST_TYPE_ID aType, wxString* aExt, wxString* aWildCard ); DECLARE_EVENT_TABLE() + +public: + SCH_EDIT_FRAME* m_Parent; + wxString m_DefaultNetFmtName; + NETLIST_PAGE_DIALOG* m_PanelNetType[4 + CUSTOMPANEL_COUNTMAX]; }; class NETLIST_DIALOG_ADD_GENERATOR : public NETLIST_DIALOG_ADD_GENERATOR_BASE { -private: - NETLIST_DIALOG* m_Parent; - public: NETLIST_DIALOG_ADD_GENERATOR( NETLIST_DIALOG* parent ); @@ -186,7 +179,6 @@ public: private: /** - * Function OnOKClick * Validate info relative to a new netlist plugin */ void OnOKClick( wxCommandEvent& event ) override; @@ -195,6 +187,8 @@ private: * Browse plugin files, and set m_CommandStringCtrl field */ void OnBrowseGenerators( wxCommandEvent& event ) override; + + NETLIST_DIALOG* m_Parent; }; @@ -725,7 +719,7 @@ int InvokeDialogNetList( SCH_EDIT_FRAME* aCaller ) int ret = dlg.ShowModal(); - // Update the default netlist and store it in prj config if it was explicitely changed. + // Update the default netlist and store it in prj config if it was explicitly changed. settings.m_NetFormatName = dlg.m_DefaultNetFmtName; // can have temporary changed if( curr_default_netformat != dlg.m_DefaultNetFmtName ) diff --git a/eeschema/dialogs/dialog_pin_properties.h b/eeschema/dialogs/dialog_pin_properties.h index c03fbd4323..1f618316f2 100644 --- a/eeschema/dialogs/dialog_pin_properties.h +++ b/eeschema/dialogs/dialog_pin_properties.h @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2010 Jean-Pierre Charras, jp.charras at wanadoo.fr - * Copyright (C) 2014 KiCad Developers, see CHANGELOG.TXT for contributors. + * Copyright (C) 2014-2021 KiCad Developers, see AUTHOR.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -51,9 +51,26 @@ enum COL_ORDER class ALT_PIN_DATA_MODEL; -/** Implementing DIALOG_LIB_EDIT_PIN_BASE */ class DIALOG_PIN_PROPERTIES : public DIALOG_PIN_PROPERTIES_BASE { +public: + DIALOG_PIN_PROPERTIES( SYMBOL_EDIT_FRAME* parent, LIB_PIN* aPin ); + ~DIALOG_PIN_PROPERTIES() override; + + bool TransferDataToWindow() override; + bool TransferDataFromWindow() override; + + void OnPaintShowPanel( wxPaintEvent& event ) override; + void OnPropertiesChange( wxCommandEvent& event ) override; + void OnAddAlternate( wxCommandEvent& event ) override; + void OnDeleteAlternate( wxCommandEvent& event ) override; + void OnSize( wxSizeEvent& event ) override; + void OnUpdateUI( wxUpdateUIEvent& event ) override; + +protected: + void adjustGridColumns( int aWidth ); + +private: SYMBOL_EDIT_FRAME* m_frame; LIB_PIN* m_pin; LIB_PIN* m_dummyPin; // a working copy used to show changes @@ -74,24 +91,6 @@ class DIALOG_PIN_PROPERTIES : public DIALOG_PIN_PROPERTIES_BASE int m_originalColWidths[ COL_COUNT ]; int m_width; bool m_initialized; - -public: - /** Constructor */ - DIALOG_PIN_PROPERTIES( SYMBOL_EDIT_FRAME* parent, LIB_PIN* aPin ); - ~DIALOG_PIN_PROPERTIES() override; - - bool TransferDataToWindow() override; - bool TransferDataFromWindow() override; - - void OnPaintShowPanel( wxPaintEvent& event ) override; - void OnPropertiesChange( wxCommandEvent& event ) override; - void OnAddAlternate( wxCommandEvent& event ) override; - void OnDeleteAlternate( wxCommandEvent& event ) override; - void OnSize( wxSizeEvent& event ) override; - void OnUpdateUI( wxUpdateUIEvent& event ) override; - -protected: - void adjustGridColumns( int aWidth ); }; #endif // __dialog_lib_edit_pin__ diff --git a/eeschema/dialogs/dialog_plot_schematic.h b/eeschema/dialogs/dialog_plot_schematic.h index f48ef49a1b..4196351eb7 100644 --- a/eeschema/dialogs/dialog_plot_schematic.h +++ b/eeschema/dialogs/dialog_plot_schematic.h @@ -1,13 +1,10 @@ -/** @file dialog_plot_schematic.h - */ - /* * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 1992-2018 Jean-Pierre Charras jp.charras at wanadoo.fr * Copyright (C) 1992-2010 Lorenzo Marcantonio * Copyright (C) 2011 Wayne Stambaugh - * Copyright (C) 1992-2020 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -27,6 +24,13 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ +/** + * @file dialog_plot_schematic.h + */ + +#ifndef __DIALOG_PLOT_SCHEMATIC__ +#define __DIALOG_PLOT_SCHEMATIC__ + #include #include #include @@ -34,7 +38,8 @@ #include #include -enum PageFormatReq { +enum PageFormatReq +{ PAGE_SIZE_AUTO, PAGE_SIZE_A4, PAGE_SIZE_A @@ -52,23 +57,14 @@ class PDF_PLOTTER; class DIALOG_PLOT_SCHEMATIC : public DIALOG_PLOT_SCHEMATIC_BASE { -private: - SCH_EDIT_FRAME* m_parent; - bool m_configChanged; // true if a project config param has changed - PLOT_FORMAT m_plotFormat; - static int m_pageSizeSelect; // Static to keep last option for some format - static int m_HPGLPaperSizeSelect; // for HPGL format only: last selected paper size - double m_HPGLPenSize; // for HPGL format only: pen size - - UNIT_BINDER m_defaultLineWidth; - UNIT_BINDER m_penWidth; - public: // / Constructors DIALOG_PLOT_SCHEMATIC( SCH_EDIT_FRAME* parent ); - bool PrjConfigChanged() { return m_configChanged; } // return true if the prj config was modified - // and therefore should be saved + /** + * Return true if the project configutation was modified. + */ + bool PrjConfigChanged() { return m_configChanged; } private: void OnPageSizeSelected( wxCommandEvent& event ) override; @@ -76,7 +72,7 @@ private: void OnPlotAll( wxCommandEvent& event ) override; void OnUpdateUI( wxUpdateUIEvent& event ) override; - void initDlg(); + void initDlg(); // common void getPlotOptions( RENDER_SETTINGS* aSettings ); @@ -139,40 +135,64 @@ private: switch( aOriginAndUnits ) { case HPGL_PLOT_ORIGIN_AND_UNITS::PLOTTER_BOT_LEFT: - default: m_plotOriginOpt->SetSelection( 0 ); break; - case HPGL_PLOT_ORIGIN_AND_UNITS::PLOTTER_CENTER: m_plotOriginOpt->SetSelection( 1 ); break; - case HPGL_PLOT_ORIGIN_AND_UNITS::USER_FIT_PAGE: m_plotOriginOpt->SetSelection( 2 ); break; - case HPGL_PLOT_ORIGIN_AND_UNITS::USER_FIT_CONTENT: m_plotOriginOpt->SetSelection( 3 ); break; + default: + m_plotOriginOpt->SetSelection( 0 ); + break; + + case HPGL_PLOT_ORIGIN_AND_UNITS::PLOTTER_CENTER: + m_plotOriginOpt->SetSelection( 1 ); + break; + + case HPGL_PLOT_ORIGIN_AND_UNITS::USER_FIT_PAGE: + m_plotOriginOpt->SetSelection( 2 ); + break; + + case HPGL_PLOT_ORIGIN_AND_UNITS::USER_FIT_CONTENT: + m_plotOriginOpt->SetSelection( 3 ); + break; } } - void createHPGLFile( bool aPlotAll, bool aPlotFrameRef, RENDER_SETTINGS* aRenderSettings ); - void SetHPGLPenWidth(); - bool Plot_1_Page_HPGL( const wxString& aFileName, SCH_SCREEN* aScreen, - const PAGE_INFO& aPageInfo, RENDER_SETTINGS* aRenderSettings, - wxPoint aPlot0ffset, double aScale, bool aPlotFrameRef, - HPGL_PLOT_ORIGIN_AND_UNITS aOriginAndUnits ); + void createHPGLFile( bool aPlotAll, bool aPlotFrameRef, RENDER_SETTINGS* aRenderSettings ); + void SetHPGLPenWidth(); + bool Plot_1_Page_HPGL( const wxString& aFileName, SCH_SCREEN* aScreen, + const PAGE_INFO& aPageInfo, RENDER_SETTINGS* aRenderSettings, + wxPoint aPlot0ffset, double aScale, bool aPlotFrameRef, + HPGL_PLOT_ORIGIN_AND_UNITS aOriginAndUnits ); // PS - void createPSFile( bool aPlotAll, bool aPlotFrameRef, RENDER_SETTINGS* aSettings ); - bool plotOneSheetPS( const wxString& aFileName, SCH_SCREEN* aScreen, - RENDER_SETTINGS* aRenderSettings, const PAGE_INFO& aPageInfo, - wxPoint aPlot0ffset, double aScale, bool aPlotFrameRef ); + void createPSFile( bool aPlotAll, bool aPlotFrameRef, RENDER_SETTINGS* aSettings ); + bool plotOneSheetPS( const wxString& aFileName, SCH_SCREEN* aScreen, + RENDER_SETTINGS* aRenderSettings, const PAGE_INFO& aPageInfo, + wxPoint aPlot0ffset, double aScale, bool aPlotFrameRef ); // SVG - void createSVGFile( bool aPlotAll, bool aPlotFrameRef, RENDER_SETTINGS* aSettings ); - bool plotOneSheetSVG( const wxString& aFileName, SCH_SCREEN* aScreen, - RENDER_SETTINGS* aRenderSettings, bool aPlotBlackAndWhite, - bool aPlotFrameRef ); + void createSVGFile( bool aPlotAll, bool aPlotFrameRef, RENDER_SETTINGS* aSettings ); + bool plotOneSheetSVG( const wxString& aFileName, SCH_SCREEN* aScreen, + RENDER_SETTINGS* aRenderSettings, bool aPlotBlackAndWhite, + bool aPlotFrameRef ); /** - * Create a file name with an absolute path name - * @param aPlotFileName the name for the file to plot without a path - * @param aExtension the extension for the file to plot - * @param aReporter a point to a REPORTER object use to show messages (can be NULL) - * @return the created file name - * @throw IO_ERROR on file I/O errors + * Create a file name with an absolute path name. + * + * @param aPlotFileName the name for the file to plot without a path. + * @param aExtension the extension for the file to plot. + * @param aReporter a point to a REPORTER object use to show messages (can be NULL). + * @return the created file name. + * @throw IO_ERROR on file I/O errors. */ wxFileName createPlotFileName( const wxString& aPlotFileName, const wxString& aExtension, REPORTER* aReporter = NULL ); + + SCH_EDIT_FRAME* m_parent; + bool m_configChanged; // true if a project config param has changed + PLOT_FORMAT m_plotFormat; + static int m_pageSizeSelect; // Static to keep last option for some format + static int m_HPGLPaperSizeSelect; // for HPGL format only: last selected paper size + double m_HPGLPenSize; // for HPGL format only: pen size + + UNIT_BINDER m_defaultLineWidth; + UNIT_BINDER m_penWidth; }; + +#endif // __DIALOG_PLOT_SCHEMATIC__ diff --git a/eeschema/dialogs/dialog_print_using_printer.cpp b/eeschema/dialogs/dialog_print_using_printer.cpp index 0d68a6ee90..1c76ea419e 100644 --- a/eeschema/dialogs/dialog_print_using_printer.cpp +++ b/eeschema/dialogs/dialog_print_using_printer.cpp @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2015 Jean-Pierre Charras, jp.charras at wanadoo.fr - * Copyright (C) 2015-2020 KiCad Developers, see CHANGELOG.TXT for contributors. + * Copyright (C) 2015-2021 KiCad Developers, see CHANGELOG.TXT for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -64,9 +64,6 @@ private: */ class SCH_PRINTOUT : public wxPrintout { -private: - SCH_EDIT_FRAME* m_parent; - public: SCH_PRINTOUT( SCH_EDIT_FRAME* aParent, const wxString& aTitle ) : wxPrintout( aTitle ) @@ -80,6 +77,9 @@ public: bool OnBeginDocument( int startPage, int endPage ) override; void GetPageInfo( int* minPage, int* maxPage, int* selPageFrom, int* selPageTo ) override; void PrintPage( SCH_SCREEN* aScreen ); + +private: + SCH_EDIT_FRAME* m_parent; }; @@ -254,8 +254,6 @@ void DIALOG_PRINT_USING_PRINTER::SavePrintOptions() } -/* Open a dialog box for printer setup (printer options, page size ...) - */ void DIALOG_PRINT_USING_PRINTER::OnPageSetup( wxCommandEvent& event ) { wxPageSetupDialog pageSetupDialog( this, &m_parent->GetPageSetupData() ); @@ -265,8 +263,6 @@ void DIALOG_PRINT_USING_PRINTER::OnPageSetup( wxCommandEvent& event ) } -/* Open and display a previewer frame for printing - */ void DIALOG_PRINT_USING_PRINTER::OnPrintPreview( wxCommandEvent& event ) { SavePrintOptions(); @@ -486,7 +482,7 @@ void SCH_PRINTOUT::PrintPage( SCH_SCREEN* aScreen ) if( cfg->m_Printing.use_theme && theme ) renderSettings.LoadColors( theme ); - // The drawing-sheet-item print code is shared between PCBNew and EESchema, so it's easier + // The drawing-sheet-item print code is shared between PCBNew and Eeschema, so it's easier // if they just use the PCB layer. renderSettings.SetLayerColor( LAYER_DRAWINGSHEET, renderSettings.GetLayerColor( LAYER_SCHEMATIC_DRAWINGSHEET ) ); diff --git a/eeschema/dialogs/dialog_sch_import_settings.h b/eeschema/dialogs/dialog_sch_import_settings.h index 86b9afb2f9..29c9cfc030 100644 --- a/eeschema/dialogs/dialog_sch_import_settings.h +++ b/eeschema/dialogs/dialog_sch_import_settings.h @@ -1,7 +1,7 @@ /* * This program source code file is part of KiCad, a free EDA CAD application. * - * Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2020-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -33,10 +33,6 @@ class SCH_EDIT_FRAME; class DIALOG_SCH_IMPORT_SETTINGS : public DIALOG_SCH_IMPORT_SETTINGS_BASE { -protected: - SCH_EDIT_FRAME* m_frame; - static wxString m_filePath; - public: DIALOG_SCH_IMPORT_SETTINGS( wxWindow* aParent, SCH_EDIT_FRAME* aFrame ); @@ -47,6 +43,10 @@ public: bool TransferDataFromWindow() override; wxString GetFilePath() { return m_filePath; } + +protected: + SCH_EDIT_FRAME* m_frame; + static wxString m_filePath; }; #endif //KICAD_DIALOG_SCH_IMPORT_SETTINGS_H diff --git a/eeschema/dialogs/dialog_schematic_find.h b/eeschema/dialogs/dialog_schematic_find.h index 99b51aad7b..a438b4f640 100644 --- a/eeschema/dialogs/dialog_schematic_find.h +++ b/eeschema/dialogs/dialog_schematic_find.h @@ -1,8 +1,8 @@ /* * This program source code file is part of KiCad, a free EDA CAD application. * - * Copyright (C) 2010 Wayne Stambaugh - * Copyright (C) 2010-2019 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2010 Wayne Stambaugh + * Copyright (C) 2010-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -46,6 +46,17 @@ class SCH_EDITOR_CONTROL; class DIALOG_SCH_FIND : public DIALOG_SCH_FIND_BASE { +public: + DIALOG_SCH_FIND( SCH_EDIT_FRAME* aParent, wxFindReplaceData* aData, + const wxPoint& aPosition = wxDefaultPosition, + const wxSize& aSize = wxDefaultSize, int aStyle = 0 ); + + void SetFindEntries( const wxArrayString& aEntries ); + wxArrayString GetFindEntries() const; + + void SetReplaceEntries( const wxArrayString& aEntries ); + wxArrayString GetReplaceEntries() const { return m_comboReplace->GetStrings(); } + protected: // Handlers for DIALOG_SCH_FIND_BASE events. void OnClose( wxCloseEvent& aEvent ) override; @@ -70,17 +81,6 @@ protected: bool m_findDirty; DECLARE_NO_COPY_CLASS( DIALOG_SCH_FIND ) - -public: - DIALOG_SCH_FIND( SCH_EDIT_FRAME* aParent, wxFindReplaceData* aData, - const wxPoint& aPosition = wxDefaultPosition, - const wxSize& aSize = wxDefaultSize, int aStyle = 0 ); - - void SetFindEntries( const wxArrayString& aEntries ); - wxArrayString GetFindEntries() const; - - void SetReplaceEntries( const wxArrayString& aEntries ); - wxArrayString GetReplaceEntries() const { return m_comboReplace->GetStrings(); } }; diff --git a/eeschema/dialogs/dialog_sheet_pin_properties.h b/eeschema/dialogs/dialog_sheet_pin_properties.h index 22c04810cd..0f2f0821cf 100644 --- a/eeschema/dialogs/dialog_sheet_pin_properties.h +++ b/eeschema/dialogs/dialog_sheet_pin_properties.h @@ -1,8 +1,8 @@ /* * This program source code file is part of KiCad, a free EDA CAD application. * - * Copyright (C) 2010 Wayne Stambaugh - * Copyright (C) 2018 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2010 Wayne Stambaugh + * Copyright (C) 2018-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -36,13 +36,6 @@ class HTML_MESSAGE_BOX; class DIALOG_SHEET_PIN_PROPERTIES : public DIALOG_SHEET_PIN_PROPERTIES_BASE { - SCH_EDIT_FRAME* m_frame; - SCH_SHEET_PIN* m_sheetPin; - - UNIT_BINDER m_textSize; - - HTML_MESSAGE_BOX* m_helpWindow; - public: DIALOG_SHEET_PIN_PROPERTIES( SCH_EDIT_FRAME* parent, SCH_SHEET_PIN* aPin ); ~DIALOG_SHEET_PIN_PROPERTIES(); @@ -54,6 +47,13 @@ private: void onOKButton( wxCommandEvent& event ) override; void OnSyntaxHelp( wxHyperlinkEvent& event ) override; void onComboBox( wxCommandEvent& event ) override; + + SCH_EDIT_FRAME* m_frame; + SCH_SHEET_PIN* m_sheetPin; + + UNIT_BINDER m_textSize; + + HTML_MESSAGE_BOX* m_helpWindow; }; #endif // DIALOG_SHEET_PIN_PROPERTIES_H diff --git a/eeschema/dialogs/dialog_update_from_pcb.h b/eeschema/dialogs/dialog_update_from_pcb.h index 7b4eecb965..ef623403d4 100644 --- a/eeschema/dialogs/dialog_update_from_pcb.h +++ b/eeschema/dialogs/dialog_update_from_pcb.h @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2019 Alexander Shuklin - * Copyright (C) 1992-2020 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -28,31 +28,11 @@ #include #include -// Forward declarations class SCH_EDIT_FRAME; class SCH_EDITOR_CONTROL; class DIALOG_UPDATE_FROM_PCB : public DIALOG_UPDATE_FROM_PCB_BASE { - /** - * Struct containing the dialog last saved state - */ - struct DIALOG_UPDATE_FROM_PCB_SAVED_STATE - { - // Flags to remember last checkboxes state - bool MatchByReference; - bool UpdateReferences; - bool UpdateFootprints; - bool UpdateValues; - bool UpdateNetNames; - }; - - static DIALOG_UPDATE_FROM_PCB_SAVED_STATE s_savedDialogState; - -private: - SCH_EDIT_FRAME* m_frame; - SCH_EDITOR_CONTROL* m_editorControl; - public: DIALOG_UPDATE_FROM_PCB( SCH_EDIT_FRAME* aParent ); ~DIALOG_UPDATE_FROM_PCB(); @@ -63,6 +43,24 @@ private: bool TransferDataToWindow() override; void OnOptionChanged( wxCommandEvent& event ) override; void OnUpdateClick( wxCommandEvent& event ) override; + + /** + * Container for the dialog last saved state. + */ + struct DIALOG_UPDATE_FROM_PCB_SAVED_STATE + { + // Flags to remember last checkboxes state. + bool MatchByReference; + bool UpdateReferences; + bool UpdateFootprints; + bool UpdateValues; + bool UpdateNetNames; + }; + + static DIALOG_UPDATE_FROM_PCB_SAVED_STATE s_savedDialogState; + + SCH_EDIT_FRAME* m_frame; + SCH_EDITOR_CONTROL* m_editorControl; }; #endif diff --git a/eeschema/dialogs/panel_eeschema_display_options.h b/eeschema/dialogs/panel_eeschema_display_options.h index b29402ac10..aee56256c0 100644 --- a/eeschema/dialogs/panel_eeschema_display_options.h +++ b/eeschema/dialogs/panel_eeschema_display_options.h @@ -1,7 +1,7 @@ /* * This program source code file is part of KiCad, a free EDA CAD application. * - * Copyright (C) 2017-2018 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2017-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -29,16 +29,15 @@ class GAL_OPTIONS_PANEL; class PANEL_EESCHEMA_DISPLAY_OPTIONS : public PANEL_EESCHEMA_DISPLAY_OPTIONS_BASE { - SCH_EDIT_FRAME* m_frame; - - GAL_OPTIONS_PANEL* m_galOptsPanel; - public: PANEL_EESCHEMA_DISPLAY_OPTIONS( SCH_EDIT_FRAME* aFrame, wxWindow* aWindow ); private: bool TransferDataToWindow() override; bool TransferDataFromWindow() override; + + SCH_EDIT_FRAME* m_frame; + GAL_OPTIONS_PANEL* m_galOptsPanel; }; diff --git a/eeschema/dialogs/panel_eeschema_editing_options.h b/eeschema/dialogs/panel_eeschema_editing_options.h index 2c58133474..17b126d6fb 100644 --- a/eeschema/dialogs/panel_eeschema_editing_options.h +++ b/eeschema/dialogs/panel_eeschema_editing_options.h @@ -1,7 +1,7 @@ /* * This program source code file is part of KiCad, a free EDA CAD application. * - * Copyright (C) 2017-2020 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2017-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -28,17 +28,16 @@ class SCH_EDIT_FRAME; class PANEL_EESCHEMA_EDITING_OPTIONS : public PANEL_EESCHEMA_EDITING_OPTIONS_BASE { - SCH_EDIT_FRAME* m_frame; - - UNIT_BINDER m_hPitch; - UNIT_BINDER m_vPitch; - public: PANEL_EESCHEMA_EDITING_OPTIONS( SCH_EDIT_FRAME* aFrame, wxWindow* aWindow ); private: bool TransferDataToWindow() override; bool TransferDataFromWindow() override; + + SCH_EDIT_FRAME* m_frame; + UNIT_BINDER m_hPitch; + UNIT_BINDER m_vPitch; }; diff --git a/eeschema/dialogs/panel_eeschema_template_fieldnames.h b/eeschema/dialogs/panel_eeschema_template_fieldnames.h index c5330efe73..ba5a398652 100644 --- a/eeschema/dialogs/panel_eeschema_template_fieldnames.h +++ b/eeschema/dialogs/panel_eeschema_template_fieldnames.h @@ -1,7 +1,7 @@ /* * This program source code file is part of KiCad, a free EDA CAD application. * - * Copyright (C) 2017-2018 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2017-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -28,41 +28,33 @@ class SCH_EDIT_FRAME; class PANEL_EESCHEMA_TEMPLATE_FIELDNAMES : public PANEL_EESCHEMA_TEMPLATE_FIELDNAMES_BASE { -protected: - SCH_EDIT_FRAME* m_frame; - TEMPLATE_FIELDNAMES m_fields; - bool m_global; // Editing global (vs. project) fieldname templates - - int m_checkboxColWidth; - - /** - * Function OnAddButtonClick - * Process the wxWidgets @a event produced when the user presses the Add buton for the - * template fieldnames control - * - * @param event The wxWidgets produced event information - * - * Adds a new template fieldname (with default values) to the template fieldnames data - */ - void OnAddButtonClick( wxCommandEvent& event ) override; - - /** - * Function OnDeleteButtonClick - * Process the wxWidgets @a event produced when the user presses the Delete button for the - * template fieldnames control - * - * @param event The wxWidgets produced event information - * - * Deletes the selected template fieldname from the template fieldnames data - */ - void OnDeleteButtonClick( wxCommandEvent& event ) override; - public: PANEL_EESCHEMA_TEMPLATE_FIELDNAMES( SCH_EDIT_FRAME* aFrame, wxWindow* aWindow, bool aGlobal ); ~PANEL_EESCHEMA_TEMPLATE_FIELDNAMES() override; void ImportSettingsFrom( TEMPLATES* templateMgr ); +protected: + /** + * Adds a new template fieldname (with default values) to the template fieldnames data. + * + * Process the wxWidgets @a event produced when the user presses the Add buton for the + * template fieldnames control. + * + * @param event The wxWidgets produced event information + */ + void OnAddButtonClick( wxCommandEvent& event ) override; + + /** + * Deletes the selected template fieldname from the template fieldnames data. + * + * Process the wxWidgets @a event produced when the user presses the Delete button for the + * template fieldnames control. + * + * @param event The wxWidgets produced event information + */ + void OnDeleteButtonClick( wxCommandEvent& event ) override; + private: void AdjustGridColumns( int aWidth ); @@ -73,6 +65,13 @@ private: bool TransferDataToGrid(); bool TransferDataFromGrid(); + +protected: + SCH_EDIT_FRAME* m_frame; + TEMPLATE_FIELDNAMES m_fields; + bool m_global; // Editing global (vs. project) fieldname templates + + int m_checkboxColWidth; }; diff --git a/eeschema/dialogs/panel_setup_formatting.h b/eeschema/dialogs/panel_setup_formatting.h index 5da0250970..11a49172bc 100644 --- a/eeschema/dialogs/panel_setup_formatting.h +++ b/eeschema/dialogs/panel_setup_formatting.h @@ -1,7 +1,7 @@ /* * This program source code file is part of KiCad, a free EDA CAD application. * - * Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2020-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -30,13 +30,6 @@ class GAL_OPTIONS_PANEL; class PANEL_SETUP_FORMATTING : public PANEL_SETUP_FORMATTING_BASE { - SCH_EDIT_FRAME* m_frame; - - UNIT_BINDER m_textSize; - UNIT_BINDER m_lineWidth; - - UNIT_BINDER m_pinSymbolSize; - public: PANEL_SETUP_FORMATTING( wxWindow* aWindow, SCH_EDIT_FRAME* aFrame ); @@ -47,6 +40,14 @@ public: protected: void onCheckBoxIref( wxCommandEvent& event ) override; + +private: + SCH_EDIT_FRAME* m_frame; + + UNIT_BINDER m_textSize; + UNIT_BINDER m_lineWidth; + + UNIT_BINDER m_pinSymbolSize; }; diff --git a/eeschema/dialogs/panel_setup_pinmap.h b/eeschema/dialogs/panel_setup_pinmap.h index d7fef552eb..e721280d36 100644 --- a/eeschema/dialogs/panel_setup_pinmap.h +++ b/eeschema/dialogs/panel_setup_pinmap.h @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2007 Jean-Pierre Charras, jp.charras at wanadoo.fr - * Copyright (C) 1992-2014 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -37,14 +37,6 @@ class SCHEMATIC; class PANEL_SETUP_PINMAP : public PANEL_SETUP_PINMAP_BASE { - DECLARE_EVENT_TABLE() - -private: - SCH_EDIT_FRAME* m_parent; - SCHEMATIC* m_schematic; - wxBitmapButton* m_buttonList[ELECTRICAL_PINTYPES_TOTAL][ELECTRICAL_PINTYPES_TOTAL]; - bool m_initialized; - public: PANEL_SETUP_PINMAP( wxWindow* aWindow, SCH_EDIT_FRAME* aParent ); @@ -56,9 +48,14 @@ private: void changeErrorLevel( wxCommandEvent& event ); void reBuildMatrixPanel(); void setDRCMatrixButtonState( wxBitmapButton *aButton, PIN_ERROR aState ); + + DECLARE_EVENT_TABLE() + + SCH_EDIT_FRAME* m_parent; + SCHEMATIC* m_schematic; + wxBitmapButton* m_buttonList[ELECTRICAL_PINTYPES_TOTAL][ELECTRICAL_PINTYPES_TOTAL]; + bool m_initialized; }; -#endif - -// _PANEL_SETUP_PINMAP_H_ +#endif // _PANEL_SETUP_PINMAP_H_ diff --git a/eeschema/dialogs/panel_sym_color_settings.h b/eeschema/dialogs/panel_sym_color_settings.h index 001ba7ba5a..132e40f1a1 100644 --- a/eeschema/dialogs/panel_sym_color_settings.h +++ b/eeschema/dialogs/panel_sym_color_settings.h @@ -1,7 +1,7 @@ /* * This program source code file is part of KiCad, a free EDA CAD application. * -* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors. +* Copyright (C) 2020-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -31,8 +31,6 @@ class SYMBOL_EDIT_FRAME; class PANEL_SYM_COLOR_SETTINGS : public PANEL_SYM_COLOR_SETTINGS_BASE { - SYMBOL_EDIT_FRAME* m_frame; - public: PANEL_SYM_COLOR_SETTINGS( SYMBOL_EDIT_FRAME* aFrame, wxWindow* aWindow ); @@ -43,6 +41,8 @@ private: bool TransferDataToWindow() override; bool TransferDataFromWindow() override; + + SYMBOL_EDIT_FRAME* m_frame; }; #endif diff --git a/eeschema/dialogs/panel_sym_editing_options.h b/eeschema/dialogs/panel_sym_editing_options.h index 23b95ee3bd..8c80515f13 100644 --- a/eeschema/dialogs/panel_sym_editing_options.h +++ b/eeschema/dialogs/panel_sym_editing_options.h @@ -1,7 +1,7 @@ /* * This program source code file is part of KiCad, a free EDA CAD application. * - * Copyright (C) 2017-2018 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2017-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -28,6 +28,13 @@ class SYMBOL_EDIT_FRAME; class PANEL_SYM_EDITING_OPTIONS : public PANEL_SYM_EDITING_OPTIONS_BASE { +public: + PANEL_SYM_EDITING_OPTIONS( SYMBOL_EDIT_FRAME* aFrame, wxWindow* aWindow ); + +private: + bool TransferDataToWindow() override; + bool TransferDataFromWindow() override; + SYMBOL_EDIT_FRAME* m_frame; UNIT_BINDER m_lineWidth; @@ -39,13 +46,6 @@ class PANEL_SYM_EDITING_OPTIONS : public PANEL_SYM_EDITING_OPTIONS_BASE UNIT_BINDER m_hPitch; UNIT_BINDER m_vPitch; - -public: - PANEL_SYM_EDITING_OPTIONS( SYMBOL_EDIT_FRAME* aFrame, wxWindow* aWindow ); - -private: - bool TransferDataToWindow() override; - bool TransferDataFromWindow() override; };