120 lines
3.3 KiB
C#
120 lines
3.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Windows.Forms;
|
|
using Switch_Toolbox.Library;
|
|
using BcresLibrary;
|
|
|
|
namespace FirstPlugin.Forms
|
|
{
|
|
public partial class BcresSamplerEditorSimple : UserControl
|
|
{
|
|
private Thread Thread;
|
|
|
|
public BcresSamplerEditorSimple()
|
|
{
|
|
InitializeComponent();
|
|
|
|
SetEditorOrientation(true);
|
|
DisplayHorizontal();
|
|
}
|
|
|
|
public void LoadTexture(BcresTextureMapWrapper wrapper)
|
|
{
|
|
var texture = wrapper.GenericMatTexture;
|
|
|
|
nameTB.Text = texture.Name;
|
|
|
|
stPropertyGrid1.LoadProperty(wrapper.TextureMapInfo, OnPropertyChanged);
|
|
|
|
foreach (BCRESGroupNode bcresGrp in PluginRuntime.bcresTexContainers)
|
|
{
|
|
if (bcresGrp.ResourceNodes.ContainsKey(texture.Name))
|
|
{
|
|
Thread = new Thread((ThreadStart)(() =>
|
|
{
|
|
textureBP.Image = Switch_Toolbox.Library.Imaging.GetLoadingImage();
|
|
textureBP.Image = ((TXOBWrapper)bcresGrp.ResourceNodes[texture.Name]).GetBitmap();
|
|
}));
|
|
Thread.Start();
|
|
}
|
|
}
|
|
}
|
|
|
|
private void OnPropertyChanged()
|
|
{
|
|
|
|
}
|
|
|
|
private void stTextBox2_TextChanged(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
public void SetEditorOrientation(bool ToVertical)
|
|
{
|
|
displayVerticalToolStripMenuItem.Checked = ToVertical;
|
|
}
|
|
|
|
private void displayVerticalToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (displayVerticalToolStripMenuItem.Checked)
|
|
{
|
|
DisplayHorizontal();
|
|
}
|
|
else
|
|
{
|
|
DisplayVertical();
|
|
}
|
|
}
|
|
|
|
private void DisplayHorizontal()
|
|
{
|
|
if (splitContainer2.Panel1Collapsed)
|
|
return;
|
|
|
|
var ImagePanel = stPanel1;
|
|
var PropertiesEditor = stPropertyGrid1;
|
|
|
|
//Swap panels
|
|
splitContainer2.Panel1.Controls.Clear();
|
|
splitContainer2.Panel2.Controls.Clear();
|
|
|
|
splitContainer2.Orientation = Orientation.Vertical;
|
|
splitContainer2.Panel1.Controls.Add(ImagePanel);
|
|
splitContainer2.Panel2.Controls.Add(PropertiesEditor);
|
|
stPropertyGrid1.ShowHintDisplay = true;
|
|
|
|
PropertiesEditor.Width = this.Width / 2;
|
|
|
|
splitContainer2.SplitterDistance = this.Width / 2;
|
|
}
|
|
|
|
private void DisplayVertical()
|
|
{
|
|
if (splitContainer2.Panel2Collapsed)
|
|
return;
|
|
|
|
var ImagePanel = stPanel1;
|
|
var PropertiesEditor = stPropertyGrid1;
|
|
|
|
//Swap panels
|
|
splitContainer2.Panel1.Controls.Clear();
|
|
splitContainer2.Panel2.Controls.Clear();
|
|
|
|
splitContainer2.Orientation = Orientation.Horizontal;
|
|
splitContainer2.Panel2.Controls.Add(ImagePanel);
|
|
splitContainer2.Panel1.Controls.Add(PropertiesEditor);
|
|
|
|
splitContainer2.SplitterDistance = this.Height / 2;
|
|
|
|
stPropertyGrid1.ShowHintDisplay = false;
|
|
}
|
|
}
|
|
}
|