freetype-commit
[Top][All Lists]
Advanced

[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,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]