Skip to content

Commit f04a845

Browse files
committed
Menu system added with new Help window form
1 parent 7927656 commit f04a845

11 files changed

Lines changed: 3929 additions & 104 deletions

File tree

CStat/CStat.csproj

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
<PropertyGroup>
44
<OutputType>WinExe</OutputType>
55
<TargetFramework>net8.0-windows</TargetFramework>
6+
<LangVersion>11.0</LangVersion>
7+
<NullableReferenceTypes>true</NullableReferenceTypes>
68
<Nullable>enable</Nullable>
79
<UseWindowsForms>true</UseWindowsForms>
810
<ImplicitUsings>enable</ImplicitUsings>
@@ -13,13 +15,14 @@
1315
<Description>Calculate cstat/flags values for Mapster32/EDuke32</Description>
1416
<PackageIcon>EDuke32_128.ico</PackageIcon>
1517
<PackageTags>cstat;Mapster32;EDuke32</PackageTags>
16-
<PackageReleaseNotes>Framework-dependent version</PackageReleaseNotes>
17-
<AssemblyVersion>1.0.1.1</AssemblyVersion>
18-
<FileVersion>1.0.1.1</FileVersion>
18+
<PackageReleaseNotes>Added menu, About box &amp; Help window form</PackageReleaseNotes>
19+
<AssemblyVersion>1.0.2.0</AssemblyVersion>
20+
<FileVersion>1.0.2.0</FileVersion>
1921
<PackageLicenseFile>gpl-2.0.txt</PackageLicenseFile>
2022
<PackageProjectUrl>https://github.com/Stumpy842/CStat</PackageProjectUrl>
2123
<RepositoryUrl>https://github.com/Stumpy842/CStat/releases</RepositoryUrl>
2224
<PackageReadmeFile>README.md</PackageReadmeFile>
25+
<SignAssembly>False</SignAssembly>
2326
</PropertyGroup>
2427

2528
<ItemGroup>

CStat/Form1.Designer.cs

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

CStat/Form1.cs

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
//using System.Drawing;
44
//using System.Drawing.Text;
55
using System.Globalization;
6+
using System.Reflection;
7+
68
//using System.Security.Policy;
79
using System.Text.RegularExpressions;
810
//using System.Xml;
@@ -14,11 +16,11 @@ namespace CStat
1416
/// </summary>
1517
public partial class Form1 : Form
1618
{
17-
//public System.Diagnostics.Process p = new System.Diagnostics.Process();
18-
1919
private bool act = false;
2020
private int entryMode;
2121
private int statCode;
22+
private readonly string AppName = Assembly.GetEntryAssembly()!.GetName().Name!;
23+
private readonly string AppVersion = Assembly.GetEntryAssembly()!.GetName().Version!.ToString();
2224
private readonly Regex rHex = new Regex("^0x", RegexOptions.IgnoreCase);
2325
private readonly Regex rBin = new Regex("^0b", RegexOptions.IgnoreCase);
2426
private readonly Regex rSpace = new Regex(@"\s", RegexOptions.IgnoreCase);
@@ -66,7 +68,7 @@ public partial class Form1 : Form
6668
private readonly String[] cKey = { "P", "", "F", "E", "F", "F", "R", "T", "T", "", "", "", "", "", "", "" };
6769

6870
/// <summary>
69-
/// Calculate cstat/flags for Mapster32 or EDuke32
71+
/// Calculate cstat/flags for Mapster32 or EDuke32 - main form
7072
/// </summary>
7173
public Form1()
7274
{
@@ -78,6 +80,8 @@ public Form1()
7880
rtbInfo.Text = "Information from https://wiki.eduke32.com/wiki/Cstat_(sprite)," +
7981
" https://wiki.eduke32.com/wiki/Cstat_(wall)" + Environment.NewLine +
8082
"and https://voidpoint.io/terminx/eduke32/-/blob/master/source/build/include/buildtypes.h";
83+
84+
aboutToolStripMenuItem.Text = "&About " + AppName;
8185
}
8286

8387
private void InitLV()
@@ -386,5 +390,48 @@ private void LV_ItemChecked(object sender, ItemCheckedEventArgs e)
386390
{
387391
enableClear();
388392
}
393+
394+
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
395+
{
396+
string s = AppName + " v" + AppVersion + " by Steven J Stover" + Environment.NewLine +
397+
"Copyright 2024, licensed under GPL v2.0";
398+
MessageBox.Show(s, "About " + AppName);
399+
}
400+
401+
/// <summary>
402+
/// CStat Help form instantiation
403+
/// </summary>
404+
public Form Frm = null!;
405+
bool isFrmOpen = false;
406+
private void viewHelpToolStripMenuItem_Click(object sender, EventArgs e)
407+
{
408+
409+
if (isFrmOpen)
410+
{
411+
if (Frm.WindowState == FormWindowState.Minimized)
412+
Frm.WindowState = FormWindowState.Normal;
413+
else
414+
Frm.Focus();
415+
}
416+
else
417+
{
418+
Frm = new Form2();
419+
isFrmOpen = true;
420+
Frm.FormClosed += new FormClosedEventHandler(Frm_FormClosed!);
421+
Frm.Show();
422+
}
423+
424+
}
425+
void Frm_FormClosed(object sender, FormClosedEventArgs e)
426+
{
427+
//var frm = sender as Form2;
428+
// Do something with <frm>
429+
isFrmOpen = false;
430+
}
431+
432+
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
433+
{
434+
Application.Exit();
435+
}
389436
}
390437
}

CStat/Form1.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@
120120
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
121121
<value>17, 17</value>
122122
</metadata>
123+
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
124+
<value>114, 17</value>
125+
</metadata>
123126
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
124127
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
125128
<value>

CStat/Form2.Designer.cs

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

CStat/Form2.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.ComponentModel;
4+
using System.Data;
5+
using System.Drawing;
6+
using System.Linq;
7+
using System.Text;
8+
using System.Threading.Tasks;
9+
using System.Windows.Forms;
10+
11+
namespace CStat
12+
{
13+
public partial class Form2 : Form
14+
{
15+
/// <summary>
16+
/// CStat Calculator Help form
17+
/// </summary>
18+
public Form2()
19+
{
20+
InitializeComponent();
21+
}
22+
}
23+
}

0 commit comments

Comments
 (0)