[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2-demos] gsoc-2022-chariri-2 234eca9 05/30: [ftinspect] Directl
From: |
Werner Lemberg |
Subject: |
[freetype2-demos] gsoc-2022-chariri-2 234eca9 05/30: [ftinspect] Directly pass `Engine` object to constructor of `MainGUI` |
Date: |
Mon, 11 Jul 2022 07:17:37 -0400 (EDT) |
branch: gsoc-2022-chariri-2
commit 234eca97fd15b95b4e31154b8d6b148b1778e597
Author: Charlie Jiang <w@chariri.moe>
Commit: Charlie Jiang <w@chariri.moe>
[ftinspect] Directly pass `Engine` object to constructor of `MainGUI`
Because there's no bidirectional dependency between `Engine` and `MainGUI`,
we no longer need `MainGUI::update` func and can directly pass the `Engine`
object to `MainGUI`. This also make `engine_` variable available immediately
in the constructor of `MainGUI`.
* src/ftinspect/maingui.cpp, src/ftinspect/maingui.hpp: As described.
---
src/ftinspect/ftinspect.cpp | 3 +--
src/ftinspect/maingui.cpp | 21 +++++----------------
src/ftinspect/maingui.hpp | 3 +--
3 files changed, 7 insertions(+), 20 deletions(-)
diff --git a/src/ftinspect/ftinspect.cpp b/src/ftinspect/ftinspect.cpp
index 17498e5..128dff4 100644
--- a/src/ftinspect/ftinspect.cpp
+++ b/src/ftinspect/ftinspect.cpp
@@ -21,10 +21,9 @@ main(int argc,
app.setOrganizationName("FreeType");
app.setOrganizationDomain("freetype.org");
- MainGUI gui;
Engine engine;
+ MainGUI gui(&engine);
- gui.update(&engine);
gui.setDefaults();
gui.show();
diff --git a/src/ftinspect/maingui.cpp b/src/ftinspect/maingui.cpp
index 6a902e4..bf8de0e 100644
--- a/src/ftinspect/maingui.cpp
+++ b/src/ftinspect/maingui.cpp
@@ -14,10 +14,9 @@
#include <freetype/ftdriver.h>
-MainGUI::MainGUI()
+MainGUI::MainGUI(Engine* engine)
+: engine_(engine)
{
- engine_ = NULL;
-
setGraphicsDefaults();
createLayout();
createConnections();
@@ -37,19 +36,6 @@ MainGUI::~MainGUI()
}
-void
-MainGUI::update(Engine* e)
-{
- if (engine_)
- disconnect(&engine_->fontFileManager(),
&FontFileManager::currentFileChanged,
- this, &MainGUI::watchCurrentFont);
-
- engine_ = e;
- connect(&engine_->fontFileManager(), &FontFileManager::currentFileChanged,
- this, &MainGUI::watchCurrentFont);
-}
-
-
// overloading
void
@@ -1102,6 +1088,9 @@ MainGUI::createConnections()
glyphNavigationMapper_->setMapping(toP100Buttonx_, 100);
glyphNavigationMapper_->setMapping(toP1000Buttonx_, 1000);
glyphNavigationMapper_->setMapping(toEndButtonx_, 0x10000);
+
+ connect(&engine_->fontFileManager(), &FontFileManager::currentFileChanged,
+ this, &MainGUI::watchCurrentFont);
}
diff --git a/src/ftinspect/maingui.hpp b/src/ftinspect/maingui.hpp
index aea9b0c..911bb81 100644
--- a/src/ftinspect/maingui.hpp
+++ b/src/ftinspect/maingui.hpp
@@ -53,11 +53,10 @@ class MainGUI
Q_OBJECT
public:
- MainGUI();
+ MainGUI(Engine* engine);
~MainGUI();
void setDefaults();
- void update(Engine*);
friend class Engine;
friend FT_Error faceRequester(FTC_FaceID,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2-demos] gsoc-2022-chariri-2 234eca9 05/30: [ftinspect] Directly pass `Engine` object to constructor of `MainGUI`,
Werner Lemberg <=