Added, Errors and Warnings window: most of warnings/errors related to (G)ZDoom text lump parsing can now be double-clicked to show warning/error source in the Script Editor.
Fixed: some map format conversion errors were never displayed, because errors list was cleared after performing map conversion. Fixed: 3d floor indicators in 2D modes were not updated after leaving Visual mode. Fixed: some UDMF-only interface buttons were never removed after converting map format from UDMF.
|
@ -1191,6 +1191,8 @@
|
||||||
<None Include="Resources\GridDecrease.png" />
|
<None Include="Resources\GridDecrease.png" />
|
||||||
<None Include="Resources\GridIncrease.png" />
|
<None Include="Resources\GridIncrease.png" />
|
||||||
<None Include="Resources\FixedThingsScale.png" />
|
<None Include="Resources\FixedThingsScale.png" />
|
||||||
|
<None Include="Resources\ErrorLargeMapObject.png" />
|
||||||
|
<None Include="Resources\ErrorLargeText.png" />
|
||||||
<Content Include="Resources\Light.png" />
|
<Content Include="Resources\Light.png" />
|
||||||
<None Include="Resources\Lightbulb.png" />
|
<None Include="Resources\Lightbulb.png" />
|
||||||
<None Include="Resources\LightDisabled.png" />
|
<None Include="Resources\LightDisabled.png" />
|
||||||
|
@ -1210,6 +1212,8 @@
|
||||||
<None Include="Resources\ModelDisabled.png" />
|
<None Include="Resources\ModelDisabled.png" />
|
||||||
<None Include="Resources\ModelFiltered.png" />
|
<None Include="Resources\ModelFiltered.png" />
|
||||||
<Content Include="Resources\Model_selected.png" />
|
<Content Include="Resources\Model_selected.png" />
|
||||||
|
<None Include="Resources\WarningLargeText.png" />
|
||||||
|
<None Include="Resources\WarningLargeMapObject.png" />
|
||||||
<None Include="Resources\Script.png" />
|
<None Include="Resources\Script.png" />
|
||||||
<None Include="Resources\SplitSectors.png" />
|
<None Include="Resources\SplitSectors.png" />
|
||||||
<None Include="Resources\ScriptProperty.png" />
|
<None Include="Resources\ScriptProperty.png" />
|
||||||
|
|
|
@ -24,6 +24,7 @@ using System.Windows.Forms;
|
||||||
using CodeImp.DoomBuilder.Compilers;
|
using CodeImp.DoomBuilder.Compilers;
|
||||||
using CodeImp.DoomBuilder.Config;
|
using CodeImp.DoomBuilder.Config;
|
||||||
using CodeImp.DoomBuilder.Controls.Scripting;
|
using CodeImp.DoomBuilder.Controls.Scripting;
|
||||||
|
using CodeImp.DoomBuilder.Data;
|
||||||
using CodeImp.DoomBuilder.Data.Scripting;
|
using CodeImp.DoomBuilder.Data.Scripting;
|
||||||
using CodeImp.DoomBuilder.Windows;
|
using CodeImp.DoomBuilder.Windows;
|
||||||
using ScintillaNET;
|
using ScintillaNET;
|
||||||
|
@ -213,7 +214,7 @@ namespace CodeImp.DoomBuilder.Controls
|
||||||
if(File.Exists(settings.Filename))
|
if(File.Exists(settings.Filename))
|
||||||
{
|
{
|
||||||
// Load this!
|
// Load this!
|
||||||
ScriptFileDocumentTab t = OpenFile(settings.Filename);
|
ScriptFileDocumentTab t = OpenFile(settings.Filename, settings.ScriptType);
|
||||||
t.SetViewSettings(settings); //mxd
|
t.SetViewSettings(settings); //mxd
|
||||||
if(settings.IsActiveTab) activetab = t;
|
if(settings.IsActiveTab) activetab = t;
|
||||||
}
|
}
|
||||||
|
@ -622,6 +623,42 @@ namespace CodeImp.DoomBuilder.Controls
|
||||||
splitter.Panel2Collapsed = (errorlist.Items.Count == 0);
|
splitter.Panel2Collapsed = (errorlist.Items.Count == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//mxd
|
||||||
|
internal void ShowError(TextResourceErrorItem item)
|
||||||
|
{
|
||||||
|
// Resource exists?
|
||||||
|
DataReader dr = null;
|
||||||
|
foreach(DataReader reader in General.Map.Data.Containers)
|
||||||
|
{
|
||||||
|
if(reader.Location.location == item.ResourceLocation)
|
||||||
|
{
|
||||||
|
dr = reader;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Target lump exists?
|
||||||
|
if(dr == null || !dr.FileExists(item.LumpName, item.LumpIndex)) return;
|
||||||
|
|
||||||
|
TextResourceData trd = new TextResourceData(dr, dr.LoadFile(item.LumpName, item.LumpIndex), item.LumpName, item.LumpIndex, false);
|
||||||
|
var targettab = OpenResource(new ScriptResource(trd, item.ScriptType));
|
||||||
|
|
||||||
|
// Go to error line
|
||||||
|
if(targettab != null && item.LineNumber != CompilerError.NO_LINE_NUMBER)
|
||||||
|
targettab.MoveToLine(item.LineNumber);
|
||||||
|
}
|
||||||
|
|
||||||
|
//mxd
|
||||||
|
/*internal void ShowError(TextFileErrorItem item)
|
||||||
|
{
|
||||||
|
// File exists?
|
||||||
|
ScriptDocumentTab targettab = OpenFile(item.Filename, item.ScriptType);
|
||||||
|
|
||||||
|
// Go to error line
|
||||||
|
if(targettab != null && item.LineNumber != CompilerError.NO_LINE_NUMBER)
|
||||||
|
targettab.MoveToLine(item.LineNumber);
|
||||||
|
}*/
|
||||||
|
|
||||||
// This writes all explicitly opened files to the configuration
|
// This writes all explicitly opened files to the configuration
|
||||||
public void WriteOpenFilesToConfiguration()
|
public void WriteOpenFilesToConfiguration()
|
||||||
{
|
{
|
||||||
|
@ -843,7 +880,7 @@ namespace CodeImp.DoomBuilder.Controls
|
||||||
}
|
}
|
||||||
|
|
||||||
// This opens the given file, returns null when failed
|
// This opens the given file, returns null when failed
|
||||||
public ScriptFileDocumentTab OpenFile(string filename)
|
public ScriptFileDocumentTab OpenFile(string filename, ScriptType scripttype)
|
||||||
{
|
{
|
||||||
//mxd. Check if we already have this file opened
|
//mxd. Check if we already have this file opened
|
||||||
foreach(var tab in tabs.TabPages)
|
foreach(var tab in tabs.TabPages)
|
||||||
|
@ -861,6 +898,8 @@ namespace CodeImp.DoomBuilder.Controls
|
||||||
ScriptConfiguration foundconfig = new ScriptConfiguration();
|
ScriptConfiguration foundconfig = new ScriptConfiguration();
|
||||||
|
|
||||||
// Find the most suitable script configuration to use
|
// Find the most suitable script configuration to use
|
||||||
|
if(scripttype == ScriptType.UNKNOWN)
|
||||||
|
{
|
||||||
foreach(ScriptConfiguration cfg in scriptconfigs)
|
foreach(ScriptConfiguration cfg in scriptconfigs)
|
||||||
{
|
{
|
||||||
foreach(string ext in cfg.Extensions)
|
foreach(string ext in cfg.Extensions)
|
||||||
|
@ -873,12 +912,19 @@ namespace CodeImp.DoomBuilder.Controls
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
foundconfig = General.GetScriptConfiguration(scripttype);
|
||||||
|
}
|
||||||
|
|
||||||
// Create new document
|
// Create new document
|
||||||
ScriptFileDocumentTab t = new ScriptFileDocumentTab(this, foundconfig);
|
ScriptFileDocumentTab t = new ScriptFileDocumentTab(this, foundconfig);
|
||||||
if(t.Open(filename))
|
if(t.Open(filename))
|
||||||
{
|
{
|
||||||
//mxd
|
//mxd. Try to determine script type from file contents...
|
||||||
|
if(scripttype == ScriptType.UNKNOWN)
|
||||||
|
{
|
||||||
ScriptType st = t.VerifyScriptType();
|
ScriptType st = t.VerifyScriptType();
|
||||||
if(st != ScriptType.UNKNOWN)
|
if(st != ScriptType.UNKNOWN)
|
||||||
{
|
{
|
||||||
|
@ -891,6 +937,7 @@ namespace CodeImp.DoomBuilder.Controls
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Mark any errors this script may have
|
// Mark any errors this script may have
|
||||||
if(compilererrors != null) t.MarkScriptErrors(compilererrors);
|
if(compilererrors != null) t.MarkScriptErrors(compilererrors);
|
||||||
|
@ -1137,7 +1184,7 @@ namespace CodeImp.DoomBuilder.Controls
|
||||||
{
|
{
|
||||||
if(!openedfiles.Contains(name))
|
if(!openedfiles.Contains(name))
|
||||||
{
|
{
|
||||||
ScriptFileDocumentTab t = OpenFile(name);
|
ScriptFileDocumentTab t = OpenFile(name, ScriptType.UNKNOWN);
|
||||||
|
|
||||||
// Apply document settings
|
// Apply document settings
|
||||||
if(General.Map.Options.ScriptDocumentSettings.ContainsKey(t.Filename))
|
if(General.Map.Options.ScriptDocumentSettings.ContainsKey(t.Filename))
|
||||||
|
@ -1484,7 +1531,7 @@ namespace CodeImp.DoomBuilder.Controls
|
||||||
// If we don't have the script opened, see if we can find the file and open the script
|
// If we don't have the script opened, see if we can find the file and open the script
|
||||||
if(!foundscript && File.Exists(err.filename))
|
if(!foundscript && File.Exists(err.filename))
|
||||||
{
|
{
|
||||||
ScriptDocumentTab t = OpenFile(err.filename);
|
ScriptDocumentTab t = OpenFile(err.filename, ScriptType.UNKNOWN);
|
||||||
if(t != null) t.MoveToLine(err.linenumber);
|
if(t != null) t.MoveToLine(err.linenumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1255,7 +1255,7 @@ namespace CodeImp.DoomBuilder.Data
|
||||||
int index = file.FindLumpIndex(lumpname);
|
int index = file.FindLumpIndex(lumpname);
|
||||||
if(index == -1)
|
if(index == -1)
|
||||||
{
|
{
|
||||||
errors.Add(new CompilerError { description = "Lump \"" + lumpname + "\" does not exist", filename = this.location.GetDisplayName() });
|
errors.Add(new CompilerError("Lump \"" + lumpname + "\" does not exist", location.GetDisplayName()));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,22 +16,285 @@
|
||||||
|
|
||||||
#region ================== Namespaces
|
#region ================== Namespaces
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using CodeImp.DoomBuilder.Config;
|
||||||
|
using CodeImp.DoomBuilder.Data;
|
||||||
|
using CodeImp.DoomBuilder.Editing;
|
||||||
|
using CodeImp.DoomBuilder.Geometry;
|
||||||
|
using CodeImp.DoomBuilder.Map;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
namespace CodeImp.DoomBuilder
|
namespace CodeImp.DoomBuilder
|
||||||
{
|
{
|
||||||
internal struct ErrorItem
|
#region ================== ErrorItem (mxd)
|
||||||
{
|
|
||||||
public ErrorType type;
|
|
||||||
public string message;
|
|
||||||
|
|
||||||
internal ErrorItem(ErrorType type, string message)
|
public class ErrorItem
|
||||||
|
{
|
||||||
|
protected ErrorType type;
|
||||||
|
protected string description;
|
||||||
|
protected Image icon;
|
||||||
|
|
||||||
|
public ErrorType Type { get { return type; } }
|
||||||
|
public string Description { get { return description; } }
|
||||||
|
public Image Icon { get { return icon; } }
|
||||||
|
internal virtual bool IsShowable { get { return false; } }
|
||||||
|
|
||||||
|
public ErrorItem(ErrorType type, string description)
|
||||||
{
|
{
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.message = message;
|
this.description = description;
|
||||||
|
this.icon = GetIcon();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected virtual Image GetIcon()
|
||||||
|
{
|
||||||
|
return (type == ErrorType.Error ? Properties.Resources.ErrorLarge : Properties.Resources.WarningLarge);
|
||||||
|
}
|
||||||
|
|
||||||
|
internal virtual void ShowSource() { }
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region ================== MapElementErrorItem (mxd)
|
||||||
|
|
||||||
|
public class MapElementErrorItem : ErrorItem
|
||||||
|
{
|
||||||
|
private MapElement target;
|
||||||
|
private RectangleF zoomarea;
|
||||||
|
private string targetmodename;
|
||||||
|
|
||||||
|
internal override bool IsShowable { get { return true; } }
|
||||||
|
|
||||||
|
public MapElementErrorItem(ErrorType type, MapElement target, string description) : base(type, description)
|
||||||
|
{
|
||||||
|
this.target = target;
|
||||||
|
|
||||||
|
// Calculate zoom area
|
||||||
|
List<Vector2D> points = new List<Vector2D>();
|
||||||
|
RectangleF area = MapSet.CreateEmptyArea();
|
||||||
|
|
||||||
|
// Add all points to a list
|
||||||
|
if(target is Vertex)
|
||||||
|
{
|
||||||
|
points.Add((target as Vertex).Position);
|
||||||
|
targetmodename = "VerticesMode";
|
||||||
|
}
|
||||||
|
else if(target is Linedef)
|
||||||
|
{
|
||||||
|
points.Add((target as Linedef).Start.Position);
|
||||||
|
points.Add((target as Linedef).End.Position);
|
||||||
|
targetmodename = "LinedefsMode";
|
||||||
|
}
|
||||||
|
else if(target is Sidedef)
|
||||||
|
{
|
||||||
|
points.Add((target as Sidedef).Line.Start.Position);
|
||||||
|
points.Add((target as Sidedef).Line.End.Position);
|
||||||
|
targetmodename = "LinedefsMode";
|
||||||
|
}
|
||||||
|
else if(target is Sector)
|
||||||
|
{
|
||||||
|
Sector s = (target as Sector);
|
||||||
|
foreach(Sidedef sd in s.Sidedefs)
|
||||||
|
{
|
||||||
|
points.Add(sd.Line.Start.Position);
|
||||||
|
points.Add(sd.Line.End.Position);
|
||||||
|
}
|
||||||
|
targetmodename = "SectorsMode";
|
||||||
|
}
|
||||||
|
else if(target is Thing)
|
||||||
|
{
|
||||||
|
Thing t = (target as Thing);
|
||||||
|
Vector2D p = t.Position;
|
||||||
|
points.Add(p);
|
||||||
|
points.Add(p + new Vector2D(t.Size * 2.0f, t.Size * 2.0f));
|
||||||
|
points.Add(p + new Vector2D(t.Size * 2.0f, -t.Size * 2.0f));
|
||||||
|
points.Add(p + new Vector2D(-t.Size * 2.0f, t.Size * 2.0f));
|
||||||
|
points.Add(p + new Vector2D(-t.Size * 2.0f, -t.Size * 2.0f));
|
||||||
|
targetmodename = "ThingsMode";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
General.Fail("Unknown object given to zoom in on.");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Make a view area from the points
|
||||||
|
foreach(Vector2D p in points)
|
||||||
|
area = MapSet.IncreaseArea(area, p);
|
||||||
|
|
||||||
|
// Make the area square, using the largest side
|
||||||
|
if(area.Width > area.Height)
|
||||||
|
{
|
||||||
|
float delta = area.Width - area.Height;
|
||||||
|
area.Y -= delta * 0.5f;
|
||||||
|
area.Height += delta;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
float delta = area.Height - area.Width;
|
||||||
|
area.X -= delta * 0.5f;
|
||||||
|
area.Width += delta;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add padding
|
||||||
|
area.Inflate(100f, 100f);
|
||||||
|
|
||||||
|
// Store
|
||||||
|
this.zoomarea = area;
|
||||||
|
}
|
||||||
|
|
||||||
|
internal override void ShowSource()
|
||||||
|
{
|
||||||
|
// Switch to appropriate mode...
|
||||||
|
if(General.Editing.Mode.GetType().Name != targetmodename)
|
||||||
|
{
|
||||||
|
// Leave any volatile mode
|
||||||
|
General.Editing.CancelVolatileMode();
|
||||||
|
General.Editing.ChangeMode(targetmodename);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Select map element if it still exists
|
||||||
|
if(target != null && !target.IsDisposed)
|
||||||
|
{
|
||||||
|
General.Map.Map.ClearAllSelected();
|
||||||
|
|
||||||
|
if(target is Vertex)
|
||||||
|
{
|
||||||
|
((Vertex)target).Selected = true;
|
||||||
|
}
|
||||||
|
else if(target is Sidedef)
|
||||||
|
{
|
||||||
|
((Sidedef)target).Line.Selected = true;
|
||||||
|
}
|
||||||
|
else if(target is Linedef)
|
||||||
|
{
|
||||||
|
((Linedef)target).Selected = true;
|
||||||
|
}
|
||||||
|
else if(target is Sector)
|
||||||
|
{
|
||||||
|
Sector s = (Sector)target;
|
||||||
|
((ClassicMode)General.Editing.Mode).SelectMapElement(s);
|
||||||
|
foreach(Sidedef sd in s.Sidedefs) sd.Line.Selected = true;
|
||||||
|
}
|
||||||
|
else if(target is Thing)
|
||||||
|
{
|
||||||
|
((Thing)target).Selected = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new NotImplementedException("Unknown MapElement type!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Show area
|
||||||
|
ClassicMode editmode = (General.Editing.Mode as ClassicMode);
|
||||||
|
editmode.CenterOnArea(zoomarea, 0.6f);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override Image GetIcon()
|
||||||
|
{
|
||||||
|
return (type == ErrorType.Error ? Properties.Resources.ErrorLargeMapObject : Properties.Resources.WarningLargeMapObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region ================== TextResourceErrorItem (mxd)
|
||||||
|
|
||||||
|
public class TextResourceErrorItem : ErrorItem
|
||||||
|
{
|
||||||
|
private string resourcelocation;
|
||||||
|
private ScriptType scripttype;
|
||||||
|
private string lumpname;
|
||||||
|
private int lumpindex;
|
||||||
|
private int linenumber;
|
||||||
|
|
||||||
|
public string ResourceLocation { get { return resourcelocation; } }
|
||||||
|
public ScriptType ScriptType { get { return scripttype; } }
|
||||||
|
public string LumpName { get { return lumpname; } }
|
||||||
|
public int LumpIndex { get { return lumpindex; } }
|
||||||
|
public int LineNumber { get { return linenumber; } }
|
||||||
|
|
||||||
|
internal override bool IsShowable { get { return true; } }
|
||||||
|
|
||||||
|
internal TextResourceErrorItem(ErrorType type, ScriptType scripttype, DataLocation resourcelocation, string lumpname, int lumpindex, int linenumber, string description)
|
||||||
|
: base(type, description)
|
||||||
|
{
|
||||||
|
this.resourcelocation = resourcelocation.location;
|
||||||
|
this.scripttype = scripttype;
|
||||||
|
this.lumpname = lumpname;
|
||||||
|
this.lumpindex = lumpindex;
|
||||||
|
this.linenumber = linenumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
internal override void ShowSource()
|
||||||
|
{
|
||||||
|
// Only when a map is loaded
|
||||||
|
if(General.Map == null || General.Map.Data == null) return;
|
||||||
|
|
||||||
|
// Show Script Editor
|
||||||
|
General.Map.ShowScriptEditor();
|
||||||
|
|
||||||
|
// Show in ScriptEditor
|
||||||
|
General.Map.ScriptEditor.DisplayError(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override Image GetIcon()
|
||||||
|
{
|
||||||
|
return (type == ErrorType.Error ? Properties.Resources.ErrorLargeText : Properties.Resources.WarningLargeText);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region ================== TextFileErrorItem (mxd)
|
||||||
|
|
||||||
|
/*public class TextFileErrorItem : ErrorItem
|
||||||
|
{
|
||||||
|
private string filepathname;
|
||||||
|
private ScriptType scripttype;
|
||||||
|
private int linenumber;
|
||||||
|
|
||||||
|
public string Filename { get { return filepathname; } }
|
||||||
|
public ScriptType ScriptType { get { return scripttype; } }
|
||||||
|
public int LineNumber { get { return linenumber; } }
|
||||||
|
|
||||||
|
internal override bool IsShowable { get { return true; } }
|
||||||
|
|
||||||
|
public TextFileErrorItem(ErrorType type, ScriptType scripttype, string filepathname, int linenumber, string description)
|
||||||
|
: base(type, description)
|
||||||
|
{
|
||||||
|
this.filepathname = filepathname;
|
||||||
|
this.scripttype = scripttype;
|
||||||
|
this.linenumber = linenumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
internal override void ShowSource()
|
||||||
|
{
|
||||||
|
// Only when a map is loaded
|
||||||
|
if(General.Map == null || General.Map.Data == null) return;
|
||||||
|
|
||||||
|
// Show Script Editor
|
||||||
|
General.Map.ShowScriptEditor();
|
||||||
|
|
||||||
|
// Show in ScriptEditor
|
||||||
|
General.Map.ScriptEditor.DisplayError(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override Image GetIcon()
|
||||||
|
{
|
||||||
|
return (type == ErrorType.Error ? Properties.Resources.ErrorLargeText : Properties.Resources.WarningLargeText);
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region ================== ErrorType
|
||||||
|
|
||||||
public enum ErrorType
|
public enum ErrorType
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -44,4 +307,6 @@ namespace CodeImp.DoomBuilder
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Warning
|
Warning
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,23 +76,23 @@ namespace CodeImp.DoomBuilder
|
||||||
}
|
}
|
||||||
|
|
||||||
// This adds a new error
|
// This adds a new error
|
||||||
public void Add(ErrorType type, string message)
|
public void Add(ErrorType type, string message) { Add(new ErrorItem(type, message)); }
|
||||||
|
public void Add(ErrorItem error) //mxd
|
||||||
{
|
{
|
||||||
string prefix = "";
|
|
||||||
|
|
||||||
lock(threadlock)
|
lock(threadlock)
|
||||||
{
|
{
|
||||||
//mxd. Don't add duplicate messages
|
//mxd. Don't add duplicate messages
|
||||||
if(errors.Count == 0 || message != errors[errors.Count - 1].message || type != errors[errors.Count - 1].type)
|
if(errors.Count == 0 || error.Description != errors[errors.Count - 1].Description || error.Type != errors[errors.Count - 1].Type)
|
||||||
{
|
{
|
||||||
errors.Add(new ErrorItem(type, message));
|
errors.Add(error);
|
||||||
switch(type)
|
string prefix = "";
|
||||||
|
switch(error.Type)
|
||||||
{
|
{
|
||||||
case ErrorType.Error:
|
case ErrorType.Error:
|
||||||
erroradded = true;
|
erroradded = true;
|
||||||
prefix = "ERROR: ";
|
prefix = "ERROR: ";
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
DebugConsole.WriteLine(DebugMessageType.ERROR, message);
|
DebugConsole.WriteLine(DebugMessageType.ERROR, error.Description);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -100,17 +100,17 @@ namespace CodeImp.DoomBuilder
|
||||||
warningadded = true;
|
warningadded = true;
|
||||||
prefix = "WARNING: ";
|
prefix = "WARNING: ";
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
DebugConsole.WriteLine(DebugMessageType.WARNING, message);
|
DebugConsole.WriteLine(DebugMessageType.WARNING, error.Description);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
changed = true;
|
changed = true;
|
||||||
General.WriteLogLine(prefix + message);
|
General.WriteLogLine(prefix + error.Description);
|
||||||
General.MainWindow.SetWarningsCount(errors.Count, erroradded); //mxd
|
General.MainWindow.SetWarningsCount(errors.Count, erroradded); //mxd
|
||||||
}
|
}
|
||||||
//mxd. But still blink the indicator on errors
|
// But still blink the indicator on errors
|
||||||
else if(type == ErrorType.Error)
|
else if(error.Type == ErrorType.Error)
|
||||||
{
|
{
|
||||||
General.MainWindow.SetWarningsCount(errors.Count, true);
|
General.MainWindow.SetWarningsCount(errors.Count, true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1053,7 +1053,7 @@ namespace CodeImp.DoomBuilder
|
||||||
filetitle = Path.GetFileName(filepathname);
|
filetitle = Path.GetFileName(filepathname);
|
||||||
|
|
||||||
// Reload resources
|
// Reload resources
|
||||||
ReloadResources();
|
ReloadResources(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
|
@ -2208,7 +2208,7 @@ namespace CodeImp.DoomBuilder
|
||||||
DebugConsole.Clear();
|
DebugConsole.Clear();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ReloadResources();
|
ReloadResources(true);
|
||||||
|
|
||||||
if(General.ErrorLogger.IsErrorAdded)
|
if(General.ErrorLogger.IsErrorAdded)
|
||||||
{
|
{
|
||||||
|
@ -2223,7 +2223,7 @@ namespace CodeImp.DoomBuilder
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void ReloadResources()
|
internal void ReloadResources(bool clearerrors) //mxd. clearerrors flag
|
||||||
{
|
{
|
||||||
// Keep old display info
|
// Keep old display info
|
||||||
StatusInfo oldstatus = General.MainWindow.Status;
|
StatusInfo oldstatus = General.MainWindow.Status;
|
||||||
|
@ -2242,8 +2242,8 @@ namespace CodeImp.DoomBuilder
|
||||||
GC.WaitForPendingFinalizers();
|
GC.WaitForPendingFinalizers();
|
||||||
GC.Collect(); //mxd
|
GC.Collect(); //mxd
|
||||||
|
|
||||||
// Clear errors
|
// Clear errors?
|
||||||
General.ErrorLogger.Clear();
|
if(clearerrors) General.ErrorLogger.Clear();
|
||||||
|
|
||||||
// Reload game configuration
|
// Reload game configuration
|
||||||
General.WriteLogLine("Reloading game configuration...");
|
General.WriteLogLine("Reloading game configuration...");
|
||||||
|
@ -2310,6 +2310,9 @@ namespace CodeImp.DoomBuilder
|
||||||
// Stop data manager
|
// Stop data manager
|
||||||
data.Dispose();
|
data.Dispose();
|
||||||
|
|
||||||
|
//mxd. Clear errors
|
||||||
|
General.ErrorLogger.Clear();
|
||||||
|
|
||||||
// Apply new options
|
// Apply new options
|
||||||
this.options = optionsform.Options;
|
this.options = optionsform.Options;
|
||||||
|
|
||||||
|
@ -2383,7 +2386,7 @@ namespace CodeImp.DoomBuilder
|
||||||
map.UpdateCustomLinedefColors();
|
map.UpdateCustomLinedefColors();
|
||||||
|
|
||||||
// Reload resources
|
// Reload resources
|
||||||
ReloadResources();
|
ReloadResources(false);
|
||||||
|
|
||||||
// Update interface
|
// Update interface
|
||||||
General.MainWindow.SetupInterface();
|
General.MainWindow.SetupInterface();
|
||||||
|
|
|
@ -593,7 +593,8 @@ namespace CodeImp.DoomBuilder.Map
|
||||||
//Convert tag to arg0
|
//Convert tag to arg0
|
||||||
if(tags[0] < General.Map.FormatInterface.MinArgument || tags[0] > General.Map.FormatInterface.MaxArgument)
|
if(tags[0] < General.Map.FormatInterface.MinArgument || tags[0] > General.Map.FormatInterface.MaxArgument)
|
||||||
{
|
{
|
||||||
General.ErrorLogger.Add(ErrorType.Warning, "Linedef " + Index + ": unable to convert Tag (" + tags[0] + ") to LineID because it's outside of supported argument range [" + General.Map.FormatInterface.MinArgument + ".." + General.Map.FormatInterface.MaxArgument + "].");
|
string message = "Linedef " + Index + ": unable to convert Tag (" + tags[0] + ") to LineID because it's outside of supported argument range [" + General.Map.FormatInterface.MinArgument + ".." + General.Map.FormatInterface.MaxArgument + "].";
|
||||||
|
General.ErrorLogger.Add(new MapElementErrorItem(ErrorType.Warning, this, message));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -621,18 +622,21 @@ namespace CodeImp.DoomBuilder.Map
|
||||||
|
|
||||||
if(tags[0] != 0)
|
if(tags[0] != 0)
|
||||||
{
|
{
|
||||||
General.ErrorLogger.Add(ErrorType.Warning, "Linedef " + Index + ": unable to convert Tag (" + tags[0] + ") to LineID, because target sector tag (arg0) is greater than " + General.Map.FormatInterface.MaxArgument + ".");
|
string message = "Linedef " + Index + ": unable to convert Tag (" + tags[0] + ") to LineID, because target sector tag (arg0) is greater than " + General.Map.FormatInterface.MaxArgument + ".";
|
||||||
|
General.ErrorLogger.Add(new MapElementErrorItem(ErrorType.Warning, this, message));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(args[0] < General.Map.FormatInterface.MinArgument)
|
else if(args[0] < General.Map.FormatInterface.MinArgument)
|
||||||
{
|
{
|
||||||
General.ErrorLogger.Add(ErrorType.Warning, "Linedef " + Index + ": unable to convert arg0 (" + args[0] + "), because it's outside of supported argument range [" + General.Map.FormatInterface.MinArgument + ".." + General.Map.FormatInterface.MaxArgument + "].");
|
string message = "Linedef " + Index + ": unable to convert arg0 (" + args[0] + "), because it's outside of supported argument range [" + General.Map.FormatInterface.MinArgument + ".." + General.Map.FormatInterface.MaxArgument + "].";
|
||||||
|
General.ErrorLogger.Add(new MapElementErrorItem(ErrorType.Warning, this, message));
|
||||||
}
|
}
|
||||||
else if(tags[0] > General.Map.FormatInterface.MinArgument) // Convert to LineID?
|
else if(tags[0] > General.Map.FormatInterface.MinArgument) // Convert to LineID?
|
||||||
{
|
{
|
||||||
if(tags[0] > General.Map.FormatInterface.MaxArgument)
|
if(tags[0] > General.Map.FormatInterface.MaxArgument)
|
||||||
{
|
{
|
||||||
General.ErrorLogger.Add(ErrorType.Warning, "Linedef " + Index + ": unable to convert Tag (" + tags[0] + ") to LineID, because linedef tag is greater than " + General.Map.FormatInterface.MaxArgument + ".");
|
string message = "Linedef " + Index + ": unable to convert Tag (" + tags[0] + ") to LineID, because linedef tag is greater than " + General.Map.FormatInterface.MaxArgument + ".";
|
||||||
|
General.ErrorLogger.Add(new MapElementErrorItem(ErrorType.Warning, this, message));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -647,7 +651,8 @@ namespace CodeImp.DoomBuilder.Map
|
||||||
{
|
{
|
||||||
if(action != 0)
|
if(action != 0)
|
||||||
{
|
{
|
||||||
General.ErrorLogger.Add(ErrorType.Warning, "Linedef " + Index + ": unable to convert Tag (" + tags[0] + ") to LineID, because linedef already has an action.");
|
string message = "Linedef " + Index + ": unable to convert Tag (" + tags[0] + ") to LineID, because linedef already has an action.";
|
||||||
|
General.ErrorLogger.Add(new MapElementErrorItem(ErrorType.Warning, this, message));
|
||||||
}
|
}
|
||||||
else // Convert to Line_SetIdentification
|
else // Convert to Line_SetIdentification
|
||||||
{
|
{
|
||||||
|
@ -662,7 +667,8 @@ namespace CodeImp.DoomBuilder.Map
|
||||||
}
|
}
|
||||||
else if(tags[0] < General.Map.FormatInterface.MinArgument)
|
else if(tags[0] < General.Map.FormatInterface.MinArgument)
|
||||||
{
|
{
|
||||||
General.ErrorLogger.Add(ErrorType.Warning, "Linedef " + Index + ": unable to convert Tag (" + tags[0] + ") to LineID, because it's outside of supported argument range [" + General.Map.FormatInterface.MinArgument + ".." + General.Map.FormatInterface.MaxArgument + "].");
|
string message = "Linedef " + Index + ": unable to convert Tag (" + tags[0] + ") to LineID, because it's outside of supported argument range [" + General.Map.FormatInterface.MinArgument + ".." + General.Map.FormatInterface.MaxArgument + "].";
|
||||||
|
General.ErrorLogger.Add(new MapElementErrorItem(ErrorType.Warning, this, message));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
28
Source/Core/Properties/Resources.Designer.cs
generated
|
@ -291,6 +291,20 @@ namespace CodeImp.DoomBuilder.Properties {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal static System.Drawing.Bitmap ErrorLargeMapObject {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("ErrorLargeMapObject", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static System.Drawing.Bitmap ErrorLargeText {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("ErrorLargeText", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
internal static System.Drawing.Bitmap Expand {
|
internal static System.Drawing.Bitmap Expand {
|
||||||
get {
|
get {
|
||||||
object obj = ResourceManager.GetObject("Expand", resourceCulture);
|
object obj = ResourceManager.GetObject("Expand", resourceCulture);
|
||||||
|
@ -1145,6 +1159,20 @@ namespace CodeImp.DoomBuilder.Properties {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal static System.Drawing.Bitmap WarningLargeMapObject {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("WarningLargeMapObject", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static System.Drawing.Bitmap WarningLargeText {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("WarningLargeText", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
internal static System.Drawing.Bitmap WarningOff {
|
internal static System.Drawing.Bitmap WarningOff {
|
||||||
get {
|
get {
|
||||||
object obj = ResourceManager.GetObject("WarningOff", resourceCulture);
|
object obj = ResourceManager.GetObject("WarningOff", resourceCulture);
|
||||||
|
|
|
@ -595,4 +595,16 @@
|
||||||
<data name="Check" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="Check" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\Check.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\Check.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="ErrorLargeMapObject" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\ErrorLargeMapObject.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="ErrorLargeText" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\ErrorLargeText.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="WarningLargeMapObject" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\WarningLargeMapObject.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="WarningLargeText" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\WarningLargeText.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
Before Width: | Height: | Size: 1,016 B After Width: | Height: | Size: 1.8 KiB |
BIN
Source/Core/Resources/ErrorLargeMapObject.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
Source/Core/Resources/ErrorLargeText.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 749 B After Width: | Height: | Size: 1.5 KiB |
BIN
Source/Core/Resources/WarningLargeMapObject.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
Source/Core/Resources/WarningLargeText.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
|
@ -235,6 +235,9 @@ namespace CodeImp.DoomBuilder.VisualModes
|
||||||
selectedVisualSectors = null;
|
selectedVisualSectors = null;
|
||||||
selectedVisualThings = null;
|
selectedVisualThings = null;
|
||||||
|
|
||||||
|
//mxd. Extra floors may've been edited
|
||||||
|
General.Map.Renderer2D.UpdateExtraFloorFlag();
|
||||||
|
|
||||||
// Stop special input mode
|
// Stop special input mode
|
||||||
General.Interface.DisableProcessing();
|
General.Interface.DisableProcessing();
|
||||||
General.Interface.StopExclusiveMouseInput();
|
General.Interface.StopExclusiveMouseInput();
|
||||||
|
|
|
@ -757,11 +757,7 @@ namespace CodeImp.DoomBuilder.VisualModes
|
||||||
//mxd
|
//mxd
|
||||||
private void UpdateLightRadius(int interval)
|
private void UpdateLightRadius(int interval)
|
||||||
{
|
{
|
||||||
if(lightType == DynamicLightType.NONE)
|
if(lightType == DynamicLightType.NONE) return;
|
||||||
{
|
|
||||||
General.ErrorLogger.Add(ErrorType.Error, "Please check that thing is light before accessing it's PositionAndRadius! You can use lightType, which is -1 if thing isn't light");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(General.Settings.GZDrawLightsMode == LightRenderMode.ALL || Array.IndexOf(GZBuilder.GZGeneral.GZ_ANIMATED_LIGHT_TYPES, lightType) == -1)
|
if(General.Settings.GZDrawLightsMode == LightRenderMode.ALL || Array.IndexOf(GZBuilder.GZGeneral.GZ_ANIMATED_LIGHT_TYPES, lightType) == -1)
|
||||||
{
|
{
|
||||||
|
|
32
Source/Core/Windows/ErrorsForm.Designer.cs
generated
|
@ -38,6 +38,7 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
this.grid = new System.Windows.Forms.DataGridView();
|
this.grid = new System.Windows.Forms.DataGridView();
|
||||||
this.iconcolumn = new System.Windows.Forms.DataGridViewImageColumn();
|
this.iconcolumn = new System.Windows.Forms.DataGridViewImageColumn();
|
||||||
this.textcolumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
this.textcolumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||||
|
this.showsource = new System.Windows.Forms.Button();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.grid)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.grid)).BeginInit();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
|
@ -47,8 +48,8 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
this.copyselected.Enabled = false;
|
this.copyselected.Enabled = false;
|
||||||
this.copyselected.Location = new System.Drawing.Point(12, 416);
|
this.copyselected.Location = new System.Drawing.Point(12, 416);
|
||||||
this.copyselected.Name = "copyselected";
|
this.copyselected.Name = "copyselected";
|
||||||
this.copyselected.Size = new System.Drawing.Size(122, 25);
|
this.copyselected.Size = new System.Drawing.Size(110, 25);
|
||||||
this.copyselected.TabIndex = 1;
|
this.copyselected.TabIndex = 0;
|
||||||
this.copyselected.Text = "Copy Selection";
|
this.copyselected.Text = "Copy Selection";
|
||||||
this.copyselected.UseVisualStyleBackColor = true;
|
this.copyselected.UseVisualStyleBackColor = true;
|
||||||
this.copyselected.Click += new System.EventHandler(this.copyselected_Click);
|
this.copyselected.Click += new System.EventHandler(this.copyselected_Click);
|
||||||
|
@ -56,10 +57,10 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
// clearlist
|
// clearlist
|
||||||
//
|
//
|
||||||
this.clearlist.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
this.clearlist.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||||
this.clearlist.Location = new System.Drawing.Point(150, 416);
|
this.clearlist.Location = new System.Drawing.Point(128, 416);
|
||||||
this.clearlist.Name = "clearlist";
|
this.clearlist.Name = "clearlist";
|
||||||
this.clearlist.Size = new System.Drawing.Size(122, 25);
|
this.clearlist.Size = new System.Drawing.Size(110, 25);
|
||||||
this.clearlist.TabIndex = 2;
|
this.clearlist.TabIndex = 1;
|
||||||
this.clearlist.Text = "Clear";
|
this.clearlist.Text = "Clear";
|
||||||
this.clearlist.UseVisualStyleBackColor = true;
|
this.clearlist.UseVisualStyleBackColor = true;
|
||||||
this.clearlist.Click += new System.EventHandler(this.clearlist_Click);
|
this.clearlist.Click += new System.EventHandler(this.clearlist_Click);
|
||||||
|
@ -85,7 +86,7 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
//
|
//
|
||||||
this.checkshow.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
this.checkshow.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||||
this.checkshow.AutoSize = true;
|
this.checkshow.AutoSize = true;
|
||||||
this.checkshow.Location = new System.Drawing.Point(301, 421);
|
this.checkshow.Location = new System.Drawing.Point(363, 421);
|
||||||
this.checkshow.Name = "checkshow";
|
this.checkshow.Name = "checkshow";
|
||||||
this.checkshow.Size = new System.Drawing.Size(199, 17);
|
this.checkshow.Size = new System.Drawing.Size(199, 17);
|
||||||
this.checkshow.TabIndex = 3;
|
this.checkshow.TabIndex = 3;
|
||||||
|
@ -129,17 +130,18 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
this.grid.Size = new System.Drawing.Size(732, 395);
|
this.grid.Size = new System.Drawing.Size(732, 395);
|
||||||
this.grid.StandardTab = true;
|
this.grid.StandardTab = true;
|
||||||
this.grid.TabIndex = 5;
|
this.grid.TabIndex = 5;
|
||||||
|
this.grid.CellContentDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.grid_CellContentDoubleClick);
|
||||||
this.grid.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.grid_CellContentClick);
|
this.grid.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.grid_CellContentClick);
|
||||||
//
|
//
|
||||||
// iconcolumn
|
// iconcolumn
|
||||||
//
|
//
|
||||||
this.iconcolumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
|
this.iconcolumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
|
||||||
this.iconcolumn.HeaderText = "Icon";
|
this.iconcolumn.HeaderText = "Icon";
|
||||||
this.iconcolumn.MinimumWidth = 20;
|
this.iconcolumn.MinimumWidth = 30;
|
||||||
this.iconcolumn.Name = "iconcolumn";
|
this.iconcolumn.Name = "iconcolumn";
|
||||||
this.iconcolumn.ReadOnly = true;
|
this.iconcolumn.ReadOnly = true;
|
||||||
this.iconcolumn.Resizable = System.Windows.Forms.DataGridViewTriState.False;
|
this.iconcolumn.Resizable = System.Windows.Forms.DataGridViewTriState.False;
|
||||||
this.iconcolumn.Width = 24;
|
this.iconcolumn.Width = 32;
|
||||||
//
|
//
|
||||||
// textcolumn
|
// textcolumn
|
||||||
//
|
//
|
||||||
|
@ -147,12 +149,25 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
this.textcolumn.Name = "textcolumn";
|
this.textcolumn.Name = "textcolumn";
|
||||||
this.textcolumn.ReadOnly = true;
|
this.textcolumn.ReadOnly = true;
|
||||||
//
|
//
|
||||||
|
// showsource
|
||||||
|
//
|
||||||
|
this.showsource.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||||
|
this.showsource.Enabled = false;
|
||||||
|
this.showsource.Location = new System.Drawing.Point(244, 416);
|
||||||
|
this.showsource.Name = "showsource";
|
||||||
|
this.showsource.Size = new System.Drawing.Size(110, 25);
|
||||||
|
this.showsource.TabIndex = 2;
|
||||||
|
this.showsource.Text = "Show source";
|
||||||
|
this.showsource.UseVisualStyleBackColor = true;
|
||||||
|
this.showsource.Click += new System.EventHandler(this.showsource_Click);
|
||||||
|
//
|
||||||
// ErrorsForm
|
// ErrorsForm
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||||
this.CancelButton = this.close;
|
this.CancelButton = this.close;
|
||||||
this.ClientSize = new System.Drawing.Size(756, 453);
|
this.ClientSize = new System.Drawing.Size(756, 453);
|
||||||
|
this.Controls.Add(this.showsource);
|
||||||
this.Controls.Add(this.checkshow);
|
this.Controls.Add(this.checkshow);
|
||||||
this.Controls.Add(this.close);
|
this.Controls.Add(this.close);
|
||||||
this.Controls.Add(this.clearlist);
|
this.Controls.Add(this.clearlist);
|
||||||
|
@ -184,6 +199,7 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
private System.Windows.Forms.Timer checkerrors;
|
private System.Windows.Forms.Timer checkerrors;
|
||||||
private System.Windows.Forms.CheckBox checkshow;
|
private System.Windows.Forms.CheckBox checkshow;
|
||||||
private System.Windows.Forms.DataGridView grid;
|
private System.Windows.Forms.DataGridView grid;
|
||||||
|
private System.Windows.Forms.Button showsource;
|
||||||
private System.Windows.Forms.DataGridViewImageColumn iconcolumn;
|
private System.Windows.Forms.DataGridViewImageColumn iconcolumn;
|
||||||
private System.Windows.Forms.DataGridViewTextBoxColumn textcolumn;
|
private System.Windows.Forms.DataGridViewTextBoxColumn textcolumn;
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,15 +61,34 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
IEnumerable<ErrorItem> errors = General.ErrorLogger.GetErrors(startindex);
|
IEnumerable<ErrorItem> errors = General.ErrorLogger.GetErrors(startindex);
|
||||||
foreach(ErrorItem e in errors)
|
foreach(ErrorItem e in errors)
|
||||||
{
|
{
|
||||||
Image icon = (e.type == ErrorType.Error) ? Properties.Resources.ErrorLarge : Properties.Resources.WarningLarge;
|
|
||||||
int index = grid.Rows.Add();
|
int index = grid.Rows.Add();
|
||||||
DataGridViewRow row = grid.Rows[index];
|
DataGridViewRow row = grid.Rows[index];
|
||||||
row.Cells[0].Value = icon;
|
row.Cells[0].Value = e.Icon;
|
||||||
row.Cells[0].Style.Alignment = DataGridViewContentAlignment.TopCenter;
|
row.Cells[0].Style.Alignment = DataGridViewContentAlignment.TopCenter;
|
||||||
row.Cells[0].Style.Padding = new Padding(0, 5, 0, 0);
|
row.Cells[0].Style.Padding = new Padding(0, 5, 0, 0);
|
||||||
row.Cells[1].Value = e.message;
|
row.Cells[1].Value = e.Description;
|
||||||
row.Cells[1].Style.WrapMode = DataGridViewTriState.True;
|
row.Cells[1].Style.WrapMode = DataGridViewTriState.True;
|
||||||
|
row.Cells[1].Tag = e; //mxd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//mxd
|
||||||
|
clearlist.Enabled = (grid.Rows.Count > 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//mxd
|
||||||
|
private ErrorItem GetErrorItem(int rowindex)
|
||||||
|
{
|
||||||
|
if(grid.Rows.Count == 0 || grid.SelectedRows.Count != 1) return null;
|
||||||
|
DataGridViewRow row = grid.Rows[rowindex];
|
||||||
|
return (row.Cells[1].Tag as ErrorItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
//mxd
|
||||||
|
private void ShowErrorSource()
|
||||||
|
{
|
||||||
|
if(grid.Rows.Count == 0 || grid.SelectedRows.Count != 1) return;
|
||||||
|
ErrorItem error = GetErrorItem(grid.SelectedRows[0].Index);
|
||||||
|
if(error != null) error.ShowSource();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -101,6 +120,10 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
{
|
{
|
||||||
General.ErrorLogger.Clear();
|
General.ErrorLogger.Clear();
|
||||||
grid.Rows.Clear();
|
grid.Rows.Clear();
|
||||||
|
|
||||||
|
copyselected.Enabled = false; //mxd
|
||||||
|
showsource.Enabled = false; //mxd
|
||||||
|
clearlist.Enabled = false; //mxd
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy selection
|
// Copy selection
|
||||||
|
@ -120,15 +143,15 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
}
|
}
|
||||||
|
|
||||||
//mxd
|
//mxd
|
||||||
try
|
try { Clipboard.SetDataObject(str.ToString(), true, 5, 200); }
|
||||||
|
catch(ExternalException) { General.Interface.DisplayStatus(StatusType.Warning, "Failed to perform a Clipboard operation..."); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//mxd
|
||||||
|
private void showsource_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Clipboard.SetDataObject(str.ToString(), true, 5, 200);
|
ShowErrorSource();
|
||||||
}
|
|
||||||
catch(ExternalException)
|
|
||||||
{
|
|
||||||
General.Interface.DisplayStatus(StatusType.Warning, "Failed to perform a Clipboard operation...");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Help requested
|
// Help requested
|
||||||
|
@ -138,8 +161,6 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
hlpevent.Handled = true;
|
hlpevent.Handled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
private void ErrorsForm_Shown(object sender, EventArgs e)
|
private void ErrorsForm_Shown(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if(grid.Rows.Count > 0) grid.Rows[0].Selected = false;
|
if(grid.Rows.Count > 0) grid.Rows[0].Selected = false;
|
||||||
|
@ -148,6 +169,18 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
private void grid_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
private void grid_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||||
{
|
{
|
||||||
copyselected.Enabled = true;
|
copyselected.Enabled = true;
|
||||||
|
|
||||||
|
//mxd. Can we show error source?
|
||||||
|
ErrorItem error = GetErrorItem(e.RowIndex);
|
||||||
|
showsource.Enabled = (error != null && error.IsShowable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//mxd
|
||||||
|
private void grid_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
|
||||||
|
{
|
||||||
|
ShowErrorSource();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -117,21 +117,12 @@
|
||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<metadata name="copyselected.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
|
||||||
<value>True</value>
|
|
||||||
</metadata>
|
|
||||||
<metadata name="clearlist.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
|
||||||
<value>True</value>
|
|
||||||
</metadata>
|
|
||||||
<metadata name="close.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="close.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<metadata name="checkerrors.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="checkerrors.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>103, 17</value>
|
<value>103, 17</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<metadata name="checkshow.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
|
||||||
<value>True</value>
|
|
||||||
</metadata>
|
|
||||||
<metadata name="grid.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="grid.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
|
|
@ -77,6 +77,18 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
editor.OnReloadResources();
|
editor.OnReloadResources();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//mxd
|
||||||
|
internal void DisplayError(TextResourceErrorItem error)
|
||||||
|
{
|
||||||
|
editor.ShowError(error);
|
||||||
|
}
|
||||||
|
|
||||||
|
//mxd
|
||||||
|
/*internal void DisplayError(TextFileErrorItem error)
|
||||||
|
{
|
||||||
|
editor.ShowError(error);
|
||||||
|
}*/
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ================== Events
|
#region ================== Events
|
||||||
|
|
|
@ -144,7 +144,10 @@ namespace CodeImp.DoomBuilder.ZDoom
|
||||||
if(!base.Parse(data, clearerrors)) return false;
|
if(!base.Parse(data, clearerrors)) return false;
|
||||||
|
|
||||||
//mxd. Region-as-category stuff...
|
//mxd. Region-as-category stuff...
|
||||||
List<DecorateCategoryInfo> regions = new List<DecorateCategoryInfo>(); //mxd
|
List<DecorateCategoryInfo> regions = new List<DecorateCategoryInfo>();
|
||||||
|
|
||||||
|
//mxd. Regions tracking...
|
||||||
|
List<KeyValuePair<int, string>> regionlines = new List<KeyValuePair<int, string>>(); // <line number, region title>
|
||||||
|
|
||||||
// Keep local data
|
// Keep local data
|
||||||
Stream localstream = datastream;
|
Stream localstream = datastream;
|
||||||
|
@ -296,8 +299,10 @@ namespace CodeImp.DoomBuilder.ZDoom
|
||||||
|
|
||||||
//mxd. Region-as-category handling
|
//mxd. Region-as-category handling
|
||||||
case "#region":
|
case "#region":
|
||||||
|
int line = GetCurrentLineNumber();
|
||||||
SkipWhitespace(false);
|
SkipWhitespace(false);
|
||||||
string cattitle = ReadLine();
|
string cattitle = ReadLine();
|
||||||
|
regionlines.Add(new KeyValuePair<int, string>(line, cattitle));
|
||||||
if(!string.IsNullOrEmpty(cattitle))
|
if(!string.IsNullOrEmpty(cattitle))
|
||||||
{
|
{
|
||||||
// Make new category info
|
// Make new category info
|
||||||
|
@ -319,10 +324,11 @@ namespace CodeImp.DoomBuilder.ZDoom
|
||||||
|
|
||||||
//mxd. Region-as-category handling
|
//mxd. Region-as-category handling
|
||||||
case "#endregion":
|
case "#endregion":
|
||||||
if(regions.Count > 0)
|
if(regions.Count > 0) regions.RemoveAt(regions.Count - 1);
|
||||||
regions.RemoveAt(regions.Count - 1);
|
if(regionlines.Count > 0)
|
||||||
|
regionlines.RemoveAt(regionlines.Count - 1);
|
||||||
else
|
else
|
||||||
LogWarning("Unexpected #endregion token");
|
LogWarning("Unexpected #endregion");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -371,6 +377,18 @@ namespace CodeImp.DoomBuilder.ZDoom
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//mxd. Check unclosed #regions
|
||||||
|
if(regionlines.Count > 0)
|
||||||
|
{
|
||||||
|
foreach(var group in regionlines)
|
||||||
|
{
|
||||||
|
if(!string.IsNullOrEmpty(group.Value))
|
||||||
|
LogWarning("Unclosed #region \"" + group.Value + "\"", group.Key);
|
||||||
|
else
|
||||||
|
LogWarning("Unclosed #region", group.Key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Return true when no errors occurred
|
// Return true when no errors occurred
|
||||||
return (ErrorDescription == null);
|
return (ErrorDescription == null);
|
||||||
}
|
}
|
||||||
|
|
|
@ -273,7 +273,9 @@ namespace CodeImp.DoomBuilder.ZDoom
|
||||||
if(datastream.Position == datastream.Length) //mxd
|
if(datastream.Position == datastream.Length) //mxd
|
||||||
{
|
{
|
||||||
// ZDoom doesn't give even a warning message about this, so we shouldn't report error or fail parsing.
|
// ZDoom doesn't give even a warning message about this, so we shouldn't report error or fail parsing.
|
||||||
General.ErrorLogger.Add(ErrorType.Warning, "DECORATE warning in \"" + sourcename + "\", line " + GetCurrentLineNumber() + ". Block comment is not closed.");
|
string message = ScriptType + " warning in \"" + sourcename + "\", line " + GetCurrentLineNumber() + ". Block comment is not closed.";
|
||||||
|
TextResourceErrorItem error = new TextResourceErrorItem(ErrorType.Warning, ScriptType, datalocation, sourcename, sourcelumpindex, GetCurrentLineNumber(), message);
|
||||||
|
General.ErrorLogger.Add(error);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -705,23 +707,41 @@ namespace CodeImp.DoomBuilder.ZDoom
|
||||||
}
|
}
|
||||||
|
|
||||||
//mxd. This adds a warning to the ErrorLogger
|
//mxd. This adds a warning to the ErrorLogger
|
||||||
protected internal void LogWarning(string message)
|
protected internal void LogWarning(string message) { LogWarning(message, CompilerError.NO_LINE_NUMBER); }
|
||||||
|
protected internal void LogWarning(string message, int linenumber)
|
||||||
{
|
{
|
||||||
// Add a warning
|
// Add a warning
|
||||||
int errline = (datastream != null ? GetCurrentLineNumber() : CompilerError.NO_LINE_NUMBER);
|
int errline = (linenumber != CompilerError.NO_LINE_NUMBER
|
||||||
|
? linenumber
|
||||||
|
: (datastream != null ? GetCurrentLineNumber() : CompilerError.NO_LINE_NUMBER));
|
||||||
string errsource = (ScriptType == ScriptType.ACS && sourcename.StartsWith("?") ? sourcename.Substring(1) : Path.Combine(datalocation.GetDisplayName(), sourcename));
|
string errsource = (ScriptType == ScriptType.ACS && sourcename.StartsWith("?") ? sourcename.Substring(1) : Path.Combine(datalocation.GetDisplayName(), sourcename));
|
||||||
if(sourcelumpindex != -1) errsource += ":" + sourcelumpindex;
|
if(sourcelumpindex != -1) errsource += ":" + sourcelumpindex;
|
||||||
General.ErrorLogger.Add(ErrorType.Warning, ScriptType + " warning in \"" + errsource
|
|
||||||
|
message = ScriptType + " warning in \"" + errsource
|
||||||
+ (errline != CompilerError.NO_LINE_NUMBER ? "\", line " + (errline + 1) : "\"") + ". "
|
+ (errline != CompilerError.NO_LINE_NUMBER ? "\", line " + (errline + 1) : "\"") + ". "
|
||||||
+ message + ".");
|
+ message + ".";
|
||||||
|
|
||||||
|
TextResourceErrorItem error = new TextResourceErrorItem(ErrorType.Warning,
|
||||||
|
ScriptType, datalocation,
|
||||||
|
(sourcename.StartsWith("?") ? sourcename.Substring(1) : sourcename),
|
||||||
|
sourcelumpindex, errline, message);
|
||||||
|
|
||||||
|
General.ErrorLogger.Add(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
//mxd. This adds an error to the ErrorLogger
|
//mxd. This adds an error to the ErrorLogger
|
||||||
public void LogError()
|
public void LogError()
|
||||||
{
|
{
|
||||||
General.ErrorLogger.Add(ErrorType.Error, ScriptType + " error in \"" + shorterrorsource
|
string message = ScriptType + " error in \"" + shorterrorsource
|
||||||
+ (errorline != CompilerError.NO_LINE_NUMBER ? "\", line " + (errorline + 1) : "\"") + ". "
|
+ (errorline != CompilerError.NO_LINE_NUMBER ? "\", line " + (errorline + 1) : "\"") + ". "
|
||||||
+ errordesc + ".");
|
+ errordesc + ".";
|
||||||
|
|
||||||
|
TextResourceErrorItem error = new TextResourceErrorItem(ErrorType.Warning,
|
||||||
|
ScriptType, datalocation,
|
||||||
|
(sourcename.StartsWith("?") ? sourcename.Substring(1) : sourcename),
|
||||||
|
sourcelumpindex, errorline, message);
|
||||||
|
|
||||||
|
General.ErrorLogger.Add(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
//mxd
|
//mxd
|
||||||
|
|
|
@ -22,22 +22,26 @@ namespace CodeImp.DoomBuilder.AutomapMode
|
||||||
|
|
||||||
public void Register()
|
public void Register()
|
||||||
{
|
{
|
||||||
|
General.Interface.BeginToolbarUpdate(); //mxd
|
||||||
General.Interface.AddButton(showhiddenlines);
|
General.Interface.AddButton(showhiddenlines);
|
||||||
General.Interface.AddButton(showsecretsectors);
|
General.Interface.AddButton(showsecretsectors);
|
||||||
if(!General.Map.DOOM) General.Interface.AddButton(showlocks);
|
if(!General.Map.DOOM) General.Interface.AddButton(showlocks);
|
||||||
General.Interface.AddButton(colorpresetseparator);
|
General.Interface.AddButton(colorpresetseparator);
|
||||||
General.Interface.AddButton(colorpresetlabel);
|
General.Interface.AddButton(colorpresetlabel);
|
||||||
General.Interface.AddButton(colorpreset);
|
General.Interface.AddButton(colorpreset);
|
||||||
|
General.Interface.EndToolbarUpdate(); //mxd
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Unregister()
|
public void Unregister()
|
||||||
{
|
{
|
||||||
|
General.Interface.BeginToolbarUpdate(); //mxd
|
||||||
General.Interface.RemoveButton(colorpreset);
|
General.Interface.RemoveButton(colorpreset);
|
||||||
General.Interface.RemoveButton(colorpresetlabel);
|
General.Interface.RemoveButton(colorpresetlabel);
|
||||||
General.Interface.RemoveButton(colorpresetseparator);
|
General.Interface.RemoveButton(colorpresetseparator);
|
||||||
if(!General.Map.DOOM) General.Interface.RemoveButton(showlocks);
|
General.Interface.RemoveButton(showlocks);
|
||||||
General.Interface.RemoveButton(showsecretsectors);
|
General.Interface.RemoveButton(showsecretsectors);
|
||||||
General.Interface.RemoveButton(showhiddenlines);
|
General.Interface.RemoveButton(showhiddenlines);
|
||||||
|
General.Interface.EndToolbarUpdate(); //mxd
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showhiddenlines_CheckedChanged(object sender, EventArgs e)
|
private void showhiddenlines_CheckedChanged(object sender, EventArgs e)
|
||||||
|
|
|
@ -21,10 +21,12 @@ namespace CodeImp.DoomBuilder.BuilderEffects
|
||||||
public void Register()
|
public void Register()
|
||||||
{
|
{
|
||||||
// Add the menus to the core
|
// Add the menus to the core
|
||||||
|
General.Interface.BeginToolbarUpdate();
|
||||||
General.Interface.AddModesMenu(menujitter, "002_modify");
|
General.Interface.AddModesMenu(menujitter, "002_modify");
|
||||||
General.Interface.AddModesButton(buttonjitter, "002_modify");
|
General.Interface.AddModesButton(buttonjitter, "002_modify");
|
||||||
General.Interface.AddModesMenu(menusectorflatshading, "002_modify");
|
General.Interface.AddModesMenu(menusectorflatshading, "002_modify");
|
||||||
General.Interface.AddModesButton(buttonsectorflatshading, "002_modify");
|
General.Interface.AddModesButton(buttonsectorflatshading, "002_modify");
|
||||||
|
General.Interface.EndToolbarUpdate();
|
||||||
|
|
||||||
for(int i = 0; i < stripimport.DropDownItems.Count; i++)
|
for(int i = 0; i < stripimport.DropDownItems.Count; i++)
|
||||||
General.Interface.AddMenu(stripimport.DropDownItems[i] as ToolStripMenuItem, MenuSection.FileImport);
|
General.Interface.AddMenu(stripimport.DropDownItems[i] as ToolStripMenuItem, MenuSection.FileImport);
|
||||||
|
@ -34,10 +36,12 @@ namespace CodeImp.DoomBuilder.BuilderEffects
|
||||||
public void Unregister()
|
public void Unregister()
|
||||||
{
|
{
|
||||||
// Remove the menus from the core
|
// Remove the menus from the core
|
||||||
|
General.Interface.BeginToolbarUpdate();
|
||||||
General.Interface.RemoveMenu(menujitter);
|
General.Interface.RemoveMenu(menujitter);
|
||||||
General.Interface.RemoveButton(buttonjitter);
|
General.Interface.RemoveButton(buttonjitter);
|
||||||
General.Interface.RemoveMenu(menusectorflatshading);
|
General.Interface.RemoveMenu(menusectorflatshading);
|
||||||
General.Interface.RemoveButton(buttonsectorflatshading);
|
General.Interface.RemoveButton(buttonsectorflatshading);
|
||||||
|
General.Interface.EndToolbarUpdate();
|
||||||
|
|
||||||
for(int i = 0; i < stripimport.DropDownItems.Count; i++)
|
for(int i = 0; i < stripimport.DropDownItems.Count; i++)
|
||||||
General.Interface.RemoveMenu(stripimport.DropDownItems[i] as ToolStripMenuItem);
|
General.Interface.RemoveMenu(stripimport.DropDownItems[i] as ToolStripMenuItem);
|
||||||
|
|
|
@ -1222,8 +1222,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
snaptonearest = General.Interface.AutoMerge; //mxd
|
snaptonearest = General.Interface.AutoMerge; //mxd
|
||||||
|
|
||||||
// Add toolbar buttons
|
// Add toolbar buttons
|
||||||
|
General.Interface.BeginToolbarUpdate(); //mxd
|
||||||
General.Interface.AddButton(BuilderPlug.Me.MenusForm.FlipSelectionH);
|
General.Interface.AddButton(BuilderPlug.Me.MenusForm.FlipSelectionH);
|
||||||
General.Interface.AddButton(BuilderPlug.Me.MenusForm.FlipSelectionV);
|
General.Interface.AddButton(BuilderPlug.Me.MenusForm.FlipSelectionV);
|
||||||
|
General.Interface.EndToolbarUpdate(); //mxd
|
||||||
|
|
||||||
//mxd. Get EditPanel-related settings
|
//mxd. Get EditPanel-related settings
|
||||||
usepreciseposition = General.Settings.ReadPluginSetting("editselectionmode.usepreciseposition", true);
|
usepreciseposition = General.Settings.ReadPluginSetting("editselectionmode.usepreciseposition", true);
|
||||||
|
@ -1740,8 +1742,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
base.OnDisengage();
|
base.OnDisengage();
|
||||||
|
|
||||||
// Remove toolbar buttons
|
// Remove toolbar buttons
|
||||||
|
General.Interface.BeginToolbarUpdate(); //mxd
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.FlipSelectionH);
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.FlipSelectionH);
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.FlipSelectionV);
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.FlipSelectionV);
|
||||||
|
General.Interface.EndToolbarUpdate(); //mxd
|
||||||
|
|
||||||
//mxd. Save EditPanel-related settings
|
//mxd. Save EditPanel-related settings
|
||||||
General.Settings.WritePluginSetting("editselectionmode.usepreciseposition", usepreciseposition);
|
General.Settings.WritePluginSetting("editselectionmode.usepreciseposition", usepreciseposition);
|
||||||
|
|
|
@ -555,15 +555,12 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.ViewSelectionNumbers); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.ViewSelectionNumbers); //mxd
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.ViewSelectionEffects); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.ViewSelectionEffects); //mxd
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.SeparatorSectors1); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.SeparatorSectors1); //mxd
|
||||||
if(General.Map.UDMF) //mxd
|
|
||||||
{
|
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.MakeGradientBrightness);
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.MakeGradientBrightness);
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.GradientInterpolationMenu);
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.GradientInterpolationMenu);
|
||||||
}
|
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.CurveLinedefs);
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.CurveLinedefs);
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.MarqueSelectTouching); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.MarqueSelectTouching); //mxd
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.SyncronizeThingEditButton); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.SyncronizeThingEditButton); //mxd
|
||||||
if(General.Map.UDMF) General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.TextureOffsetLock); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.TextureOffsetLock); //mxd
|
||||||
General.Interface.EndToolbarUpdate(); //mxd
|
General.Interface.EndToolbarUpdate(); //mxd
|
||||||
|
|
||||||
// Going to EditSelectionMode?
|
// Going to EditSelectionMode?
|
||||||
|
|
|
@ -762,14 +762,14 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.MakeDoor); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.MakeDoor); //mxd
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.SeparatorSectors2); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.SeparatorSectors2); //mxd
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.MakeGradientBrightness);
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.MakeGradientBrightness);
|
||||||
if(General.Map.UDMF) General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.GradientModeMenu); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.GradientModeMenu); //mxd
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.GradientInterpolationMenu); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.GradientInterpolationMenu); //mxd
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.MakeGradientFloors);
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.MakeGradientFloors);
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.MakeGradientCeilings);
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.MakeGradientCeilings);
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.SeparatorSectors3); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.SeparatorSectors3); //mxd
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.MarqueSelectTouching); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.MarqueSelectTouching); //mxd
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.SyncronizeThingEditButton); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.SyncronizeThingEditButton); //mxd
|
||||||
if(General.Map.UDMF) General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.TextureOffsetLock); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.TextureOffsetLock); //mxd
|
||||||
General.Interface.EndToolbarUpdate(); //mxd
|
General.Interface.EndToolbarUpdate(); //mxd
|
||||||
|
|
||||||
// Keep only sectors selected
|
// Keep only sectors selected
|
||||||
|
|
|
@ -184,7 +184,6 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.PastePropertiesOptions); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.PastePropertiesOptions); //mxd
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.SeparatorCopyPaste); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.SeparatorCopyPaste); //mxd
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.ViewSelectionNumbers); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.ViewSelectionNumbers); //mxd
|
||||||
if(General.Map.FormatInterface.HasThingAction)
|
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.ViewSelectionEffects); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.ViewSelectionEffects); //mxd
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.SeparatorSectors1); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.SeparatorSectors1); //mxd
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.AlignThingsToWall); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.AlignThingsToWall); //mxd
|
||||||
|
|
|
@ -112,15 +112,12 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
base.OnDisengage();
|
base.OnDisengage();
|
||||||
|
|
||||||
// Remove toolbar buttons
|
// Remove toolbar buttons
|
||||||
if(General.Map.UDMF)
|
|
||||||
{
|
|
||||||
General.Interface.BeginToolbarUpdate();
|
General.Interface.BeginToolbarUpdate();
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.CopyProperties);
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.CopyProperties);
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.PasteProperties);
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.PasteProperties);
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.PastePropertiesOptions); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.PastePropertiesOptions); //mxd
|
||||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.TextureOffsetLock); //mxd
|
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.TextureOffsetLock); //mxd
|
||||||
General.Interface.EndToolbarUpdate();
|
General.Interface.EndToolbarUpdate();
|
||||||
}
|
|
||||||
|
|
||||||
// Going to EditSelectionMode?
|
// Going to EditSelectionMode?
|
||||||
EditSelectionMode mode = General.Editing.NewMode as EditSelectionMode;
|
EditSelectionMode mode = General.Editing.NewMode as EditSelectionMode;
|
||||||
|
|
|
@ -54,6 +54,7 @@ namespace CodeImp.DoomBuilder.BuilderModes.Interface
|
||||||
|
|
||||||
public void Register()
|
public void Register()
|
||||||
{
|
{
|
||||||
|
General.Interface.BeginToolbarUpdate();
|
||||||
General.Interface.AddButton(vertslabel);
|
General.Interface.AddButton(vertslabel);
|
||||||
General.Interface.AddButton(verts);
|
General.Interface.AddButton(verts);
|
||||||
General.Interface.AddButton(distancelabel);
|
General.Interface.AddButton(distancelabel);
|
||||||
|
@ -67,10 +68,12 @@ namespace CodeImp.DoomBuilder.BuilderModes.Interface
|
||||||
General.Interface.AddButton(separator2);
|
General.Interface.AddButton(separator2);
|
||||||
General.Interface.AddButton(apply);
|
General.Interface.AddButton(apply);
|
||||||
General.Interface.AddButton(cancel);
|
General.Interface.AddButton(cancel);
|
||||||
|
General.Interface.EndToolbarUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Unregister()
|
public void Unregister()
|
||||||
{
|
{
|
||||||
|
General.Interface.BeginToolbarUpdate();
|
||||||
General.Interface.RemoveButton(cancel);
|
General.Interface.RemoveButton(cancel);
|
||||||
General.Interface.RemoveButton(apply);
|
General.Interface.RemoveButton(apply);
|
||||||
General.Interface.RemoveButton(anglelabel);
|
General.Interface.RemoveButton(anglelabel);
|
||||||
|
@ -85,6 +88,7 @@ namespace CodeImp.DoomBuilder.BuilderModes.Interface
|
||||||
General.Interface.RemoveButton(distancelabel);
|
General.Interface.RemoveButton(distancelabel);
|
||||||
General.Interface.RemoveButton(verts);
|
General.Interface.RemoveButton(verts);
|
||||||
General.Interface.RemoveButton(vertslabel);
|
General.Interface.RemoveButton(vertslabel);
|
||||||
|
General.Interface.EndToolbarUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -26,22 +26,26 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
|
|
||||||
public void Register()
|
public void Register()
|
||||||
{
|
{
|
||||||
|
General.Interface.BeginToolbarUpdate();
|
||||||
General.Interface.AddButton(continuousdrawing);
|
General.Interface.AddButton(continuousdrawing);
|
||||||
General.Interface.AddButton(autoclosedrawing);
|
General.Interface.AddButton(autoclosedrawing);
|
||||||
General.Interface.AddButton(toolStripSeparator1);
|
General.Interface.AddButton(toolStripSeparator1);
|
||||||
General.Interface.AddButton(seglabel);
|
General.Interface.AddButton(seglabel);
|
||||||
General.Interface.AddButton(seglen);
|
General.Interface.AddButton(seglen);
|
||||||
General.Interface.AddButton(reset);
|
General.Interface.AddButton(reset);
|
||||||
|
General.Interface.EndToolbarUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Unregister()
|
public void Unregister()
|
||||||
{
|
{
|
||||||
|
General.Interface.BeginToolbarUpdate();
|
||||||
General.Interface.RemoveButton(reset);
|
General.Interface.RemoveButton(reset);
|
||||||
General.Interface.RemoveButton(seglen);
|
General.Interface.RemoveButton(seglen);
|
||||||
General.Interface.RemoveButton(seglabel);
|
General.Interface.RemoveButton(seglabel);
|
||||||
General.Interface.RemoveButton(toolStripSeparator1);
|
General.Interface.RemoveButton(toolStripSeparator1);
|
||||||
General.Interface.RemoveButton(autoclosedrawing);
|
General.Interface.RemoveButton(autoclosedrawing);
|
||||||
General.Interface.RemoveButton(continuousdrawing);
|
General.Interface.RemoveButton(continuousdrawing);
|
||||||
|
General.Interface.EndToolbarUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void seglen_ValueChanged(object sender, EventArgs e)
|
private void seglen_ValueChanged(object sender, EventArgs e)
|
||||||
|
|
|
@ -32,6 +32,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
subdivs.ValueChanged += ValueChanged;
|
subdivs.ValueChanged += ValueChanged;
|
||||||
angle.ValueChanged += ValueChanged;
|
angle.ValueChanged += ValueChanged;
|
||||||
|
|
||||||
|
General.Interface.BeginToolbarUpdate();
|
||||||
General.Interface.AddButton(continuousdrawing);
|
General.Interface.AddButton(continuousdrawing);
|
||||||
General.Interface.AddButton(showguidelines);
|
General.Interface.AddButton(showguidelines);
|
||||||
General.Interface.AddButton(toolStripSeparator1);
|
General.Interface.AddButton(toolStripSeparator1);
|
||||||
|
@ -42,10 +43,12 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
General.Interface.AddButton(anglelabel);
|
General.Interface.AddButton(anglelabel);
|
||||||
General.Interface.AddButton(angle);
|
General.Interface.AddButton(angle);
|
||||||
General.Interface.AddButton(reset);
|
General.Interface.AddButton(reset);
|
||||||
|
General.Interface.EndToolbarUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Unregister()
|
public void Unregister()
|
||||||
{
|
{
|
||||||
|
General.Interface.BeginToolbarUpdate();
|
||||||
General.Interface.RemoveButton(reset);
|
General.Interface.RemoveButton(reset);
|
||||||
General.Interface.RemoveButton(angle);
|
General.Interface.RemoveButton(angle);
|
||||||
General.Interface.RemoveButton(anglelabel);
|
General.Interface.RemoveButton(anglelabel);
|
||||||
|
@ -56,6 +59,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
General.Interface.RemoveButton(toolStripSeparator1);
|
General.Interface.RemoveButton(toolStripSeparator1);
|
||||||
General.Interface.RemoveButton(showguidelines);
|
General.Interface.RemoveButton(showguidelines);
|
||||||
General.Interface.RemoveButton(continuousdrawing);
|
General.Interface.RemoveButton(continuousdrawing);
|
||||||
|
General.Interface.EndToolbarUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ValueChanged(object sender, EventArgs e)
|
private void ValueChanged(object sender, EventArgs e)
|
||||||
|
|
|
@ -20,16 +20,20 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
|
|
||||||
public void Register()
|
public void Register()
|
||||||
{
|
{
|
||||||
|
General.Interface.BeginToolbarUpdate();
|
||||||
General.Interface.AddButton(continuousdrawing);
|
General.Interface.AddButton(continuousdrawing);
|
||||||
General.Interface.AddButton(autoclosedrawing);
|
General.Interface.AddButton(autoclosedrawing);
|
||||||
General.Interface.AddButton(showguidelines);
|
General.Interface.AddButton(showguidelines);
|
||||||
|
General.Interface.EndToolbarUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Unregister()
|
public void Unregister()
|
||||||
{
|
{
|
||||||
|
General.Interface.BeginToolbarUpdate();
|
||||||
General.Interface.RemoveButton(showguidelines);
|
General.Interface.RemoveButton(showguidelines);
|
||||||
General.Interface.RemoveButton(autoclosedrawing);
|
General.Interface.RemoveButton(autoclosedrawing);
|
||||||
General.Interface.RemoveButton(continuousdrawing);
|
General.Interface.RemoveButton(continuousdrawing);
|
||||||
|
General.Interface.EndToolbarUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void continuousdrawing_CheckedChanged(object sender, EventArgs e)
|
private void continuousdrawing_CheckedChanged(object sender, EventArgs e)
|
||||||
|
|
|
@ -30,6 +30,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
radius.ValueChanged += ValueChanged;
|
radius.ValueChanged += ValueChanged;
|
||||||
subdivs.ValueChanged += ValueChanged;
|
subdivs.ValueChanged += ValueChanged;
|
||||||
|
|
||||||
|
General.Interface.BeginToolbarUpdate();
|
||||||
General.Interface.AddButton(continuousdrawing);
|
General.Interface.AddButton(continuousdrawing);
|
||||||
General.Interface.AddButton(showguidelines);
|
General.Interface.AddButton(showguidelines);
|
||||||
General.Interface.AddButton(toolStripSeparator1);
|
General.Interface.AddButton(toolStripSeparator1);
|
||||||
|
@ -38,10 +39,12 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
General.Interface.AddButton(subdivslabel);
|
General.Interface.AddButton(subdivslabel);
|
||||||
General.Interface.AddButton(subdivs);
|
General.Interface.AddButton(subdivs);
|
||||||
General.Interface.AddButton(reset);
|
General.Interface.AddButton(reset);
|
||||||
|
General.Interface.EndToolbarUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Unregister()
|
public void Unregister()
|
||||||
{
|
{
|
||||||
|
General.Interface.BeginToolbarUpdate();
|
||||||
General.Interface.RemoveButton(reset);
|
General.Interface.RemoveButton(reset);
|
||||||
General.Interface.RemoveButton(subdivs);
|
General.Interface.RemoveButton(subdivs);
|
||||||
General.Interface.RemoveButton(subdivslabel);
|
General.Interface.RemoveButton(subdivslabel);
|
||||||
|
@ -50,6 +53,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
General.Interface.RemoveButton(toolStripSeparator1);
|
General.Interface.RemoveButton(toolStripSeparator1);
|
||||||
General.Interface.RemoveButton(showguidelines);
|
General.Interface.RemoveButton(showguidelines);
|
||||||
General.Interface.RemoveButton(continuousdrawing);
|
General.Interface.RemoveButton(continuousdrawing);
|
||||||
|
General.Interface.EndToolbarUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ValueChanged(object sender, EventArgs e)
|
private void ValueChanged(object sender, EventArgs e)
|
||||||
|
|
|
@ -165,8 +165,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
General.Interface.RemoveMenu(i);
|
General.Interface.RemoveMenu(i);
|
||||||
|
|
||||||
// Remove the buttons from the core
|
// Remove the buttons from the core
|
||||||
|
General.Interface.BeginToolbarUpdate(); //mxd
|
||||||
foreach(ToolStripItem b in buttons)
|
foreach(ToolStripItem b in buttons)
|
||||||
General.Interface.RemoveButton(b);
|
General.Interface.RemoveButton(b);
|
||||||
|
General.Interface.EndToolbarUpdate(); //mxd
|
||||||
|
|
||||||
//mxd. Export menu
|
//mxd. Export menu
|
||||||
foreach(ToolStripItem i in exportmenuitems)
|
foreach(ToolStripItem i in exportmenuitems)
|
||||||
|
|
|
@ -54,19 +54,23 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
||||||
// This adds the buttons to the toolbar
|
// This adds the buttons to the toolbar
|
||||||
public void AddToInterface()
|
public void AddToInterface()
|
||||||
{
|
{
|
||||||
|
General.Interface.BeginToolbarUpdate(); //mxd
|
||||||
General.Interface.AddButton(statsbutton);
|
General.Interface.AddButton(statsbutton);
|
||||||
General.Interface.AddButton(separator); //mxd
|
General.Interface.AddButton(separator); //mxd
|
||||||
General.Interface.AddButton(cbopendoors); //mxd
|
General.Interface.AddButton(cbopendoors); //mxd
|
||||||
General.Interface.AddButton(cbheatmap); //mxd
|
General.Interface.AddButton(cbheatmap); //mxd
|
||||||
|
General.Interface.EndToolbarUpdate(); //mxd
|
||||||
}
|
}
|
||||||
|
|
||||||
// This removes the buttons from the toolbar
|
// This removes the buttons from the toolbar
|
||||||
public void RemoveFromInterface()
|
public void RemoveFromInterface()
|
||||||
{
|
{
|
||||||
|
General.Interface.BeginToolbarUpdate(); //mxd
|
||||||
General.Interface.RemoveButton(cbheatmap); //mxd
|
General.Interface.RemoveButton(cbheatmap); //mxd
|
||||||
General.Interface.RemoveButton(cbopendoors); //mxd
|
General.Interface.RemoveButton(cbopendoors); //mxd
|
||||||
General.Interface.RemoveButton(separator); //mxd
|
General.Interface.RemoveButton(separator); //mxd
|
||||||
General.Interface.RemoveButton(statsbutton);
|
General.Interface.RemoveButton(statsbutton);
|
||||||
|
General.Interface.EndToolbarUpdate(); //mxd
|
||||||
|
|
||||||
//mxd. Save settings
|
//mxd. Save settings
|
||||||
General.Settings.WritePluginSetting("opendoors", cbopendoors.Checked);
|
General.Settings.WritePluginSetting("opendoors", cbopendoors.Checked);
|
||||||
|
|