/[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 727 by william, Wed Jun 19 01:37:36 2013 UTC revision 814 by william, Tue Apr 15 15:58:50 2014 UTC
# Line 12  using System.IO; Line 12  using System.IO;
12  using RomCheater.PluginFramework.Core;  using RomCheater.PluginFramework.Core;
13  using RomCheater.Core;  using RomCheater.Core;
14  using RomCheater.UserSettingsSupport;  using RomCheater.UserSettingsSupport;
15    using Enterprise.Logging;
16    
17  namespace RomCheater.RVAScratchPad  namespace RomCheater.RVAScratchPad
18  {  {
19      public partial class Form1 : Form      public partial class Form1 : Form
20      {      {
21            const string DockPanelConfig = "RVAScratchPad-DockPanel.conf";
22          private SettingSubscriber SettingsSubscriber = null;          private SettingSubscriber SettingsSubscriber = null;
23          private bool m_bSaveLayout = true;          private bool m_bSaveLayout = true;
24          PluginLoader loader = null;          PluginLoader loader = null;
# Line 26  namespace RomCheater.RVAScratchPad Line 28  namespace RomCheater.RVAScratchPad
28          IUserControlPlugin ScratchPadPlugin = null;          IUserControlPlugin ScratchPadPlugin = null;
29    
30          private DeserializeDockContent m_deserializeDockContent;          private DeserializeDockContent m_deserializeDockContent;
31          private FloatingLogWindow m_LogWindow = new FloatingLogWindow();          //private FloatingLogWindow m_LogWindow = new FloatingLogWindow();
32          private FloatingWebBrowser m_wb = new FloatingWebBrowser();          //private FloatingWebBrowser m_wb = new FloatingWebBrowser();
33    
34          public IWebBrowserProvider WebBrowserProvider          //public IWebBrowserProvider WebBrowserProvider
35          {          //{
36              get { return new WebBrowserProvider(m_wb); }          //    get { return new WebBrowserProvider(m_wb); }
37          }          //}
38          #region LogWriterSupport          #region LogWriterSupport
39          static LogWriter _LoggerInstance;          static LogWriter _LoggerInstance;
40          static LogWriter LoggerInstance          static LogWriter LoggerInstance
# Line 50  namespace RomCheater.RVAScratchPad Line 52  namespace RomCheater.RVAScratchPad
52              SettingsSubscriber.AddSubscriber(this, RomCheater.Properties.Settings.Default);                            SettingsSubscriber.AddSubscriber(this, RomCheater.Properties.Settings.Default);              
53              load_loggerflags();              load_loggerflags();
54              SetupDocks();              SetupDocks();
55              LoggerInstance = m_LogWindow.Logwriter;              //LoggerInstance = m_LogWindow.Logwriter;
56              LoggerInstance.CreateNewLog(false);              LoggerInstance = new LogWriter();
57              logger.ForceLog.Info.WriteLine("LoggingFlags = 0x{0:x4} ({1})", logger.GetLoggingFlags().Value, logger.GetLoggingFlags().Name);              //LoggerInstance.CreateNewLog(false);
58                //logger.ForceLog.Info.WriteLine("LoggingFlags = 0x{0:x4} ({1})", logger.GetLoggingFlags().Value, logger.GetLoggingFlags().Name);
59              load_plugins();              load_plugins();
60              if (no_console_redirect)              //if (no_console_redirect)
61                  LoggerInstance.RedirectConsoleOutput = false;                        //    LoggerInstance.RedirectConsoleOutput = false;          
62          }          }
63          private void load_loggerflags()          private void load_loggerflags()
64          {          {
65              logger.SetLoggingFlags(Logging.Properties.Settings.Default.LoggingFlags);              //logger.SetLoggingFlags(Logging.Properties.Settings.Default.LoggingFlags);
66  #if FORCE_ALL_LOGGING_FLAGS  #if FORCE_ALL_LOGGING_FLAGS
67              logger.SetLoggingFlags(loggerflags.ALL);              //logger.SetLoggingFlags(loggerflags.ALL);
68  #endif  #endif
69          }          }
70          private void load_plugins() { load_plugins(false); }          private void load_plugins() { load_plugins(false); }
# Line 83  namespace RomCheater.RVAScratchPad Line 86  namespace RomCheater.RVAScratchPad
86              }              }
87    
88              // update the Config plugin's reference to the webbrowswer              // update the Config plugin's reference to the webbrowswer
89              ConfigPlugin.WebBrowserProvider = this.WebBrowserProvider;              //ConfigPlugin.WebBrowserProvider = this.WebBrowserProvider;
90    
91              SettingsSubscriber.SetValue("LastConfigPlugin", ConfigPlugin.ToString());              SettingsSubscriber.SetValue("LastConfigPlugin", ConfigPlugin.ToString());
92    
93              var scratchpad = PluginCollection.GetPluginByName(PluginNames.ScratchPadPlugin);              var scratchpad = PluginCollection.GetPluginByName(PluginNames.ScratchPadPlugin);
94              var rvacalc = PluginCollection.GetPluginByName(PluginNames.RVACalculatorPlugin);                          var rvacalc = PluginCollection.GetPluginByName(PluginNames.RVACalculatorPlugin);
95              ScratchPadPlugin = loader.GetPluginByGuid<IUserControlPlugin>(scratchpad.ID.ToString());              ScratchPadPlugin = loader.GetPluginByGuid<IUserControlPlugin>(scratchpad.ID.ToString());
96              RVACalcPlugin = loader.GetPluginByGuid<IUserControlPlugin>(rvacalc.ID.ToString());              RVACalcPlugin = loader.GetPluginByGuid<IUserControlPlugin>(rvacalc.ID.ToString());
97    
# Line 102  namespace RomCheater.RVAScratchPad Line 105  namespace RomCheater.RVAScratchPad
105          #region Dock Support          #region Dock Support
106          private IDockContent GetContentFromPersistString(string persistString)          private IDockContent GetContentFromPersistString(string persistString)
107          {          {
108              if (persistString == typeof(FloatingLogWindow).ToString()) { return m_LogWindow; }              //if (persistString == typeof(FloatingLogWindow).ToString()) { return m_LogWindow; }
109              if (persistString == typeof(FloatingWebBrowser).ToString()) { return m_wb; }              //if (persistString == typeof(FloatingWebBrowser).ToString()) { return m_wb; }
110              if (RVACalcPlugin != null) { if (persistString == RVACalcPlugin.IDockContentTypeName) { return RVACalcPlugin.DockContent; } }              if (RVACalcPlugin != null) { if (persistString == RVACalcPlugin.IDockContentTypeName) { return RVACalcPlugin.DockContent; } }
111              if (ScratchPadPlugin != null) { if (persistString == ScratchPadPlugin.IDockContentTypeName) { return ScratchPadPlugin.DockContent; } }                          if (ScratchPadPlugin != null) { if (persistString == ScratchPadPlugin.IDockContentTypeName) { return ScratchPadPlugin.DockContent; } }
112              return null;              return null;
113          }          }
114          public void SetupDocks()          public void SetupDocks()
115          {          {
116              m_LogWindow = new FloatingLogWindow();              //m_LogWindow = new FloatingLogWindow();
117              //m_LogWindow.CloseButton = false;              //m_LogWindow.CloseButton = false;
118              //m_LogWindow.CloseButtonVisible = false;              //m_LogWindow.CloseButtonVisible = false;
119    
120              m_wb = new FloatingWebBrowser();              //m_wb = new FloatingWebBrowser();
121              //m_wb.CloseButton = false;              //m_wb.CloseButton = false;
122              //m_wb.CloseButtonVisible = false;              //m_wb.CloseButtonVisible = false;
123    
124                if (RVACalcPlugin != null)
125                {
126                    RVACalcPlugin.DockHandler.CloseButton = false;
127                    RVACalcPlugin.DockHandler.CloseButtonVisible = false;
128                    RVACalcPlugin.DockHandler.AllowEndUserDocking = false;
129                }
130                if (ScratchPadPlugin != null)
131                {
132                    ScratchPadPlugin.DockHandler.CloseButton = false;
133                    ScratchPadPlugin.DockHandler.CloseButtonVisible = false;
134                    ScratchPadPlugin.DockHandler.AllowEndUserDocking = false;
135                }
136    
137              m_deserializeDockContent = new DeserializeDockContent(GetContentFromPersistString);              m_deserializeDockContent = new DeserializeDockContent(GetContentFromPersistString);
138          }          }
139          #region SetupDockWindowHandler support          #region SetupDockWindowHandler support
140          public void SetupDockWindowHandler()          public void SetupDockWindowHandler()
141          {          {
142              SetupLogWindowHandler();              //SetupLogWindowHandler();
143              SetupWebBrowserWindowHandler();              //SetupWebBrowserWindowHandler();
144              SetupPluginWindowHandlers();              SetupPluginWindowHandlers();
145          }          }
146          private void SetupPluginWindowHandlers()          private void SetupPluginWindowHandlers()
147          {          {
148              if (RVACalcPlugin != null)              if (RVACalcPlugin != null)
149              {              {
150                    RVACalcPlugin.DockHandler.CloseButton = false;
151                    RVACalcPlugin.DockHandler.CloseButtonVisible = false;
152                    RVACalcPlugin.DockHandler.AllowEndUserDocking = false;
153                  RVACalcPlugin.Activate();                  RVACalcPlugin.Activate();
154              }              }
155              if (ScratchPadPlugin != null)              if (ScratchPadPlugin != null)
156              {              {
157                    ScratchPadPlugin.DockHandler.CloseButton = false;
158                    ScratchPadPlugin.DockHandler.CloseButtonVisible = false;
159                    ScratchPadPlugin.DockHandler.AllowEndUserDocking = false;
160                  ScratchPadPlugin.Activate();                  ScratchPadPlugin.Activate();
161              }              }
162          }          }
163          private void SetupLogWindowHandler()          //private void SetupLogWindowHandler()
164          {          //{
165              if (m_LogWindow == null) return;          //    //if (m_LogWindow == null) return;
166              //m_LogWindow.Shown += new EventHandler(AddDockToWindowList);          //    ////m_LogWindow.Shown += new EventHandler(AddDockToWindowList);
167              //m_LogWindow.FormClosed += new FormClosedEventHandler(RemoveDockFromWindowList);          //    ////m_LogWindow.FormClosed += new FormClosedEventHandler(RemoveDockFromWindowList);
168              m_LogWindow.Activate();          //    //m_LogWindow.Activate();
169          }          //}
170          private void SetupWebBrowserWindowHandler()          //private void SetupWebBrowserWindowHandler()
171          {          //{
172              if (m_wb == null) return;          //    //if (m_wb == null) return;
173              //m_wb.Shown += new EventHandler(AddDockToWindowList);          //    ////m_wb.Shown += new EventHandler(AddDockToWindowList);
174              //m_wb.FormClosed += new FormClosedEventHandler(RemoveDockFromWindowList);          //    ////m_wb.FormClosed += new FormClosedEventHandler(RemoveDockFromWindowList);
175              m_wb.Activate();          //    //m_wb.Activate();
176          }          //}
177          #endregion          #endregion
178          public void ShowDocks()          public void ShowDocks()
179          {          {
180              ShowLogWindow();              //ShowLogWindow();
181              SetupLogWindowHandler();              //SetupLogWindowHandler();
182              ShowWebBrowser();              //ShowWebBrowser();
183              SetupWebBrowserWindowHandler();              //SetupWebBrowserWindowHandler();
184              ShowPluginWindows();              ShowPluginWindows();
185              SetupPluginWindowHandlers();              SetupPluginWindowHandlers();
186    
# Line 167  namespace RomCheater.RVAScratchPad Line 189  namespace RomCheater.RVAScratchPad
189          }          }
190          public void ShowLogWindow()          public void ShowLogWindow()
191          {          {
192              if (m_LogWindow == null || m_LogWindow.IsDisposed) { m_LogWindow = new FloatingLogWindow(); }              //if (m_LogWindow == null || m_LogWindow.IsDisposed) { m_LogWindow = new FloatingLogWindow(); }
193              if (LoggerInstance == null)              //if (LoggerInstance == null)
194              {              //{
195                  LoggerInstance = m_LogWindow.Logwriter;              //    LoggerInstance = m_LogWindow.Logwriter;
196                  LoggerInstance.CreateNewLog(false);              //    LoggerInstance.CreateNewLog(false);
197              }              //}
198              //m_LogWindow.AllowEndUserDocking = true;              ////m_LogWindow.AllowEndUserDocking = true;
199              //m_LogWindow.CloseButton = false;              ////m_LogWindow.CloseButton = false;
200              //m_LogWindow.CloseButtonVisible = false;              ////m_LogWindow.CloseButtonVisible = false;
201              m_LogWindow.Show(dockPanel, DockState.DockBottom);              //m_LogWindow.Show(dockPanel, DockState.DockBottom);
202          }          }
203    
204    
205          public void ShowWebBrowser()          public void ShowWebBrowser()
206          {          {
207              //load_plugins_silent();              ////load_plugins_silent();
208              m_wb = new FloatingWebBrowser();              //m_wb = new FloatingWebBrowser();
209              //m_wb.AllowEndUserDocking = true;              ////m_wb.AllowEndUserDocking = true;
210              //m_wb.CloseButton = false;              ////m_wb.CloseButton = false;
211              //m_wb.CloseButtonVisible = false;              ////m_wb.CloseButtonVisible = false;
212              m_wb.Show(dockPanel, DockState.Document);              //m_wb.Show(dockPanel, DockState.Document);
213          }          }
214          public void ShowPluginWindows()          public void ShowPluginWindows()
215          {          {
216              if (RVACalcPlugin != null)              if (RVACalcPlugin != null)
217              {              {
218                  // RVA Calc                                  // RVA Calc                
219                  //RVACalcPlugin.DockHandler.CloseButton = false;                                  RVACalcPlugin.DockHandler.CloseButton = false;
220                  //RVACalcPlugin.DockHandler.CloseButtonVisible = false;                  RVACalcPlugin.DockHandler.CloseButtonVisible = false;
221                  //RVACalcPlugin.DockHandler.AllowEndUserDocking = true;                  RVACalcPlugin.DockHandler.AllowEndUserDocking = false;
222                  RVACalcPlugin.Show(dockPanel);                  RVACalcPlugin.Show(dockPanel, DockState.DockLeft);
223              }              }
224              if (ScratchPadPlugin != null)              if (ScratchPadPlugin != null)
225              {              {
226                  // ScratchPad                                  // ScratchPad                
227                  //ScratchPadPlugin.DockHandler.CloseButton = false;                  ScratchPadPlugin.DockHandler.CloseButton = false;
228                  //ScratchPadPlugin.DockHandler.CloseButtonVisible = false;                  ScratchPadPlugin.DockHandler.CloseButtonVisible = false;
229                  //ScratchPadPlugin.DockHandler.AllowEndUserDocking = true;                  ScratchPadPlugin.DockHandler.AllowEndUserDocking = false;
230                  ScratchPadPlugin.Show(dockPanel, DockState.Document);                  ScratchPadPlugin.Show(dockPanel, DockState.Document);
231              }              }
232          }          }
# Line 213  namespace RomCheater.RVAScratchPad Line 235  namespace RomCheater.RVAScratchPad
235          private void Form1_FormClosing(object sender, FormClosingEventArgs e)          private void Form1_FormClosing(object sender, FormClosingEventArgs e)
236          {          {
237              SettingsSubscriber.SaveSettings();              SettingsSubscriber.SaveSettings();
238              string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "RVAScratchPad-DockPanel.config");              string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), DockPanelConfig);
239              if (m_bSaveLayout)              if (m_bSaveLayout)
240                  dockPanel.SaveAsXml(configFile);                  dockPanel.SaveAsXml(configFile);
241              else if (File.Exists(configFile))              else if (File.Exists(configFile))
# Line 227  namespace RomCheater.RVAScratchPad Line 249  namespace RomCheater.RVAScratchPad
249    
250          private void Form1_Shown(object sender, EventArgs e)          private void Form1_Shown(object sender, EventArgs e)
251          {          {
252              //dockPanel.SuspendLayout(true);              ////dockPanel.SuspendLayout(true);
253              //ShowDocks();              ////ShowDocks();
254              string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "RVAScratchPad-DockPanel.config");              string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), DockPanelConfig);
255              if (File.Exists(configFile))              if (File.Exists(configFile))
256              {              {
257                  try                  try
# Line 254  namespace RomCheater.RVAScratchPad Line 276  namespace RomCheater.RVAScratchPad
276    
277              if (RVACalcPlugin != null)              if (RVACalcPlugin != null)
278                  RVACalcPlugin.Activate();                  RVACalcPlugin.Activate();
279              //dockPanel.ResumeLayout(true, true);              ////dockPanel.ResumeLayout(true, true);
280          }          }
281    
282          private void mnuItemExit_Click(object sender, EventArgs e)          private void mnuItemExit_Click(object sender, EventArgs e)

Legend:
Removed from v.727  
changed lines
  Added in v.814

  ViewVC Help
Powered by ViewVC 1.1.22