UltimateZoneBuilder/Source/Core/Controls/FlatSelectorControl.cs
MaxED a61bba2536 UDMF map format: increased maximum supported texture name length to 2048.
Preferences: added "Capitalize texture names" option (located in Preferences -> Appearance -> Additional options). When disabled, the casing of displayed texture names will match filenames for textures loaded form TEXTURES or pk3/pk7/folder resources.
Textures Browser: added support for displaying long texture names.
Errors list is now cleared when reloading resources.
Visual mode: added basic support for sector slopes (no UI for that feature yet).
2014-05-19 13:33:38 +00:00

79 lines
2.1 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.Drawing;
using CodeImp.DoomBuilder.Windows;
using CodeImp.DoomBuilder.Data;
#endregion
namespace CodeImp.DoomBuilder.Controls
{
public class FlatSelectorControl : ImageSelectorControl
{
// Setup
public override void Initialize()
{
base.Initialize();
// Fill autocomplete list
name.AutoCompleteCustomSource.AddRange(General.Map.Data.FlatNames.ToArray());
}
// This finds the image we need for the given flat name
protected override Image FindImage(string imagename)
{
timer.Stop(); //mxd
// Check if name is a "none" texture
if(string.IsNullOrEmpty(imagename))
{
DisplayImageSize(0, 0); //mxd
//mxd. Flat required?
return multipletextures ? Properties.Resources.ImageStack : Properties.Resources.MissingTexture;
}
else if(imagename == "-") //mxd
{
DisplayImageSize(0, 0);
// Flat required!
return Properties.Resources.MissingTexture;
}
else
{
ImageData texture = General.Map.Data.GetFlatImage(imagename); //mxd
if(string.IsNullOrEmpty(texture.FullName) || texture is UnknownImage) DisplayImageSize(0, 0); //mxd
else DisplayImageSize(texture.ScaledWidth, texture.ScaledHeight); //mxd
if(!texture.IsPreviewLoaded) timer.Start(); //mxd
// Set the image
return texture.GetPreview();
}
}
// This browses for a flat
protected override string BrowseImage(string imagename)
{
// Browse for texture
string result = TextureBrowserForm.Browse(this.ParentForm, imagename, true);
if(result != null) return result; else return imagename;
}
}
}