Example #1
0
        private void Down_Click(object sender, EventArgs e)
        {
            Button                       btn  = (Button)sender;
            TableLayoutPanel             pani = (TableLayoutPanel)btn.Parent.Parent;
            TableLayoutPanelCellPosition a    = STB4.GetCellPosition(pani);

            if (a.Row + 1 >= STB4.RowCount)
            {
                return;
            }
            TableLayoutPanel pani2 = (TableLayoutPanel)STB4.GetControlFromPosition(a.Column, a.Row + 1);

            STB4.SetCellPosition(pani, new TableLayoutPanelCellPosition(a.Column, a.Row + 1));
            STB4.SetCellPosition(pani2, a);
            UpdateActionsListByTabCells();
        }
Example #2
0
        private void UpdateActionsListByTabCells()
        {
            JArray ar = null;

            try { ar = (JArray)Data["actions"]; } catch (Exception error) { ar = new JArray(); }
            ar.Clear();
            foreach (Control line in STB4.Controls)
            {
                TableLayoutPanelCellPosition pos = STB4.GetCellPosition(line);
                while (pos.Row >= ar.Count)
                {
                    ar.Add(null);
                }
                ar[pos.Row] = (JToken)line.Tag;
            }
            Data["actions"] = ar;
            //Debug.WriteLine(JsonConvert.SerializeObject(Data));
        }
Example #3
0
        private void Btn2_Click(object sender, EventArgs e)
        {
            Button           btn  = (Button)sender;
            TableLayoutPanel pani = (TableLayoutPanel)btn.Parent;
            int max = STB4.Controls.Count;
            TableLayoutPanelCellPosition pos = STB4.GetCellPosition(pani);
            TableLayoutPanelCellPosition pos2;

            TableLayoutPanel[] poss = new TableLayoutPanel[STB4.Controls.Count];
            foreach (Control line in STB4.Controls)
            {
                pos2           = STB4.GetCellPosition(line);
                poss[pos2.Row] = (TableLayoutPanel)line;
            }
            STB4.Controls.Remove(pani);
            for (int i = pos.Row; i < STB4.Controls.Count; i++)
            {
                STB4.SetCellPosition(poss[i + 1], new TableLayoutPanelCellPosition(0, i));
            }
            UpdateActionsListByTabCells();
            Debug.WriteLine(JsonConvert.SerializeObject(Data["actions"]));
        }
Example #4
0
        private void AddUiActionLine(JToken action, int noline)
        {
            Padding p = new Padding();

            p.All = 0;
            Padding p2 = new Padding();

            p2.All = 4;

            //Debug.WriteLine(JsonConvert.SerializeObject(action));
            string strAction = MacroEditor.StringifyAction(action);

            TableLayoutPanel tab1 = new TableLayoutPanel();

            tab1.SuspendLayout();
            tab1.Name            = "LINE";
            tab1.Tag             = action;
            tab1.BackColor       = Color.White;
            tab1.ForeColor       = Color.Black;
            tab1.Size            = new Size(STB4.Size.Width - 18, 30);
            tab1.ColumnCount     = 4;
            tab1.RowCount        = 1;
            tab1.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single;
            tab1.ForeColor       = Color.Black;
            tab1.Padding         = p;
            tab1.Margin          = p;
            tab1.Dock            = DockStyle.Top;
            tab1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
            tab1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 30F));
            tab1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 50F));
            tab1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 50F));

            Label lab = new Label();

            lab.Text      = strAction;
            lab.Dock      = DockStyle.Fill;
            lab.Margin    = p;
            lab.Padding   = p;
            lab.TextAlign = ContentAlignment.MiddleCenter;
            tab1.Controls.Add(lab, 0, 0);

            TableLayoutPanel tab2 = new TableLayoutPanel();

            tab2.SuspendLayout();
            tab2.BackColor       = Color.White;
            tab2.ForeColor       = Color.Black;
            tab2.Size            = new Size(30, 30);
            tab2.ColumnCount     = 1;
            tab2.RowCount        = 2;
            tab2.CellBorderStyle = TableLayoutPanelCellBorderStyle.None;
            tab2.ForeColor       = Color.Black;
            tab2.Padding         = p;
            tab2.Margin          = p;
            tab2.Dock            = DockStyle.Fill;
            tab2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 15F));
            tab2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 15F));

            Button up = new Button();

            up.Text      = "";
            up.Font      = new Font("Segoe MDL2 Assets", 6f);
            up.Margin    = p;
            up.Padding   = p;
            up.Size      = new Size(30, 15);
            up.BackColor = Color.Silver;
            up.Dock      = DockStyle.Fill;
            up.Click    += Up_Click;
            tab2.Controls.Add(up, 0, 0);

            Button down = new Button();

            down.Text      = "";
            down.Font      = new Font("Segoe MDL2 Assets", 6f);
            down.Margin    = p;
            down.Padding   = p;
            down.Size      = new Size(30, 15);
            down.BackColor = Color.Silver;
            down.Dock      = DockStyle.Fill;
            down.Click    += Down_Click;
            tab2.Controls.Add(down, 0, 1);

            tab2.CausesValidation = true;
            tab2.ResumeLayout(true);
            tab1.Controls.Add(tab2, 1, 0);

            Button btn = new Button();

            btn.Text      = "";
            btn.Font      = new Font("Segoe MDL2 Assets", 9f);
            btn.Margin    = p;
            btn.Padding   = p;
            btn.Size      = new Size(50, 30);
            btn.BackColor = Color.Silver;
            btn.Dock      = DockStyle.Fill;
            btn.Click    += Btn_Click;
            tab1.Controls.Add(btn, 2, 0);

            Button btn2 = new Button();

            btn2.Text      = "X";
            btn2.Margin    = p;
            btn2.Padding   = p;
            btn2.Size      = new Size(50, 30);
            btn2.BackColor = Color.Silver;
            btn2.Dock      = DockStyle.Fill;
            btn2.Click    += Btn2_Click;
            tab1.Controls.Add(btn2, 3, 0);

            tab1.CausesValidation = true;
            tab1.ResumeLayout(true);

            STB4.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
            STB4.Controls.Add(tab1, 0, noline);
            STB4.ResumeLayout(true);
        }