WIP: foldable side bar

This commit is contained in:
2025-06-03 22:20:47 +03:00
parent 780f92ccf5
commit fc3ef33f3e
3 changed files with 92 additions and 55 deletions

View File

@@ -88,6 +88,8 @@
CodeShiftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
testFontToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
previousSymbolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
nextSymbolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
canvasToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
ClearToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
FillToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -113,11 +115,15 @@
lblSelection = new System.Windows.Forms.Label();
lblModified = new System.Windows.Forms.Label();
dlgSavePNG = new System.Windows.Forms.SaveFileDialog();
pnlRightButtons = new System.Windows.Forms.Panel();
pnlInfo = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)nudX).BeginInit();
((System.ComponentModel.ISupportInitialize)nudY).BeginInit();
panel1.SuspendLayout();
cmMinilist.SuspendLayout();
menuStrip1.SuspendLayout();
pnlRightButtons.SuspendLayout();
pnlInfo.SuspendLayout();
SuspendLayout();
//
// dotPanel
@@ -137,8 +143,7 @@
//
// nudX
//
nudX.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
nudX.Location = new System.Drawing.Point(777, 31);
nudX.Location = new System.Drawing.Point(59, 8);
nudX.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
nudX.Maximum = new decimal(new int[] { 255, 0, 0, 0 });
nudX.Name = "nudX";
@@ -150,8 +155,7 @@
//
// nudY
//
nudY.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
nudY.Location = new System.Drawing.Point(777, 57);
nudY.Location = new System.Drawing.Point(59, 34);
nudY.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
nudY.Maximum = new decimal(new int[] { 255, 0, 0, 0 });
nudY.Minimum = new decimal(new int[] { 1, 0, 0, 0 });
@@ -164,9 +168,8 @@
//
// label1
//
label1.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
label1.AutoSize = true;
label1.Location = new System.Drawing.Point(726, 33);
label1.Location = new System.Drawing.Point(8, 10);
label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
label1.Name = "label1";
label1.Size = new System.Drawing.Size(42, 15);
@@ -175,9 +178,8 @@
//
// label2
//
label2.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
label2.AutoSize = true;
label2.Location = new System.Drawing.Point(722, 59);
label2.Location = new System.Drawing.Point(4, 36);
label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
label2.Name = "label2";
label2.Size = new System.Drawing.Size(46, 15);
@@ -186,8 +188,7 @@
//
// lblType
//
lblType.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
lblType.Location = new System.Drawing.Point(718, 159);
lblType.Location = new System.Drawing.Point(2, 136);
lblType.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
lblType.Name = "lblType";
lblType.Size = new System.Drawing.Size(181, 15);
@@ -201,7 +202,7 @@
cbZoom.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
cbZoom.FormattingEnabled = true;
cbZoom.Items.AddRange(new object[] { "2", "3", "5", "10", "15", "20", "25", "30", "35", "40", "45", "50" });
cbZoom.Location = new System.Drawing.Point(619, 52);
cbZoom.Location = new System.Drawing.Point(7, 28);
cbZoom.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
cbZoom.Name = "cbZoom";
cbZoom.Size = new System.Drawing.Size(75, 23);
@@ -213,7 +214,7 @@
//
label4.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
label4.AutoSize = true;
label4.Location = new System.Drawing.Point(618, 33);
label4.Location = new System.Drawing.Point(6, 9);
label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
label4.Name = "label4";
label4.Size = new System.Drawing.Size(69, 15);
@@ -358,9 +359,8 @@
//
// btnExport
//
btnExport.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
btnExport.Image = Properties.Resources.z_export;
btnExport.Location = new System.Drawing.Point(812, 126);
btnExport.Location = new System.Drawing.Point(96, 103);
btnExport.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
btnExport.Name = "btnExport";
btnExport.Size = new System.Drawing.Size(88, 27);
@@ -476,9 +476,8 @@
//
// btnApply
//
btnApply.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
btnApply.Image = Properties.Resources.z_tick;
btnApply.Location = new System.Drawing.Point(718, 126);
btnApply.Location = new System.Drawing.Point(2, 103);
btnApply.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
btnApply.Name = "btnApply";
btnApply.Size = new System.Drawing.Size(88, 27);
@@ -518,7 +517,7 @@
//
lblCoords.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
lblCoords.AutoSize = true;
lblCoords.Location = new System.Drawing.Point(616, 138);
lblCoords.Location = new System.Drawing.Point(4, 114);
lblCoords.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
lblCoords.Name = "lblCoords";
lblCoords.Size = new System.Drawing.Size(24, 15);
@@ -719,7 +718,7 @@
//
// fontToolStripMenuItem
//
fontToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { makeVarWidthToolStripMenuItem, prependSymbolToolStripMenuItem, appendSymbolToolStripMenuItem, removeSymbolToolStripMenuItem, removeBeforeToolStripMenuItem, removeAfterToolStripMenuItem, CodeShiftToolStripMenuItem, toolStripSeparator3, testFontToolStripMenuItem });
fontToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { makeVarWidthToolStripMenuItem, prependSymbolToolStripMenuItem, appendSymbolToolStripMenuItem, removeSymbolToolStripMenuItem, removeBeforeToolStripMenuItem, removeAfterToolStripMenuItem, CodeShiftToolStripMenuItem, toolStripSeparator3, testFontToolStripMenuItem, previousSymbolToolStripMenuItem, nextSymbolToolStripMenuItem });
fontToolStripMenuItem.Name = "fontToolStripMenuItem";
fontToolStripMenuItem.Size = new System.Drawing.Size(43, 20);
fontToolStripMenuItem.Text = "Font";
@@ -813,6 +812,20 @@
testFontToolStripMenuItem.ToolTipText = "Open dialog where you can test the font with any text you type";
testFontToolStripMenuItem.Click += TestFont_Click;
//
// previousSymbolToolStripMenuItem
//
previousSymbolToolStripMenuItem.Name = "previousSymbolToolStripMenuItem";
previousSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.Left;
previousSymbolToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
previousSymbolToolStripMenuItem.Text = "Previous Symbol";
//
// nextSymbolToolStripMenuItem
//
nextSymbolToolStripMenuItem.Name = "nextSymbolToolStripMenuItem";
nextSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.Right;
nextSymbolToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
nextSymbolToolStripMenuItem.Text = "Next symbol";
//
// canvasToolStripMenuItem
//
canvasToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { ClearToolStripMenuItem, FillToolStripMenuItem, shiftUpToolStripMenuItem, shiftDownToolStripMenuItem, shiftLeftToolStripMenuItem, shiftRightToolStripMenuItem, invertToolStripMenuItem, mirrorXToolStripMenuItem, mirrorYToolStripMenuItem, applyToolStripMenuItem });
@@ -946,10 +959,9 @@
//
// btnBaseline
//
btnBaseline.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
btnBaseline.Image = Properties.Resources.fam_base;
btnBaseline.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
btnBaseline.Location = new System.Drawing.Point(812, 93);
btnBaseline.Location = new System.Drawing.Point(96, 70);
btnBaseline.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
btnBaseline.Name = "btnBaseline";
btnBaseline.Size = new System.Drawing.Size(88, 27);
@@ -968,9 +980,8 @@
//
// chkLeftSide
//
chkLeftSide.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
chkLeftSide.AutoSize = true;
chkLeftSide.Location = new System.Drawing.Point(831, 33);
chkLeftSide.Location = new System.Drawing.Point(113, 10);
chkLeftSide.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
chkLeftSide.Name = "chkLeftSide";
chkLeftSide.Size = new System.Drawing.Size(70, 19);
@@ -981,9 +992,8 @@
//
// chkTopSide
//
chkTopSide.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
chkTopSide.AutoSize = true;
chkTopSide.Location = new System.Drawing.Point(831, 58);
chkTopSide.Location = new System.Drawing.Point(113, 35);
chkTopSide.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
chkTopSide.Name = "chkTopSide";
chkTopSide.Size = new System.Drawing.Size(70, 19);
@@ -996,7 +1006,7 @@
//
chkHexCodes.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
chkHexCodes.AutoSize = true;
chkHexCodes.Location = new System.Drawing.Point(618, 155);
chkHexCodes.Location = new System.Drawing.Point(6, 131);
chkHexCodes.Name = "chkHexCodes";
chkHexCodes.Size = new System.Drawing.Size(95, 19);
chkHexCodes.TabIndex = 22;
@@ -1007,11 +1017,10 @@
//
// chkRectSelect
//
chkRectSelect.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
chkRectSelect.Appearance = System.Windows.Forms.Appearance.Button;
chkRectSelect.Image = Properties.Resources.fam_rectt;
chkRectSelect.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
chkRectSelect.Location = new System.Drawing.Point(718, 93);
chkRectSelect.Location = new System.Drawing.Point(2, 70);
chkRectSelect.Name = "chkRectSelect";
chkRectSelect.Size = new System.Drawing.Size(87, 27);
chkRectSelect.TabIndex = 23;
@@ -1026,7 +1035,7 @@
//
label3.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
label3.AutoSize = true;
label3.Location = new System.Drawing.Point(615, 123);
label3.Location = new System.Drawing.Point(3, 99);
label3.Name = "label3";
label3.Size = new System.Drawing.Size(45, 15);
label3.TabIndex = 21;
@@ -1036,7 +1045,7 @@
//
lblSelectionLabel.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
lblSelectionLabel.AutoSize = true;
lblSelectionLabel.Location = new System.Drawing.Point(616, 93);
lblSelectionLabel.Location = new System.Drawing.Point(4, 69);
lblSelectionLabel.Name = "lblSelectionLabel";
lblSelectionLabel.Size = new System.Drawing.Size(58, 15);
lblSelectionLabel.TabIndex = 25;
@@ -1047,7 +1056,7 @@
//
lblSelection.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
lblSelection.AutoSize = true;
lblSelection.Location = new System.Drawing.Point(617, 108);
lblSelection.Location = new System.Drawing.Point(5, 84);
lblSelection.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
lblSelection.Name = "lblSelection";
lblSelection.Size = new System.Drawing.Size(30, 15);
@@ -1062,7 +1071,7 @@
lblModified.AutoSize = true;
lblModified.Font = new System.Drawing.Font("Segoe UI Semibold", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 204);
lblModified.ForeColor = System.Drawing.SystemColors.Highlight;
lblModified.Location = new System.Drawing.Point(616, 78);
lblModified.Location = new System.Drawing.Point(4, 54);
lblModified.Name = "lblModified";
lblModified.Size = new System.Drawing.Size(91, 15);
lblModified.TabIndex = 26;
@@ -1074,34 +1083,54 @@
dlgSavePNG.DefaultExt = "png";
dlgSavePNG.Filter = "PNG Image|*.png;*.PNG";
//
// pnlRightButtons
//
pnlRightButtons.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
pnlRightButtons.Controls.Add(chkLeftSide);
pnlRightButtons.Controls.Add(nudX);
pnlRightButtons.Controls.Add(nudY);
pnlRightButtons.Controls.Add(label1);
pnlRightButtons.Controls.Add(label2);
pnlRightButtons.Controls.Add(chkRectSelect);
pnlRightButtons.Controls.Add(lblType);
pnlRightButtons.Controls.Add(btnExport);
pnlRightButtons.Controls.Add(btnApply);
pnlRightButtons.Controls.Add(chkTopSide);
pnlRightButtons.Controls.Add(btnBaseline);
pnlRightButtons.Location = new System.Drawing.Point(715, 24);
pnlRightButtons.Margin = new System.Windows.Forms.Padding(0);
pnlRightButtons.Name = "pnlRightButtons";
pnlRightButtons.Size = new System.Drawing.Size(184, 154);
pnlRightButtons.TabIndex = 27;
//
// pnlInfo
//
pnlInfo.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
pnlInfo.Controls.Add(label4);
pnlInfo.Controls.Add(cbZoom);
pnlInfo.Controls.Add(lblCoords);
pnlInfo.Controls.Add(lblModified);
pnlInfo.Controls.Add(label3);
pnlInfo.Controls.Add(lblSelectionLabel);
pnlInfo.Controls.Add(chkHexCodes);
pnlInfo.Controls.Add(lblSelection);
pnlInfo.Location = new System.Drawing.Point(615, 24);
pnlInfo.Margin = new System.Windows.Forms.Padding(0);
pnlInfo.Name = "pnlInfo";
pnlInfo.Size = new System.Drawing.Size(103, 154);
pnlInfo.TabIndex = 28;
//
// MainForm
//
AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
ClientSize = new System.Drawing.Size(915, 647);
Controls.Add(lblModified);
Controls.Add(lblSelectionLabel);
Controls.Add(lblSelection);
Controls.Add(chkRectSelect);
Controls.Add(chkHexCodes);
Controls.Add(label3);
Controls.Add(chkTopSide);
Controls.Add(chkLeftSide);
Controls.Add(btnBaseline);
Controls.Add(btnApply);
Controls.Add(btnExport);
Controls.Add(lblCoords);
Controls.Add(pnlInfo);
Controls.Add(pnlRightButtons);
Controls.Add(vScroll);
Controls.Add(hScroll);
Controls.Add(miniList);
Controls.Add(panel1);
Controls.Add(label4);
Controls.Add(cbZoom);
Controls.Add(lblType);
Controls.Add(label2);
Controls.Add(label1);
Controls.Add(nudY);
Controls.Add(nudX);
Controls.Add(dotPanel);
Controls.Add(menuStrip1);
Icon = (System.Drawing.Icon)resources.GetObject("$this.Icon");
@@ -1119,6 +1148,10 @@
cmMinilist.ResumeLayout(false);
menuStrip1.ResumeLayout(false);
menuStrip1.PerformLayout();
pnlRightButtons.ResumeLayout(false);
pnlRightButtons.PerformLayout();
pnlInfo.ResumeLayout(false);
pnlInfo.PerformLayout();
ResumeLayout(false);
PerformLayout();
@@ -1214,6 +1247,10 @@
public System.Windows.Forms.ImageList ilMiniatures;
public System.Windows.Forms.NumericUpDown nudX;
public System.Windows.Forms.NumericUpDown nudY;
private System.Windows.Forms.ToolStripMenuItem previousSymbolToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem nextSymbolToolStripMenuItem;
private System.Windows.Forms.Panel pnlRightButtons;
private System.Windows.Forms.Panel pnlInfo;
}
}

View File

@@ -1,11 +1,8 @@
Application:
- Consider migrating to WPF in order to make DPI aware UI
- Option to hide symbols list to narrow the side bar
- Buttons to select previous/next symbol with shortcuts
Functionality:
V Middle mouse - drag the canvas
V Straight line painting (hold Shift / Ctrl)
V A button to Copy from Test font dialog to then paste into another frame
Bugs:
V Nothing selected after removing a symbol. Potential error throw on "Apply"

3
temp.txt Normal file
View File

@@ -0,0 +1,3 @@
MainForm.Size: 931; 686
panel1: 472; 31
pnlRightButtons: