private set; } /// <summary> /// init control /// </summary> public void init() { //DataBinder.OnBindException += HandleOnBindException; DataObjects = new DataObjectContainer(); BtnOpenFile.Clicked += HandleOpenFileClicked; BtnGenerate.Clicked += BtnGenerateClicked; BtnNew.Clicked += HandleBtnNewClicked; BtnAddFile.Clicked += HandleBtnAddClicked; BtnRemoveSelected.Clicked += HandleBtnRemoveClicked; BtnSaveAs.Clicked += HandleBtnSaveAsClicked; //the tree (not used as tree here) TsData = new TreeStore(dfFilename,dfGladefile); Treeview1.DataSource = TsData; Treeview1.Columns.Add ("Filename", dfFilename); Treeview1.Columns.Add ("GladeFile", dfGladefile); Treeview1.SelectionChanged += TreeViewSelectionChangend; Treeview1.ButtonPressed += HandleTreeViewButtonPressed; CurrentFile = String.Empty;
gf.CreateImplementation = true; gf.OutputPath = fi.Directory.FullName; } /// <summary> /// save to file /// </summary> /// <param name='fullname'> /// Fullname. /// </param> private void doSave(String fullname, bool clear) { XmlDocument d = new XmlDocument(); if (clear) { d.Load(fullname); d.RemoveAll(); } XmlElement config = d.CreateElement("configuration"); d.AppendChild(config); XmlElement glade = d.CreateElement("glade"); config.AppendChild(glade); TreeNavigator tn = TsData.GetFirstNode(); do { GladeFile gf = (GladeFile)tn.GetValue(dfGladefile); gf.save(glade);
TextviewMessages.LoadText("File " + CurrentFile + " loaded\n",TextFormat.Markdown); } /// <summary> /// set default values /// </summary> private void setDefaults(GladeFile gf) { FileInfo fi = new FileInfo(gf.Filename); gf.ClassName = fi.Name.Replace(fi.Extension,String.Empty); gf.WindowName = "window1"; //Glade default ?
saveAs(); } void TreeViewSelectionChangend (object sender, EventArgs e) { TreePosition tp = Treeview1.SelectedRow; GladeFile gf = (GladeFile)Treeview1.DataSource.GetValue(tp,1); if (gf != null) {
clearEntries(); TextviewMessages.LoadText(String.Empty,TextFormat.Markdown); } void HandleTreeViewButtonPressed (object sender, ButtonEventArgs e) { if (e.MultiplePress == 2) { TreePosition tp = Treeview1.SelectedRow; GladeFile gf = (GladeFile)Treeview1.DataSource.GetValue(tp,1); if (gf != null) { DataObjects.Add(gf);
} while (tn.MoveNext()); clearEntries(); } /// <summary> /// Add a new glade file in the datastore /// </summary> /// <param name='sender'> /// Sender. /// </param> /// <param name='e'> /// E. /// </param> void HandleBtnAddClicked (object sender, EventArgs e) { OpenFileDialog fc = new OpenFileDialog("select a glade file"); fc.Filters.Add(new FileDialogFilter("Glade","*.glade")); if (fc.Run()) { GladeFile gf = new GladeFile(fc.FileName); gf.WindowName = "window1"; gf.Namespace = "window1"; gf.ClassName = "window1"; gf.CreateImplementation = true;
public static GladeFile CreateInstance(XmlNode node) { GladeFile ret = new GladeFile(); ret.WindowName = node.AttributeValue("windowname"); ret.OutputPath = node.AttributeValue("outputpath"); ret.Filename = node.AttributeValue("filename"); ret.CreateImplementation = node.AttributeValueBool("createimplementation"); ret.Namespace = node.AttributeValue("namespace"); ret.ClassName = node.AttributeValue("class"); ret.UseCustomWidget = node.AttributeValueBool("customwidget"); ret.CustomWidgetName = node.AttributeValue("customwidgetclass"); ret.UseGtk2 = node.AttributeValueBool("usegtk2"); ret.XwtOutput = node.AttributeValueBool("xwtoutput"); return(ret); }
} } /// <summary> /// load data from a config file /// </summary> /// <param name='filename'> /// Filename. /// </param> private void loadData(String filename) { TsData.Clear(); XmlDocument doc = new XmlDocument(); doc.Load(filename); XmlNodeList lst = doc.SelectNodes("//gladefile"); foreach (XmlNode nd in lst) { GladeFile f = GladeFile.CreateInstance(nd); TsData.AddNode().SetValue(dfFilename,f.Filename).SetValue(dfGladefile,f); } CurrentFile = filename;
TsData.AddNode().SetValue(dfFilename,gf.Filename).SetValue(dfGladefile,gf); } } //clear all entries ... kind of workaround private void clearEntries() { GladeFile gf = new GladeFile(""); gf.ClassName = String.Empty; gf.CreateImplementation = true; gf.CustomWidgetName = String.Empty; gf.Filename = String.Empty; gf.Filename = String.Empty; gf.Namespace = String.Empty; gf.OutputPath = String.Empty; gf.Target = String.Empty; gf.UseGtk2 = false; gf.WindowName = String.Empty; gf.XwtOutput = false;
public static GladeFile CreateInstance(XmlNode node) { GladeFile ret = new GladeFile(); ret.WindowName = node.AttributeValue("windowname"); ret.OutputPath = node.AttributeValue("outputpath"); ret.Filename = node.AttributeValue("filename"); ret.CreateImplementation = node.AttributeValueBool("createimplementation"); ret.Namespace = node.AttributeValue("namespace"); ret.ClassName = node.AttributeValue("class"); ret.UseCustomWidget = node.AttributeValueBool("customwidget"); ret.CustomWidgetName = node.AttributeValue("customwidgetclass"); ret.UseGtk2 = node.AttributeValueBool("usegtk2"); ret.XwtOutput = node.AttributeValueBool("xwtoutput"); return ret; }
/// <summary> /// set default values /// </summary> private void setDefaults(GladeFile gf) { FileInfo fi = new FileInfo(gf.Filename); gf.ClassName = fi.Name.Replace(fi.Extension,String.Empty); gf.WindowName = "window1"; //Glade default ? gf.Namespace = gf.ClassName; gf.CreateImplementation = true; gf.OutputPath = fi.Directory.FullName; }
/// <summary> /// Add a new glade file in the datastore /// </summary> /// <param name='sender'> /// Sender. /// </param> /// <param name='e'> /// E. /// </param> void HandleBtnAddClicked(object sender, EventArgs e) { OpenFileDialog fc = new OpenFileDialog("select a glade file"); fc.Filters.Add(new FileDialogFilter("Glade","*.glade")); if (fc.Run()) { GladeFile gf = new GladeFile(fc.FileName); gf.WindowName = "window1"; gf.Namespace = "window1"; gf.ClassName = "window1"; gf.CreateImplementation = true; gf.OutputPath = new FileInfo(fc.FileName).Directory.FullName; TsData.AddNode().SetValue(dfFilename,gf.Filename).SetValue(dfGladefile,gf); } }
//clear all entries ... kind of workaround private void clearEntries() { GladeFile gf = new GladeFile(""); gf.ClassName = String.Empty; gf.CreateImplementation = true; gf.CustomWidgetName = String.Empty; gf.Filename = String.Empty; gf.Filename = String.Empty; gf.Namespace = String.Empty; gf.OutputPath = String.Empty; gf.Target = String.Empty; gf.UseGtk2 = false; gf.WindowName = String.Empty; gf.XwtOutput = false; DataObjects.Add(gf); gf.Bind(this); DataObjects.DataObjects.Clear(); }