diff --git a/Source/Builder.csproj b/Source/Builder.csproj
index ca05432b..c1e824a5 100644
--- a/Source/Builder.csproj
+++ b/Source/Builder.csproj
@@ -666,6 +666,7 @@
+
@@ -677,6 +678,9 @@
+
+
+
diff --git a/Source/BuilderModes/ClassicModes/EditSelectionMode.cs b/Source/BuilderModes/ClassicModes/EditSelectionMode.cs
index 3388abf2..7f82cc28 100644
--- a/Source/BuilderModes/ClassicModes/EditSelectionMode.cs
+++ b/Source/BuilderModes/ClassicModes/EditSelectionMode.cs
@@ -712,7 +712,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
}
else
{
- General.Interface.DisplayWarning("Please make a selection first!");
+ General.Interface.DisplayStatus(StatusType.Warning, "Please make a selection first!");
// Cancel now
General.Editing.CancelMode();
diff --git a/Source/Controls/ScriptEditorPanel.cs b/Source/Controls/ScriptEditorPanel.cs
index 3678a448..055a50cf 100644
--- a/Source/Controls/ScriptEditorPanel.cs
+++ b/Source/Controls/ScriptEditorPanel.cs
@@ -559,15 +559,15 @@ namespace CodeImp.DoomBuilder.Controls
}
// Compile now
- General.MainWindow.DisplayStatus("Compiling script " + t.Text + "...");
+ General.MainWindow.DisplayStatus(StatusType.Busy, "Compiling script " + t.Text + "...");
Cursor.Current = Cursors.WaitCursor;
t.Compile();
// Show warning
if((compilererrors != null) && (compilererrors.Count > 0))
- General.MainWindow.DisplayWarning(compilererrors.Count.ToString() + " errors while compiling " + t.Text + "!");
+ General.MainWindow.DisplayStatus(StatusType.Warning, compilererrors.Count.ToString() + " errors while compiling " + t.Text + "!");
else
- General.MainWindow.DisplayReady();
+ General.MainWindow.DisplayStatus(StatusType.Info, "Script " + t.Text + " compiled without errors.");
Cursor.Current = Cursors.Default;
UpdateToolbar(true);
diff --git a/Source/Data/DataManager.cs b/Source/Data/DataManager.cs
index 12829e67..bad54c79 100644
--- a/Source/Data/DataManager.cs
+++ b/Source/Data/DataManager.cs
@@ -470,7 +470,7 @@ namespace CodeImp.DoomBuilder.Data
// Done
notifiedbusy = false;
backgroundloader = null;
- General.SendMessage(General.MainWindow.Handle, (int)MainForm.ThreadMessages.UpdateStatusIcon, 0, 0);
+ General.SendMessage(General.MainWindow.Handle, (int)MainForm.ThreadMessages.UpdateStatus, 0, 0);
}
}
@@ -516,7 +516,7 @@ namespace CodeImp.DoomBuilder.Data
if(!notifiedbusy)
{
notifiedbusy = true;
- General.SendMessage(General.MainWindow.Handle, (int)MainForm.ThreadMessages.UpdateStatusIcon, 0, 0);
+ General.SendMessage(General.MainWindow.Handle, (int)MainForm.ThreadMessages.UpdateStatus, 0, 0);
}
Thread.Sleep(0);
}
@@ -530,7 +530,7 @@ namespace CodeImp.DoomBuilder.Data
if(!notifiedbusy)
{
notifiedbusy = true;
- General.SendMessage(General.MainWindow.Handle, (int)MainForm.ThreadMessages.UpdateStatusIcon, 0, 0);
+ General.SendMessage(General.MainWindow.Handle, (int)MainForm.ThreadMessages.UpdateStatus, 0, 0);
}
Thread.Sleep(0);
}
@@ -539,7 +539,7 @@ namespace CodeImp.DoomBuilder.Data
if(notifiedbusy)
{
notifiedbusy = false;
- General.SendMessage(General.MainWindow.Handle, (int)MainForm.ThreadMessages.UpdateStatusIcon, 0, 0);
+ General.SendMessage(General.MainWindow.Handle, (int)MainForm.ThreadMessages.UpdateStatus, 0, 0);
}
// Wait longer to release CPU resources
@@ -575,7 +575,7 @@ namespace CodeImp.DoomBuilder.Data
}
// Update icon
- General.SendMessage(General.MainWindow.Handle, (int)MainForm.ThreadMessages.UpdateStatusIcon, 0, 0);
+ General.SendMessage(General.MainWindow.Handle, (int)MainForm.ThreadMessages.UpdateStatus, 0, 0);
}
// This updates the used-in-map status on all textures and flats
diff --git a/Source/Editing/CopyPasteManager.cs b/Source/Editing/CopyPasteManager.cs
index 6393cd9e..15f3da88 100644
--- a/Source/Editing/CopyPasteManager.cs
+++ b/Source/Editing/CopyPasteManager.cs
@@ -138,8 +138,9 @@ namespace CodeImp.DoomBuilder.Editing
internal void PastePrefab(Stream filedata)
{
// Create undo
+ General.MainWindow.DisplayStatus(StatusType.Action, "Inserted prefab.");
General.Map.UndoRedo.CreateUndo("Insert prefab");
-
+
// Decompress stream
MemoryStream decompressed = new MemoryStream((int)filedata.Length * 3);
filedata.Seek(0, SeekOrigin.Begin);
@@ -149,7 +150,7 @@ namespace CodeImp.DoomBuilder.Editing
// Mark all current geometry
General.Map.Map.ClearAllMarks(true);
-
+
// Read data stream
UniversalStreamReader reader = new UniversalStreamReader();
reader.StrictChecking = false;
@@ -157,10 +158,10 @@ namespace CodeImp.DoomBuilder.Editing
// The new geometry is not marked, so invert the marks to get it marked
General.Map.Map.InvertAllMarks();
-
+
// Convert UDMF fields back to flags and activations, if needed
if(!(General.Map.FormatInterface is UniversalMapSetIO)) General.Map.Map.TranslateFromUDMF();
-
+
// Done
memstream.Dispose();
General.Map.Map.UpdateConfiguration();
@@ -170,7 +171,7 @@ namespace CodeImp.DoomBuilder.Editing
}
// This performs the copy. Returns false when copy was cancelled.
- private bool DoCopySelection()
+ private bool DoCopySelection(string desc)
{
// Let the plugins know
if(General.Plugins.OnCopyBegin())
@@ -180,6 +181,8 @@ namespace CodeImp.DoomBuilder.Editing
// that need to be copied.
if(General.Editing.Mode.OnCopyBegin())
{
+ General.MainWindow.DisplayStatus(StatusType.Action, desc);
+
// Copy the marked geometry
// This links sidedefs that are not linked to a marked sector to a virtual sector
MapSet copyset = General.Map.Map.CloneMarked();
@@ -224,6 +227,7 @@ namespace CodeImp.DoomBuilder.Editing
if(General.Editing.Mode.OnPasteBegin())
{
// Create undo
+ General.MainWindow.DisplayStatus(StatusType.Action, "Pasted selected elements.");
General.Map.UndoRedo.CreateUndo("Paste");
// Read from clipboard
@@ -273,7 +277,7 @@ namespace CodeImp.DoomBuilder.Editing
[BeginAction("copyselection")]
public void CopySelection()
{
- DoCopySelection();
+ DoCopySelection("Copied selected elements.");
}
// This cuts the current selection
@@ -281,7 +285,7 @@ namespace CodeImp.DoomBuilder.Editing
public void CutSelection()
{
// Copy selected geometry
- if(DoCopySelection())
+ if(DoCopySelection("Cut selected elements."))
{
// Get the delete action and check if it's bound
Action deleteitem = General.Actions["builder_deleteitem"];
@@ -294,7 +298,7 @@ namespace CodeImp.DoomBuilder.Editing
else
{
// Action not bound
- General.Interface.DisplayWarning("Cannot remove that in this mode.");
+ General.Interface.DisplayStatus(StatusType.Warning, "Cannot remove that in this mode.");
}
}
}
diff --git a/Source/General/General.cs b/Source/General/General.cs
index dc397089..6e58db8b 100644
--- a/Source/General/General.cs
+++ b/Source/General/General.cs
@@ -295,7 +295,7 @@ namespace CodeImp.DoomBuilder
string name, fullfilename;
// Display status
- mainwindow.DisplayStatus("Loading game configurations...");
+ mainwindow.DisplayStatus(StatusType.Busy, "Loading game configurations...");
// Make array
configs = new List();
@@ -329,7 +329,7 @@ namespace CodeImp.DoomBuilder
string[] filenames;
// Display status
- mainwindow.DisplayStatus("Loading nodebuilder configurations...");
+ mainwindow.DisplayStatus(StatusType.Busy, "Loading nodebuilder configurations...");
// Make array
nodebuilders = new List();
@@ -391,7 +391,7 @@ namespace CodeImp.DoomBuilder
string[] filenames;
// Display status
- mainwindow.DisplayStatus("Loading script configurations...");
+ mainwindow.DisplayStatus(StatusType.Busy, "Loading script configurations...");
// Make collection
scriptconfigs = new Dictionary();
@@ -444,7 +444,7 @@ namespace CodeImp.DoomBuilder
string[] filenames;
// Display status
- mainwindow.DisplayStatus("Loading compiler configurations...");
+ mainwindow.DisplayStatus(StatusType.Busy, "Loading compiler configurations...");
// Make array
compilers = new List();
@@ -882,7 +882,7 @@ namespace CodeImp.DoomBuilder
if(optionswindow.ShowDialog(mainwindow) == DialogResult.OK)
{
// Display status
- mainwindow.DisplayStatus("Creating new map...");
+ mainwindow.DisplayStatus(StatusType.Busy, "Creating new map...");
Cursor.Current = Cursors.WaitCursor;
// Let the plugins know
@@ -935,7 +935,7 @@ namespace CodeImp.DoomBuilder
if(General.AskSaveMap())
{
// Display status
- mainwindow.DisplayStatus("Closing map...");
+ mainwindow.DisplayStatus(StatusType.Busy, "Closing map...");
General.WriteLogLine("Unloading map...");
Cursor.Current = Cursors.WaitCursor;
@@ -1012,7 +1012,7 @@ namespace CodeImp.DoomBuilder
internal static void OpenMapFileWithOptions(string filename, MapOptions options)
{
// Display status
- mainwindow.DisplayStatus("Opening map file...");
+ mainwindow.DisplayStatus(StatusType.Busy, "Opening map file...");
Cursor.Current = Cursors.WaitCursor;
// Let the plugins know
@@ -1072,7 +1072,7 @@ namespace CodeImp.DoomBuilder
else
{
// Display status
- mainwindow.DisplayStatus("Saving map file...");
+ mainwindow.DisplayStatus(StatusType.Busy, "Saving map file...");
Cursor.Current = Cursors.WaitCursor;
// Save the map
@@ -1116,7 +1116,7 @@ namespace CodeImp.DoomBuilder
if(savefile.ShowDialog(mainwindow) == DialogResult.OK)
{
// Display status
- mainwindow.DisplayStatus("Saving map file...");
+ mainwindow.DisplayStatus(StatusType.Busy, "Saving map file...");
Cursor.Current = Cursors.WaitCursor;
// Save the map
@@ -1160,7 +1160,7 @@ namespace CodeImp.DoomBuilder
if(savefile.ShowDialog(mainwindow) == DialogResult.OK)
{
// Display status
- mainwindow.DisplayStatus("Saving map file...");
+ mainwindow.DisplayStatus(StatusType.Busy, "Saving map file...");
Cursor.Current = Cursors.WaitCursor;
// Save the map
diff --git a/Source/General/Launcher.cs b/Source/General/Launcher.cs
index 09f1b30e..d01a6cfa 100644
--- a/Source/General/Launcher.cs
+++ b/Source/General/Launcher.cs
@@ -26,6 +26,7 @@ using CodeImp.DoomBuilder.Data;
using System.Diagnostics;
using CodeImp.DoomBuilder.Actions;
using System.Windows.Forms;
+using CodeImp.DoomBuilder.Windows;
#endregion
@@ -279,7 +280,7 @@ namespace CodeImp.DoomBuilder
General.WriteLogLine("Program parameters: " + processinfo.Arguments);
// Disable interface
- General.MainWindow.DisplayStatus("Waiting for game application to finish...");
+ General.MainWindow.DisplayStatus(StatusType.Busy, "Waiting for game application to finish...");
try
{
diff --git a/Source/General/MapManager.cs b/Source/General/MapManager.cs
index 5cefbb09..0846ca64 100644
--- a/Source/General/MapManager.cs
+++ b/Source/General/MapManager.cs
@@ -391,7 +391,8 @@ namespace CodeImp.DoomBuilder
internal bool SaveMap(string newfilepathname, int savemode)
{
MapSet outputset;
- string nodebuildername, oldstatus, settingsfile;
+ string nodebuildername, settingsfile;
+ StatusInfo oldstatus;
WAD targetwad;
int index;
bool includenodes = false;
@@ -469,8 +470,8 @@ namespace CodeImp.DoomBuilder
nodebuildername = savemode == SAVE_TEST ? configinfo.NodebuilderTest : configinfo.NodebuilderSave;
// Build the nodes
- oldstatus = General.MainWindow.GetCurrentSatus();
- General.MainWindow.DisplayStatus("Building map nodes...");
+ oldstatus = General.MainWindow.Status;
+ General.MainWindow.DisplayStatus(StatusType.Busy, "Building map nodes...");
if(!string.IsNullOrEmpty(nodebuildername))
includenodes = BuildNodes(nodebuildername, true);
else
@@ -1395,15 +1396,15 @@ namespace CodeImp.DoomBuilder
internal void ReloadResources()
{
DataLocation maplocation;
- string oldstatus;
+ StatusInfo oldstatus;
Cursor oldcursor;
// Keep old display info
- oldstatus = General.MainWindow.GetCurrentSatus();
+ oldstatus = General.MainWindow.Status;
oldcursor = Cursor.Current;
// Show status
- General.MainWindow.DisplayStatus("Reloading data resources...");
+ General.MainWindow.DisplayStatus(StatusType.Busy, "Reloading data resources...");
Cursor.Current = Cursors.WaitCursor;
// Clean up
diff --git a/Source/Plugins/PluginManager.cs b/Source/Plugins/PluginManager.cs
index 3f3121bc..0faaed6b 100644
--- a/Source/Plugins/PluginManager.cs
+++ b/Source/Plugins/PluginManager.cs
@@ -109,7 +109,7 @@ namespace CodeImp.DoomBuilder.Plugins
foreach(string fn in filenames)
{
// Load plugin from this file
- General.MainWindow.DisplayStatus("Loading plugin '" + Path.GetFileName(fn) + "'...");
+ General.MainWindow.DisplayStatus(StatusType.Busy, "Loading plugin '" + Path.GetFileName(fn) + "'...");
try
{
p = new Plugin(fn);
diff --git a/Source/Properties/Resources.Designer.cs b/Source/Properties/Resources.Designer.cs
index 876a4c9c..3c61ab76 100644
--- a/Source/Properties/Resources.Designer.cs
+++ b/Source/Properties/Resources.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:2.0.50727.1433
+// Runtime Version:2.0.50727.1826
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -347,6 +347,27 @@ namespace CodeImp.DoomBuilder.Properties {
}
}
+ internal static System.Drawing.Bitmap Status10 {
+ get {
+ object obj = ResourceManager.GetObject("Status10", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Bitmap Status11 {
+ get {
+ object obj = ResourceManager.GetObject("Status11", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Bitmap Status12 {
+ get {
+ object obj = ResourceManager.GetObject("Status12", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
internal static System.Drawing.Bitmap Status2 {
get {
object obj = ResourceManager.GetObject("Status2", resourceCulture);
diff --git a/Source/Properties/Resources.resx b/Source/Properties/Resources.resx
index b7a6c394..2650303c 100644
--- a/Source/Properties/Resources.resx
+++ b/Source/Properties/Resources.resx
@@ -280,4 +280,13 @@
..\Resources\Monster3.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\Status10.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\Status11.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\Status12.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
\ No newline at end of file
diff --git a/Source/Resources/Status10.png b/Source/Resources/Status10.png
new file mode 100644
index 00000000..64d5d60d
Binary files /dev/null and b/Source/Resources/Status10.png differ
diff --git a/Source/Resources/Status11.png b/Source/Resources/Status11.png
new file mode 100644
index 00000000..2ce67b41
Binary files /dev/null and b/Source/Resources/Status11.png differ
diff --git a/Source/Resources/Status12.png b/Source/Resources/Status12.png
new file mode 100644
index 00000000..0130d23a
Binary files /dev/null and b/Source/Resources/Status12.png differ
diff --git a/Source/Windows/IMainForm.cs b/Source/Windows/IMainForm.cs
index 6d9b34ba..2a5d1479 100644
--- a/Source/Windows/IMainForm.cs
+++ b/Source/Windows/IMainForm.cs
@@ -54,7 +54,8 @@ namespace CodeImp.DoomBuilder.Windows
// Methods
void DisplayReady();
- void DisplayStatus(string status);
+ void DisplayStatus(StatusType type, string message);
+ void DisplayStatus(StatusInfo newstatus);
void RedrawDisplay();
DialogResult ShowEditLinedefs(ICollection lines);
DialogResult ShowEditSectors(ICollection sectors);
@@ -74,8 +75,6 @@ namespace CodeImp.DoomBuilder.Windows
void BreakExclusiveMouseInput();
void ResumeExclusiveMouseInput();
void SetCursor(Cursor cursor);
- void DisplayWarning(string warning);
- void HideWarning();
void MessageBeep(MessageBeepType type);
///
diff --git a/Source/Windows/MainForm.Designer.cs b/Source/Windows/MainForm.Designer.cs
index e773f4ce..50b061a5 100644
--- a/Source/Windows/MainForm.Designer.cs
+++ b/Source/Windows/MainForm.Designer.cs
@@ -157,8 +157,8 @@ namespace CodeImp.DoomBuilder.Windows
this.redrawtimer = new System.Windows.Forms.Timer(this.components);
this.display = new CodeImp.DoomBuilder.Controls.RenderTargetControl();
this.processor = new System.Windows.Forms.Timer(this.components);
- this.warningtimer = new System.Windows.Forms.Timer(this.components);
- this.warningflasher = new System.Windows.Forms.Timer(this.components);
+ this.statusflasher = new System.Windows.Forms.Timer(this.components);
+ this.statusresetter = new System.Windows.Forms.Timer(this.components);
toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
toolStripMenuItem3 = new System.Windows.Forms.ToolStripSeparator();
toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
@@ -183,13 +183,13 @@ namespace CodeImp.DoomBuilder.Windows
//
toolStripMenuItem1.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
toolStripMenuItem1.Name = "toolStripMenuItem1";
- toolStripMenuItem1.Size = new System.Drawing.Size(198, 6);
+ toolStripMenuItem1.Size = new System.Drawing.Size(199, 6);
//
// toolStripMenuItem3
//
toolStripMenuItem3.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
toolStripMenuItem3.Name = "toolStripMenuItem3";
- toolStripMenuItem3.Size = new System.Drawing.Size(198, 6);
+ toolStripMenuItem3.Size = new System.Drawing.Size(199, 6);
//
// toolStripSeparator1
//
@@ -219,7 +219,7 @@ namespace CodeImp.DoomBuilder.Windows
//
toolStripSeparator11.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
toolStripSeparator11.Name = "toolStripSeparator11";
- toolStripSeparator11.Size = new System.Drawing.Size(162, 6);
+ toolStripSeparator11.Size = new System.Drawing.Size(160, 6);
//
// toolstripSeperator1
//
@@ -231,7 +231,7 @@ namespace CodeImp.DoomBuilder.Windows
//
toolstripSeperator6.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
toolstripSeperator6.Name = "toolstripSeperator6";
- toolstripSeperator6.Size = new System.Drawing.Size(162, 6);
+ toolstripSeperator6.Size = new System.Drawing.Size(160, 6);
//
// toolStripSeparator7
//
@@ -248,12 +248,12 @@ namespace CodeImp.DoomBuilder.Windows
// toolStripMenuItem4
//
toolStripMenuItem4.Name = "toolStripMenuItem4";
- toolStripMenuItem4.Size = new System.Drawing.Size(161, 6);
+ toolStripMenuItem4.Size = new System.Drawing.Size(150, 6);
//
// toolStripSeparator2
//
toolStripSeparator2.Name = "toolStripSeparator2";
- toolStripSeparator2.Size = new System.Drawing.Size(164, 6);
+ toolStripSeparator2.Size = new System.Drawing.Size(153, 6);
//
// toolStripSeparator4
//
@@ -305,7 +305,7 @@ namespace CodeImp.DoomBuilder.Windows
toolStripMenuItem3,
this.itemexit});
this.menufile.Name = "menufile";
- this.menufile.Size = new System.Drawing.Size(35, 20);
+ this.menufile.Size = new System.Drawing.Size(37, 20);
this.menufile.Text = "File";
//
// itemnewmap
@@ -313,7 +313,7 @@ namespace CodeImp.DoomBuilder.Windows
this.itemnewmap.Image = global::CodeImp.DoomBuilder.Properties.Resources.File;
this.itemnewmap.Name = "itemnewmap";
this.itemnewmap.ShortcutKeyDisplayString = "";
- this.itemnewmap.Size = new System.Drawing.Size(201, 22);
+ this.itemnewmap.Size = new System.Drawing.Size(202, 22);
this.itemnewmap.Tag = "builder_newmap";
this.itemnewmap.Text = "New Map";
this.itemnewmap.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -322,7 +322,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemopenmap.Image = global::CodeImp.DoomBuilder.Properties.Resources.OpenMap;
this.itemopenmap.Name = "itemopenmap";
- this.itemopenmap.Size = new System.Drawing.Size(201, 22);
+ this.itemopenmap.Size = new System.Drawing.Size(202, 22);
this.itemopenmap.Tag = "builder_openmap";
this.itemopenmap.Text = "Open Map...";
this.itemopenmap.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -330,7 +330,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemclosemap
//
this.itemclosemap.Name = "itemclosemap";
- this.itemclosemap.Size = new System.Drawing.Size(201, 22);
+ this.itemclosemap.Size = new System.Drawing.Size(202, 22);
this.itemclosemap.Tag = "builder_closemap";
this.itemclosemap.Text = "Close Map";
this.itemclosemap.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -339,7 +339,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemsavemap.Image = global::CodeImp.DoomBuilder.Properties.Resources.SaveMap;
this.itemsavemap.Name = "itemsavemap";
- this.itemsavemap.Size = new System.Drawing.Size(201, 22);
+ this.itemsavemap.Size = new System.Drawing.Size(202, 22);
this.itemsavemap.Tag = "builder_savemap";
this.itemsavemap.Text = "Save Map";
this.itemsavemap.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -347,7 +347,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemsavemapas
//
this.itemsavemapas.Name = "itemsavemapas";
- this.itemsavemapas.Size = new System.Drawing.Size(201, 22);
+ this.itemsavemapas.Size = new System.Drawing.Size(202, 22);
this.itemsavemapas.Tag = "builder_savemapas";
this.itemsavemapas.Text = "Save Map As...";
this.itemsavemapas.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -355,7 +355,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemsavemapinto
//
this.itemsavemapinto.Name = "itemsavemapinto";
- this.itemsavemapinto.Size = new System.Drawing.Size(201, 22);
+ this.itemsavemapinto.Size = new System.Drawing.Size(202, 22);
this.itemsavemapinto.Tag = "builder_savemapinto";
this.itemsavemapinto.Text = "Save Map Into...";
this.itemsavemapinto.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -364,19 +364,19 @@ namespace CodeImp.DoomBuilder.Windows
//
this.toolStripMenuItem5.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.toolStripMenuItem5.Name = "toolStripMenuItem5";
- this.toolStripMenuItem5.Size = new System.Drawing.Size(198, 6);
+ this.toolStripMenuItem5.Size = new System.Drawing.Size(199, 6);
//
// itemnorecent
//
this.itemnorecent.Enabled = false;
this.itemnorecent.Name = "itemnorecent";
- this.itemnorecent.Size = new System.Drawing.Size(201, 22);
+ this.itemnorecent.Size = new System.Drawing.Size(202, 22);
this.itemnorecent.Text = "No recently opened files";
//
// itemexit
//
this.itemexit.Name = "itemexit";
- this.itemexit.Size = new System.Drawing.Size(201, 22);
+ this.itemexit.Size = new System.Drawing.Size(202, 22);
this.itemexit.Text = "Exit";
this.itemexit.Click += new System.EventHandler(this.itemexit_Click);
//
@@ -399,14 +399,14 @@ namespace CodeImp.DoomBuilder.Windows
toolStripSeparator11,
this.itemmapoptions});
this.menuedit.Name = "menuedit";
- this.menuedit.Size = new System.Drawing.Size(37, 20);
+ this.menuedit.Size = new System.Drawing.Size(39, 20);
this.menuedit.Text = "Edit";
//
// itemundo
//
this.itemundo.Image = global::CodeImp.DoomBuilder.Properties.Resources.Undo;
this.itemundo.Name = "itemundo";
- this.itemundo.Size = new System.Drawing.Size(165, 22);
+ this.itemundo.Size = new System.Drawing.Size(163, 22);
this.itemundo.Tag = "builder_undo";
this.itemundo.Text = "Undo";
this.itemundo.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -415,7 +415,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemredo.Image = global::CodeImp.DoomBuilder.Properties.Resources.Redo;
this.itemredo.Name = "itemredo";
- this.itemredo.Size = new System.Drawing.Size(165, 22);
+ this.itemredo.Size = new System.Drawing.Size(163, 22);
this.itemredo.Tag = "builder_redo";
this.itemredo.Text = "Redo";
this.itemredo.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -424,13 +424,13 @@ namespace CodeImp.DoomBuilder.Windows
//
this.toolStripMenuItem7.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.toolStripMenuItem7.Name = "toolStripMenuItem7";
- this.toolStripMenuItem7.Size = new System.Drawing.Size(162, 6);
+ this.toolStripMenuItem7.Size = new System.Drawing.Size(160, 6);
//
// itemcut
//
this.itemcut.Image = global::CodeImp.DoomBuilder.Properties.Resources.Cut;
this.itemcut.Name = "itemcut";
- this.itemcut.Size = new System.Drawing.Size(165, 22);
+ this.itemcut.Size = new System.Drawing.Size(163, 22);
this.itemcut.Tag = "builder_cutselection";
this.itemcut.Text = "Cut";
this.itemcut.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -439,7 +439,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemcopy.Image = global::CodeImp.DoomBuilder.Properties.Resources.Copy;
this.itemcopy.Name = "itemcopy";
- this.itemcopy.Size = new System.Drawing.Size(165, 22);
+ this.itemcopy.Size = new System.Drawing.Size(163, 22);
this.itemcopy.Tag = "builder_copyselection";
this.itemcopy.Text = "Copy";
this.itemcopy.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -448,7 +448,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itempaste.Image = global::CodeImp.DoomBuilder.Properties.Resources.Paste;
this.itempaste.Name = "itempaste";
- this.itempaste.Size = new System.Drawing.Size(165, 22);
+ this.itempaste.Size = new System.Drawing.Size(163, 22);
this.itempaste.Tag = "builder_pasteselection";
this.itempaste.Text = "Paste";
this.itempaste.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -459,7 +459,7 @@ namespace CodeImp.DoomBuilder.Windows
this.itemsnaptogrid.CheckState = System.Windows.Forms.CheckState.Checked;
this.itemsnaptogrid.Image = global::CodeImp.DoomBuilder.Properties.Resources.Grid4;
this.itemsnaptogrid.Name = "itemsnaptogrid";
- this.itemsnaptogrid.Size = new System.Drawing.Size(165, 22);
+ this.itemsnaptogrid.Size = new System.Drawing.Size(163, 22);
this.itemsnaptogrid.Tag = "builder_togglesnap";
this.itemsnaptogrid.Text = "Snap to Grid";
this.itemsnaptogrid.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -470,7 +470,7 @@ namespace CodeImp.DoomBuilder.Windows
this.itemautomerge.CheckState = System.Windows.Forms.CheckState.Checked;
this.itemautomerge.Image = global::CodeImp.DoomBuilder.Properties.Resources.mergegeometry2;
this.itemautomerge.Name = "itemautomerge";
- this.itemautomerge.Size = new System.Drawing.Size(165, 22);
+ this.itemautomerge.Size = new System.Drawing.Size(163, 22);
this.itemautomerge.Tag = "builder_toggleautomerge";
this.itemautomerge.Text = "Merge Geometry";
this.itemautomerge.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -479,12 +479,12 @@ namespace CodeImp.DoomBuilder.Windows
//
this.toolStripMenuItem6.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.toolStripMenuItem6.Name = "toolStripMenuItem6";
- this.toolStripMenuItem6.Size = new System.Drawing.Size(162, 6);
+ this.toolStripMenuItem6.Size = new System.Drawing.Size(160, 6);
//
// itemgridinc
//
this.itemgridinc.Name = "itemgridinc";
- this.itemgridinc.Size = new System.Drawing.Size(165, 22);
+ this.itemgridinc.Size = new System.Drawing.Size(163, 22);
this.itemgridinc.Tag = "builder_gridinc";
this.itemgridinc.Text = "Increase Grid";
this.itemgridinc.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -492,7 +492,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgriddec
//
this.itemgriddec.Name = "itemgriddec";
- this.itemgriddec.Size = new System.Drawing.Size(165, 22);
+ this.itemgriddec.Size = new System.Drawing.Size(163, 22);
this.itemgriddec.Tag = "builder_griddec";
this.itemgriddec.Text = "Decrease Grid";
this.itemgriddec.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -501,7 +501,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemgridsetup.Image = global::CodeImp.DoomBuilder.Properties.Resources.Grid2;
this.itemgridsetup.Name = "itemgridsetup";
- this.itemgridsetup.Size = new System.Drawing.Size(165, 22);
+ this.itemgridsetup.Size = new System.Drawing.Size(163, 22);
this.itemgridsetup.Tag = "builder_gridsetup";
this.itemgridsetup.Text = "Grid Setup...";
this.itemgridsetup.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -510,7 +510,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemmapoptions.Image = global::CodeImp.DoomBuilder.Properties.Resources.Properties;
this.itemmapoptions.Name = "itemmapoptions";
- this.itemmapoptions.Size = new System.Drawing.Size(165, 22);
+ this.itemmapoptions.Size = new System.Drawing.Size(163, 22);
this.itemmapoptions.Tag = "builder_mapoptions";
this.itemmapoptions.Text = "Map Options....";
this.itemmapoptions.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -527,14 +527,14 @@ namespace CodeImp.DoomBuilder.Windows
this.toolStripMenuItem10,
this.itemscripteditor});
this.menuview.Name = "menuview";
- this.menuview.Size = new System.Drawing.Size(41, 20);
+ this.menuview.Size = new System.Drawing.Size(44, 20);
this.menuview.Text = "View";
//
// itemthingsfilter
//
this.itemthingsfilter.Image = global::CodeImp.DoomBuilder.Properties.Resources.Filter;
this.itemthingsfilter.Name = "itemthingsfilter";
- this.itemthingsfilter.Size = new System.Drawing.Size(210, 22);
+ this.itemthingsfilter.Size = new System.Drawing.Size(209, 22);
this.itemthingsfilter.Tag = "builder_thingsfilterssetup";
this.itemthingsfilter.Text = "Configure Things Filters...";
this.itemthingsfilter.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -543,13 +543,13 @@ namespace CodeImp.DoomBuilder.Windows
//
this.toolStripMenuItem9.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.toolStripMenuItem9.Name = "toolStripMenuItem9";
- this.toolStripMenuItem9.Size = new System.Drawing.Size(207, 6);
+ this.toolStripMenuItem9.Size = new System.Drawing.Size(206, 6);
//
// itemviewnormal
//
this.itemviewnormal.Image = global::CodeImp.DoomBuilder.Properties.Resources.ViewNormal;
this.itemviewnormal.Name = "itemviewnormal";
- this.itemviewnormal.Size = new System.Drawing.Size(210, 22);
+ this.itemviewnormal.Size = new System.Drawing.Size(209, 22);
this.itemviewnormal.Tag = "builder_viewmodenormal";
this.itemviewnormal.Text = "Wireframe";
this.itemviewnormal.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -558,7 +558,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemviewbrightness.Image = global::CodeImp.DoomBuilder.Properties.Resources.ViewBrightness;
this.itemviewbrightness.Name = "itemviewbrightness";
- this.itemviewbrightness.Size = new System.Drawing.Size(210, 22);
+ this.itemviewbrightness.Size = new System.Drawing.Size(209, 22);
this.itemviewbrightness.Tag = "builder_viewmodebrightness";
this.itemviewbrightness.Text = "Brightness Levels";
this.itemviewbrightness.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -567,7 +567,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemviewfloors.Image = global::CodeImp.DoomBuilder.Properties.Resources.ViewTextureFloor;
this.itemviewfloors.Name = "itemviewfloors";
- this.itemviewfloors.Size = new System.Drawing.Size(210, 22);
+ this.itemviewfloors.Size = new System.Drawing.Size(209, 22);
this.itemviewfloors.Tag = "builder_viewmodefloors";
this.itemviewfloors.Text = "Floor Textures";
this.itemviewfloors.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -576,7 +576,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemviewceilings.Image = global::CodeImp.DoomBuilder.Properties.Resources.ViewTextureCeiling;
this.itemviewceilings.Name = "itemviewceilings";
- this.itemviewceilings.Size = new System.Drawing.Size(210, 22);
+ this.itemviewceilings.Size = new System.Drawing.Size(209, 22);
this.itemviewceilings.Tag = "builder_viewmodeceilings";
this.itemviewceilings.Text = "Ceiling Textures";
this.itemviewceilings.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -585,13 +585,13 @@ namespace CodeImp.DoomBuilder.Windows
//
this.toolStripMenuItem10.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.toolStripMenuItem10.Name = "toolStripMenuItem10";
- this.toolStripMenuItem10.Size = new System.Drawing.Size(207, 6);
+ this.toolStripMenuItem10.Size = new System.Drawing.Size(206, 6);
//
// itemscripteditor
//
this.itemscripteditor.Image = global::CodeImp.DoomBuilder.Properties.Resources.Script2;
this.itemscripteditor.Name = "itemscripteditor";
- this.itemscripteditor.Size = new System.Drawing.Size(210, 22);
+ this.itemscripteditor.Size = new System.Drawing.Size(209, 22);
this.itemscripteditor.Tag = "builder_openscripteditor";
this.itemscripteditor.Text = "Script Editor...";
this.itemscripteditor.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -599,7 +599,7 @@ namespace CodeImp.DoomBuilder.Windows
// menumode
//
this.menumode.Name = "menumode";
- this.menumode.Size = new System.Drawing.Size(45, 20);
+ this.menumode.Size = new System.Drawing.Size(50, 20);
this.menumode.Text = "Mode";
//
// menuprefabs
@@ -610,13 +610,13 @@ namespace CodeImp.DoomBuilder.Windows
this.toolStripMenuItem12,
this.itemcreateprefab});
this.menuprefabs.Name = "menuprefabs";
- this.menuprefabs.Size = new System.Drawing.Size(56, 20);
+ this.menuprefabs.Size = new System.Drawing.Size(58, 20);
this.menuprefabs.Text = "Prefabs";
//
// iteminsertprefabfile
//
this.iteminsertprefabfile.Name = "iteminsertprefabfile";
- this.iteminsertprefabfile.Size = new System.Drawing.Size(205, 22);
+ this.iteminsertprefabfile.Size = new System.Drawing.Size(199, 22);
this.iteminsertprefabfile.Tag = "builder_insertprefabfile";
this.iteminsertprefabfile.Text = "Insert Prefab from File...";
this.iteminsertprefabfile.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -624,7 +624,7 @@ namespace CodeImp.DoomBuilder.Windows
// iteminsertpreviousprefab
//
this.iteminsertpreviousprefab.Name = "iteminsertpreviousprefab";
- this.iteminsertpreviousprefab.Size = new System.Drawing.Size(205, 22);
+ this.iteminsertpreviousprefab.Size = new System.Drawing.Size(199, 22);
this.iteminsertpreviousprefab.Tag = "builder_insertpreviousprefab";
this.iteminsertpreviousprefab.Text = "Insert Previous Prefab";
this.iteminsertpreviousprefab.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -633,12 +633,12 @@ namespace CodeImp.DoomBuilder.Windows
//
this.toolStripMenuItem12.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.toolStripMenuItem12.Name = "toolStripMenuItem12";
- this.toolStripMenuItem12.Size = new System.Drawing.Size(202, 6);
+ this.toolStripMenuItem12.Size = new System.Drawing.Size(196, 6);
//
// itemcreateprefab
//
this.itemcreateprefab.Name = "itemcreateprefab";
- this.itemcreateprefab.Size = new System.Drawing.Size(205, 22);
+ this.itemcreateprefab.Size = new System.Drawing.Size(199, 22);
this.itemcreateprefab.Tag = "builder_createprefab";
this.itemcreateprefab.Text = "Create From Selection...";
this.itemcreateprefab.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -653,13 +653,13 @@ namespace CodeImp.DoomBuilder.Windows
this.toolStripMenuItem11,
this.itemtestmap});
this.menutools.Name = "menutools";
- this.menutools.Size = new System.Drawing.Size(44, 20);
+ this.menutools.Size = new System.Drawing.Size(48, 20);
this.menutools.Text = "Tools";
//
// itemreloadresources
//
this.itemreloadresources.Name = "itemreloadresources";
- this.itemreloadresources.Size = new System.Drawing.Size(197, 22);
+ this.itemreloadresources.Size = new System.Drawing.Size(196, 22);
this.itemreloadresources.Tag = "builder_reloadresources";
this.itemreloadresources.Text = "Reload Resources";
this.itemreloadresources.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -668,12 +668,12 @@ namespace CodeImp.DoomBuilder.Windows
//
this.toolStripMenuItem8.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.toolStripMenuItem8.Name = "toolStripMenuItem8";
- this.toolStripMenuItem8.Size = new System.Drawing.Size(194, 6);
+ this.toolStripMenuItem8.Size = new System.Drawing.Size(193, 6);
//
// configurationToolStripMenuItem
//
this.configurationToolStripMenuItem.Name = "configurationToolStripMenuItem";
- this.configurationToolStripMenuItem.Size = new System.Drawing.Size(197, 22);
+ this.configurationToolStripMenuItem.Size = new System.Drawing.Size(196, 22);
this.configurationToolStripMenuItem.Tag = "builder_configuration";
this.configurationToolStripMenuItem.Text = "Game Configurations...";
this.configurationToolStripMenuItem.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -681,7 +681,7 @@ namespace CodeImp.DoomBuilder.Windows
// preferencesToolStripMenuItem
//
this.preferencesToolStripMenuItem.Name = "preferencesToolStripMenuItem";
- this.preferencesToolStripMenuItem.Size = new System.Drawing.Size(197, 22);
+ this.preferencesToolStripMenuItem.Size = new System.Drawing.Size(196, 22);
this.preferencesToolStripMenuItem.Tag = "builder_preferences";
this.preferencesToolStripMenuItem.Text = "Preferences...";
this.preferencesToolStripMenuItem.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -690,13 +690,13 @@ namespace CodeImp.DoomBuilder.Windows
//
this.toolStripMenuItem11.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.toolStripMenuItem11.Name = "toolStripMenuItem11";
- this.toolStripMenuItem11.Size = new System.Drawing.Size(194, 6);
+ this.toolStripMenuItem11.Size = new System.Drawing.Size(193, 6);
//
// itemtestmap
//
this.itemtestmap.Image = global::CodeImp.DoomBuilder.Properties.Resources.Test;
this.itemtestmap.Name = "itemtestmap";
- this.itemtestmap.Size = new System.Drawing.Size(197, 22);
+ this.itemtestmap.Size = new System.Drawing.Size(196, 22);
this.itemtestmap.Tag = "builder_testmap";
this.itemtestmap.Text = "Test Map";
this.itemtestmap.Click += new System.EventHandler(this.InvokeTaggedAction);
@@ -706,13 +706,13 @@ namespace CodeImp.DoomBuilder.Windows
this.menuhelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.itemhelpabout});
this.menuhelp.Name = "menuhelp";
- this.menuhelp.Size = new System.Drawing.Size(40, 20);
+ this.menuhelp.Size = new System.Drawing.Size(44, 20);
this.menuhelp.Text = "Help";
//
// itemhelpabout
//
this.itemhelpabout.Name = "itemhelpabout";
- this.itemhelpabout.Size = new System.Drawing.Size(191, 22);
+ this.itemhelpabout.Size = new System.Drawing.Size(192, 22);
this.itemhelpabout.Text = "About Doom Builder...";
this.itemhelpabout.Click += new System.EventHandler(this.itemhelpabout_Click);
//
@@ -1102,7 +1102,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid1024
//
this.itemgrid1024.Name = "itemgrid1024";
- this.itemgrid1024.Size = new System.Drawing.Size(164, 22);
+ this.itemgrid1024.Size = new System.Drawing.Size(153, 22);
this.itemgrid1024.Tag = "1024";
this.itemgrid1024.Text = "1024 mp";
this.itemgrid1024.Click += new System.EventHandler(this.itemgridsize_Click);
@@ -1110,7 +1110,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid512
//
this.itemgrid512.Name = "itemgrid512";
- this.itemgrid512.Size = new System.Drawing.Size(164, 22);
+ this.itemgrid512.Size = new System.Drawing.Size(153, 22);
this.itemgrid512.Tag = "512";
this.itemgrid512.Text = "512 mp";
this.itemgrid512.Click += new System.EventHandler(this.itemgridsize_Click);
@@ -1118,7 +1118,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid256
//
this.itemgrid256.Name = "itemgrid256";
- this.itemgrid256.Size = new System.Drawing.Size(164, 22);
+ this.itemgrid256.Size = new System.Drawing.Size(153, 22);
this.itemgrid256.Tag = "256";
this.itemgrid256.Text = "256 mp";
this.itemgrid256.Click += new System.EventHandler(this.itemgridsize_Click);
@@ -1126,7 +1126,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid128
//
this.itemgrid128.Name = "itemgrid128";
- this.itemgrid128.Size = new System.Drawing.Size(164, 22);
+ this.itemgrid128.Size = new System.Drawing.Size(153, 22);
this.itemgrid128.Tag = "128";
this.itemgrid128.Text = "128 mp";
this.itemgrid128.Click += new System.EventHandler(this.itemgridsize_Click);
@@ -1134,7 +1134,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid64
//
this.itemgrid64.Name = "itemgrid64";
- this.itemgrid64.Size = new System.Drawing.Size(164, 22);
+ this.itemgrid64.Size = new System.Drawing.Size(153, 22);
this.itemgrid64.Tag = "64";
this.itemgrid64.Text = "64 mp";
this.itemgrid64.Click += new System.EventHandler(this.itemgridsize_Click);
@@ -1142,7 +1142,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid32
//
this.itemgrid32.Name = "itemgrid32";
- this.itemgrid32.Size = new System.Drawing.Size(164, 22);
+ this.itemgrid32.Size = new System.Drawing.Size(153, 22);
this.itemgrid32.Tag = "32";
this.itemgrid32.Text = "32 mp";
this.itemgrid32.Click += new System.EventHandler(this.itemgridsize_Click);
@@ -1150,7 +1150,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid16
//
this.itemgrid16.Name = "itemgrid16";
- this.itemgrid16.Size = new System.Drawing.Size(164, 22);
+ this.itemgrid16.Size = new System.Drawing.Size(153, 22);
this.itemgrid16.Tag = "16";
this.itemgrid16.Text = "16 mp";
this.itemgrid16.Click += new System.EventHandler(this.itemgridsize_Click);
@@ -1158,7 +1158,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid8
//
this.itemgrid8.Name = "itemgrid8";
- this.itemgrid8.Size = new System.Drawing.Size(164, 22);
+ this.itemgrid8.Size = new System.Drawing.Size(153, 22);
this.itemgrid8.Tag = "8";
this.itemgrid8.Text = "8 mp";
this.itemgrid8.Click += new System.EventHandler(this.itemgridsize_Click);
@@ -1166,7 +1166,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid4
//
this.itemgrid4.Name = "itemgrid4";
- this.itemgrid4.Size = new System.Drawing.Size(164, 22);
+ this.itemgrid4.Size = new System.Drawing.Size(153, 22);
this.itemgrid4.Tag = "4";
this.itemgrid4.Text = "4 mp";
this.itemgrid4.Click += new System.EventHandler(this.itemgridsize_Click);
@@ -1174,7 +1174,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgridcustom
//
this.itemgridcustom.Name = "itemgridcustom";
- this.itemgridcustom.Size = new System.Drawing.Size(164, 22);
+ this.itemgridcustom.Size = new System.Drawing.Size(153, 22);
this.itemgridcustom.Text = "Customize...";
this.itemgridcustom.Click += new System.EventHandler(this.itemgridcustom_Click);
//
@@ -1213,7 +1213,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemzoom200
//
this.itemzoom200.Name = "itemzoom200";
- this.itemzoom200.Size = new System.Drawing.Size(167, 22);
+ this.itemzoom200.Size = new System.Drawing.Size(156, 22);
this.itemzoom200.Tag = "200";
this.itemzoom200.Text = "200%";
this.itemzoom200.Click += new System.EventHandler(this.itemzoomto_Click);
@@ -1221,7 +1221,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemzoom100
//
this.itemzoom100.Name = "itemzoom100";
- this.itemzoom100.Size = new System.Drawing.Size(167, 22);
+ this.itemzoom100.Size = new System.Drawing.Size(156, 22);
this.itemzoom100.Tag = "100";
this.itemzoom100.Text = "100%";
this.itemzoom100.Click += new System.EventHandler(this.itemzoomto_Click);
@@ -1229,7 +1229,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemzoom50
//
this.itemzoom50.Name = "itemzoom50";
- this.itemzoom50.Size = new System.Drawing.Size(167, 22);
+ this.itemzoom50.Size = new System.Drawing.Size(156, 22);
this.itemzoom50.Tag = "50";
this.itemzoom50.Text = "50%";
this.itemzoom50.Click += new System.EventHandler(this.itemzoomto_Click);
@@ -1237,7 +1237,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemzoom25
//
this.itemzoom25.Name = "itemzoom25";
- this.itemzoom25.Size = new System.Drawing.Size(167, 22);
+ this.itemzoom25.Size = new System.Drawing.Size(156, 22);
this.itemzoom25.Tag = "25";
this.itemzoom25.Text = "25%";
this.itemzoom25.Click += new System.EventHandler(this.itemzoomto_Click);
@@ -1245,7 +1245,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemzoom10
//
this.itemzoom10.Name = "itemzoom10";
- this.itemzoom10.Size = new System.Drawing.Size(167, 22);
+ this.itemzoom10.Size = new System.Drawing.Size(156, 22);
this.itemzoom10.Tag = "10";
this.itemzoom10.Text = "10%";
this.itemzoom10.Click += new System.EventHandler(this.itemzoomto_Click);
@@ -1253,7 +1253,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemzoom5
//
this.itemzoom5.Name = "itemzoom5";
- this.itemzoom5.Size = new System.Drawing.Size(167, 22);
+ this.itemzoom5.Size = new System.Drawing.Size(156, 22);
this.itemzoom5.Tag = "5";
this.itemzoom5.Text = "5%";
this.itemzoom5.Click += new System.EventHandler(this.itemzoomto_Click);
@@ -1261,7 +1261,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemzoomfittoscreen
//
this.itemzoomfittoscreen.Name = "itemzoomfittoscreen";
- this.itemzoomfittoscreen.Size = new System.Drawing.Size(167, 22);
+ this.itemzoomfittoscreen.Size = new System.Drawing.Size(156, 22);
this.itemzoomfittoscreen.Text = "Fit to screen";
this.itemzoomfittoscreen.Click += new System.EventHandler(this.itemzoomfittoscreen_Click);
//
@@ -1412,13 +1412,13 @@ namespace CodeImp.DoomBuilder.Windows
this.processor.Interval = 10;
this.processor.Tick += new System.EventHandler(this.processor_Tick);
//
- // warningtimer
+ // statusflasher
//
- this.warningtimer.Tick += new System.EventHandler(this.warningtimer_Tick);
+ this.statusflasher.Tick += new System.EventHandler(this.statusflasher_Tick);
//
- // warningflasher
+ // statusresetter
//
- this.warningflasher.Tick += new System.EventHandler(this.warningflasher_Tick);
+ this.statusresetter.Tick += new System.EventHandler(this.statusresetter_Tick);
//
// MainForm
//
@@ -1539,8 +1539,7 @@ namespace CodeImp.DoomBuilder.Windows
private System.Windows.Forms.ToolStripMenuItem itemgriddec;
private System.Windows.Forms.ToolStripMenuItem itemgridsetup;
private System.Windows.Forms.Label modename;
- private System.Windows.Forms.Timer warningtimer;
- private System.Windows.Forms.Timer warningflasher;
+ private System.Windows.Forms.Timer statusflasher;
private System.Windows.Forms.ToolStripSplitButton buttontest;
private System.Windows.Forms.ToolStripButton buttoncut;
private System.Windows.Forms.ToolStripButton buttoncopy;
@@ -1577,5 +1576,6 @@ namespace CodeImp.DoomBuilder.Windows
private System.Windows.Forms.ToolStripButton buttoninsertpreviousprefab;
private System.Windows.Forms.Button buttontoggleinfo;
private System.Windows.Forms.Label labelcollapsedinfo;
+ private System.Windows.Forms.Timer statusresetter;
}
}
\ No newline at end of file
diff --git a/Source/Windows/MainForm.cs b/Source/Windows/MainForm.cs
index 1c648643..d60753e9 100644
--- a/Source/Windows/MainForm.cs
+++ b/Source/Windows/MainForm.cs
@@ -48,26 +48,40 @@ namespace CodeImp.DoomBuilder.Windows
{
#region ================== Constants
- private const string STATUS_READY_TEXT = "Ready.";
- private const string STATUS_LOADING_TEXT = "Loading resources...";
private const int MAX_RECENT_FILES = 8;
private const int MAX_RECENT_FILES_PIXELS = 250;
- private const int WARNING_FLASH_COUNT = 5;
private const int EXPANDED_INFO_HEIGHT = 106;
private const int COLLAPSED_INFO_HEIGHT = 20;
- private enum StatusType : int
+ // Status bar
+ private const string STATUS_READY_TEXT = "Ready.";
+ private const string STATUS_LOADING_TEXT = "Loading resources...";
+ private const int WARNING_FLASH_COUNT = 10;
+ private const int WARNING_FLASH_INTERVAL = 100;
+ private const int WARNING_RESET_DELAY = 3000;
+ private const int ACTION_FLASH_COUNT = 1;
+ private const int ACTION_FLASH_INTERVAL = 100;
+
+ private readonly Image[,] STATUS_IMAGES = new Image[2, 4]
{
- Ready,
- Busy,
- Warning
- }
+ // Normal versions
+ {
+ Properties.Resources.Status0, Properties.Resources.Status1,
+ Properties.Resources.Status2, Properties.Resources.Warning
+ },
+
+ // Flashing versions
+ {
+ Properties.Resources.Status10, Properties.Resources.Status11,
+ Properties.Resources.Status12, Properties.Resources.WarningOff
+ }
+ };
// Message pump
public enum ThreadMessages : int
{
- // Sent by the background threat to update the status icon
- UpdateStatusIcon = General.WM_USER + 1,
+ // Sent by the background threat to update the status
+ UpdateStatus = General.WM_USER + 1,
// This is sent by the background thread when images are loaded
// but only when first loaded or when dimensions were changed
@@ -123,9 +137,9 @@ namespace CodeImp.DoomBuilder.Windows
private bool updatingfilters;
// Statusbar
- private StatusType statustype;
- private int warningflashcount;
- private bool warningsignon;
+ private StatusInfo status;
+ private int statusflashcount;
+ private bool statusflashicon;
// Properties
private IntPtr windowptr;
@@ -150,6 +164,7 @@ namespace CodeImp.DoomBuilder.Windows
new public IntPtr Handle { get { return windowptr; } }
public bool IsInfoPanelExpanded { get { return (panelinfo.Height == EXPANDED_INFO_HEIGHT); } }
public bool IsActiveWindow { get { return windowactive; } }
+ public StatusInfo Status { get { return status; } }
#endregion
@@ -438,8 +453,9 @@ namespace CodeImp.DoomBuilder.Windows
{
General.WriteLogLine("Closing main interface window...");
- // Hide warning to stop timers
- HideWarning();
+ // Stop timers
+ statusflasher.Stop();
+ statusresetter.Stop();
// Stop exclusive mode, if any is active
StopExclusiveMouseInput();
@@ -513,168 +529,107 @@ namespace CodeImp.DoomBuilder.Windows
UpdateStatusIcon();
}
- // This returns the current status text
- internal string GetCurrentSatus()
+ // This flashes the status icon
+ private void statusflasher_Tick(object sender, EventArgs e)
{
- if(statustype == StatusType.Busy)
- return statuslabel.Text;
- else
- return null;
+ statusflashicon = !statusflashicon;
+ UpdateStatusIcon();
+ statusflashcount--;
+ if(statusflashcount == 0) statusflasher.Stop();
}
- // This shows a warning
- public void DisplayWarning(string warning)
+ // This resets the status to ready
+ private void statusresetter_Tick(object sender, EventArgs e)
{
- MessageBeep(MessageBeepType.Warning);
- if(statuslabel.Text != warning) statuslabel.Text = warning;
- statustype = StatusType.Warning;
- statuslabel.Image = Resources.Warning;
- warningflashcount = 0;
- warningsignon = true;
- warningtimer.Stop();
- warningtimer.Interval = 3000;
- warningtimer.Start();
- warningflasher.Start();
-
- // Refresh if needed
- statusbar.Invalidate();
- this.Update();
- }
-
- // This hides any warning
- public void HideWarning()
- {
- if(statustype == StatusType.Warning)
- {
- warningtimer.Stop();
- warningflasher.Stop();
- DisplayReady();
- }
- }
-
- // This flashes the warning sign
- private void warningflasher_Tick(object sender, EventArgs e)
- {
- if(statustype == StatusType.Warning)
- {
- // Warning sign on?
- if(warningsignon)
- {
- // Turn it off or should we stop?
- if(warningflashcount < WARNING_FLASH_COUNT)
- {
- statuslabel.Image = Resources.WarningOff;
- warningsignon = false;
- }
- else
- {
- warningflasher.Stop();
- }
- }
- else
- {
- // Turn it on and count the flash
- statuslabel.Image = Resources.Warning;
- warningsignon = true;
- warningflashcount++;
- }
- }
- }
-
- // Warning timed out
- private void warningtimer_Tick(object sender, EventArgs e)
- {
- HideWarning();
+ DisplayReady();
}
// This changes status text
- public void DisplayStatus(string status)
+ public void DisplayStatus(StatusType type, string message) { DisplayStatus(new StatusInfo(type, message)); }
+ public void DisplayStatus(StatusInfo newstatus)
{
- // Null is no busy status
- if(status == null)
+ // Stop timers
+ statusresetter.Stop();
+ statusflasher.Stop();
+ statusflashicon = false;
+
+ // Determine what to do specifically for this status type
+ switch(newstatus.type)
{
- DisplayReady();
- }
- else
- {
- // Stop warning timers
- warningtimer.Stop();
- warningflasher.Stop();
-
- // Update status description
- statustype = StatusType.Busy;
- if(statuslabel.Text != status)
- statuslabel.Text = status;
-
- // Update icon as well
- UpdateStatusIcon();
-
- // Refresh if needed
- statusbar.Invalidate();
- this.Update();
+ // When no particular information is to be displayed.
+ // The messages displayed depends on running background processes.
+ case StatusType.Ready:
+ if((General.Map != null) && (General.Map.Data != null) && General.Map.Data.IsLoading)
+ newstatus.message = STATUS_LOADING_TEXT;
+ else
+ newstatus.message = STATUS_READY_TEXT;
+ break;
+
+ // Shows action information and flashes up the status icon once.
+ case StatusType.Action:
+ MessageBeep(MessageBeepType.Warning);
+ statusflashicon = true;
+ statusflasher.Interval = ACTION_FLASH_INTERVAL;
+ statusflashcount = ACTION_FLASH_COUNT;
+ statusflasher.Start();
+ break;
+
+ // Shows a warning, makes a warning sound and flashes a warning icon.
+ case StatusType.Warning:
+ MessageBeep(MessageBeepType.Warning);
+ statusflasher.Interval = WARNING_FLASH_INTERVAL;
+ statusflashcount = WARNING_FLASH_COUNT;
+ statusflasher.Start();
+ statusresetter.Interval = WARNING_RESET_DELAY;
+ statusresetter.Start();
+ break;
}
+
+ // Update status description
+ status = newstatus;
+ if(statuslabel.Text != status.message)
+ statuslabel.Text = status.message;
+
+ // Update icon as well
+ UpdateStatusIcon();
+
+ // Refresh
+ statusbar.Invalidate();
+ this.Update();
}
-
+
// This changes status text to Ready
public void DisplayReady()
{
- // Stop warning timers
- warningtimer.Stop();
- warningflasher.Stop();
-
- // Update icon, this also sets the ready text
- statustype = StatusType.Ready;
- UpdateStatusIcon();
-
- // Refresh if needed
- statusbar.Invalidate();
- this.Update();
+ DisplayStatus(StatusType.Ready, null);
}
// This updates the status icon
internal void UpdateStatusIcon()
{
- // From another thread?
- if(statusbar.InvokeRequired)
+ int statusicon = 0;
+ int statusflashindex = statusflashicon ? 1 : 0;
+
+ // Loading icon?
+ if((General.Map != null) && (General.Map.Data != null) && General.Map.Data.IsLoading)
+ statusicon = 1;
+
+ // Status type
+ switch(status.type)
{
- // Call to form thread
- // This may not be called from a different thread. Send a WM_NOTIFY message instead!
- throw new Exception("This should not be called from any other thread than the main application thread!");
- }
- else
- {
- // Ready status?
- if(statustype == StatusType.Ready)
- {
- // Map open?
- if((General.Map != null) && (General.Map.Data != null))
- {
- // Check if loading in the background
- if(General.Map.Data.IsLoading)
- {
- // Display semi-ready icon
- statuslabel.Image = CodeImp.DoomBuilder.Properties.Resources.Status1;
- if(statuslabel.Text != STATUS_LOADING_TEXT) statuslabel.Text = STATUS_LOADING_TEXT;
- }
- else
- {
- // Display ready icon
- statuslabel.Image = CodeImp.DoomBuilder.Properties.Resources.Status0;
- if(statuslabel.Text != STATUS_READY_TEXT) statuslabel.Text = STATUS_READY_TEXT;
- }
- }
- else
- {
- // Display ready icon
- statuslabel.Image = CodeImp.DoomBuilder.Properties.Resources.Status0;
- if(statuslabel.Text != STATUS_READY_TEXT) statuslabel.Text = STATUS_READY_TEXT;
- }
- }
- else if(statustype == StatusType.Busy)
- {
- // Display busy icon
- statuslabel.Image = CodeImp.DoomBuilder.Properties.Resources.Status2;
- }
+ case StatusType.Ready:
+ case StatusType.Info:
+ case StatusType.Action:
+ statuslabel.Image = STATUS_IMAGES[statusflashindex, statusicon];
+ break;
+
+ case StatusType.Busy:
+ statuslabel.Image = STATUS_IMAGES[statusflashindex, 2];
+ break;
+
+ case StatusType.Warning:
+ statuslabel.Image = STATUS_IMAGES[statusflashindex, 3];
+ break;
}
}
@@ -2200,8 +2155,8 @@ namespace CodeImp.DoomBuilder.Windows
// Notify message?
switch(m.Msg)
{
- case (int)ThreadMessages.UpdateStatusIcon:
- UpdateStatusIcon();
+ case (int)ThreadMessages.UpdateStatus:
+ DisplayStatus(status);
break;
case (int)ThreadMessages.ImageDataLoaded:
diff --git a/Source/Windows/MainForm.resx b/Source/Windows/MainForm.resx
index 96b81a61..fb1725a7 100644
--- a/Source/Windows/MainForm.resx
+++ b/Source/Windows/MainForm.resx
@@ -169,13 +169,13 @@
True
- 121, 17
+ 127, 17
True
- 207, 17
+ 218, 17
True
@@ -196,19 +196,19 @@
True
- 304, 17
+ 319, 17
True
- 416, 17
+ 437, 17
-
- 515, 17
+
+ 541, 17
-
- 632, 17
+
+ 661, 17
True
diff --git a/Source/Windows/StatusInfo.cs b/Source/Windows/StatusInfo.cs
new file mode 100644
index 00000000..e2483b3e
--- /dev/null
+++ b/Source/Windows/StatusInfo.cs
@@ -0,0 +1,80 @@
+
+#region ================== Copyright (c) 2007 Pascal vd Heiden
+
+/*
+ * Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
+ * This program is released under GNU General Public License
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#endregion
+
+#region ================== Namespaces
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Text;
+using System.Windows.Forms;
+using System.IO;
+using System.Reflection;
+using System.Drawing;
+using System.ComponentModel;
+using CodeImp.DoomBuilder.Map;
+using SlimDX.Direct3D9;
+using SlimDX;
+using CodeImp.DoomBuilder.Geometry;
+using System.Drawing.Imaging;
+using CodeImp.DoomBuilder.Data;
+using CodeImp.DoomBuilder.Editing;
+
+#endregion
+
+namespace CodeImp.DoomBuilder.Windows
+{
+ public struct StatusInfo
+ {
+ public StatusType type;
+ public string message;
+
+ internal StatusInfo(StatusType type, string message)
+ {
+ this.type = type;
+ this.message = message;
+ }
+ }
+
+ public enum StatusType : int
+ {
+ ///
+ /// When no particular information is to be displayed. The messages displayed depends on running background processes.
+ ///
+ Ready,
+
+ ///
+ /// Shows action information and flashes up the status icon once.
+ ///
+ Action,
+
+ ///
+ /// Shows information without flashing the icon.
+ ///
+ Info,
+
+ ///
+ /// Shows information with the busy icon.
+ ///
+ Busy,
+
+ ///
+ /// Shows a warning, makes a warning sound and flashes a warning icon.
+ ///
+ Warning
+ }
+}