Pointer cleanup (#242)

- Made greater use of smart pointers, eliminating many instances of manual memory management
- Do not use pointers at all for many non-polymorphic classes
- Assorted other code cleanup
This commit is contained in:
Jaye Evins
2025-10-31 16:11:28 -04:00
committed by GitHub
parent fd10d88be5
commit 8c8e447336
159 changed files with 3364 additions and 4045 deletions
+22 -20
View File
@@ -60,7 +60,7 @@ namespace glabels
/////////////////////////////////
public:
Model();
Model( merge::Merge* merge, Variables* variables );
Model( merge::Merge* merge );
~Model();
@@ -100,9 +100,9 @@ namespace glabels
const QString& fileName() const;
void setFileName( const QString &fileName );
const Template* tmplate() const;
const Frame* frame() const;
void setTmplate( const Template* tmplate );
const Template& tmplate() const;
const Frame* frame( const QString& id = "0" ) const;
void setTmplate( const Template& tmplate );
bool rotate() const;
void setRotate( bool rotate );
@@ -110,11 +110,12 @@ namespace glabels
Distance w() const;
Distance h() const;
void setH( const Distance& h );
void setH( Distance h );
const QList<ModelObject*>& objectList() const;
Variables* variables() const;
Variables& variables();
const Variables& constVariables() const;
merge::Merge* merge() const;
void setMerge( merge::Merge* merge );
@@ -127,13 +128,13 @@ namespace glabels
void addObject( ModelObject* object );
void deleteObject( ModelObject* object );
ModelObject* objectAt( double scale,
const Distance& x,
const Distance& y ) const;
ModelObject* objectAt( double scale,
Distance x,
Distance y ) const;
Handle* handleAt( double scale,
const Distance& x,
const Distance& y ) const;
const Handle& handleAt( double scale,
Distance x,
Distance y ) const;
/////////////////////////////////
@@ -188,7 +189,7 @@ namespace glabels
void centerSelection();
void centerSelectionHoriz();
void centerSelectionVert();
void moveSelection( const Distance& dx, const Distance& dy );
void moveSelection( Distance dx, Distance dy );
void setSelectionFontFamily( const QString& fontFamily );
void setSelectionFontSize( double fontSize );
void setSelectionFontWeight( QFont::Weight fontWeight );
@@ -197,7 +198,7 @@ namespace glabels
void setSelectionTextVAlign( Qt::Alignment textVAlign );
void setSelectionTextLineSpacing( double textLineSpacing );
void setSelectionTextColorNode( ColorNode textColorNode );
void setSelectionLineWidth( const Distance& lineWidth );
void setSelectionLineWidth( Distance lineWidth );
void setSelectionLineColorNode( ColorNode lineColorNode );
void setSelectionFillColorNode( ColorNode fillColorNode );
@@ -218,10 +219,10 @@ namespace glabels
// Drawing operations
/////////////////////////////////
public:
void draw( QPainter* painter,
bool inEditor,
merge::Record* record,
Variables* variables ) const;
void draw( QPainter* painter,
bool inEditor,
const merge::Record& record,
const Variables& variablesInstance ) const;
/////////////////////////////////
@@ -247,8 +248,9 @@ namespace glabels
QList<ModelObject*> mObjectList;
Variables* mVariables;
merge::Merge* mMerge;
Variables mVariables;
QSharedPointer<merge::Merge> mMerge;
};
}