From 1246fbf66c702bf6e9d2c6ed1253d0f04d6bfdf2 Mon Sep 17 00:00:00 2001 From: Jerome St-Louis Date: Sat, 16 Apr 2016 04:32:21 -0400 Subject: [PATCH] extras/GuiConfigData: Fixes and simplification - Should eventually be changed to a WindowController so we don't step on the Window inheritance --- ecere/src/gui/Window.ec | 1 + extras/gui/GuiConfigData.ec | 88 ++++++--------------------------------------- 2 files changed, 12 insertions(+), 77 deletions(-) diff --git a/ecere/src/gui/Window.ec b/ecere/src/gui/Window.ec index 41d1cb6..a89769a 100644 --- a/ecere/src/gui/Window.ec +++ b/ecere/src/gui/Window.ec @@ -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); diff --git a/extras/gui/GuiConfigData.ec b/extras/gui/GuiConfigData.ec index c03a7a2..4ad9c9b 100644 --- a/extras/gui/GuiConfigData.ec +++ b/extras/gui/GuiConfigData.ec @@ -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; -- 1.8.3.1