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(); }
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)); }
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"])); }
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); }