/[EmuXPortal]/branches/uienhancements/EmuXPortal/Form1.cs
ViewVC logotype

Diff of /branches/uienhancements/EmuXPortal/Form1.cs

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

revision 56 by william, Sun Apr 8 13:45:24 2012 UTC revision 57 by william, Sun Apr 8 14:28:53 2012 UTC
# Line 32  namespace EmuXPortal Line 32  namespace EmuXPortal
32              Config.LoadConfig();              Config.LoadConfig();
33              Config.InitializePresentationForm(this);                        Config.InitializePresentationForm(this);          
34          }          }
35          private void Form1_Shown(object sender, EventArgs e) { platform_flow.Visible = true; }          private void Form1_Shown(object sender, EventArgs e) { platform_flow.Visible = true; Cursor.Hide(); }
36          void platform_ctrl_LostFocus(object sender, EventArgs e)          void platform_ctrl_LostFocus(object sender, EventArgs e)
37          {          {
38              PlatformControl c = sender as PlatformControl;              PlatformControl c = sender as PlatformControl;
# Line 49  namespace EmuXPortal Line 49  namespace EmuXPortal
49          void platform_ctrl_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)          void platform_ctrl_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
50          {          {
51              PlatformControl c = sender as PlatformControl;              PlatformControl c = sender as PlatformControl;
52                int changeAmount = 0;
53                int currentPosition = 0;
54                if (e.KeyCode == Keys.Home)
55                {
56                    platform_flow.Controls[0].Select();
57                    platform_flow.ScrollControlIntoView(platform_flow.Controls[0]);
58                }
59                if (e.KeyCode == Keys.End)
60                {
61                    platform_flow.Controls[platform_flow.Controls.Count -1].Select();
62                    platform_flow.ScrollControlIntoView(platform_flow.Controls[platform_flow.Controls.Count - 1]);
63                }
64                if (e.KeyCode == Keys.PageUp)
65                {
66    
67    
68                    changeAmount = platform_flow.VerticalScroll.LargeChange;
69                    currentPosition = platform_flow.VerticalScroll.Value;
70                    if ((currentPosition - changeAmount) > platform_flow.VerticalScroll.Minimum)
71                    {
72                        platform_flow.VerticalScroll.Value -= changeAmount;
73                    }
74                    else
75                    {
76                        platform_flow.VerticalScroll.Value = platform_flow.VerticalScroll.Minimum;
77                    }
78                    PlatformControl s = platform_ctrl_get_last_visible();
79                    s.Select();
80                    platform_flow.ScrollControlIntoView(s);
81                    platform_flow.PerformLayout();
82                }
83                if (e.KeyCode == Keys.PageDown)
84                {
85                    changeAmount = platform_flow.VerticalScroll.LargeChange;
86                    currentPosition = platform_flow.VerticalScroll.Value;
87                    if ((currentPosition - changeAmount) < platform_flow.VerticalScroll.Maximum)
88                    {
89                        try
90                        {
91                            platform_flow.VerticalScroll.Value += changeAmount;
92                        }
93                        catch
94                        {
95                            platform_flow.Controls[0].Select();
96                            platform_flow.ScrollControlIntoView(platform_flow.Controls[0]);
97                            rom_flow.PerformLayout();
98                            return;
99                        }
100                    }
101                    else
102                    {
103                        platform_flow.Controls[0].Select();
104                        platform_flow.ScrollControlIntoView(platform_flow.Controls[0]);
105                    }
106                    PlatformControl s = platform_ctrl_get_last_visible();
107                    s.Select();
108                    platform_flow.ScrollControlIntoView(s);
109                    platform_flow.PerformLayout();
110                }
111              if (e.KeyCode == Keys.Enter)              if (e.KeyCode == Keys.Enter)
112              {              {
113                  // load this platform                  // load this platform
# Line 131  namespace EmuXPortal Line 190  namespace EmuXPortal
190              CurrentGameControl = c;              CurrentGameControl = c;
191          }          }
192    
193            private GameControl game_ctrl_get_last_visible()
194            {
195                GameControl s = new GameControl();
196                foreach (GameControl c in rom_flow.Controls)
197                {
198                    if (c.Bounds.IntersectsWith(rom_flow.Bounds))
199                        s = c;
200                }
201                return s;
202            }
203            private PlatformControl platform_ctrl_get_last_visible()
204            {
205                PlatformControl s = new PlatformControl();
206                foreach (PlatformControl c in platform_flow.Controls)
207                {
208                    if (c.Bounds.IntersectsWith(platform_flow.Bounds))
209                        s = c;
210                }
211                return s;
212            }
213          void game_ctrl_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)          void game_ctrl_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
214          {          {
215              GameControl c = sender as GameControl;              GameControl c = sender as GameControl;
216    
217                int changeAmount = 0;
218                int currentPosition = 0;
219                if (e.KeyCode == Keys.Home)
220                {
221                    rom_flow.Controls[0].Select();
222                    rom_flow.ScrollControlIntoView(rom_flow.Controls[0]);
223                }
224                if (e.KeyCode == Keys.End)
225                {
226                    rom_flow.Controls[rom_flow.Controls.Count - 1].Select();
227                    rom_flow.ScrollControlIntoView(rom_flow.Controls[rom_flow.Controls.Count - 1]);
228                }
229                if (e.KeyCode == Keys.PageUp)
230                {
231                    changeAmount = rom_flow.VerticalScroll.LargeChange;
232                    currentPosition = rom_flow.VerticalScroll.Value;
233                    if ((currentPosition - changeAmount) > rom_flow.VerticalScroll.Minimum)
234                    {
235                        try
236                        {
237                            rom_flow.VerticalScroll.Value += changeAmount;
238                        }
239                        catch
240                        {
241                            rom_flow.Controls[0].Select();
242                            rom_flow.ScrollControlIntoView(platform_flow.Controls[0]);
243                            rom_flow.PerformLayout();
244                            return;
245                        }
246                    }
247                    else
248                    {
249                        rom_flow.Controls[0].Select();
250                        rom_flow.ScrollControlIntoView(platform_flow.Controls[0]);
251                    }
252                    GameControl s = game_ctrl_get_last_visible();
253                    s.Select();
254                    rom_flow.ScrollControlIntoView(s);
255                    rom_flow.PerformLayout();
256                }
257                if (e.KeyCode == Keys.PageDown)
258                {
259                    changeAmount = rom_flow.VerticalScroll.LargeChange;
260                    currentPosition = rom_flow.VerticalScroll.Value;
261                    if ((currentPosition - changeAmount) < rom_flow.VerticalScroll.Maximum)
262                    {
263                        rom_flow.VerticalScroll.Value += changeAmount;
264                    }
265                    else
266                    {
267                        rom_flow.VerticalScroll.Value = rom_flow.VerticalScroll.Maximum;
268                    }
269                    GameControl s = game_ctrl_get_last_visible();
270                    s.Select();
271                    rom_flow.ScrollControlIntoView(s);
272                    rom_flow.PerformLayout();
273                }
274    
275              if (e.KeyCode == Keys.Enter)              if (e.KeyCode == Keys.Enter)
276              {              {
277                  IRomConfig config = c.Tag as IRomConfig;                  IRomConfig config = c.Tag as IRomConfig;
# Line 331  namespace EmuXPortal Line 469  namespace EmuXPortal
469              logger.WriteLine("PlatformParser took: {0}s to parse platforms", (int)t.Elapsed.TotalSeconds);              logger.WriteLine("PlatformParser took: {0}s to parse platforms", (int)t.Elapsed.TotalSeconds);
470          }          }
471          #endregion          #endregion
472    
473            private void Form1_FormClosed(object sender, FormClosedEventArgs e)
474            {
475                Cursor.Show();
476            }
477          #endregion          #endregion
478      }      }
479  }  }

Legend:
Removed from v.56  
changed lines
  Added in v.57

  ViewVC Help
Powered by ViewVC 1.1.22