82 lines
2.3 KiB
C#
82 lines
2.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.Tasks;
|
|
using System.Windows.Forms;
|
|
using Toolbox.Library.Forms;
|
|
|
|
namespace LayoutBXLYT
|
|
{
|
|
public partial class LayoutProperties : LayoutDocked
|
|
{
|
|
private UserDataEditor userDataEditor;
|
|
|
|
public LayoutProperties()
|
|
{
|
|
InitializeComponent();
|
|
stTabControl1.myBackColor = FormThemes.BaseTheme.FormBackColor;
|
|
|
|
userDataEditor = new UserDataEditor();
|
|
userDataEditor.Dock = DockStyle.Fill;
|
|
tabPage2.Controls.Add(userDataEditor);
|
|
|
|
BackColor = FormThemes.BaseTheme.FormBackColor;
|
|
ForeColor = FormThemes.BaseTheme.FormForeColor;
|
|
}
|
|
|
|
public void Reset()
|
|
{
|
|
stPropertyGrid1.LoadProperty(null);
|
|
}
|
|
|
|
public void UpdateProperties()
|
|
{
|
|
stPropertyGrid1.UpdateProperties();
|
|
}
|
|
|
|
public void LoadProperties(object prop, Action propChanged)
|
|
{
|
|
LoadPropertyTab("Properties", prop, propChanged);
|
|
}
|
|
|
|
public void LoadProperties(BasePane prop, Action propChanged)
|
|
{
|
|
LoadPropertyTab("Pane", prop, propChanged);
|
|
}
|
|
|
|
private void LoadPropertyTab(string text, object prop, Action propChanged)
|
|
{
|
|
userDataEditor.Reset();
|
|
if (prop is IUserDataContainer)
|
|
LoadUserData((IUserDataContainer)prop);
|
|
|
|
DoubleBufferedTabPage page = new DoubleBufferedTabPage();
|
|
page.Enabled = false;
|
|
page.Text = text;
|
|
stPropertyGrid1.LoadProperty(prop, propChanged);
|
|
}
|
|
|
|
private void LoadUserData(IUserDataContainer container)
|
|
{
|
|
if (container.UserData != null && container.UserData.Entries != null)
|
|
userDataEditor.LoadUserData(container.UserData.Entries);
|
|
}
|
|
|
|
class DoubleBufferedTabPage : System.Windows.Forms.TabPage
|
|
{
|
|
public DoubleBufferedTabPage()
|
|
{
|
|
this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.DoubleBuffer, true);
|
|
}
|
|
}
|
|
|
|
private void stTabControl1_TabIndexChanged(object sender, EventArgs e)
|
|
{
|
|
}
|
|
}
|
|
}
|