/[RomCheater]/trunk/RomCheater.PluginFramework/Core/ScratchPad.cs
ViewVC logotype

Diff of /trunk/RomCheater.PluginFramework/Core/ScratchPad.cs

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

revision 677 by william, Mon Jun 17 06:03:28 2013 UTC revision 678 by william, Mon Jun 17 07:01:41 2013 UTC
# Line 16  namespace RomCheater.PluginFramework.Cor Line 16  namespace RomCheater.PluginFramework.Cor
16          public ScratchPad()          public ScratchPad()
17          {          {
18              InitializeComponent();              InitializeComponent();
19              InitScratchPadText();              PerformPreInit();
20          }          }
21    
22    
23          private void InitScratchPadText()          private void PerformPreInit()
24          {          {
25              txtScratchPad.Font = new System.Drawing.Font(txtScratchPad.Font, FontStyle.Italic);              txtScratchPad.Font = new System.Drawing.Font(txtScratchPad.Font, FontStyle.Italic);
26              txtScratchPad.ForeColor = SystemColors.GrayText;              txtScratchPad.ForeColor = SystemColors.GrayText;
27              StringBuilder builder = new StringBuilder();              StringBuilder builder = new StringBuilder();
28              txtScratchPad.Clear();              txtScratchPad.Clear();
29    
30              builder.AppendLine();              builder.AppendFormat(System.Environment.NewLine);
31              builder.AppendFormat("\tThis is a scratchpad");              builder.AppendFormat("\tThis is a scratchpad");
32              builder.AppendLine();              builder.AppendFormat(System.Environment.NewLine);
33              builder.AppendFormat("\tYou can type anything in here, and save it for later or load an existing file.");              builder.AppendFormat("\tYou can type anything in here, and save it for later or load an existing file.");
34    
35              txtScratchPad.AppendText(builder.ToString());              txtScratchPad.AppendText(builder.ToString());
36          }          }
37    
38    
39            private void PerformSaveOperation()
40            {
41            }
42    
43          private void mnuItemSave_Click(object sender, EventArgs e)          private void mnuItemSave_Click(object sender, EventArgs e)
44          {          {
45                PerformPostInit();
46              DialogResult result = ScracthPadSaver.ShowDialog();              DialogResult result = ScracthPadSaver.ShowDialog();
47              if (result != DialogResult.OK) { return; }              if (result != DialogResult.OK) { return; }
48              using (FileStream fs = new FileStream(ScracthPadLoader.FileName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read))              using (FileStream fs = new FileStream(ScracthPadSaver.FileName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read))
49              {              {
50                  using (StreamWriter sw = new StreamWriter(fs))                  using (StreamWriter sw = new StreamWriter(fs))
51                  {                  {
# Line 52  namespace RomCheater.PluginFramework.Cor Line 58  namespace RomCheater.PluginFramework.Cor
58    
59          private void mnuItemOpen_Click(object sender, EventArgs e)          private void mnuItemOpen_Click(object sender, EventArgs e)
60          {          {
61                PerformPostInit();
62              DialogResult result = ScracthPadLoader.ShowDialog();              DialogResult result = ScracthPadLoader.ShowDialog();
63              if (result != DialogResult.OK) { return; }              if (result != DialogResult.OK) { return; }
64              txtScratchPad.Clear();              txtScratchPad.Clear();
# Line 68  namespace RomCheater.PluginFramework.Cor Line 75  namespace RomCheater.PluginFramework.Cor
75    
76    
77          private bool InitDone = false;          private bool InitDone = false;
78            
79          private void txtScratchPad_MouseDown(object sender, MouseEventArgs e)          private void PerformPostInit()
80          {          {
81              if (!InitDone)              if (!InitDone)
82              {              {
# Line 77  namespace RomCheater.PluginFramework.Cor Line 84  namespace RomCheater.PluginFramework.Cor
84                  txtScratchPad.Font = new System.Drawing.Font(txtScratchPad.Font, FontStyle.Regular);                  txtScratchPad.Font = new System.Drawing.Font(txtScratchPad.Font, FontStyle.Regular);
85                  txtScratchPad.ForeColor = Color.Black;                  txtScratchPad.ForeColor = Color.Black;
86                  InitDone = true;                  InitDone = true;
87              }                }  
88            }
89            private void txtScratchPad_MouseDown(object sender, MouseEventArgs e)
90            {
91                PerformPostInit();
92          }          }
93    
94          private void txtScratchPad_KeyDown(object sender, KeyEventArgs e)          private void txtScratchPad_KeyDown(object sender, KeyEventArgs e)
95          {          {
96              if (!InitDone)              PerformPostInit();
97            }
98    
99            private void mnuItemUndo_Click(object sender, EventArgs e)
100            {
101                PerformPostInit();
102                txtScratchPad.Focus();
103                SendKeys.Send("^Z");
104            }
105    
106            private void mnuItemRedo_Click(object sender, EventArgs e)
107            {
108                PerformPostInit();
109                txtScratchPad.Focus();
110                SendKeys.Send("^Y");
111            }
112    
113            private void mnuItemClear_Click(object sender, EventArgs e)
114            {
115                txtScratchPad.Clear();
116            }
117    
118            private void mnuItemCopy_Click(object sender, EventArgs e)
119            {
120                PerformPostInit();
121                string text = txtScratchPad.Text;
122                text = text.Replace("\n", System.Environment.NewLine);
123                Clipboard.SetText(text);
124            }
125    
126            private void mnuItemPaste_Click(object sender, EventArgs e)
127            {
128                PerformPostInit();
129                string text = Clipboard.GetText();
130                txtScratchPad.Text = text;
131            }
132    
133            private void ScratchPad_FormClosing(object sender, FormClosingEventArgs e)
134            {
135                if (txtScratchPad.Text != string.Empty)
136              {              {
137                  txtScratchPad.Clear();                  DialogResult result = MessageBox.Show("Would you like to save the ScratchPad data before Closing?", "", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
138                  txtScratchPad.Font = new System.Drawing.Font(txtScratchPad.Font, FontStyle.Regular);                  if (result == DialogResult.Cancel)
139                  txtScratchPad.ForeColor = Color.Black;                  {
140                  InitDone = true;                      e.Cancel = true;
141              }                        return;
142                    }
143                    if (result == DialogResult.Yes)
144                    {
145                        mnuItemSave.PerformClick();
146                    }
147                }
148            }
149    
150            private void ScratchPad_Deactivate<T>(object sender, T e) where T: EventArgs
151            {
152                try
153                {
154                    FormClosingEventArgs args = (e as FormClosingEventArgs);
155                    ScratchPad_FormClosing(sender, args);
156                }
157                catch { }
158          }          }
159      }      }
160  }  }

Legend:
Removed from v.677  
changed lines
  Added in v.678

  ViewVC Help
Powered by ViewVC 1.1.22