/[RomCheater]/trunk/RomCheater/RomCheaterConfigDialog.cs
ViewVC logotype

Diff of /trunk/RomCheater/RomCheaterConfigDialog.cs

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

revision 63 by william, Wed May 9 16:14:39 2012 UTC revision 270 by william, Sun Jun 3 20:57:44 2012 UTC
# Line 1  Line 1 
1  ´╗┐using System;  ´╗┐#define DISABLE_VERBOSE_DEBUG_MESSAGES_FOR_SPEED_BOOST //when defined, will not log verbose debug messages (without changeing logging flags)
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 7  using System.Linq; Line 8  using System.Linq;
8  using System.Text;  using System.Text;
9  using System.Windows.Forms;  using System.Windows.Forms;
10  using RomCheater.Logging;  using RomCheater.Logging;
11    using RomCheater.PluginFramework.Core;
12    using RomCheater.PluginFramework.Interfaces;
13    
14  namespace RomCheater  namespace RomCheater
15  {  {
16      public partial class RomCheaterConfigDialog : Form      public partial class RomCheaterConfigDialog : Form
17      {      {
18    #if DISABLE_VERBOSE_DEBUG_MESSAGES_FOR_SPEED_BOOST
19            private loggerflags lFlags;
20    #endif
21    
22            private PluginLoader loader = null;
23          public RomCheaterConfigDialog()          public RomCheaterConfigDialog()
24          {          {
25              InitializeComponent();              InitializeComponent();
26                //lFlags = logger.GetLoggingFlags();
27                //ushort flags = lFlags.Value;
28                //if (lFlags.HasFlag(loggerflags.VERBOSE_DEBUG))
29                //{
30                //    flags = lFlags.Value;
31                //    flags = (ushort)(lFlags.Value & ~loggerflags.VERBOSE_DEBUG.Value);
32                //    logger.SetLoggingFlags(flags);                
33                //}
34            }
35            public RomCheaterConfigDialog(PluginLoader loader)
36                : this()
37            {
38                this.loader = loader;
39          }          }
   
40          private void RomCheaterConfigDialog_Load(object sender, EventArgs e)          private void RomCheaterConfigDialog_Load(object sender, EventArgs e)
41          {          {
42              foreach(loggerflags flags in Enum.GetValues(typeof(loggerflags)))              logger.Info.WriteLine("Loading user settings...");
43                load_loggerflags();
44                setup_plugin_entries();
45                logger.Info.WriteLine("Loaded user settings.");
46            }
47    
48            private void setup_plugin_entries()
49            {
50                foreach (IConfigPlugin c in loader.LoadedConfigPlugins) { comboConfigPlugins.Items.Add(string.Format("{0} [{1}]", c.Name, c.ID.ToString())); }
51                foreach (IInputPlugin c in loader.LoadedInputPlugins) { comboInputPlugins.Items.Add(string.Format("{0} [{1}]", c.Name, c.ID.ToString())); }
52                foreach (IWindowPlugin c in loader.LoadedWindowPlugins) { comboWindowPlugins.Items.Add(string.Format("{0} [{1}]", c.Name, c.ID.ToString())); }
53                if (loader.LoadedConfigPlugins.Count == 0) { comboConfigPlugins.Items.Add(string.Format("{0} [{1}]", "None", new Guid().ToString())); }
54                if (loader.LoadedInputPlugins.Count == 0) { comboInputPlugins.Items.Add(string.Format("{0} [{1}]", "None", new Guid().ToString())); }
55                if (loader.LoadedWindowPlugins.Count == 0) { comboWindowPlugins.Items.Add(string.Format("{0} [{1}]", "None", new Guid().ToString())); }
56    
57                comboConfigPlugins.SelectedIndex = 0;
58                comboInputPlugins.SelectedIndex = 0;
59                comboWindowPlugins.SelectedIndex = 0;
60    
61                // select each plugin base on the last plugin
62                foreach (string item in comboConfigPlugins.Items)
63                {
64                    if (item == RomCheater.Properties.Settings.Default.LastConfigPlugin)
65                    {
66                        logger.VerboseDebug.WriteLine("    loading LastConfigPlugin: {0}", RomCheater.Properties.Settings.Default.LastConfigPlugin);
67                        comboConfigPlugins.SelectedIndex = comboConfigPlugins.Items.IndexOf(item);
68                        break;
69                    }
70                }
71                foreach (string item in comboInputPlugins.Items)
72                {
73                    if (item == RomCheater.Properties.Settings.Default.LastInputPlugin)
74                    {
75                        logger.VerboseDebug.WriteLine("    loading LastInputPlugin: {0}", RomCheater.Properties.Settings.Default.LastInputPlugin);
76                        comboInputPlugins.SelectedIndex = comboInputPlugins.Items.IndexOf(item);
77                        break;
78                    }
79                }
80                foreach (string item in comboWindowPlugins.Items)
81                {
82                    if (item == RomCheater.Properties.Settings.Default.LastWindowPlugin)
83                    {
84                        logger.VerboseDebug.WriteLine("    loading LastWindowPlugin: {0}", RomCheater.Properties.Settings.Default.LastWindowPlugin);
85                        comboWindowPlugins.SelectedIndex = comboWindowPlugins.Items.IndexOf(item);
86                        break;
87                    }
88                }
89    
90            }
91    
92            private void load_loggerflags()
93            {
94                logger.Info.WriteLine("  Loading logger flags...");
95                loggerflags logflags = Logging.Properties.Settings.Default.LoggingFlags;
96    
97                if (logflags != logger.GetLoggingFlags())
98                {
99                    logflags = logger.GetLoggingFlags(); // we apparently have forced the logging flags (possible for testing)
100                }
101    #if DISABLE_VERBOSE_DEBUG_MESSAGES_FOR_SPEED_BOOST
102                lFlags = logflags;
103                ushort pflags = lFlags.Value;
104                if (lFlags.HasFlag(loggerflags.VERBOSE_DEBUG))
105                {
106                    pflags = lFlags.Value;
107                    pflags = (ushort)(lFlags.Value & ~loggerflags.VERBOSE_DEBUG.Value);
108                    logger.SetLoggingFlags(pflags);
109                }
110    #endif
111                foreach (loggerflags flags in loggerflags.GetValues())
112              {              {
113                  if (flags == loggerflags.ALL ||                  if (flags == loggerflags.ALL ||
114                      flags == loggerflags.NONE ||                      flags == loggerflags.NONE ||
# Line 27  namespace RomCheater Line 116  namespace RomCheater
116                      continue;                      continue;
117    
118                  string name = flags.ToString();                  string name = flags.ToString();
119                  int value = (int)flags;                  ushort value = (ushort)flags;
120    
121                  CheckBox chkloggerflags = new CheckBox();                  CheckBox chkloggerflags = new CheckBox();
122                    chkloggerflags.Font = this.Font;
123                  chkloggerflags.Name = name;                  chkloggerflags.Name = name;
124                  chkloggerflags.Text = name;                  chkloggerflags.Text = name;
125                  chkloggerflags.Tag = value;                  chkloggerflags.Tag = value;
126                  grpLoggingFlags_flow.Controls.Add(chkloggerflags);                  Graphics g = chkloggerflags.CreateGraphics();
127                  loggerflags logflags = (loggerflags)Logging.Properties.Settings.Default.LoggingFlags;  
128                    Size size = g.MeasureString(chkloggerflags.Text, chkloggerflags.Font).ToSize();
129                    chkloggerflags.Width = size.Width + 25;
130    
131                  if (logflags.HasFlag((loggerflags)value))                  grpLoggingFlags_flow.Controls.Add(chkloggerflags);
132                    logger.VerboseDebug.WriteLine("\tAdding logger flag: {0} value: 0x{1:x4}", name, value);
133                    if (logflags.HasFlag(value))
134                  {                  {
135                      chkloggerflags.Checked = true;                      chkloggerflags.Checked = true;
136                        logger.VerboseDebug.WriteLine("\tTurning on logger flag: {0} value: 0x{1:x4}", name, value);
137                  }                  }
138              }              }
139              grpLoggingFlags.AutoSize = true;              //grpLoggingFlags.AutoSize = true;
140              grpLoggingFlags.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;              //grpLoggingFlags.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
141                logger.Info.WriteLine("  Loaded logger flags.");
142          }          }
   
143          private void btnSave_Click(object sender, EventArgs e)          private void btnSave_Click(object sender, EventArgs e)
144          {          {
145                logger.Info.WriteLine("Saving user settings...");
146              SaveSettings();              SaveSettings();
147              this.Close();              this.Close();
148          }          }
# Line 54  namespace RomCheater Line 150  namespace RomCheater
150          {          {
151              this.Close();              this.Close();
152          }          }
   
153          private void SaveSettings()          private void SaveSettings()
154          {          {
155              SaveLoggingFlags();              SaveLoggingFlags();
156                SaveSelectedPlugins();
157              RomCheater.Properties.Settings.Default.Save();              RomCheater.Properties.Settings.Default.Save();
158              Logging.Properties.Settings.Default.Save();              Logging.Properties.Settings.Default.Save();
159                logger.Info.WriteLine("Saved user settings.");
160            }
161            private void SaveSelectedPlugins()
162            {
163                logger.VerboseDebug.WriteLine("    Setting LastConfigPlugin to {0}", comboConfigPlugins.Items[comboConfigPlugins.SelectedIndex].ToString());
164                RomCheater.Properties.Settings.Default.LastConfigPlugin = comboConfigPlugins.Items[comboConfigPlugins.SelectedIndex].ToString();
165                logger.VerboseDebug.WriteLine("    Setting LastInputPlugin to {0}", comboInputPlugins.Items[comboInputPlugins.SelectedIndex].ToString());
166                RomCheater.Properties.Settings.Default.LastInputPlugin = comboInputPlugins.Items[comboInputPlugins.SelectedIndex].ToString();
167                logger.VerboseDebug.WriteLine("    Setting LastWindowPlugin to {0}", comboWindowPlugins.Items[comboWindowPlugins.SelectedIndex].ToString());
168                RomCheater.Properties.Settings.Default.LastWindowPlugin = comboWindowPlugins.Items[comboWindowPlugins.SelectedIndex].ToString();
169          }          }
170          private void SaveLoggingFlags()          private void SaveLoggingFlags()
171          {          {
172              loggerflags logflags = loggerflags.NONE;              logger.Debug.WriteLine("Saving Logger flags...");
173                ushort logflags = loggerflags.NONE;
174              foreach (CheckBox cb in grpLoggingFlags_flow.Controls)              foreach (CheckBox cb in grpLoggingFlags_flow.Controls)
175              {              {
176                  if (!cb.Checked) continue;                  if (!cb.Checked) continue;
177                  int value = Convert.ToInt32(cb.Tag);                  ushort value = Convert.ToUInt16(cb.Tag);
178                  logflags = logflags | (loggerflags)value;                  logflags = (ushort)(logflags | value);
179                    logger.VerboseDebug.WriteLine("\tAdding flag: {0} value: 0x{1:x4} LoggingFlags=0x{2:x4}", cb.Text, value, (int)logflags);                
180              }              }
181              Logging.Properties.Settings.Default.LoggingFlags = (int)logflags;              Logging.Properties.Settings.Default.LoggingFlags = (ushort)logflags;
182                logger.Debug.WriteLine("Saved Logger flags.");
183            }
184    
185            private void RomCheaterConfigDialog_FormClosing(object sender, FormClosingEventArgs e)
186            {
187    
188            }
189    
190            private void RomCheaterConfigDialog_FormClosed(object sender, FormClosedEventArgs e)
191            {
192    #if DISABLE_VERBOSE_DEBUG_MESSAGES_FOR_SPEED_BOOST
193                logger.SetLoggingFlags(lFlags);
194    #endif
195          }          }
196      }      }
197  }  }

Legend:
Removed from v.63  
changed lines
  Added in v.270

  ViewVC Help
Powered by ViewVC 1.1.22