using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
using System.ComponentModel;
namespace Properties
{
public enum Size { small, medium, large };
public class D
{
public string Text { get; set; }
public double Value { get; set; }
}
public class C
{
[Browsable(true)]
[DisplayName("Jmeno")]
public string Name { get; set; }
[Category("Souradnice")]
[Description ("x-ova souradnice") ]
public int X { get; set; }
[Category("Souradnice")]
public int Y { get; set; }
[Category("Souradnice")]
public int Z { get; set; }
public Color color { get; set; }
public Size size { get; set; }
public List <string> Notes { get; set; }
public List <double> Parameters { get; set; }
public List <D> Items { get; set; }
public C()
{
Name = "abc";
X = 1;
Y = 2;
Z = 3;
color = Color.Orange;
size = Size.medium;
Notes = new List<string> { "def", "klm" };
Parameters = new List<double> { 0.1, 0.2 };
Items = new List <D> ();
D item = new D ();
item.Text = "nazev";
item.Value = 2.34;
Items.Add (item);
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Xml.Serialization;
namespace Properties
{
public partial class Form1 : Form
{
C data;
public Form1()
{
InitializeComponent();
data = new C ();
prop.SelectedObject = data;
// display (tree.Nodes, this);
tree.ExpandAll ();
}
private void display (TreeNodeCollection target, Control widget)
{
TreeNode node = new TreeNode ();
node.Text = widget.Name + ":" + widget.GetType().Name + " : " + widget.Text;
node.Tag = widget;
target.Add (node);
foreach (Control c in widget.Controls)
{
display (node.Nodes, c);
}
}
private void tree_NodeMouseClick (object sender, TreeNodeMouseClickEventArgs e)
{
prop.SelectedObject = e.Node.Tag;
}
private void openMenuItem_Click(object sender, EventArgs e)
{
if (openDialog.ShowDialog() == DialogResult.OK)
{
string fileName = openDialog.FileName;
StreamReader r = new StreamReader (fileName);
XmlSerializer t = new XmlSerializer(typeof(C));
data = (C) t.Deserialize (r);
prop.SelectedObject = data;
r.Close ();
}
}
private void saveMenuItem_Click(object sender, EventArgs e)
{
if (saveDialog.ShowDialog() == DialogResult.OK)
{
string fileName = saveDialog.FileName;
// using System.IO;
// using System.Xml.Serialization;
StreamWriter w = new StreamWriter (fileName);
XmlSerializer t = new XmlSerializer (typeof (C));
t.Serialize (w, data);
w.Close ();
}
}
private void quitMenuItem_Click(object sender, EventArgs e)
{
Close ();
}
}
}