示例#1
0
 public override void KeyDown(KeyEvent ev)
 {
     //Rotate through each clock hand
     if (ev.Key == Gdk.Key.Right) {
         switch (_selected) {
             case AnalogClockHandSelected.Hour:
                 _selected = AnalogClockHandSelected.Minute;
                 break;
             case AnalogClockHandSelected.Minute:
                 _selected = AnalogClockHandSelected.Second;
                 break;
             case AnalogClockHandSelected.Second:
                 _selected = AnalogClockHandSelected.Hour;
                 break;
         }
     //Update clock value
     } else if (ev.Key == Gdk.Key.Up) {
         switch (_selected) {
             case AnalogClockHandSelected.Hour:
                 if (_figure.Hour == 23)
                     _figure.Hour = 0;
                 else
                     _figure.Hour = _figure.Hour + 1;
                 break;
             case AnalogClockHandSelected.Minute:
                 if (_figure.Minute == 59)
                     _figure.Minute = 0;
                 else
                     _figure.Minute = _figure.Minute + 1;
                 break;
             case AnalogClockHandSelected.Second:
                 if (_figure.Second == 59)
                     _figure.Second = 0;
                 else
                     _figure.Second = _figure.Second + 1;
                 break;
         }
     } else if (ev.Key == Gdk.Key.Down) {
         switch (_selected) {
             case AnalogClockHandSelected.Hour:
                 if (_figure.Hour == 0)
                     _figure.Hour = 24;
                 else
                     _figure.Hour = _figure.Hour - 1;
                 break;
             case AnalogClockHandSelected.Minute:
                 if (_figure.Minute == 0)
                     _figure.Minute = 59;
                 else
                     _figure.Minute = _figure.Minute - 1;
                 break;
             case AnalogClockHandSelected.Second:
                 if (_figure.Second == 0)
                     _figure.Second = 59;
                 else
                     _figure.Second = _figure.Second - 1;
                 break;
         }
     }
     DefaultTool.KeyUp (ev);
 }
示例#2
0
 public AnalogClockTool(IDrawingEditor editor, AnalogClockFigure fig, ITool dt)
     : base(editor, fig, dt)
 {
     _figure   = fig;
     _selected = AnalogClockHandSelected.Hour;
 }