/[RomCheater]/trunk/RomCheater.RVAScratchPad/Form1.cs
ViewVC logotype

Diff of /trunk/RomCheater.RVAScratchPad/Form1.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

--- trunk/RomCheater.RVAScratchPad/Form1.cs	2013/06/18 20:22:08	724
+++ trunk/RomCheater.RVAScratchPad/Form1.cs	2014/04/15 15:58:50	814
@@ -12,11 +12,13 @@
 using RomCheater.PluginFramework.Core;
 using RomCheater.Core;
 using RomCheater.UserSettingsSupport;
+using Enterprise.Logging;
 
 namespace RomCheater.RVAScratchPad
 {
     public partial class Form1 : Form
     {
+        const string DockPanelConfig = "RVAScratchPad-DockPanel.conf";
         private SettingSubscriber SettingsSubscriber = null;
         private bool m_bSaveLayout = true;
         PluginLoader loader = null;
@@ -26,9 +28,13 @@
         IUserControlPlugin ScratchPadPlugin = null;
 
         private DeserializeDockContent m_deserializeDockContent;
-        private FloatingLogWindow m_LogWindow = new FloatingLogWindow();
-        private FloatingWebBrowser m_wb = new FloatingWebBrowser();
+        //private FloatingLogWindow m_LogWindow = new FloatingLogWindow();
+        //private FloatingWebBrowser m_wb = new FloatingWebBrowser();
 
+        //public IWebBrowserProvider WebBrowserProvider
+        //{
+        //    get { return new WebBrowserProvider(m_wb); }
+        //}
         #region LogWriterSupport
         static LogWriter _LoggerInstance;
         static LogWriter LoggerInstance
@@ -46,18 +52,19 @@
             SettingsSubscriber.AddSubscriber(this, RomCheater.Properties.Settings.Default);              
             load_loggerflags();
             SetupDocks();
-            LoggerInstance = m_LogWindow.Logwriter;
-            LoggerInstance.CreateNewLog(false);
-            logger.ForceLog.Info.WriteLine("LoggingFlags = 0x{0:x4} ({1})", logger.GetLoggingFlags().Value, logger.GetLoggingFlags().Name);
+            //LoggerInstance = m_LogWindow.Logwriter;
+            LoggerInstance = new LogWriter();
+            //LoggerInstance.CreateNewLog(false);
+            //logger.ForceLog.Info.WriteLine("LoggingFlags = 0x{0:x4} ({1})", logger.GetLoggingFlags().Value, logger.GetLoggingFlags().Name);
             load_plugins();
-            if (no_console_redirect)
-                LoggerInstance.RedirectConsoleOutput = false;           
+            //if (no_console_redirect)
+            //    LoggerInstance.RedirectConsoleOutput = false;           
         }
         private void load_loggerflags()
         {
-            logger.SetLoggingFlags(Logging.Properties.Settings.Default.LoggingFlags);
+            //logger.SetLoggingFlags(Logging.Properties.Settings.Default.LoggingFlags);
 #if FORCE_ALL_LOGGING_FLAGS
-            logger.SetLoggingFlags(loggerflags.ALL);
+            //logger.SetLoggingFlags(loggerflags.ALL);
 #endif
         }
         private void load_plugins() { load_plugins(false); }
@@ -78,12 +85,19 @@
                 ConfigPlugin = loader.GetPluginByGuid<IConfigPlugin>(config.ID.ToString());
             }
 
+            // update the Config plugin's reference to the webbrowswer
+            //ConfigPlugin.WebBrowserProvider = this.WebBrowserProvider;
+
             SettingsSubscriber.SetValue("LastConfigPlugin", ConfigPlugin.ToString());
 
             var scratchpad = PluginCollection.GetPluginByName(PluginNames.ScratchPadPlugin);
-            var rvacalc = PluginCollection.GetPluginByName(PluginNames.RVACalculatorPlugin);            
+            var rvacalc = PluginCollection.GetPluginByName(PluginNames.RVACalculatorPlugin);
             ScratchPadPlugin = loader.GetPluginByGuid<IUserControlPlugin>(scratchpad.ID.ToString());
             RVACalcPlugin = loader.GetPluginByGuid<IUserControlPlugin>(rvacalc.ID.ToString());
+
+            // update config of each plugin
+            ScratchPadPlugin.SetAcceptedConfig(ConfigPlugin);
+            RVACalcPlugin.SetAcceptedConfig(ConfigPlugin);
         }
 
 
@@ -91,63 +105,82 @@
         #region Dock Support
         private IDockContent GetContentFromPersistString(string persistString)
         {
-            if (persistString == typeof(FloatingLogWindow).ToString()) { return m_LogWindow; }
-            if (persistString == typeof(FloatingWebBrowser).ToString()) { return m_wb; }
+            //if (persistString == typeof(FloatingLogWindow).ToString()) { return m_LogWindow; }
+            //if (persistString == typeof(FloatingWebBrowser).ToString()) { return m_wb; }
             if (RVACalcPlugin != null) { if (persistString == RVACalcPlugin.IDockContentTypeName) { return RVACalcPlugin.DockContent; } }
-            if (ScratchPadPlugin != null) { if (persistString == ScratchPadPlugin.IDockContentTypeName) { return ScratchPadPlugin.DockContent; } }            
+            if (ScratchPadPlugin != null) { if (persistString == ScratchPadPlugin.IDockContentTypeName) { return ScratchPadPlugin.DockContent; } }
             return null;
         }
         public void SetupDocks()
         {
-            m_LogWindow = new FloatingLogWindow();
-            m_LogWindow.CloseButton = false;
-            m_LogWindow.CloseButtonVisible = false;
-
-            m_wb = new FloatingWebBrowser();
-            m_wb.CloseButton = false;
-            m_wb.CloseButtonVisible = false;
+            //m_LogWindow = new FloatingLogWindow();
+            //m_LogWindow.CloseButton = false;
+            //m_LogWindow.CloseButtonVisible = false;
+
+            //m_wb = new FloatingWebBrowser();
+            //m_wb.CloseButton = false;
+            //m_wb.CloseButtonVisible = false;
+
+            if (RVACalcPlugin != null)
+            {
+                RVACalcPlugin.DockHandler.CloseButton = false;
+                RVACalcPlugin.DockHandler.CloseButtonVisible = false;
+                RVACalcPlugin.DockHandler.AllowEndUserDocking = false;
+            }
+            if (ScratchPadPlugin != null)
+            {
+                ScratchPadPlugin.DockHandler.CloseButton = false;
+                ScratchPadPlugin.DockHandler.CloseButtonVisible = false;
+                ScratchPadPlugin.DockHandler.AllowEndUserDocking = false;
+            }
 
             m_deserializeDockContent = new DeserializeDockContent(GetContentFromPersistString);
         }
         #region SetupDockWindowHandler support
         public void SetupDockWindowHandler()
         {
-            SetupLogWindowHandler();
-            SetupWebBrowserWindowHandler();
+            //SetupLogWindowHandler();
+            //SetupWebBrowserWindowHandler();
             SetupPluginWindowHandlers();
         }
         private void SetupPluginWindowHandlers()
         {
             if (RVACalcPlugin != null)
             {
+                RVACalcPlugin.DockHandler.CloseButton = false;
+                RVACalcPlugin.DockHandler.CloseButtonVisible = false;
+                RVACalcPlugin.DockHandler.AllowEndUserDocking = false;
                 RVACalcPlugin.Activate();
             }
             if (ScratchPadPlugin != null)
             {
+                ScratchPadPlugin.DockHandler.CloseButton = false;
+                ScratchPadPlugin.DockHandler.CloseButtonVisible = false;
+                ScratchPadPlugin.DockHandler.AllowEndUserDocking = false;
                 ScratchPadPlugin.Activate();
             }
         }
-        private void SetupLogWindowHandler()
-        {
-            if (m_LogWindow == null) return;
-            //m_LogWindow.Shown += new EventHandler(AddDockToWindowList);
-            //m_LogWindow.FormClosed += new FormClosedEventHandler(RemoveDockFromWindowList);
-            m_LogWindow.Activate();
-        }
-        private void SetupWebBrowserWindowHandler()
-        {
-            if (m_wb == null) return;
-            //m_wb.Shown += new EventHandler(AddDockToWindowList);
-            //m_wb.FormClosed += new FormClosedEventHandler(RemoveDockFromWindowList);
-            m_wb.Activate();
-        }
+        //private void SetupLogWindowHandler()
+        //{
+        //    //if (m_LogWindow == null) return;
+        //    ////m_LogWindow.Shown += new EventHandler(AddDockToWindowList);
+        //    ////m_LogWindow.FormClosed += new FormClosedEventHandler(RemoveDockFromWindowList);
+        //    //m_LogWindow.Activate();
+        //}
+        //private void SetupWebBrowserWindowHandler()
+        //{
+        //    //if (m_wb == null) return;
+        //    ////m_wb.Shown += new EventHandler(AddDockToWindowList);
+        //    ////m_wb.FormClosed += new FormClosedEventHandler(RemoveDockFromWindowList);
+        //    //m_wb.Activate();
+        //}
         #endregion
         public void ShowDocks()
         {
-            ShowLogWindow();
-            SetupLogWindowHandler();
-            ShowWebBrowser();
-            SetupWebBrowserWindowHandler();
+            //ShowLogWindow();
+            //SetupLogWindowHandler();
+            //ShowWebBrowser();
+            //SetupWebBrowserWindowHandler();
             ShowPluginWindows();
             SetupPluginWindowHandlers();
 
@@ -156,36 +189,53 @@
         }
         public void ShowLogWindow()
         {
-            if (m_LogWindow == null || m_LogWindow.IsDisposed) { m_LogWindow = new FloatingLogWindow(); }
-            LoggerInstance = m_LogWindow.Logwriter;
-            LoggerInstance.CreateNewLog(false);
-            m_LogWindow.CloseButton = false;
-            m_LogWindow.CloseButtonVisible = false;
-            m_LogWindow.Show(dockPanel, DockState.DockBottom);
+            //if (m_LogWindow == null || m_LogWindow.IsDisposed) { m_LogWindow = new FloatingLogWindow(); }
+            //if (LoggerInstance == null)
+            //{
+            //    LoggerInstance = m_LogWindow.Logwriter;
+            //    LoggerInstance.CreateNewLog(false);
+            //}
+            ////m_LogWindow.AllowEndUserDocking = true;
+            ////m_LogWindow.CloseButton = false;
+            ////m_LogWindow.CloseButtonVisible = false;
+            //m_LogWindow.Show(dockPanel, DockState.DockBottom);
         }
 
 
         public void ShowWebBrowser()
         {
-            //load_plugins_silent();
-            m_wb = new FloatingWebBrowser();
-            m_wb.CloseButton = false;
-            m_wb.CloseButtonVisible = false;
-            m_wb.Show(dockPanel);
+            ////load_plugins_silent();
+            //m_wb = new FloatingWebBrowser();
+            ////m_wb.AllowEndUserDocking = true;
+            ////m_wb.CloseButton = false;
+            ////m_wb.CloseButtonVisible = false;
+            //m_wb.Show(dockPanel, DockState.Document);
         }
         public void ShowPluginWindows()
         {
-            // RVA Calc
-            RVACalcPlugin.Show(dockPanel);
-            // ScratchPad
-            ScratchPadPlugin.Show(dockPanel);     
+            if (RVACalcPlugin != null)
+            {
+                // RVA Calc                
+                RVACalcPlugin.DockHandler.CloseButton = false;
+                RVACalcPlugin.DockHandler.CloseButtonVisible = false;
+                RVACalcPlugin.DockHandler.AllowEndUserDocking = false;
+                RVACalcPlugin.Show(dockPanel, DockState.DockLeft);
+            }
+            if (ScratchPadPlugin != null)
+            {
+                // ScratchPad                
+                ScratchPadPlugin.DockHandler.CloseButton = false;
+                ScratchPadPlugin.DockHandler.CloseButtonVisible = false;
+                ScratchPadPlugin.DockHandler.AllowEndUserDocking = false;
+                ScratchPadPlugin.Show(dockPanel, DockState.Document);
+            }
         }
         #endregion
 
         private void Form1_FormClosing(object sender, FormClosingEventArgs e)
         {
             SettingsSubscriber.SaveSettings();
-            string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "RVAScratchPad-DockPanel.config");
+            string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), DockPanelConfig);
             if (m_bSaveLayout)
                 dockPanel.SaveAsXml(configFile);
             else if (File.Exists(configFile))
@@ -199,9 +249,9 @@
 
         private void Form1_Shown(object sender, EventArgs e)
         {
-            //dockPanel.SuspendLayout(true);
-            //ShowDocks();
-            string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "RVAScratchPad-DockPanel.config");
+            ////dockPanel.SuspendLayout(true);
+            ////ShowDocks();
+            string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), DockPanelConfig);
             if (File.Exists(configFile))
             {
                 try
@@ -226,7 +276,7 @@
 
             if (RVACalcPlugin != null)
                 RVACalcPlugin.Activate();
-            //dockPanel.ResumeLayout(true, true);
+            ////dockPanel.ResumeLayout(true, true);
         }
 
         private void mnuItemExit_Click(object sender, EventArgs e)
@@ -234,9 +284,6 @@
             this.Close();
         }
 
-        private void Form1_Load(object sender, EventArgs e)
-        {
-            SettingsSubscriber.SaveSettings();
-        }
+        private void Form1_Load(object sender, EventArgs e) { }
     }
 }

 

  ViewVC Help
Powered by ViewVC 1.1.22