예제 #1
0
        /// <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();
        }
예제 #2
0
        /// <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();
        }