using Gtk;
using Glade;
+using Controlador;
+
public class ABMGenerico
{
Glade.XML xml;
[Widget] Table tabla;
Type current;
+ Hashtable widgets;
public ABMGenerico (Type objectType)
{
+ widgets = new Hashtable ();
+
PropertyInfo[] properties = objectType.GetProperties ();
current = objectType;
tabla.Attach (e, 1, 2, i, i+1);
l.Show ();
e.Show ();
+ widgets[mf.Name] = e;
}
i++;
}
{
if (args.ResponseId == ResponseType.Cancel)
return;
- }
+
+ PropertyInfo[] properties = current.GetProperties ();
+
+ System.Object output = Activator.CreateInstance (current);
+
+ foreach (string key in widgets.Keys) {
+ PropertyInfo p = current.GetProperty (key);
+ Entry e = (Entry)widgets[key];
+ Console.WriteLine ("{0} = {1}", key, e.Text);
+ if (p.PropertyType.Equals (typeof(string)))
+ p.SetValue (output, e.Text, null);
+ if (p.PropertyType.Equals (typeof(int)))
+ p.SetValue (output, Int32.Parse (e.Text), null);
+ if (p.PropertyType.Equals (typeof(float))) {
+ p.SetValue (output, (float)Double.Parse (e.Text), null);
+ }
+ }
- public void Run ()
+ Controller c = new Controller ();
+
+ c.GenericSave (output);
+
+ c.Dispose ();
+ }
+
+ public void Run (string title)
{
Dialog w = (Dialog)xml.GetWidget ("abm_one");
+ w.Title = title;
w.Run ();
w.Destroy ();
}