This commit is contained in:
codeimp 2007-11-07 21:14:27 +00:00
parent dcb744e8c7
commit 713b522a6e
18 changed files with 347 additions and 78 deletions

View file

@ -59,6 +59,7 @@
<Compile Include="Data\ResourceImage.cs" /> <Compile Include="Data\ResourceImage.cs" />
<Compile Include="Data\SpriteImage.cs" /> <Compile Include="Data\SpriteImage.cs" />
<Compile Include="Data\TextureImage.cs" /> <Compile Include="Data\TextureImage.cs" />
<Compile Include="Editing\DragVerticesMode.cs" />
<Compile Include="Editing\EditMode.cs" /> <Compile Include="Editing\EditMode.cs" />
<Compile Include="Editing\LinedefsMode.cs" /> <Compile Include="Editing\LinedefsMode.cs" />
<Compile Include="Editing\SectorsMode.cs" /> <Compile Include="Editing\SectorsMode.cs" />

View file

@ -52,6 +52,7 @@ namespace CodeImp.DoomBuilder.Controls
public const string SECTORSMODE = "sectorsmode"; public const string SECTORSMODE = "sectorsmode";
public const string THINGSMODE = "thingsmode"; public const string THINGSMODE = "thingsmode";
public const string TESTACTION = "testaction"; public const string TESTACTION = "testaction";
public const string CANCELMODE = "cancelmode";
#endregion #endregion
@ -187,6 +188,8 @@ namespace CodeImp.DoomBuilder.Controls
// This raises events for this action // This raises events for this action
public void Invoke() public void Invoke()
{ {
List<ActionDelegate> delegateslist;
// No method bound? // No method bound?
if(delegates.Count == 0) if(delegates.Count == 0)
{ {
@ -194,8 +197,11 @@ namespace CodeImp.DoomBuilder.Controls
} }
else else
{ {
// Copy delegates list
delegateslist = new List<ActionDelegate>(delegates);
// Invoke all the delegates // Invoke all the delegates
foreach(ActionDelegate ad in delegates) ad.Invoke(); foreach(ActionDelegate ad in delegateslist) ad.Invoke();
} }
} }

View file

@ -53,8 +53,11 @@ namespace CodeImp.DoomBuilder.Editing
// Mouse status // Mouse status
protected Vector2D mousepos; protected Vector2D mousepos;
protected Vector2D mousemappos; protected Vector2D mousemappos;
protected Vector2D mousedownpos;
protected Vector2D mousedownmappos;
protected MouseButtons mousebuttons; protected MouseButtons mousebuttons;
protected bool mouseinside; protected bool mouseinside;
protected bool mousedragging;
#endregion #endregion
@ -264,6 +267,8 @@ namespace CodeImp.DoomBuilder.Editing
// Mouse moved inside the display // Mouse moved inside the display
public override void MouseMove(MouseEventArgs e) public override void MouseMove(MouseEventArgs e)
{ {
Vector2D delta;
// Record last position // Record last position
mouseinside = true; mouseinside = true;
mousepos = new Vector2D(e.X, e.Y); mousepos = new Vector2D(e.X, e.Y);
@ -273,10 +278,45 @@ namespace CodeImp.DoomBuilder.Editing
// Update labels in main window // Update labels in main window
General.MainWindow.UpdateCoordinates(mousemappos); General.MainWindow.UpdateCoordinates(mousemappos);
// Holding any buttons?
if(e.Button != MouseButtons.None)
{
// Not dragging?
if(!mousedragging)
{
// Check if moved enough pixels for dragging
delta = mousedownpos - mousepos;
if((Math.Abs(delta.x) > DRAG_START_MOVE_PIXELS) ||
(Math.Abs(delta.y) > DRAG_START_MOVE_PIXELS))
{
// Dragging starts now
mousedragging = true;
DragStart(e);
}
}
}
// Let the base class know // Let the base class know
base.MouseMove(e); base.MouseMove(e);
} }
// Mouse button pressed
public override void MouseDown(MouseEventArgs e)
{
// Save mouse down position
mousedownpos = mousepos;
mousedownmappos = mousemappos;
// Let the base class know
base.MouseDown(e);
}
// This is called when the mouse is moved enough pixels and holding one or more buttons
protected virtual void DragStart(MouseEventArgs e)
{
}
#endregion #endregion
#region ================== Display #region ================== Display
@ -288,5 +328,16 @@ namespace CodeImp.DoomBuilder.Editing
} }
#endregion #endregion
#region ================== Methods
// Override cancel method to bind it with its action
[Action(Action.CANCELMODE)]
public override void Cancel()
{
base.Cancel();
}
#endregion
} }
} }

View file

@ -0,0 +1,90 @@
#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 CodeImp.DoomBuilder.Interface;
using CodeImp.DoomBuilder.IO;
using CodeImp.DoomBuilder.Map;
using CodeImp.DoomBuilder.Rendering;
using CodeImp.DoomBuilder.Geometry;
#endregion
namespace CodeImp.DoomBuilder.Editing
{
public class DragVerticesMode : VerticesMode
{
#region ================== Constants
#endregion
#region ================== Variables
#endregion
#region ================== Properties
#endregion
#region ================== Constructor / Disposer
// Constructor to start without dragging
public DragVerticesMode(Vertex highlighted)
{
// Initialize
// We have no destructor
GC.SuppressFinalize(this);
}
// Constructor to start dragging immediately
public DragVerticesMode()
{
// Initialize
// We have no destructor
GC.SuppressFinalize(this);
}
// Diposer
public override void Dispose()
{
// Not already disposed?
if(!isdisposed)
{
// Clean up
// Done
isdisposed = true;
}
}
#endregion
#region ================== Methods
#endregion
}
}

View file

@ -39,6 +39,10 @@ namespace CodeImp.DoomBuilder.Editing
{ {
#region ================== Constants #region ================== Constants
public const int DRAG_START_MOVE_PIXELS = 5;
public const MouseButtons EDIT_BUTTON = MouseButtons.Right;
public const MouseButtons SELECT_BUTTON = MouseButtons.Left;
#endregion #endregion
#region ================== Variables #region ================== Variables
@ -119,6 +123,9 @@ namespace CodeImp.DoomBuilder.Editing
ActionAttribute.UnbindMethods(this); ActionAttribute.UnbindMethods(this);
} }
// This forces the mode to cancel and return to the "parent" mode
public virtual void Cancel() { }
// Optional interface methods // Optional interface methods
public virtual void MouseClick(MouseEventArgs e) { } public virtual void MouseClick(MouseEventArgs e) { }
public virtual void MouseDoubleClick(MouseEventArgs e) { } public virtual void MouseDoubleClick(MouseEventArgs e) { }
@ -127,7 +134,6 @@ namespace CodeImp.DoomBuilder.Editing
public virtual void MouseLeave(EventArgs e) { } public virtual void MouseLeave(EventArgs e) { }
public virtual void MouseMove(MouseEventArgs e) { } public virtual void MouseMove(MouseEventArgs e) { }
public virtual void MouseUp(MouseEventArgs e) { } public virtual void MouseUp(MouseEventArgs e) { }
public virtual void Cancel() { }
public virtual void RedrawDisplay() { } public virtual void RedrawDisplay() { }
public virtual void RefreshDisplay() { } public virtual void RefreshDisplay() { }

View file

@ -77,6 +77,15 @@ namespace CodeImp.DoomBuilder.Editing
#region ================== Methods #region ================== Methods
// Cancel mode
public override void Cancel()
{
base.Cancel();
// Return to this mode
General.Map.ChangeMode(new LinedefsMode());
}
// Mode engages // Mode engages
public override void Engage() public override void Engage()
{ {

View file

@ -75,6 +75,15 @@ namespace CodeImp.DoomBuilder.Editing
#region ================== Methods #region ================== Methods
// Cancel mode
public override void Cancel()
{
base.Cancel();
// Return to this mode
General.Map.ChangeMode(new SectorsMode());
}
// Mode engages // Mode engages
public override void Engage() public override void Engage()
{ {

View file

@ -77,6 +77,15 @@ namespace CodeImp.DoomBuilder.Editing
#region ================== Methods #region ================== Methods
// Cancel mode
public override void Cancel()
{
base.Cancel();
// Return to this mode
General.Map.ChangeMode(new ThingsMode());
}
// Mode engages // Mode engages
public override void Engage() public override void Engage()
{ {

View file

@ -77,6 +77,15 @@ namespace CodeImp.DoomBuilder.Editing
#region ================== Methods #region ================== Methods
// Cancel mode
public override void Cancel()
{
base.Cancel();
// Return to this mode
General.Map.ChangeMode(new VerticesMode());
}
// Mode engages // Mode engages
public override void Engage() public override void Engage()
{ {
@ -152,12 +161,16 @@ namespace CodeImp.DoomBuilder.Editing
{ {
base.MouseMove(e); base.MouseMove(e);
// Not holding any buttons?
if(e.Button == MouseButtons.None)
{
// Find the nearest vertex within highlight range // Find the nearest vertex within highlight range
Vertex v = General.Map.Map.NearestVertexSquareRange(mousemappos, VERTEX_HIGHLIGHT_RANGE / renderer.Scale); Vertex v = General.Map.Map.NearestVertexSquareRange(mousemappos, VERTEX_HIGHLIGHT_RANGE / renderer.Scale);
// Highlight if not the same // Highlight if not the same
if(v != highlighted) Highlight(v); if(v != highlighted) Highlight(v);
} }
}
// Mouse leaves // Mouse leaves
public override void MouseLeave(EventArgs e) public override void MouseLeave(EventArgs e)
@ -168,6 +181,87 @@ namespace CodeImp.DoomBuilder.Editing
Highlight(null); Highlight(null);
} }
// Mouse button pressed
public override void MouseDown(MouseEventArgs e)
{
base.MouseDown(e);
// Which button is used?
if(e.Button == EditMode.SELECT_BUTTON)
{
// Item highlighted?
if(highlighted != null)
{
// Item already selected?
if(General.Map.Selection.Vertices.Contains(highlighted))
{
// Deselect
General.Map.Selection.RemoveVertex(highlighted);
}
else
{
// Select
General.Map.Selection.AddVertex(highlighted);
}
// Update display
if(renderer.StartRendering(false, false))
{
// Undraw highlight to show selection
renderer.RenderVertex(highlighted, renderer.DetermineVertexColor(highlighted));
renderer.FinishRendering();
}
}
}
}
// Mouse released
public override void MouseUp(MouseEventArgs e)
{
base.MouseUp(e);
// Item highlighted?
if(highlighted != null)
{
// Update display
if(renderer.StartRendering(false, false))
{
// Render highlighted item
renderer.RenderVertex(highlighted, ColorCollection.HIGHLIGHT);
renderer.FinishRendering();
}
}
}
// Mouse wants to drag
protected override void DragStart(MouseEventArgs e)
{
base.DragStart(e);
// Which button is used?
if(e.Button == EditMode.SELECT_BUTTON)
{
// Make selection
}
else if(e.Button == EditMode.EDIT_BUTTON)
{
// Anything highlighted?
if(highlighted != null)
{
// Highlighted item not selected?
if(!General.Map.Selection.Vertices.Contains(highlighted))
{
// Select only this vertex for dragging
General.Map.Selection.ClearVertices();
General.Map.Selection.AddVertex(highlighted);
}
// Start dragging the selection
General.Map.ChangeMode(new DragVerticesMode());
}
}
}
#endregion #endregion
} }
} }

View file

@ -76,6 +76,17 @@ namespace CodeImp.DoomBuilder.Interface
objectname.Left = label.Right + label.Margin.Right + objectname.Margin.Left; objectname.Left = label.Right + label.Margin.Right + objectname.Margin.Left;
} }
// This applies the color settings
public void ApplyColorSettings()
{
// Force black background?
if(General.Settings.ReadSetting("blackbrowsers", false))
{
list.BackColor = Color.Black;
list.ForeColor = Color.White;
}
}
#endregion #endregion
#region ================== Rendering #region ================== Rendering
@ -115,8 +126,6 @@ namespace CodeImp.DoomBuilder.Interface
// Name typed // Name typed
private void objectname_TextChanged(object sender, EventArgs e) private void objectname_TextChanged(object sender, EventArgs e)
{ {
Point spos;
// Update list // Update list
RefillList(); RefillList();

View file

@ -123,8 +123,8 @@ namespace CodeImp.DoomBuilder.Interface
else else
{ {
// Normal // Normal
backcolor = SystemBrushes.Window; backcolor = new SolidBrush(base.ListView.BackColor);
forecolor = SystemBrushes.WindowText; forecolor = new SolidBrush(base.ListView.ForeColor);
} }
// Draw! // Draw!

View file

@ -69,6 +69,7 @@ namespace CodeImp.DoomBuilder.Interface
this.colorselection3d = new CodeImp.DoomBuilder.Interface.ColorControl(); this.colorselection3d = new CodeImp.DoomBuilder.Interface.ColorControl();
this.colorhighlight3d = new CodeImp.DoomBuilder.Interface.ColorControl(); this.colorhighlight3d = new CodeImp.DoomBuilder.Interface.ColorControl();
this.colorcrosshair3d = new CodeImp.DoomBuilder.Interface.ColorControl(); this.colorcrosshair3d = new CodeImp.DoomBuilder.Interface.ColorControl();
this.blackbrowsers = new System.Windows.Forms.CheckBox();
label7 = new System.Windows.Forms.Label(); label7 = new System.Windows.Forms.Label();
label6 = new System.Windows.Forms.Label(); label6 = new System.Windows.Forms.Label();
label5 = new System.Windows.Forms.Label(); label5 = new System.Windows.Forms.Label();
@ -122,7 +123,7 @@ namespace CodeImp.DoomBuilder.Interface
this.colorsgroup1.Controls.Add(this.colorlinedefs); this.colorsgroup1.Controls.Add(this.colorlinedefs);
this.colorsgroup1.Location = new System.Drawing.Point(12, 10); this.colorsgroup1.Location = new System.Drawing.Point(12, 10);
this.colorsgroup1.Name = "colorsgroup1"; this.colorsgroup1.Name = "colorsgroup1";
this.colorsgroup1.Size = new System.Drawing.Size(181, 330); this.colorsgroup1.Size = new System.Drawing.Size(181, 325);
this.colorsgroup1.TabIndex = 10; this.colorsgroup1.TabIndex = 10;
this.colorsgroup1.TabStop = false; this.colorsgroup1.TabStop = false;
this.colorsgroup1.Text = " Classic modes "; this.colorsgroup1.Text = " Classic modes ";
@ -251,7 +252,7 @@ namespace CodeImp.DoomBuilder.Interface
// cancel // cancel
// //
this.cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cancel.Location = new System.Drawing.Point(497, 406); this.cancel.Location = new System.Drawing.Point(497, 428);
this.cancel.Name = "cancel"; this.cancel.Name = "cancel";
this.cancel.Size = new System.Drawing.Size(112, 25); this.cancel.Size = new System.Drawing.Size(112, 25);
this.cancel.TabIndex = 20; this.cancel.TabIndex = 20;
@ -261,7 +262,7 @@ namespace CodeImp.DoomBuilder.Interface
// //
// apply // apply
// //
this.apply.Location = new System.Drawing.Point(379, 406); this.apply.Location = new System.Drawing.Point(379, 428);
this.apply.Name = "apply"; this.apply.Name = "apply";
this.apply.Size = new System.Drawing.Size(112, 25); this.apply.Size = new System.Drawing.Size(112, 25);
this.apply.TabIndex = 19; this.apply.TabIndex = 19;
@ -279,7 +280,7 @@ namespace CodeImp.DoomBuilder.Interface
this.tabs.Location = new System.Drawing.Point(11, 13); this.tabs.Location = new System.Drawing.Point(11, 13);
this.tabs.Name = "tabs"; this.tabs.Name = "tabs";
this.tabs.SelectedIndex = 0; this.tabs.SelectedIndex = 0;
this.tabs.Size = new System.Drawing.Size(598, 379); this.tabs.Size = new System.Drawing.Size(598, 406);
this.tabs.SizeMode = System.Windows.Forms.TabSizeMode.Fixed; this.tabs.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.tabs.TabIndex = 18; this.tabs.TabIndex = 18;
this.tabs.SelectedIndexChanged += new System.EventHandler(this.tabs_SelectedIndexChanged); this.tabs.SelectedIndexChanged += new System.EventHandler(this.tabs_SelectedIndexChanged);
@ -290,7 +291,7 @@ namespace CodeImp.DoomBuilder.Interface
this.tabinterface.Location = new System.Drawing.Point(4, 23); this.tabinterface.Location = new System.Drawing.Point(4, 23);
this.tabinterface.Name = "tabinterface"; this.tabinterface.Name = "tabinterface";
this.tabinterface.Padding = new System.Windows.Forms.Padding(3); this.tabinterface.Padding = new System.Windows.Forms.Padding(3);
this.tabinterface.Size = new System.Drawing.Size(590, 352); this.tabinterface.Size = new System.Drawing.Size(590, 379);
this.tabinterface.TabIndex = 0; this.tabinterface.TabIndex = 0;
this.tabinterface.Text = "Interface"; this.tabinterface.Text = "Interface";
this.tabinterface.UseVisualStyleBackColor = true; this.tabinterface.UseVisualStyleBackColor = true;
@ -303,7 +304,7 @@ namespace CodeImp.DoomBuilder.Interface
this.tabkeys.Location = new System.Drawing.Point(4, 23); this.tabkeys.Location = new System.Drawing.Point(4, 23);
this.tabkeys.Name = "tabkeys"; this.tabkeys.Name = "tabkeys";
this.tabkeys.Padding = new System.Windows.Forms.Padding(3); this.tabkeys.Padding = new System.Windows.Forms.Padding(3);
this.tabkeys.Size = new System.Drawing.Size(590, 352); this.tabkeys.Size = new System.Drawing.Size(590, 379);
this.tabkeys.TabIndex = 1; this.tabkeys.TabIndex = 1;
this.tabkeys.Text = "Controls"; this.tabkeys.Text = "Controls";
this.tabkeys.UseVisualStyleBackColor = true; this.tabkeys.UseVisualStyleBackColor = true;
@ -324,7 +325,7 @@ namespace CodeImp.DoomBuilder.Interface
this.listactions.MultiSelect = false; this.listactions.MultiSelect = false;
this.listactions.Name = "listactions"; this.listactions.Name = "listactions";
this.listactions.ShowGroups = false; this.listactions.ShowGroups = false;
this.listactions.Size = new System.Drawing.Size(274, 326); this.listactions.Size = new System.Drawing.Size(274, 353);
this.listactions.Sorting = System.Windows.Forms.SortOrder.Ascending; this.listactions.Sorting = System.Windows.Forms.SortOrder.Ascending;
this.listactions.TabIndex = 0; this.listactions.TabIndex = 0;
this.listactions.TabStop = false; this.listactions.TabStop = false;
@ -360,7 +361,7 @@ namespace CodeImp.DoomBuilder.Interface
this.actioncontrolpanel.Location = new System.Drawing.Point(299, 12); this.actioncontrolpanel.Location = new System.Drawing.Point(299, 12);
this.actioncontrolpanel.Margin = new System.Windows.Forms.Padding(6); this.actioncontrolpanel.Margin = new System.Windows.Forms.Padding(6);
this.actioncontrolpanel.Name = "actioncontrolpanel"; this.actioncontrolpanel.Name = "actioncontrolpanel";
this.actioncontrolpanel.Size = new System.Drawing.Size(282, 326); this.actioncontrolpanel.Size = new System.Drawing.Size(282, 353);
this.actioncontrolpanel.TabIndex = 9; this.actioncontrolpanel.TabIndex = 9;
this.actioncontrolpanel.TabStop = false; this.actioncontrolpanel.TabStop = false;
this.actioncontrolpanel.Text = " Action control "; this.actioncontrolpanel.Text = " Action control ";
@ -418,13 +419,14 @@ namespace CodeImp.DoomBuilder.Interface
// //
// tabcolors // tabcolors
// //
this.tabcolors.Controls.Add(this.blackbrowsers);
this.tabcolors.Controls.Add(this.colorsgroup3); this.tabcolors.Controls.Add(this.colorsgroup3);
this.tabcolors.Controls.Add(this.colorsgroup2); this.tabcolors.Controls.Add(this.colorsgroup2);
this.tabcolors.Controls.Add(this.colorsgroup1); this.tabcolors.Controls.Add(this.colorsgroup1);
this.tabcolors.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.tabcolors.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.tabcolors.Location = new System.Drawing.Point(4, 23); this.tabcolors.Location = new System.Drawing.Point(4, 23);
this.tabcolors.Name = "tabcolors"; this.tabcolors.Name = "tabcolors";
this.tabcolors.Size = new System.Drawing.Size(590, 352); this.tabcolors.Size = new System.Drawing.Size(590, 379);
this.tabcolors.TabIndex = 2; this.tabcolors.TabIndex = 2;
this.tabcolors.Text = "Colors"; this.tabcolors.Text = "Colors";
this.tabcolors.UseVisualStyleBackColor = true; this.tabcolors.UseVisualStyleBackColor = true;
@ -440,7 +442,7 @@ namespace CodeImp.DoomBuilder.Interface
this.colorsgroup3.Controls.Add(this.colorplaintext); this.colorsgroup3.Controls.Add(this.colorplaintext);
this.colorsgroup3.Location = new System.Drawing.Point(398, 10); this.colorsgroup3.Location = new System.Drawing.Point(398, 10);
this.colorsgroup3.Name = "colorsgroup3"; this.colorsgroup3.Name = "colorsgroup3";
this.colorsgroup3.Size = new System.Drawing.Size(181, 330); this.colorsgroup3.Size = new System.Drawing.Size(181, 325);
this.colorsgroup3.TabIndex = 12; this.colorsgroup3.TabIndex = 12;
this.colorsgroup3.TabStop = false; this.colorsgroup3.TabStop = false;
this.colorsgroup3.Text = " Script editor "; this.colorsgroup3.Text = " Script editor ";
@ -537,7 +539,7 @@ namespace CodeImp.DoomBuilder.Interface
this.colorsgroup2.Controls.Add(this.colorcrosshair3d); this.colorsgroup2.Controls.Add(this.colorcrosshair3d);
this.colorsgroup2.Location = new System.Drawing.Point(205, 10); this.colorsgroup2.Location = new System.Drawing.Point(205, 10);
this.colorsgroup2.Name = "colorsgroup2"; this.colorsgroup2.Name = "colorsgroup2";
this.colorsgroup2.Size = new System.Drawing.Size(181, 330); this.colorsgroup2.Size = new System.Drawing.Size(181, 325);
this.colorsgroup2.TabIndex = 11; this.colorsgroup2.TabIndex = 11;
this.colorsgroup2.TabStop = false; this.colorsgroup2.TabStop = false;
this.colorsgroup2.Text = " 3D mode "; this.colorsgroup2.Text = " 3D mode ";
@ -579,12 +581,20 @@ namespace CodeImp.DoomBuilder.Interface
this.colorcrosshair3d.Size = new System.Drawing.Size(150, 23); this.colorcrosshair3d.Size = new System.Drawing.Size(150, 23);
this.colorcrosshair3d.TabIndex = 6; this.colorcrosshair3d.TabIndex = 6;
// //
// blackbrowsers
//
this.blackbrowsers.AutoSize = true;
this.blackbrowsers.Location = new System.Drawing.Point(13, 345);
this.blackbrowsers.Name = "blackbrowsers";
this.blackbrowsers.Size = new System.Drawing.Size(241, 18);
this.blackbrowsers.TabIndex = 13;
this.blackbrowsers.Text = "Force black background for image browsers";
this.blackbrowsers.UseVisualStyleBackColor = true;
//
// PreferencesForm // PreferencesForm
// //
this.AcceptButton = this.apply;
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.CancelButton = this.cancel; this.ClientSize = new System.Drawing.Size(619, 464);
this.ClientSize = new System.Drawing.Size(619, 440);
this.Controls.Add(this.cancel); this.Controls.Add(this.cancel);
this.Controls.Add(this.apply); this.Controls.Add(this.apply);
this.Controls.Add(this.tabs); this.Controls.Add(this.tabs);
@ -603,6 +613,7 @@ namespace CodeImp.DoomBuilder.Interface
this.actioncontrolpanel.ResumeLayout(false); this.actioncontrolpanel.ResumeLayout(false);
this.actioncontrolpanel.PerformLayout(); this.actioncontrolpanel.PerformLayout();
this.tabcolors.ResumeLayout(false); this.tabcolors.ResumeLayout(false);
this.tabcolors.PerformLayout();
this.colorsgroup3.ResumeLayout(false); this.colorsgroup3.ResumeLayout(false);
this.colorsgroup2.ResumeLayout(false); this.colorsgroup2.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
@ -649,5 +660,6 @@ namespace CodeImp.DoomBuilder.Interface
private ColorControl colorgrid64; private ColorControl colorgrid64;
private ColorControl colorgrid; private ColorControl colorgrid;
private System.Windows.Forms.GroupBox colorsgroup1; private System.Windows.Forms.GroupBox colorsgroup1;
private System.Windows.Forms.CheckBox blackbrowsers;
} }
} }

View file

@ -111,6 +111,7 @@ namespace CodeImp.DoomBuilder.Interface
colorkeywords.Color = General.Colors.Keywords; colorkeywords.Color = General.Colors.Keywords;
colorliterals.Color = General.Colors.Literals; colorliterals.Color = General.Colors.Literals;
colorconstants.Color = General.Colors.Constants; colorconstants.Color = General.Colors.Constants;
blackbrowsers.Checked = General.Settings.ReadSetting("blackbrowsers", false);
// Done // Done
allowapplycontrol = true; allowapplycontrol = true;
@ -311,6 +312,7 @@ namespace CodeImp.DoomBuilder.Interface
General.Colors.Literals = colorliterals.Color; General.Colors.Literals = colorliterals.Color;
General.Colors.Constants = colorconstants.Color; General.Colors.Constants = colorconstants.Color;
General.Colors.CreateAssistColors(); General.Colors.CreateAssistColors();
General.Settings.WriteSetting("blackbrowsers", blackbrowsers.Checked);
// Close // Close
this.DialogResult = DialogResult.OK; this.DialogResult = DialogResult.OK;

View file

@ -117,61 +117,13 @@
<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="label7.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="label7.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label7.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label6.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="label6.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label6.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label5.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="label5.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label5.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="cancel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="apply.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="tabs.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="tabinterface.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="tabkeys.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="listactions.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="actioncontrolpanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="actioncontrol.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="actiontitle.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="actioncontrolclear.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="actionkey.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="actiondescription.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root> </root>

View file

@ -50,6 +50,7 @@ namespace CodeImp.DoomBuilder.Interface
// Initialize // Initialize
InitializeComponent(); InitializeComponent();
browser.ApplyColorSettings();
// Make groups // Make groups
ListViewGroup used = browser.AddGroup("Used Textures"); ListViewGroup used = browser.AddGroup("Used Textures");

View file

@ -188,6 +188,15 @@ namespace CodeImp.DoomBuilder.Map
things.Clear(); things.Clear();
} }
// This clears all
public void ClearAll()
{
ClearThings();
ClearLinedefs();
ClearSectors();
ClearVertices();
}
#endregion #endregion
} }
} }

View file

@ -160,7 +160,7 @@ reloadresources
verticesmode verticesmode
{ {
title = "Tools: Vertices Mode"; title = "Edit: Vertices Mode";
description = "Switches to vertices editing mode."; description = "Switches to vertices editing mode.";
allowkeys = true; allowkeys = true;
allowmouse = true; allowmouse = true;
@ -169,7 +169,7 @@ verticesmode
linedefsmode linedefsmode
{ {
title = "Tools: Linedefs Mode"; title = "Edit: Linedefs Mode";
description = "Switches to linedefs editing mode."; description = "Switches to linedefs editing mode.";
allowkeys = true; allowkeys = true;
allowmouse = true; allowmouse = true;
@ -178,7 +178,7 @@ linedefsmode
sectorsmode sectorsmode
{ {
title = "Tools: Sectors Mode"; title = "Edit: Sectors Mode";
description = "Switches to sectors editing mode."; description = "Switches to sectors editing mode.";
allowkeys = true; allowkeys = true;
allowmouse = true; allowmouse = true;
@ -187,9 +187,18 @@ sectorsmode
thingsmode thingsmode
{ {
title = "Tools: Things Mode"; title = "Edit: Things Mode";
description = "Switches to things editing mode."; description = "Switches to things editing mode.";
allowkeys = true; allowkeys = true;
allowmouse = true; allowmouse = true;
allowscroll = true; allowscroll = true;
} }
cancelmode
{
title = "Edit: Cancel Action";
description = "Cancels the current action and switches back to normal editing mode.";
allowkeys = true;
allowmouse = true;
allowscroll = true;
}