Exemple #1
0
		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;
			}
		}
Exemple #2
0
		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;
		}
Exemple #3
0
		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;
			}
		}
Exemple #4
0
		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;
		}
Exemple #5
0
	protected void InsertKeyCodeHandler (DISPLAY_KEYPAD_CODES kc)
	{
		if (kc == DISPLAY_KEYPAD_CODES.ENTER)
		{
			Gtk.Application.Invoke (delegate {
				MessageBox.Destroy();
			}
			);
		}
	}
Exemple #6
0
	protected void GetFuelTypeDisplayMenuResponseHandler (DISPLAY_KEYPAD_CODES code)
	{
		fuelTypeResponse = (code == DISPLAY_KEYPAD_CODES.ENTER);
		fuelTypeResponseIsFromDialog = false;
		gotFuelTypeResponse = true;
	}