mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2024-11-23 20:32:34 +00:00
4e52d9bb9c
Sectors mode: optimized sector highlight rendering logic. Sectors mode: optimized sector effect/tag labels update logic. Geometry tools: optimized several core functions. Hints for current editing mode can now be displayed when nothing is highlighted (currently the hints are shown only in Draw Geometry mode). GZDB is now build with LARGEADDRESSAWARE flag, which increases amount of RAM GZDB can use from 1.4 to 2.8 GB.
181 lines
5.9 KiB
C#
181 lines
5.9 KiB
C#
|
|
#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.Generic;
|
|
using System.Windows.Forms;
|
|
using CodeImp.DoomBuilder.Map;
|
|
using CodeImp.DoomBuilder.Geometry;
|
|
using CodeImp.DoomBuilder.Controls;
|
|
|
|
#endregion
|
|
|
|
namespace CodeImp.DoomBuilder.Windows
|
|
{
|
|
public interface IMainForm : IWin32Window
|
|
{
|
|
// Properties
|
|
bool AltState { get; }
|
|
bool CtrlState { get; }
|
|
bool ShiftState { get; }
|
|
bool MouseInDisplay { get; }
|
|
bool AutoMerge { get; }
|
|
bool SnapToGrid { get; }
|
|
bool MouseExclusive { get; }
|
|
MouseButtons MouseButtons { get; }
|
|
bool IsActiveWindow { get; }
|
|
RenderTargetControl Display { get; }
|
|
|
|
//mxd. Events
|
|
event EventHandler OnEditFormValuesChanged;
|
|
|
|
// Methods
|
|
void DisplayReady();
|
|
void DisplayStatus(StatusType type, string message);
|
|
void DisplayStatus(StatusInfo newstatus);
|
|
void RedrawDisplay();
|
|
DialogResult ShowEditVertices(ICollection<Vertex> vertices);
|
|
DialogResult ShowEditVertices(ICollection<Vertex> vertices, bool allowPositionChange); //mxd
|
|
DialogResult ShowEditLinedefs(ICollection<Linedef> lines);
|
|
DialogResult ShowEditSectors(ICollection<Sector> sectors);
|
|
DialogResult ShowEditThings(ICollection<Thing> things);
|
|
void ShowLinedefInfo(Linedef l);
|
|
void ShowSectorInfo(Sector s);
|
|
void ShowThingInfo(Thing t);
|
|
void ShowVertexInfo(Vertex v);
|
|
void HideInfo();
|
|
void ShowEditModeHints(string[] hints); //mxd
|
|
void ClearEditModeHints(); //mxd
|
|
void RefreshInfo();
|
|
void UpdateCoordinates(Vector2D coords);
|
|
bool Focus();
|
|
void EnableProcessing();
|
|
void DisableProcessing();
|
|
void StartExclusiveMouseInput();
|
|
void StopExclusiveMouseInput();
|
|
void BreakExclusiveMouseInput();
|
|
void ResumeExclusiveMouseInput();
|
|
void SetCursor(Cursor cursor);
|
|
void MessageBeep(MessageBeepType type);
|
|
|
|
/// <summary>
|
|
/// This moves the focus to the editing display.
|
|
/// </summary>
|
|
bool FocusDisplay();
|
|
|
|
/// <summary>
|
|
/// This browses the lindef types
|
|
/// </summary>
|
|
/// <returns>Returns the new action or the same action when cancelled</returns>
|
|
int BrowseLinedefActions(IWin32Window owner, int initialvalue);
|
|
|
|
/// <summary>
|
|
/// This browses sector effects
|
|
/// </summary>
|
|
/// <returns>Returns the new effect or the same effect when cancelled</returns>
|
|
int BrowseSectorEffect(IWin32Window owner, int initialvalue);
|
|
|
|
/// <summary>
|
|
/// This browses for a texture
|
|
/// </summary>
|
|
/// <returns>Returns the new texture name or the same texture name when cancelled</returns>
|
|
string BrowseTexture(IWin32Window owner, string initialvalue);
|
|
|
|
/// <summary>
|
|
/// This browses for a flat
|
|
/// </summary>
|
|
/// <returns>Returns the new flat name or the same flat name when cancelled</returns>
|
|
string BrowseFlat(IWin32Window owner, string initialvalue);
|
|
|
|
/// <summary>
|
|
/// THis browses for a thing type
|
|
/// </summary>
|
|
/// <returns>Returns the new thing type or the same thing type when cancelled</returns>
|
|
int BrowseThingType(IWin32Window owner, int initialvalue);
|
|
|
|
/// <summary>
|
|
/// This adds a menu to the Doom Builder menu strip.
|
|
/// <para>
|
|
/// NOTE: When the Tag property of menu items is set with a string, this changes the
|
|
/// tag to a fully qualified action name by prefixing it with the assembly name.
|
|
/// </para>
|
|
/// </summary>
|
|
/// <param name="menu">The menu to add to Doom Builder.</param>
|
|
void AddMenu(ToolStripMenuItem menu);
|
|
|
|
/// <summary>
|
|
/// This adds a menu or menu item to the Doom Builder menu strip in a specific location.
|
|
/// <para>
|
|
/// NOTE: When the Tag property of menu items is set with a string, this changes the
|
|
/// tag to a fully qualified action name by prefixing it with the assembly name.
|
|
/// </para>
|
|
/// </summary>
|
|
/// <param name="menu">The menu to add to Doom Builder.</param>
|
|
/// <param name="section">The location where to insert the menu or item.</param>
|
|
void AddMenu(ToolStripMenuItem menu, MenuSection section);
|
|
|
|
/// <summary>
|
|
/// This removes a menu from the Doom Builder menu strip.
|
|
/// </summary>
|
|
/// <param name="menu">The menu to remove.</param>
|
|
void RemoveMenu(ToolStripMenuItem menu);
|
|
|
|
/// <summary>
|
|
/// This method invokes the action specified on the Tag property of the given menu item.
|
|
/// </summary>
|
|
/// <param name="sender">Menu item with Tag property set to the name of an action
|
|
/// that you want to invoke.</param>
|
|
/// <param name="e">Unused.</param>
|
|
void InvokeTaggedAction(object sender, EventArgs e);
|
|
|
|
/// <summary>
|
|
/// This adds a custom button to the toolbar.
|
|
/// </summary>
|
|
void AddButton(ToolStripItem button);
|
|
|
|
/// <summary>
|
|
/// This adds a custom button to a specific section in the toolbar. Note that the visibility of the button will be controlled by the user's preferences of that section!
|
|
/// </summary>
|
|
void AddButton(ToolStripItem button, ToolbarSection section);
|
|
|
|
/// <summary>
|
|
/// This removes a custom button from the toolbar.
|
|
/// </summary>
|
|
void RemoveButton(ToolStripItem button);
|
|
|
|
/// <summary>
|
|
/// This adds a docker to the side panel.
|
|
/// </summary>
|
|
void AddDocker(Docker d);
|
|
|
|
/// <summary>
|
|
/// This removes a docker from the side panel.
|
|
/// </summary>
|
|
bool RemoveDocker(Docker d);
|
|
|
|
/// <summary>
|
|
/// Selects a docker in the side panel.
|
|
/// </summary>
|
|
bool SelectDocker(Docker d);
|
|
|
|
/// <summary>
|
|
/// This selected the previously selected docker in the side panel.
|
|
/// </summary>
|
|
void SelectPreviousDocker();
|
|
}
|
|
}
|