/// <summary> /// </summary> public void AddPosKeys(int subMenuID, string menuName) { this.txtBlockMenuName.Text = menuName; PosKey posKey = new PosKey(); posKey.Panel_id = subMenuID; posKey.Config_no = PosSettings.Default.Configuration; //PosContext.Instance.Config.ConfigNo; DataSet data = posKey.LoadBySubMenu(); DataTable dt = data.Tables[0]; int rowNum = 0; int colNum = 0; foreach (DataRow dr in dt.Rows) { ++rowNum; PosButton btn = new PosButton(); btn.Style = (Style)FindResource("GlassyButtonStyle"); // btn.Height = 60; // btn.Width = 100; btn.KeyValue = int.Parse(dr["key_val"].ToString()); btn.KeyCode = int.Parse(dr["key_code"].ToString()); btn.KeyClass = dr["key_class"].ToString(); btn.Content = dr["param"].ToString(); //dr["image"].ToString(); btn.AccessKeyValue = int.Parse(dr["attr"].ToString()); // btn.FontSize = 12; btn.Margin = new Thickness(5, 0, 5, 10); btn.Focusable = false; btn.KeyText = dr["param"].ToString(); btn.Tag = "..\\..\\Images\\" + dr["image"].ToString().Trim(); Grid.SetRow(btn, rowNum); Grid.SetColumn(btn, colNum); if (rowNum == 8) { ++colNum; rowNum = 0; } // Grid.SetColumn(btn, 3); // Grid.SetColumn(btn, 0); /* * if (dr["flags"].ToString().Trim().Length > 0) * { * try * { * Image img = new Image(); * BitmapImage src = new BitmapImage(); * src.BeginInit(); * src.UriSource = new Uri(Environment.CurrentDirectory +"\\Images\\"+dr["flags"].ToString().Trim(), UriKind.RelativeOrAbsolute); * src.EndInit(); * img.VerticalAlignment = VerticalAlignment.Center; * img.HorizontalAlignment = HorizontalAlignment.Center; * img.Source = src; * img.Width = 25; * img.Height = 25; * Grid.SetRow(img, rowNum); * Grid.SetColumn(img, 1); * this.MyGrid.Children.Add(img); * } * catch * { * } * } * */ TextBlock txtBlock = new TextBlock(); txtBlock.Text = dr["param"].ToString(); // txtBlock.FontSize = 16; txtBlock.Margin = new Thickness(5, 5, 0, 0); txtBlock.TextAlignment = TextAlignment.Justify; txtBlock.Foreground = Brushes.White; Grid.SetColumn(txtBlock, 0); Grid.SetRow(txtBlock, rowNum); this.MyGrid.Children.Add(btn); //this.MyGrid.Children.Add(txtBlock); btn.Click += new RoutedEventHandler(btn_Click); string eventClass = dr["key_class"].ToString(); try { Assembly assembly = Assembly.GetExecutingAssembly(); PosEvent posEvent = assembly.CreateInstance(eventClass) as PosEvent; posEvent.PromptText = txtBlock.Text; PosContext.Instance.KeysById.Add(dr["key_code"].ToString(), posEvent); // PosContext.Instance.KeysByControl.Add(btn, posEvent); } catch (System.NullReferenceException exNull) { Logger.Error(this.GetType().ToString(), "Invalid class name " + exNull.ToString() + exNull); } catch (Exception ex) { Logger.Error(this.GetType().ToString(), ex.ToString(), ex); } } this.KeyDisable(); }
/// <summary> /// </summary> public void AddPosKeys(int subMenuID, string menuName) { //this.txtBlockMenuName.Text = menuName; PosKey posKey = new PosKey(); posKey.Panel_id = subMenuID; posKey.Config_no = PosSettings.Default.Configuration; //PosContext.Instance.Config.ConfigNo; DataSet data = posKey.LoadBySubMenu(); DataTable dt = data.Tables[0]; int colNum = 0; int rowNum = 0; foreach (DataRow dr in dt.Rows) { PosButton btn = new PosButton(); btn.Style = (Style)FindResource("GlassyButtonStyle1"); btn.Height = 75; btn.KeyValue = int.Parse(dr["key_val"].ToString()); btn.KeyCode = int.Parse(dr["key_code"].ToString()); btn.AccessKeyValue = int.Parse(dr["attr"].ToString()); btn.Content = dr["key_text"].ToString(); btn.KeyClass = dr["key_class"].ToString(); btn.Tag = "..\\..\\Images\\" + dr["image"].ToString().Trim(); btn.Margin = new Thickness(2, 2, 2, 2); btn.Focusable = false; Grid.SetRow(btn, rowNum); Grid.SetColumn(btn, colNum++); this.MyGrid.Children.Add(btn); if (colNum > 5) { colNum = 0; ++rowNum; } btn.Click += new RoutedEventHandler(btn_Click); //Register key in PosContext; //Create events string eventClass = dr["key_class"].ToString(); try { Assembly assembly = Assembly.GetExecutingAssembly(); PosEvent posEvent = assembly.CreateInstance(eventClass) as PosEvent; if (!PosContext.Instance.KeysById.ContainsKey(dr["key_code"].ToString())) { PosContext.Instance.KeysById.Add(dr["key_code"].ToString(), posEvent); } } catch (System.NullReferenceException exNull) { Logger.Error(this.GetType().ToString(), "Invalid class name " + eventClass); } catch (Exception ex) { Logger.Error(this.GetType().ToString(), ex.ToString()); } } this.KeyDisable(); }