示例#1
0
        public UCLayer(List <ClButton> buttons, int sliceIndex, int index, ClLayoutContainer layout)
        {
            InitializeComponent();
            this.layout           = layout;
            this.buttons          = new List <Button>();
            this.index            = index;
            this.sliceIndex       = sliceIndex;
            this.lLayerCount.Text = "Layer " + index;
            int maxx = 0, maxy = 0;

            foreach (ClButton input in buttons)
            {
                if (input.gw + input.gx > maxx)
                {
                    maxx = input.gw + input.gx + 5;
                }
                if (input.gh + input.gy > maxy)
                {
                    maxy = input.gh + input.gy + 5;
                }
                var btn = new Button();
                btn.Name = "bt_" + sliceIndex + "_" + input.x + "_" + input.y + "_" + index;
                layout.keys.Add(new ClKeyData(sliceIndex, input.x, input.y, index));
                btn.Text     = "Null";
                btn.Size     = new Size(input.gw, input.gh);
                btn.Location = new Point(input.gx, input.gy);
                btn.Parent   = this;
                btn.Click   += new EventHandler(this.KeyBtnClicked);
                //btn.KeyDown += new KeyEventHandler(this.KeyBtnKeyDown);
                //btn.KeyUp += new KeyEventHandler(this.KeyBtnKeyUp);
                btn.KeyPress += new KeyPressEventHandler(this.KeyBtnKeyPressed);
                this.buttons.Add(btn);
            }
            this.Size = new Size(maxx, maxy);
        }
示例#2
0
 public void LoadLayout(ClLayoutContainer input)
 {
     this.layout = input;
     foreach (UCSlice slice in slices)
     {
         slice.LoadLayout(input);
     }
 }
示例#3
0
        public List <string> GenerateSerialCommands(ClLayoutContainer input)
        {
            List <string> output = new List <string>();

            output.Add(MdGlobals.SERIAL_SET_LAYER_COMMAND + "(" + layers + " ");
            foreach (ClBoardSlice slice in slices)
            {
                output.AddRange(slice.GenerateSerialCommands(input));
            }
            return(output);
        }
示例#4
0
        public List <string> GenerateSerialCommands(ClLayoutContainer input)
        {
            List <string> output = new List <string>();

            foreach (ClKeyData ckd in input.keys)
            {
                if (ckd.slice == sliceIndex)
                {
                    output.Add(command + "(" + ckd.x + "(" + ckd.y + "(" + ckd.z + "(" + ckd.key.val + "(" + ckd.key.ktype + " ");
                }
            }
            return(output);
        }
示例#5
0
 public void LoadLayout(ClLayoutContainer input)
 {
     this.layout = input;
     foreach (Button btn in buttons)
     {
         foreach (ClKeyData kd in input.keys)
         {
             if (btn.Name == "bt_" + kd.slice + "_" + kd.x + "_" + kd.y + "_" + kd.z)
             {
                 btn.Text = kd.key.display;
             }
         }
     }
 }
示例#6
0
        public UCSlice(ClBoardSlice input, ClLayoutContainer layout)
        {
            InitializeComponent();
            this.layout     = layout;
            layers          = new List <UCLayer>();
            lName.Text      = input.sliceName;
            this.sliceInfo  = input;
            this.sliceIndex = input.sliceIndex;

            for (int i = 0; i < input.layers; i++)
            {
                AddLayer();
            }
        }
示例#7
0
 public UCBoard(ClKeyboard keyboard)
 {
     InitializeComponent();
     slices              = new List <UCSlice>();
     layout              = new ClLayoutContainer();
     layout.layers       = keyboard.layers;
     layout.keyboardType = keyboard.keyboardType;
     saveExtension       = keyboard.fileFormat;
     foreach (ClBoardSlice slice in keyboard.slices)
     {
         var ns = new UCSlice(slice, this.layout);
         this.slices.Add(ns);
         ns.Parent = this.flpMain;
     }
     lKeyboardName.Text = keyboard.keyboardName;
 }
示例#8
0
 public void LoadLayout(ClLayoutContainer input)
 {
     this.layout = input;
     while (layout.layers < layers.Count)
     {
         this.flpMain.Controls.Remove(layers[layers.Count - 1]);
         layers.RemoveAt(layers.Count - 1);
     }
     while (layout.layers > layers.Count)
     {
         AddLayer();
     }
     foreach (UCLayer layer in layers)
     {
         layer.LoadLayout(input);
     }
 }
示例#9
0
 public UCBoard()
 {
     InitializeComponent();
     slices = new List <UCSlice>();
     layout = new ClLayoutContainer();
 }