private void ModelessMenuKeypadHandler (DISPLAY_KEYPAD_CODES code) { switch (code) { case DISPLAY_KEYPAD_CODES.DOWN: if (curMenuItem + 1 < listMenuItems.Count) { curMenuItem++; Replace(1, listMenuItems[curMenuItem]); } break; case DISPLAY_KEYPAD_CODES.UP: if (curMenuItem > 0) { curMenuItem--; Replace(1, listMenuItems[curMenuItem]); } break; case DISPLAY_KEYPAD_CODES.ENTER: case DISPLAY_KEYPAD_CODES.F1: _modelessKeyCodeHandler (code); break; } }
public int GetMenuSelection (string caption, List<string> listOptions) { int selectedItem = -1; listMenuItems = new List<string> (listOptions); curMenuItem = 0; userMenuSelection = DISPLAY_KEYPAD_CODES.None; //Console.WriteLine("Display.GetMenuSelection: At start display comm handler = " + comm.GetReadHandler.ToString()); SerialPortLib.ReadHandler rh = comm.GetReadHandler; comm.GetReadHandler = KeypadHandler; _displayKeyCodeHandler += new DisplayKeyCodeHandler (MenuKeypadHandler); Clear (); Add (caption, false); Add (listOptions[0], false); bool bDone = false; while (userMenuSelection == DISPLAY_KEYPAD_CODES.None) { System.Threading.Thread.Sleep (50); } if (userMenuSelection == DISPLAY_KEYPAD_CODES.ENTER) { selectedItem = curMenuItem; } _displayKeyCodeHandler -= new DisplayKeyCodeHandler(MenuKeypadHandler); comm.GetReadHandler = rh; //Console.WriteLine("Display.GetMenuSelection: At start display comm handler = " + comm.GetReadHandler.ToString()); return selectedItem; }
private void MenuKeypadHandler (DISPLAY_KEYPAD_CODES code) { switch (code) { case DISPLAY_KEYPAD_CODES.DOWN: if (curMenuItem + 1 < listMenuItems.Count) { curMenuItem++; Replace(1, listMenuItems[curMenuItem]); } break; case DISPLAY_KEYPAD_CODES.UP: if (curMenuItem > 0) { curMenuItem--; Replace(1, listMenuItems[curMenuItem]); } break; case DISPLAY_KEYPAD_CODES.ENTER: userMenuSelection = code; break; } }
public static bool GetDisplayKeypadCode (byte b, out DISPLAY_KEYPAD_CODES code) { code = DISPLAY_KEYPAD_CODES.ENTER; foreach (DISPLAY_KEYPAD_CODES e in Enum.GetValues(typeof(DISPLAY_KEYPAD_CODES))) { if (e == (DISPLAY_KEYPAD_CODES)b) { code = (DISPLAY_KEYPAD_CODES)e; return true; } } return false; }
protected void InsertKeyCodeHandler (DISPLAY_KEYPAD_CODES kc) { if (kc == DISPLAY_KEYPAD_CODES.ENTER) { Gtk.Application.Invoke (delegate { MessageBox.Destroy(); } ); } }
protected void GetFuelTypeDisplayMenuResponseHandler (DISPLAY_KEYPAD_CODES code) { fuelTypeResponse = (code == DISPLAY_KEYPAD_CODES.ENTER); fuelTypeResponseIsFromDialog = false; gotFuelTypeResponse = true; }