/[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 713 by william, Tue Jun 18 10:25:55 2013 UTC revision 722 by william, Tue Jun 18 19:18:05 2013 UTC
# Line 11  using WeifenLuo.WinFormsUI.Docking; Line 11  using WeifenLuo.WinFormsUI.Docking;
11  using System.IO;  using System.IO;
12  using RomCheater.PluginFramework.Core;  using RomCheater.PluginFramework.Core;
13  using RomCheater.Core;  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 SettingSubscriber SettingsSubscriber = null;
21          private bool m_bSaveLayout = true;          private bool m_bSaveLayout = true;
22          PluginLoader loader = null;          PluginLoader loader = null;
23          IConfigPlugin ConfigPlugin = null;          IConfigPlugin ConfigPlugin = null;
# Line 40  namespace RomCheater.RVAScratchPad Line 42  namespace RomCheater.RVAScratchPad
42          public Form1(bool no_console_redirect)          public Form1(bool no_console_redirect)
43          {          {
44              InitializeComponent();              InitializeComponent();
45                SettingsSubscriber = new SettingSubscriber();
46                SettingsSubscriber.AddSubscriber(this, RomCheater.Properties.Settings.Default);              
47              load_loggerflags();              load_loggerflags();
48              //SetupDocks();              SetupDocks();
49              LoggerInstance = m_LogWindow.Logwriter;              LoggerInstance = m_LogWindow.Logwriter;
50              LoggerInstance.CreateNewLog(false);              LoggerInstance.CreateNewLog(false);
51              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 63  namespace RomCheater.RVAScratchPad Line 67  namespace RomCheater.RVAScratchPad
67              loader = new PluginLoader();              loader = new PluginLoader();
68              loader.LoadPlugins(silent);              loader.LoadPlugins(silent);
69    
70                var LastConfigPlugin = SettingsSubscriber.GetValue("LastConfigPlugin").ToString();
71              ConfigPlugin = loader.GetGenericConfigPlugin();              if (LastConfigPlugin != null)
72              if (ConfigPlugin != null && !silent)              {
73                  logger.Info.WriteLine("Loaded Config Plugin: {0}", ConfigPlugin.ToString());                  ConfigPlugin = loader.GetConfigPlugin(LastConfigPlugin.ToString());
74                }
75              //var UserControlPlugins = new List<IUserControlPlugin>(loader.LoadedUserControlPlugins);              else
76              //foreach (var userplugin in UserControlPlugins) { }              {
77                    var config = PluginCollection.GetPluginByName(PluginNames.GenericConfig);
78                    ConfigPlugin = loader.GetPluginByGuid<IConfigPlugin>(config.ID.ToString());
79              //var config_guids = loader.GetKnownPluginGuids<IConfigPlugin>();              }            
80              //var input_guids = loader.GetKnownPluginGuids<IInputPlugin>();              var scratchpad = PluginCollection.GetPluginByName(PluginNames.ScratchPadPlugin);
81              //var window_guids = loader.GetKnownPluginGuids<IWindowPlugin>();              var rvacalc = PluginCollection.GetPluginByName(PluginNames.RVACalculatorPlugin);            
82              //var userplugin_guids = loader.GetKnownPluginGuids<IUserControlPlugin>();              ScratchPadPlugin = loader.GetPluginByGuid<IUserControlPlugin>(scratchpad.ID.ToString());
83              //var plugin1 = loader.GetPluginByName<IUserControlPlugin>("ScratchPad Plugin");              RVACalcPlugin = loader.GetPluginByGuid<IUserControlPlugin>(rvacalc.ID.ToString());
             //var plugin2 = loader.GetPluginByName<IUserControlPlugin>("RVA Calculator Plugin");  
   
   
             //var plugin1 = PluginCollection.UserControlPlugins.CheatCodePlugin.Plugin;  
             //var plugin2 = PluginCollection.UserControlPlugins.EmuMMAPPlugin.Plugin;  
             //var plugin3 = PluginCollection.UserControlPlugins.RVACalculatorPlugin.Plugin;  
             //var plugin4 = PluginCollection.UserControlPlugins.ScratchPadPlugin.Plugin;  
   
             //var plugin1 = PluginCollection.GetPluginByName(PluginNames.ScratchPadPlugin);  
             //var plugin2 = PluginCollection.GetPluginByName(PluginNames.RVACalculatorPlugin);              
   
             var plugins = PluginCollection.GetPluginsByType(PluginType.Window);  
   
84          }          }
85    
86    
87    
88          #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);  
         //}  
89          private IDockContent GetContentFromPersistString(string persistString)          private IDockContent GetContentFromPersistString(string persistString)
90          {          {
91              if (persistString == typeof(FloatingLogWindow).ToString()) { return m_LogWindow; }              if (persistString == typeof(FloatingLogWindow).ToString()) { return m_LogWindow; }
92              if (persistString == typeof(FloatingWebBrowser).ToString()) { return m_wb; }              if (persistString == typeof(FloatingWebBrowser).ToString()) { return m_wb; }
93              else { return null; }              if (RVACalcPlugin != null) { if (persistString == RVACalcPlugin.IDockContentTypeName) { return RVACalcPlugin.DockContent; } }
94                if (ScratchPadPlugin != null) { if (persistString == ScratchPadPlugin.IDockContentTypeName) { return ScratchPadPlugin.DockContent; } }            
95                return null;
96          }          }
97          public void SetupDocks()          public void SetupDocks()
98          {          {
99              m_LogWindow = new FloatingLogWindow();              m_LogWindow = new FloatingLogWindow();
100                m_LogWindow.CloseButton = false;
101                m_LogWindow.CloseButtonVisible = false;
102    
103              m_wb = new FloatingWebBrowser();              m_wb = new FloatingWebBrowser();
104                m_wb.CloseButton = false;
105                m_wb.CloseButtonVisible = false;
106    
107                m_deserializeDockContent = new DeserializeDockContent(GetContentFromPersistString);
108          }          }
109          #region SetupDockWindowHandler support          #region SetupDockWindowHandler support
110          public void SetupDockWindowHandler()          public void SetupDockWindowHandler()
111          {          {
112              SetupLogWindowHandler();              SetupLogWindowHandler();
113              SetupWebBrowserWindowHandler();              SetupWebBrowserWindowHandler();
114                SetupPluginWindowHandlers();
115            }
116            private void SetupPluginWindowHandlers()
117            {
118                if (RVACalcPlugin != null)
119                {
120                    RVACalcPlugin.Activate();
121                }
122                if (ScratchPadPlugin != null)
123                {
124                    ScratchPadPlugin.Activate();
125                }
126          }          }
127          private void SetupLogWindowHandler()          private void SetupLogWindowHandler()
128          {          {
# Line 148  namespace RomCheater.RVAScratchPad Line 136  namespace RomCheater.RVAScratchPad
136              if (m_wb == null) return;              if (m_wb == null) return;
137              //m_wb.Shown += new EventHandler(AddDockToWindowList);              //m_wb.Shown += new EventHandler(AddDockToWindowList);
138              //m_wb.FormClosed += new FormClosedEventHandler(RemoveDockFromWindowList);              //m_wb.FormClosed += new FormClosedEventHandler(RemoveDockFromWindowList);
139              //m_wb.Activate();              m_wb.Activate();
140          }          }
141          #endregion          #endregion
142          public void ShowDocks()          public void ShowDocks()
# Line 157  namespace RomCheater.RVAScratchPad Line 145  namespace RomCheater.RVAScratchPad
145              SetupLogWindowHandler();              SetupLogWindowHandler();
146              ShowWebBrowser();              ShowWebBrowser();
147              SetupWebBrowserWindowHandler();              SetupWebBrowserWindowHandler();
148                ShowPluginWindows();
149                SetupPluginWindowHandlers();
150    
151                if (RVACalcPlugin != null)
152                    RVACalcPlugin.Activate();
153          }          }
154          public void ShowLogWindow()          public void ShowLogWindow()
155          {          {
# Line 177  namespace RomCheater.RVAScratchPad Line 170  namespace RomCheater.RVAScratchPad
170              m_wb.CloseButtonVisible = false;              m_wb.CloseButtonVisible = false;
171              m_wb.Show(dockPanel);              m_wb.Show(dockPanel);
172          }          }
173            public void ShowPluginWindows()
174            {
175                // RVA Calc
176                RVACalcPlugin.Show(dockPanel);
177                // ScratchPad
178                ScratchPadPlugin.Show(dockPanel);    
179            }
180          #endregion          #endregion
181    
182          private void Form1_FormClosing(object sender, FormClosingEventArgs e)          private void Form1_FormClosing(object sender, FormClosingEventArgs e)
183          {          {
184                SettingsSubscriber.SaveSettings();
185              string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "RVAScratchPad-DockPanel.config");              string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "RVAScratchPad-DockPanel.config");
186              if (m_bSaveLayout)              if (m_bSaveLayout)
187                  dockPanel.SaveAsXml(configFile);                  dockPanel.SaveAsXml(configFile);
# Line 220  namespace RomCheater.RVAScratchPad Line 221  namespace RomCheater.RVAScratchPad
221                  ShowDocks();                  ShowDocks();
222              }              }
223    
224                if (RVACalcPlugin != null)
225                    RVACalcPlugin.Activate();
226              //dockPanel.ResumeLayout(true, true);              //dockPanel.ResumeLayout(true, true);
227          }          }
228    
# Line 227  namespace RomCheater.RVAScratchPad Line 230  namespace RomCheater.RVAScratchPad
230          {          {
231              this.Close();              this.Close();
232          }          }
233    
234            private void Form1_Load(object sender, EventArgs e)
235            {
236                SettingsSubscriber.SaveSettings();
237            }
238      }      }
239  }  }

Legend:
Removed from v.713  
changed lines
  Added in v.722

  ViewVC Help
Powered by ViewVC 1.1.22