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

revision 708 by william, Tue Jun 18 07:23:04 2013 UTC revision 719 by william, Tue Jun 18 11:37:38 2013 UTC
# Line 9  using RomCheater.Logging; Line 9  using RomCheater.Logging;
9  using RomCheater.Docking;  using RomCheater.Docking;
10  using WeifenLuo.WinFormsUI.Docking;  using WeifenLuo.WinFormsUI.Docking;
11  using System.IO;  using System.IO;
12    using RomCheater.PluginFramework.Core;
13    using RomCheater.Core;
14    using RomCheater.UserSettingsSupport;
15    
16  namespace RomCheater.RVAScratchPad  namespace RomCheater.RVAScratchPad
17  {  {
18      public partial class Form1 : Form      public partial class Form1 : Form
19      {      {
20          private bool m_bSaveLayout = true;          private bool m_bSaveLayout = true;
21            PluginLoader loader = null;
22            IConfigPlugin ConfigPlugin = null;
23    
24            IUserControlPlugin RVACalcPlugin = null;
25            IUserControlPlugin ScratchPadPlugin = null;
26    
27          private DeserializeDockContent m_deserializeDockContent;          private DeserializeDockContent m_deserializeDockContent;
28          private FloatingLogWindow m_LogWindow = new FloatingLogWindow();          private FloatingLogWindow m_LogWindow = new FloatingLogWindow();
29          private FloatingWebBrowser m_wb = new FloatingWebBrowser();          private FloatingWebBrowser m_wb = new FloatingWebBrowser();
# Line 33  namespace RomCheater.RVAScratchPad Line 42  namespace RomCheater.RVAScratchPad
42          {          {
43              InitializeComponent();              InitializeComponent();
44              load_loggerflags();              load_loggerflags();
45              //SetupDocks();              SetupDocks();
46              LoggerInstance = m_LogWindow.Logwriter;              LoggerInstance = m_LogWindow.Logwriter;
47              LoggerInstance.CreateNewLog(false);              LoggerInstance.CreateNewLog(false);
48              logger.ForceLog.Info.WriteLine("LoggingFlags = 0x{0:x4} ({1})", logger.GetLoggingFlags().Value, logger.GetLoggingFlags().Name);              logger.ForceLog.Info.WriteLine("LoggingFlags = 0x{0:x4} ({1})", logger.GetLoggingFlags().Value, logger.GetLoggingFlags().Name);
# Line 52  namespace RomCheater.RVAScratchPad Line 61  namespace RomCheater.RVAScratchPad
61          private void load_plugins_silent() { load_plugins(true); }          private void load_plugins_silent() { load_plugins(true); }
62          private void load_plugins(bool silent)          private void load_plugins(bool silent)
63          {          {
64                loader = new PluginLoader();
65                loader.LoadPlugins(silent);
66                var config = PluginCollection.GetPluginByName(PluginNames.GenericConfig);
67                var scratchpad = PluginCollection.GetPluginByName(PluginNames.ScratchPadPlugin);
68                var rvacalc = PluginCollection.GetPluginByName(PluginNames.RVACalculatorPlugin);
69                ConfigPlugin = loader.GetPluginByGuid<IConfigPlugin>(config.ID.ToString());
70                ScratchPadPlugin = loader.GetPluginByGuid<IUserControlPlugin>(scratchpad.ID.ToString());
71                RVACalcPlugin = loader.GetPluginByGuid<IUserControlPlugin>(rvacalc.ID.ToString());
72          }          }
73    
74    
75    
76          #region Dock Support          #region Dock Support
         //void AddDockToWindowList(object sender, EventArgs e)  
         //{  
         //    DockContent dc;  
         //    TypeBinder.Bind(sender, out dc);  
         //    ToolStripMenuItem tsmi = new ToolStripMenuItem(dc.Text);  
         //    tsmi.Name = dc.Name;  
         //    tsmi.Tag = dc;  
         //    tsmi.Click += new EventHandler(tsmi_Click);  
         //    mnuWindows.DropDownItems.Add(tsmi);  
         //}  
         //void tsmi_Click(object sender, EventArgs e)  
         //{  
         //    ToolStripMenuItem tsmi;  
         //    TypeBinder.Bind(sender, out tsmi);  
         //    DockContent dc;  
         //    TypeBinder.Bind(tsmi.Tag, out dc);  
         //    dc.Activate();  
         //}  
         //void RemoveDockFromWindowList(object sender, FormClosedEventArgs e)  
         //{  
         //    DockContent dc;  
         //    TypeBinder.Bind(sender, out dc);  
         //    mnuWindows.DropDownItems.RemoveByKey(dc.Name);  
         //}  
77          private IDockContent GetContentFromPersistString(string persistString)          private IDockContent GetContentFromPersistString(string persistString)
78          {          {
79              if (persistString == typeof(FloatingLogWindow).ToString()) { return m_LogWindow; }              if (persistString == typeof(FloatingLogWindow).ToString()) { return m_LogWindow; }
80              if (persistString == typeof(FloatingWebBrowser).ToString()) { return m_wb; }              if (persistString == typeof(FloatingWebBrowser).ToString()) { return m_wb; }
81              else { return null; }              if (RVACalcPlugin != null) { if (persistString == RVACalcPlugin.IDockContentTypeName) { return RVACalcPlugin.DockContent; } }
82                if (ScratchPadPlugin != null) { if (persistString == ScratchPadPlugin.IDockContentTypeName) { return ScratchPadPlugin.DockContent; } }            
83                return null;
84          }          }
85          public void SetupDocks()          public void SetupDocks()
86          {          {
87              m_LogWindow = new FloatingLogWindow();              m_LogWindow = new FloatingLogWindow();
88                m_LogWindow.CloseButton = false;
89                m_LogWindow.CloseButtonVisible = false;
90    
91              m_wb = new FloatingWebBrowser();              m_wb = new FloatingWebBrowser();
92                m_wb.CloseButton = false;
93                m_wb.CloseButtonVisible = false;
94    
95                m_deserializeDockContent = new DeserializeDockContent(GetContentFromPersistString);
96          }          }
97          #region SetupDockWindowHandler support          #region SetupDockWindowHandler support
98          public void SetupDockWindowHandler()          public void SetupDockWindowHandler()
99          {          {
100              SetupLogWindowHandler();              SetupLogWindowHandler();
101              SetupWebBrowserWindowHandler();              SetupWebBrowserWindowHandler();
102                SetupPluginWindowHandlers();
103            }
104            private void SetupPluginWindowHandlers()
105            {
106                if (RVACalcPlugin != null)
107                {
108                    RVACalcPlugin.Activate();
109                }
110                if (ScratchPadPlugin != null)
111                {
112                    ScratchPadPlugin.Activate();
113                }
114          }          }
115          private void SetupLogWindowHandler()          private void SetupLogWindowHandler()
116          {          {
117              if (m_LogWindow == null) return;              if (m_LogWindow == null) return;
118              //m_LogWindow.Shown += new EventHandler(AddDockToWindowList);              //m_LogWindow.Shown += new EventHandler(AddDockToWindowList);
119              //m_LogWindow.FormClosed += new FormClosedEventHandler(RemoveDockFromWindowList);              //m_LogWindow.FormClosed += new FormClosedEventHandler(RemoveDockFromWindowList);
120              //m_LogWindow.Activate();              m_LogWindow.Activate();
121          }          }
122          private void SetupWebBrowserWindowHandler()          private void SetupWebBrowserWindowHandler()
123          {          {
124              if (m_wb == null) return;              if (m_wb == null) return;
125              //m_wb.Shown += new EventHandler(AddDockToWindowList);              //m_wb.Shown += new EventHandler(AddDockToWindowList);
126              //m_wb.FormClosed += new FormClosedEventHandler(RemoveDockFromWindowList);              //m_wb.FormClosed += new FormClosedEventHandler(RemoveDockFromWindowList);
127              //m_msv.Activate();              m_wb.Activate();
128          }          }
129          #endregion          #endregion
130          public void ShowDocks()          public void ShowDocks()
# Line 119  namespace RomCheater.RVAScratchPad Line 133  namespace RomCheater.RVAScratchPad
133              SetupLogWindowHandler();              SetupLogWindowHandler();
134              ShowWebBrowser();              ShowWebBrowser();
135              SetupWebBrowserWindowHandler();              SetupWebBrowserWindowHandler();
136                ShowPluginWindows();
137                SetupPluginWindowHandlers();
138          }          }
139          public void ShowLogWindow()          public void ShowLogWindow()
140          {          {
141              if (m_LogWindow == null || m_LogWindow.IsDisposed) { m_LogWindow = new FloatingLogWindow(); }              if (m_LogWindow == null || m_LogWindow.IsDisposed) { m_LogWindow = new FloatingLogWindow(); }
142              LoggerInstance = m_LogWindow.Logwriter;              LoggerInstance = m_LogWindow.Logwriter;
143              LoggerInstance.CreateNewLog(false);              LoggerInstance.CreateNewLog(false);
144                m_LogWindow.CloseButton = false;
145                m_LogWindow.CloseButtonVisible = false;
146              m_LogWindow.Show(dockPanel, DockState.DockBottom);              m_LogWindow.Show(dockPanel, DockState.DockBottom);
147          }          }
148    
# Line 133  namespace RomCheater.RVAScratchPad Line 151  namespace RomCheater.RVAScratchPad
151          {          {
152              //load_plugins_silent();              //load_plugins_silent();
153              m_wb = new FloatingWebBrowser();              m_wb = new FloatingWebBrowser();
154                m_wb.CloseButton = false;
155                m_wb.CloseButtonVisible = false;
156              m_wb.Show(dockPanel);              m_wb.Show(dockPanel);
157          }          }
158            public void ShowPluginWindows()
159            {
160                // RVA Calc
161                RVACalcPlugin.Show(dockPanel);
162                // ScratchPad
163                ScratchPadPlugin.Show(dockPanel);
164            }
165          #endregion          #endregion
166    
167          private void Form1_FormClosing(object sender, FormClosingEventArgs e)          private void Form1_FormClosing(object sender, FormClosingEventArgs e)
# Line 155  namespace RomCheater.RVAScratchPad Line 182  namespace RomCheater.RVAScratchPad
182          {          {
183              //dockPanel.SuspendLayout(true);              //dockPanel.SuspendLayout(true);
184              //ShowDocks();              //ShowDocks();
185              string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "DockPanel.config");              string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "RVAScratchPad-DockPanel.config");
186              if (File.Exists(configFile))              if (File.Exists(configFile))
187              {              {
188                  try                  try
# Line 180  namespace RomCheater.RVAScratchPad Line 207  namespace RomCheater.RVAScratchPad
207    
208              //dockPanel.ResumeLayout(true, true);              //dockPanel.ResumeLayout(true, true);
209          }          }
210    
211            private void mnuItemExit_Click(object sender, EventArgs e)
212            {
213                this.Close();
214            }
215    
216            private void Form1_Load(object sender, EventArgs e)
217            {
218                SettingSubscriber.AddSubscriber(this, RomCheater.Properties.Settings.Default);
219            }
220      }      }
221  }  }

Legend:
Removed from v.708  
changed lines
  Added in v.719

  ViewVC Help
Powered by ViewVC 1.1.22