Skip to content

Commit ee2f899

Browse files
committed
Version V2.1.5
1/ Corrected access to files. 2/ Repaired saving images from Testbench Viewer. 3/ Added storing used images filenames into ini file settings.
1 parent 2ae8775 commit ee2f899

File tree

77 files changed

+10525
-958
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+10525
-958
lines changed

VisualStudioProject/BMForm.Designer.cs

Lines changed: 129 additions & 79 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

VisualStudioProject/BMForm.cs

Lines changed: 76 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
using System.Globalization;
77
using System.IO;
88
using System.Text;
9+
using System.Windows.Forms;
910
using System.Xml.Linq;
1011

11-
namespace LSPtools
12+
namespace FpgaLcdUtils
1213
{
1314
public partial class BMForm : Form
1415
{
@@ -42,6 +43,11 @@ private void BMForm_Shown(object sender, EventArgs e)
4243
{
4344
if (!isFormShown) { panelExtendColor.BackColor = Color.Black; timerUpdate.Enabled = true; }
4445
isFormShown = true;
46+
Font f = messagesErrorRichTextBox.Font;
47+
int pxFont = (int)Math.Ceiling(f.GetHeight(messagesErrorRichTextBox.CreateGraphics()));
48+
if (pxFont < 10) pxFont = 10;
49+
splitContainer2.Panel1MinSize = pxFont;
50+
splitContainer2.SplitterDistance = 2 * pxFont;
4551
IniSettings.GeometryBMP.ApplyGeometryToForm(this);
4652
if (firstMRUFileOnStart != null)
4753
{
@@ -83,14 +89,14 @@ private bool isPower2orSum(int x)
8389

8490
private void setNoBitmapLoaded()
8591
{
92+
messagesErrorRichTextBox.Text = " ";
8693
openedBitmap = null; previewBitmap = null;
8794
assignFilenameOfOpenedBitmap(null);
8895
txbLoadedSize.Text = "--";
8996
txbCountOfColors.Text = "--";
9097
previewBitmap = null;
9198
palettePanel.Invalidate();
9299
previewBitmapPanel.Invalidate();
93-
94100
}
95101

96102

@@ -234,7 +240,7 @@ void assignFilenameOfOpenedBitmap(string? filename)
234240
openedBitmap = null;
235241
return;
236242
}
237-
243+
238244
string sn;
239245
string s = String.Format("{0} [{1}]", sn = Path.GetFileName(filename), Path.GetFullPath(filename));
240246
this.Text = "LSPtool bitmap: " + s;
@@ -274,17 +280,17 @@ bool testIfBitmapAccessible(string? filename)
274280
{
275281
displayMessage("!!! You do not have the required permission to access: " + filename, MessageSeverity.Error);
276282
}
277-
catch(Exception ex)
283+
catch (Exception ex)
278284
{
279285
displayMessage(ex.Message, MessageSeverity.Error);
280286
}
281287
openedFilenameTextBox.ForeColor = Color.Red;
282288
openedFilenameTextBox.Text = messageFailToLoadBitmap;
283289
return false;
284290
}
285-
286-
287-
291+
292+
293+
288294

289295
public class BmpItem
290296
{
@@ -337,7 +343,7 @@ void setWidthMessage(int w)
337343
{
338344
if (isPower2orSum(w))
339345
{
340-
displayMessage("OK: The width allows calculating memory addresses without a hardware multiplier.");
346+
displayMessage(messagesErrorRichTextBox, "OK: The width allows calculating memory addresses without a hardware multiplier.", MessageSeverity.Info);
341347
nudReloadWidth.ForeColor = SystemColors.ControlText;
342348
}
343349
else
@@ -353,8 +359,8 @@ void setWidthMessage(int w)
353359
{
354360
if (isPower2orSum(max)) break; max++;
355361
}
356-
displayMessage(String.Format("KO: ROM width is not 2**n or (2**n+2**m)! The nearest better widths are {0} or {1}", max, min),
357-
MessageSeverity.Warning);
362+
displayMessage(messagesErrorRichTextBox, String.Format("KO: ROM width is not 2**n or (2**n+2**m)! The nearest better widths are {0} or {1}", max, min),
363+
MessageSeverity.Error);
358364
}
359365
}
360366

@@ -506,16 +512,8 @@ private void saveAsMemoryInitializationFileToolStripMenuItem_Click(object sender
506512
saveFileDialog1.Title = "Save as Memory Initialization File";
507513
saveFileDialog1.DefaultExt = "mif";
508514

509-
string s = previewBitmap.Filename;
510-
if (!String.IsNullOrEmpty(s))
511-
{
512-
s = Path.ChangeExtension(s, ".mif");
513-
saveFileDialog1.FileName = Path.GetFileName(s);
514-
saveFileDialog1.InitialDirectory = Path.GetDirectoryName(s);
515-
}
516-
517-
if (saveFileDialog1.ShowDialog() != System.Windows.Forms.DialogResult.OK)
518-
return;
515+
if (!IniSettings.FilesBitmap.ShowSaveDialog(saveFileDialog1, new string[] { "mif", "vhdl", "bmp" },
516+
previewBitmap.Filename, "mif")) return;
519517
}
520518
catch (Exception ex)
521519
{
@@ -524,7 +522,6 @@ private void saveAsMemoryInitializationFileToolStripMenuItem_Click(object sender
524522
}
525523
string filename = saveFileDialog1.FileName;
526524

527-
528525
// string pattern = @"
529526
//-- Generated Memory Initialization File (.mif)
530527
//
@@ -608,7 +605,7 @@ private void saveAsMemoryInitializationFileToolStripMenuItem_Click(object sender
608605
private void addMemoryHeader(StringBuilder sb, BmpItem bi, out int requiredMemorySize)
609606
{
610607
sb.AppendLine("-- CTU-FEE in Prague, Dept. of Control Eng. [Richard Susta]");
611-
sb.AppendLine(String.Format("-- LSP tools generated file on {0}", DateTime.Now));
608+
sb.AppendLine(String.Format("-- FPGA-LCD Utils generated file on {0}", DateTime.Now));
612609
int size = bi.Height * bi.Width;
613610
sb.AppendLine(String.Format("-- from bitmap file {0}", bi.Filename));
614611
int addressWidth = GetMemoryAddressWidth(size, out requiredMemorySize);
@@ -671,28 +668,18 @@ private void saveAsVHDL_toolStripMenuItem_Click(object sender, EventArgs e)
671668
saveFileDialog1.Filter = "VHDL (*.vhd)|*.vhd|All files(*.*)|*.*";
672669
saveFileDialog1.Title = "Save as VHDL Entity";
673670
saveFileDialog1.DefaultExt = "vhd";
674-
string s = previewBitmap.Filename;
675-
if (!String.IsNullOrEmpty(s))
676-
{
677-
s = Path.ChangeExtension(s, ".vhd");
678-
saveFileDialog1.FileName = Path.GetFileName(s);
679-
if (String.IsNullOrEmpty(saveFileDialog1.InitialDirectory))
680-
saveFileDialog1.InitialDirectory = Path.GetDirectoryName(s);
681-
}
682-
683-
if (saveFileDialog1.ShowDialog() != System.Windows.Forms.DialogResult.OK)
671+
if (!IniSettings.FilesBitmap.ShowSaveDialog(saveFileDialog1, new string[] { "vhdl", "mif", "bmp" },
672+
previewBitmap.Filename, "vhd"))
684673
return;
674+
685675
}
686676
catch (Exception ex)
687677
{
688678
Trace.WriteLine(ex.ToString());
689679
displayStatusMessage(ex.Message, MessageSeverity.Error);
680+
return;
690681
}
691682
string filename = saveFileDialog1.FileName;
692-
if (!String.IsNullOrEmpty(filename))
693-
saveFileDialog1.InitialDirectory = Path.GetDirectoryName(filename);
694-
695-
696683

697684
// library ieee, work; use ieee.std_logic_1164.all; use ieee.numeric_std.all;
698685
// entity romLCD10g is
@@ -972,27 +959,30 @@ private void displayMessage(string text, MessageSeverity severity)
972959
{
973960
if (text == _displayMessageLastText) return;
974961
else _displayMessageLastText = text;
962+
displayMessage(messageRichTextBox, text, severity);
963+
}
964+
private void displayMessage(RichTextBox rtb, string text, MessageSeverity severity)
965+
{
975966
if (text == null || text.Trim().Length == 0) return;
976967
Color foreColor = SystemColors.WindowText;
977968
switch (severity)
978969
{
979970
case MessageSeverity.Error: foreColor = Color.Red; break;
980971
case MessageSeverity.Warning: foreColor = Color.BlueViolet; break;
981972
}
982-
int start = messageRichTextBox.TextLength;
983-
messageRichTextBox.AppendText(text + Environment.NewLine);
984-
int end = messageRichTextBox.TextLength;
973+
int start = rtb.TextLength;
974+
if (rtb != messagesErrorRichTextBox)
975+
{
976+
rtb.AppendText(text + Environment.NewLine);
977+
}
978+
else { start = 0; rtb.Text = text; }
979+
int end = rtb.TextLength;
985980
// Textbox may transform chars, so (end-start) != text.Length
986-
messageRichTextBox.Select(start, end - start);
981+
rtb.Select(start, end - start);
987982
{
988-
messageRichTextBox.SelectionColor = foreColor;
983+
rtb.SelectionColor = foreColor;
989984
}
990-
messageRichTextBox.SelectionLength = 0;
991-
}
992-
private void clearAllMessages_Click(object sender, EventArgs e)
993-
{
994-
messageRichTextBox.Text = String.Empty; // Clear() clears also font size;
995-
_displayMessageLastText = String.Empty;
985+
rtb.SelectionLength = 0;
996986
}
997987

998988
private readonly TimeSpan _messageDuration = new TimeSpan(0, 0, 30); // 30 seconds
@@ -1075,15 +1065,12 @@ private void savePreviewBitmapToolStripMenuItem6_Click(object sender, EventArgs
10751065
if (previewBitmap == null) { displayMessage("No image loaded"); return; }
10761066
try
10771067
{
1078-
if (String.IsNullOrEmpty(savePreviewBitmapFileDialog.FileName))
1079-
savePreviewBitmapFileDialog.FileName = openFileDialog1.FileName;
1080-
if (savePreviewBitmapFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
1081-
{
1082-
string filename = savePreviewBitmapFileDialog.FileName;
1083-
filename = Path.ChangeExtension(filename, ".bmp");
1084-
previewBitmap.bitmap.Save(filename, System.Drawing.Imaging.ImageFormat.Bmp);
1085-
displayMessage("Bitmap saved as " + filename);
1086-
}
1068+
if (!IniSettings.FilesBitmap.ShowSaveDialog(savePreviewBitmapFileDialog, new string[] { "bmp", "vhdl", "mif" },
1069+
null, "bmp")) // do not suggest file name
1070+
return;
1071+
string filename = savePreviewBitmapFileDialog.FileName;
1072+
previewBitmap.bitmap.Save(filename, System.Drawing.Imaging.ImageFormat.Bmp);
1073+
displayMessage("Bitmap saved as " + filename);
10871074
}
10881075
catch (Exception ex)
10891076
{
@@ -1184,6 +1171,39 @@ private void recentBitmapsToolStripMenuItem_Click(object sender, EventArgs e)
11841171

11851172
}
11861173
}
1174+
Control? _sourceControl = null;
1175+
1176+
private void messagesContextMenuStrip_Opened(object sender, EventArgs e)
1177+
{
1178+
_sourceControl = messagesContextMenuStrip.SourceControl;
1179+
}
1180+
1181+
private void copySelected_messagesContextMenuStrip_Click(object sender, EventArgs e)
1182+
{
1183+
ToolStripMenuItem? menuItem = sender as ToolStripMenuItem;
1184+
if (_sourceControl != null)
1185+
{
1186+
String? tag = _sourceControl.Tag as String;
1187+
if (tag == "E") messagesErrorRichTextBox.Copy(); else messageRichTextBox.Copy();
1188+
}
1189+
}
1190+
1191+
private void deleteAll_messagesContextMenuStrip_Click(object sender, EventArgs e)
1192+
{
1193+
ToolStripMenuItem? menuItem = sender as ToolStripMenuItem;
1194+
if (_sourceControl != null)
1195+
{
1196+
String? tag = _sourceControl.Tag as String;
1197+
if (tag == "E") messagesErrorRichTextBox.Text = " ";
1198+
else
1199+
{
1200+
messageRichTextBox.Text = " "; // Clear() clears also font size;
1201+
_displayMessageLastText = " ";
1202+
}
1203+
1204+
}
1205+
1206+
}
11871207

11881208
private void Color2Mesage(Color c, string xyText)
11891209
{

VisualStudioProject/BMForm.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,9 @@
126126
<metadata name="saveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
127127
<value>156, 17</value>
128128
</metadata>
129+
<metadata name="messagesContextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
130+
<value>1138, 17</value>
131+
</metadata>
129132
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
130133
<value>483, 17</value>
131134
</metadata>

VisualStudioProject/BMFormAbout.Designer.cs

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

VisualStudioProject/BMFormAbout.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
using System.Text;
77
using System.Windows.Forms;
88

9-
namespace LSPtools
9+
namespace FpgaLcdUtils
1010
{
1111
public partial class BMFormAbout : Form
1212
{

VisualStudioProject/BMFormAbout.resx

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -120,46 +120,46 @@
120120
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
121121
<data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
122122
<value>
123-
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
162-
Fhb+B6hLI3FJbahdAAAAAElFTkSuQmCC
123+
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
162+
AAAASUVORK5CYII=
163163
</value>
164164
</data>
165165
<data name="pictureBox2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

0 commit comments

Comments
 (0)