extras/GuiConfigData: Fixes and simplification
authorJerome St-Louis <jerome@ecere.com>
Sat, 16 Apr 2016 08:32:21 +0000 (04:32 -0400)
committerJerome St-Louis <jerome@ecere.com>
Fri, 29 Apr 2016 16:27:13 +0000 (12:27 -0400)
- Should eventually be changed to a WindowController so we don't step on the Window inheritance

ecere/src/gui/Window.ec
extras/gui/GuiConfigData.ec

index 41d1cb6..a89769a 100644 (file)
@@ -10271,6 +10271,7 @@ public:
       set { controlled = value; }
       get { return controlled; }
    }
+   // TODO: Add OnStateChange so we can implement SavedConfigWindow as a WindowController instead
    virtual bool V::OnKeyDown(WindowController controller, Key key, unichar ch);
    virtual bool V::OnKeyUp(WindowController controller, Key key, unichar ch);
    virtual bool V::OnKeyHit(WindowController controller, Key key, unichar ch);
index c03a7a2..4ad9c9b 100644 (file)
@@ -4,19 +4,6 @@ public import static "ecere"
 public import "ecere"
 #endif
 
-// source file line number printf (sflnprintf)
-
-#undef _DEBUG
-
-#ifdef _DEBUG
-#define sflnprintf(format,...) printf("%s:% 5d: " format, __FILE__, __LINE__, ##__VA_ARGS__)
-#define sflnPrintLn(...) PrintLn(__FILE__, ":", __LINE__, ": ", ##__VA_ARGS__)
-#else
-void DoNothing() {}
-#define sflnprintf(format,...) DoNothing()
-#define sflnPrintLn(...) DoNothing()
-#endif
-
 class GuiConfigData
 {
    virtual bool onSave();
@@ -32,7 +19,6 @@ public:
 
    void saveWindowInit(const char * configId, Window window)
    {
-      //sflnprintf("GuiConfigData::saveWindowInit\n");
       applyWindowConfig(configId, window);
       {
          bool isNew = false;
@@ -41,12 +27,8 @@ public:
          {
             if(window.state != minimized)
                guiData.state = window.state;
-            if(!(window.normalAnchor.left.distance == 0 && window.normalAnchor.top.distance == 0 &&
-                  window.normalSizeAnchor.size.w == 0 && window.normalSizeAnchor.size.h == 0))
-            {
-               recordWindowPosition(guiData, window);
-               recordWindowSize(guiData, window);
-            }
+            recordWindowPosition(guiData, window);
+            recordWindowSize(guiData, window);
             onModified();
             onSave();
          }
@@ -55,38 +37,29 @@ public:
 
    void saveWindowState(const char * configId, Window window, WindowState state)
    {
-      //sflnprintf("GuiConfigData::saveWindowState\n");
-      GuiDataWindow guiData = insertWindowConfig(configId, false, null);
+      GuiDataWindow guiData = insertWindowConfig(configId, true, null);
       if(guiData)
       {
          if(state != minimized)
             guiData.state = state;
-         if(state == normal)
-            applyWindowSize(window, guiData);
          onModified();
       }
    }
 
    void saveWindowPosition(const char * configId, Window window, Point position, Size size)
    {
-      //sflnprintf("GuiConfigData::saveWindowPosition\n");
-      GuiDataWindow guiData = insertWindowConfig(configId, false, null);
+      GuiDataWindow guiData = insertWindowConfig(configId, true, null);
       if(guiData && window.state == normal)
       {
-         if(!(window.normalAnchor.left.distance == 0 && window.normalAnchor.top.distance == 0 &&
-               window.normalSizeAnchor.size.w == 0 && window.normalSizeAnchor.size.h == 0))
-         {
-            recordWindowPosition(guiData, window);
-            recordWindowSize(guiData, window);
-         }
+         recordWindowPosition(guiData, window);
+         recordWindowSize(guiData, window);
          onModified();
       }
    }
 
    void saveWindowSize(const char * configId, Window window, Size size)
    {
-      //sflnprintf("GuiConfigData::saveWindowSize\n");
-      GuiDataWindow guiData = insertWindowConfig(configId, false, null);
+      GuiDataWindow guiData = insertWindowConfig(configId, true, null);
       if(guiData && window.state == normal)
       {
          recordWindowSize(guiData, window);
@@ -96,7 +69,6 @@ public:
 
    void saveWindowClose(const char * configId)
    {
-      //sflnprintf("GuiConfigData::saveWindowClose\n");
       GuiDataWindow guiData = getWindowConfig(configId);
       if(guiData)
          guiData.saving = false;
@@ -106,7 +78,6 @@ public:
 
    void savePaneSplitterSize(const char * configId, double scaleSplit)
    {
-      //sflnprintf("GuiConfigData::savePaneSplitterSize\n");
       GuiDataPaneSplitter guiData = null;
       if(!paneSplitters)
          paneSplitters = { };
@@ -154,7 +125,6 @@ private:
 
    GuiDataWindow getWindowConfig(const char * configId)
    {
-      //sflnprintf("GuiConfigData::getWindowConfig\n");
       GuiDataWindow guiData = null;
       if(windows)
          guiData = windows[configId];
@@ -163,7 +133,6 @@ private:
 
    GuiDataWindow insertWindowConfig(const char * configId, bool startSaving, bool *isNew)
    {
-      //sflnprintf("GuiConfigData::insertWindowConfig\n");
       GuiDataWindow guiData = null;
       if(startSaving)
       {
@@ -186,27 +155,16 @@ private:
 
    void recordWindowPosition(GuiDataWindow guiData, Window window)
    {
-      //sflnprintf("GuiConfigData::recordWindowPosition\n");
-      guiData.position = { window.normalAnchor.left.distance, window.normalAnchor.top.distance };
-      sflnPrintLn("recordWindowPosition(guiData.position == ", guiData.position, ", created == ", window.created, ")");
+      guiData.position = window.position;
    }
 
    void recordWindowSize(GuiDataWindow guiData, Window window)
    {
-      //sflnprintf("GuiConfigData::recordWindowSize\n");
-      //Size s;
-      //sflnPrintLn(guiData.size);
-      //s = window.normalSizeAnchor.size;
-      //sflnPrintLn(s);
-      guiData.size = window.normalSizeAnchor.size;
-      //sflnPrintLn(guiData.size);
-      //sflnPrintLn(window.size);
-      //sflnPrintLn("recordWindowSize(guiData.size == ", guiData.size, ", created == ", window.created, ")");
+      guiData.size = window.size;
    }
 
    void applyWindowConfig(const char * configId, Window window)
    {
-      //sflnprintf("GuiConfigData::applyWindowConfig\n");
       GuiDataWindow guiData = getWindowConfig(configId);
       if(guiData)
       {
@@ -215,7 +173,6 @@ private:
          applyWindowPosition(window, guiData);
          applyWindowSize(window, guiData);
          window.Move(guiData.position.x, guiData.position.y, guiData.size.w, guiData.size.h);
-         sflnPrintLn("applyWindowConfig(window.size == ", window.size, ", created == ", window.created, ")");
          window.state = guiData.state;
          guiData.loading = false;
       }
@@ -223,24 +180,16 @@ private:
 
    void applyWindowPosition(Window window, GuiDataWindow guiData)
    {
-      //sflnprintf("GuiConfigData::applyWindowPosition\n");
       window.position = guiData.position;
-      sflnPrintLn("applyWindowPosition(window.position == ", window.position, ", created == ", window.created, ")");
    }
 
    void applyWindowSize(Window window, GuiDataWindow guiData)
    {
-      //sflnprintf("GuiConfigData::applyWindowSize\n");
-      if(guiData.size.w && guiData.size.h)
-      {
-         window.size = guiData.size;
-         sflnPrintLn("applyWindowSize(window.size == ", window.size, ", created == ", window.created, ")");
-      }
+      window.size = guiData.size;
    }
 
    void applyPaneSplitterConfig(const char * configId, PaneSplitter paneSplitter)
    {
-      //sflnprintf("GuiConfigData::applyPaneSplitterConfig\n");
       GuiDataPaneSplitter guiData = paneSplitters[configId];
       if(guiData)
       {
@@ -251,6 +200,7 @@ private:
    }
 }
 
+// TODO: Make this a WindowController (Note: it's currently missing OnStateChange)
 class SavedConfigWindow : Window
 {
    virtual GuiConfigData getGuiConfigData() { return null; }
@@ -258,7 +208,6 @@ class SavedConfigWindow : Window
 
    bool OnCreate()
    {
-      //sflnprintf("SavedConfigWindow::OnCreate\n");
       bool result = Window::OnCreate();
       if(result)
       {
@@ -270,7 +219,6 @@ class SavedConfigWindow : Window
 
    bool OnPostCreate()
    {
-      //sflnprintf("SavedConfigWindow::OnPostCreate\n");
       bool result = Window::OnPostCreate();
       if(result)
       {
@@ -281,17 +229,8 @@ class SavedConfigWindow : Window
       return result;
    }
 
-   /*bool OnPostCreate()
-   {
-      //sflnprintf("SavedConfigWindow::OnPostCreate\n");
-      GuiConfigData data = getGuiConfigData();
-      if(data) data.saveWindowInit(getGuiConfigInstanceId(), this);
-      return true;
-   }*/
-
    bool OnStateChange(WindowState state, Modifiers mods)
    {
-      //sflnprintf("SavedConfigWindow::OnStateChange\n");
       GuiConfigData data = getGuiConfigData();
       if(data) data.saveWindowState(getGuiConfigInstanceId(), this, state);
       return true;
@@ -299,21 +238,18 @@ class SavedConfigWindow : Window
 
    void OnPosition(int x, int y, int width, int height)
    {
-      //sflnprintf("SavedConfigWindow::OnPosition(%i, %i, %i, %i)\n", x, y, width, height);
       GuiConfigData data = getGuiConfigData();
       if(data) data.saveWindowPosition(getGuiConfigInstanceId(), this, { x, y }, clientSize);
    }
 
    void OnResize(int width, int height)
    {
-      //sflnprintf("SavedConfigWindow::OnResize(%i, %i) -- (%i, %i)\n", width, height, this.normalSizeAnchor.size.w, this.normalSizeAnchor.size.h);
       GuiConfigData data = getGuiConfigData();
       if(data) data.saveWindowSize(getGuiConfigInstanceId(), this, clientSize);
    }
 
    bool OnClose(bool parentClosing)
    {
-      //sflnprintf("SavedConfigWindow::OnClose\n");
       GuiConfigData data = getGuiConfigData();
       if(data) data.saveWindowClose(getGuiConfigInstanceId());
       return true;
@@ -338,7 +274,6 @@ class SavedConfigPaneSplitter : PaneSplitter
 
    bool OnPostCreate()
    {
-      //sflnprintf("SavedConfigPaneSplitter::OnPostCreate\n");
       GuiConfigData data = getGuiConfigData();
       if(data) data.applyPaneSplitterConfig(getGuiConfigInstanceId(), this);
       return true;
@@ -346,7 +281,6 @@ class SavedConfigPaneSplitter : PaneSplitter
 
    bool NotifyResized(SavedConfigPaneSplitter splitter)
    {
-      //sflnprintf("SavedConfigPaneSplitter::NotifyResized\n");
       GuiConfigData data = splitter.getGuiConfigData();
       if(data) data.savePaneSplitterSize(splitter.getGuiConfigInstanceId(), splitter.scaleSplit);
       return true;