/[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 728 by william, Wed Jun 19 14:18:50 2013 UTC revision 839 by william, Tue Sep 16 01:06:04 2014 UTC
# Line 1  Line 1 
1  ´╗┐using System;  ´╗┐#define FORCE_DISABLE_PROFILER_LOGLEVEL // when define will forcibly disable the profiler loglevel
2    using System;
3  using System.Collections.Generic;  using System.Collections.Generic;
4  using System.ComponentModel;  using System.ComponentModel;
5  using System.Data;  using System.Data;
# Line 12  using System.IO; Line 13  using System.IO;
13  using RomCheater.PluginFramework.Core;  using RomCheater.PluginFramework.Core;
14  using RomCheater.Core;  using RomCheater.Core;
15  using RomCheater.UserSettingsSupport;  using RomCheater.UserSettingsSupport;
16    using Enterprise.Logging;
17    
18  namespace RomCheater.RVAScratchPad  namespace RomCheater.RVAScratchPad
19  {  {
20      public partial class Form1 : Form      public partial class Form1 : Form
21      {      {
22            const string DockPanelConfig = "RVAScratchPad-DockPanel.conf";
23          private SettingSubscriber SettingsSubscriber = null;          private SettingSubscriber SettingsSubscriber = null;
24          //private bool m_bSaveLayout = true;          private bool m_bSaveLayout = true;
25          PluginLoader loader = null;          PluginLoader loader = null;
26          IConfigPlugin ConfigPlugin = null;          IConfigPlugin ConfigPlugin = null;
27    
28          IUserControlPlugin RVACalcPlugin = null;          IUserControlPlugin RVACalcPlugin = null;
29          //IUserControlPlugin ScratchPadPlugin = null;          IUserControlPlugin ScratchPadPlugin = null;
30    
31          //private DeserializeDockContent m_deserializeDockContent;          private LogLevel logging_level = LogLevel.kLogLevel_All;
32            private DeserializeDockContent m_deserializeDockContent;
33          //private FloatingLogWindow m_LogWindow = new FloatingLogWindow();          //private FloatingLogWindow m_LogWindow = new FloatingLogWindow();
34          //private FloatingWebBrowser m_wb = new FloatingWebBrowser();          //private FloatingWebBrowser m_wb = new FloatingWebBrowser();
35    
# Line 46  namespace RomCheater.RVAScratchPad Line 50  namespace RomCheater.RVAScratchPad
50          public Form1(bool no_console_redirect)          public Form1(bool no_console_redirect)
51          {          {
52              InitializeComponent();              InitializeComponent();
53                this.Icon = Core.Properties.Resources.romcheater_icon;
54              SettingsSubscriber = new SettingSubscriber();              SettingsSubscriber = new SettingSubscriber();
55              SettingsSubscriber.AddSubscriber(this, RomCheater.Properties.Settings.Default);                            SettingsSubscriber.AddSubscriber(this, RomCheater.Properties.Settings.Default);              
56              load_loggerflags();              //load_loggerflags();
57              SetupDocks();              SetupDocks();
58              //LoggerInstance = m_LogWindow.Logwriter;              //LoggerInstance = m_LogWindow.Logwriter;
59              LoggerInstance = new LogWriter(!no_console_redirect);              LoggerInstance = new LogWriter();
60              LoggerInstance.CreateNewLog(false);              load_loggerflags();
             logger.ForceLog.Info.WriteLine("LoggingFlags = 0x{0:x4} ({1})", logger.GetLoggingFlags().Value, logger.GetLoggingFlags().Name);  
61              load_plugins();              load_plugins();
62              if (no_console_redirect)              //if (no_console_redirect)
63                  LoggerInstance.RedirectConsoleOutput = false;                        //    LoggerInstance.RedirectConsoleOutput = false;          
64          }          }
65          private void load_loggerflags()          private void load_loggerflags()
66          {          {
67              logger.SetLoggingFlags(Logging.Properties.Settings.Default.LoggingFlags);              bool upgraded_flags = Logging.Properties.Settings.Default.UpgradedLogLevel;
68                if (!upgraded_flags)
69                {
70                    logging_level = new LoggingFlagsConverter(Logging.Properties.Settings.Default.LoggingFlags).ConvertFlags();
71                    Logging.Properties.Settings.Default.UpgradedLogLevel = true;
72                    Logging.Properties.Settings.Default.gLogLoggingFlags = (uint)logging_level;
73                    Logging.Properties.Settings.Default.Save();
74                }
75                logging_level = (LogLevel)Logging.Properties.Settings.Default.gLogLoggingFlags;
76  #if FORCE_ALL_LOGGING_FLAGS  #if FORCE_ALL_LOGGING_FLAGS
77              logger.SetLoggingFlags(loggerflags.ALL);        logging_level = LogLevel.kLogLevel_All;
78    #endif
79    #if FORCE_DISABLE_PROFILER_LOGLEVEL
80                 logging_level = logging_level & ~LogLevel.kLogLevel_Profiler;
81                 logging_level = logging_level & ~LogLevel.kLogLevel_VerboseProfiler;
82  #endif  #endif
83                 gLog.CreateLog(LoggingConstants.AppFullLogPath, true, logging_level, new EventHandler<LoggerOnFlushEventArgs>(Log_OnFlush), LoggerInstance.Log);
84            }
85            private void Log_OnFlush(object sender, LoggerOnFlushEventArgs e)
86            {
87          }          }
88          private void load_plugins() { load_plugins(false); }          private void load_plugins() { load_plugins(false); }
89          private void load_plugins_silent() { load_plugins(true); }          private void load_plugins_silent() { load_plugins(true); }
# Line 83  namespace RomCheater.RVAScratchPad Line 103  namespace RomCheater.RVAScratchPad
103                  ConfigPlugin = loader.GetPluginByGuid<IConfigPlugin>(config.ID.ToString());                  ConfigPlugin = loader.GetPluginByGuid<IConfigPlugin>(config.ID.ToString());
104              }              }
105    
106              //// update the Config plugin's reference to the webbrowswer              // update the Config plugin's reference to the webbrowswer
107              ////ConfigPlugin.WebBrowserProvider = this.WebBrowserProvider;              //ConfigPlugin.WebBrowserProvider = this.WebBrowserProvider;
108    
109              SettingsSubscriber.SetValue("LastConfigPlugin", ConfigPlugin.ToString());              SettingsSubscriber.SetValue("LastConfigPlugin", ConfigPlugin.ToString());
110    
111              //var scratchpad = PluginCollection.GetPluginByName(PluginNames.ScratchPadPlugin);              var scratchpad = PluginCollection.GetPluginByName(PluginNames.ScratchPadPlugin);
112              var rvacalc = PluginCollection.GetPluginByName(PluginNames.RVACalculatorPlugin);              var rvacalc = PluginCollection.GetPluginByName(PluginNames.RVACalculatorPlugin);
113              //ScratchPadPlugin = loader.GetPluginByGuid<IUserControlPlugin>(scratchpad.ID.ToString());              ScratchPadPlugin = loader.GetPluginByGuid<IUserControlPlugin>(scratchpad.ID.ToString());
114              RVACalcPlugin = loader.GetPluginByGuid<IUserControlPlugin>(rvacalc.ID.ToString());              RVACalcPlugin = loader.GetPluginByGuid<IUserControlPlugin>(rvacalc.ID.ToString());
115    
116              // update config of each plugin              // update config of each plugin
117              //ScratchPadPlugin.SetAcceptedConfig(ConfigPlugin);              ScratchPadPlugin.SetAcceptedConfig(ConfigPlugin);
118              RVACalcPlugin.SetAcceptedConfig(ConfigPlugin);              RVACalcPlugin.SetAcceptedConfig(ConfigPlugin);
119          }          }
120    
121    
122    
123          #region Dock Support          #region Dock Support
124          //private IDockContent GetContentFromPersistString(string persistString)          private IDockContent GetContentFromPersistString(string persistString)
125          //{          {
126          //    if (persistString == typeof(FloatingLogWindow).ToString()) { return m_LogWindow; }              //if (persistString == typeof(FloatingLogWindow).ToString()) { return m_LogWindow; }
127          //    if (persistString == typeof(FloatingWebBrowser).ToString()) { return m_wb; }              //if (persistString == typeof(FloatingWebBrowser).ToString()) { return m_wb; }
128          //    if (RVACalcPlugin != null) { if (persistString == RVACalcPlugin.IDockContentTypeName) { return RVACalcPlugin.DockContent; } }              if (RVACalcPlugin != null) { if (persistString == RVACalcPlugin.IDockContentTypeName) { return RVACalcPlugin.DockContent; } }
129          //    if (ScratchPadPlugin != null) { if (persistString == ScratchPadPlugin.IDockContentTypeName) { return ScratchPadPlugin.DockContent; } }              if (ScratchPadPlugin != null) { if (persistString == ScratchPadPlugin.IDockContentTypeName) { return ScratchPadPlugin.DockContent; } }
130          //    return null;              return null;
131          //}          }
132          public void SetupDocks()          public void SetupDocks()
133          {          {
134              //m_LogWindow = new FloatingLogWindow();              //m_LogWindow = new FloatingLogWindow();
# Line 119  namespace RomCheater.RVAScratchPad Line 139  namespace RomCheater.RVAScratchPad
139              //m_wb.CloseButton = false;              //m_wb.CloseButton = false;
140              //m_wb.CloseButtonVisible = false;              //m_wb.CloseButtonVisible = false;
141    
142              //m_deserializeDockContent = new DeserializeDockContent(GetContentFromPersistString);              if (RVACalcPlugin != null)
143                {
144                    RVACalcPlugin.DockHandler.CloseButton = false;
145                    RVACalcPlugin.DockHandler.CloseButtonVisible = false;
146                    RVACalcPlugin.DockHandler.AllowEndUserDocking = false;
147                }
148                if (ScratchPadPlugin != null)
149                {
150                    ScratchPadPlugin.DockHandler.CloseButton = false;
151                    ScratchPadPlugin.DockHandler.CloseButtonVisible = false;
152                    ScratchPadPlugin.DockHandler.AllowEndUserDocking = false;
153                }
154    
155                m_deserializeDockContent = new DeserializeDockContent(GetContentFromPersistString);
156          }          }
157          #region SetupDockWindowHandler support          #region SetupDockWindowHandler support
158          public void SetupDockWindowHandler()          public void SetupDockWindowHandler()
# Line 132  namespace RomCheater.RVAScratchPad Line 165  namespace RomCheater.RVAScratchPad
165          {          {
166              if (RVACalcPlugin != null)              if (RVACalcPlugin != null)
167              {              {
168                    RVACalcPlugin.DockHandler.CloseButton = false;
169                    RVACalcPlugin.DockHandler.CloseButtonVisible = false;
170                    RVACalcPlugin.DockHandler.AllowEndUserDocking = false;
171                  RVACalcPlugin.Activate();                  RVACalcPlugin.Activate();
172              }              }
173              //if (ScratchPadPlugin != null)              if (ScratchPadPlugin != null)
174              //{              {
175              //    ScratchPadPlugin.Activate();                  ScratchPadPlugin.DockHandler.CloseButton = false;
176              //}                  ScratchPadPlugin.DockHandler.CloseButtonVisible = false;
177                    ScratchPadPlugin.DockHandler.AllowEndUserDocking = false;
178                    ScratchPadPlugin.Activate();
179                }
180          }          }
181          //private void SetupLogWindowHandler()          //private void SetupLogWindowHandler()
182          //{          //{
# Line 163  namespace RomCheater.RVAScratchPad Line 202  namespace RomCheater.RVAScratchPad
202              ShowPluginWindows();              ShowPluginWindows();
203              SetupPluginWindowHandlers();              SetupPluginWindowHandlers();
204    
205              //if (RVACalcPlugin != null)              if (RVACalcPlugin != null)
206              //    RVACalcPlugin.Activate();                  RVACalcPlugin.Activate();
207          }          }
208          public void ShowLogWindow()          public void ShowLogWindow()
209          {          {
# Line 198  namespace RomCheater.RVAScratchPad Line 237  namespace RomCheater.RVAScratchPad
237                  RVACalcPlugin.DockHandler.CloseButton = false;                  RVACalcPlugin.DockHandler.CloseButton = false;
238                  RVACalcPlugin.DockHandler.CloseButtonVisible = false;                  RVACalcPlugin.DockHandler.CloseButtonVisible = false;
239                  RVACalcPlugin.DockHandler.AllowEndUserDocking = false;                  RVACalcPlugin.DockHandler.AllowEndUserDocking = false;
240                  RVACalcPlugin.Show(dockPanel);                  RVACalcPlugin.Show(dockPanel, DockState.DockLeft);
241                }
242                if (ScratchPadPlugin != null)
243                {
244                    // ScratchPad                
245                    ScratchPadPlugin.DockHandler.CloseButton = false;
246                    ScratchPadPlugin.DockHandler.CloseButtonVisible = false;
247                    ScratchPadPlugin.DockHandler.AllowEndUserDocking = false;
248                    ScratchPadPlugin.Show(dockPanel, DockState.Document);
249              }              }
             //if (ScratchPadPlugin != null)  
             //{  
             //    // ScratchPad                  
             //    //ScratchPadPlugin.DockHandler.CloseButton = false;  
             //    //ScratchPadPlugin.DockHandler.CloseButtonVisible = false;  
             //    //ScratchPadPlugin.DockHandler.AllowEndUserDocking = true;  
             //    ScratchPadPlugin.Show(dockPanel, DockState.Document);  
             //}  
250          }          }
251          #endregion          #endregion
252    
253          private void Form1_FormClosing(object sender, FormClosingEventArgs e)          private void Form1_FormClosing(object sender, FormClosingEventArgs e)
254          {          {
255              SettingsSubscriber.SaveSettings();              SettingsSubscriber.SaveSettings();
256              //string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "RVAScratchPad-DockPanel.config");              string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), DockPanelConfig);
257              //if (m_bSaveLayout)              if (m_bSaveLayout)
258              //    dockPanel.SaveAsXml(configFile);                  dockPanel.SaveAsXml(configFile);
259              //else if (File.Exists(configFile))              else if (File.Exists(configFile))
260              //    File.Delete(configFile);                  File.Delete(configFile);
261              // notify any docked windows of formclosing              // notify any docked windows of formclosing
262              foreach (var t in this.dockPanel.Contents)              foreach (var t in this.dockPanel.Contents)
263              {              {
# Line 230  namespace RomCheater.RVAScratchPad Line 269  namespace RomCheater.RVAScratchPad
269          {          {
270              ////dockPanel.SuspendLayout(true);              ////dockPanel.SuspendLayout(true);
271              ////ShowDocks();              ////ShowDocks();
272              //string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "RVAScratchPad-DockPanel.config");              string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), DockPanelConfig);
273              //if (File.Exists(configFile))              if (File.Exists(configFile))
274              //{              {
275              //    try                  try
276              //    {                  {
277              //        dockPanel.LoadFromXml(configFile, m_deserializeDockContent);                      dockPanel.LoadFromXml(configFile, m_deserializeDockContent);
278              //        SetupDockWindowHandler();                      SetupDockWindowHandler();
279              //    }                  }
280              //    catch (Exception)                  catch (Exception)
281              //    {                  {
282              //        this.Controls.Remove(dockPanel);                      this.Controls.Remove(dockPanel);
283              //        dockPanel = new DockPanel();                      dockPanel = new DockPanel();
284              //        dockPanel.Dock = DockStyle.Fill;                      dockPanel.Dock = DockStyle.Fill;
285              //        dockPanel.DocumentStyle = DocumentStyle.DockingWindow;                      dockPanel.DocumentStyle = DocumentStyle.DockingWindow;
286              //        this.Controls.Add(dockPanel);                      this.Controls.Add(dockPanel);
287              //        ShowDocks();                      ShowDocks();
288              //    }                  }
289              //}              }
290              //else              else
291              //{              {
292              ShowDocks();                  ShowDocks();
293              //}              }
294    
295              //if (RVACalcPlugin != null)              if (RVACalcPlugin != null)
296              //    RVACalcPlugin.Activate();                  RVACalcPlugin.Activate();
297              ////dockPanel.ResumeLayout(true, true);              ////dockPanel.ResumeLayout(true, true);
298          }          }
299    

Legend:
Removed from v.728  
changed lines
  Added in v.839

  ViewVC Help
Powered by ViewVC 1.1.22