protected override void ReadProperties(ObjectReader reader, XmlElement elem) { Gtk.StockItem stockItem = Gtk.StockItem.Zero; bool use_stock = (bool)GladeUtils.ExtractProperty(elem, "use_stock", false); if (use_stock) { string label = (string)GladeUtils.GetProperty(elem, "label", ""); stockItem = Gtk.Stock.Lookup(label); if (stockItem.Label != null) { GladeUtils.ExtractProperty(elem, "label", ""); } } base.ReadProperties(reader, elem); if (stockItem.StockId != null) { Image = "stock:" + stockItem.StockId; } if (stockItem.Keyval != 0) { Accelerator = Gtk.Accelerator.Name(stockItem.Keyval, stockItem.Modifier); } }
public override void Read(ObjectReader reader, XmlElement element) { object cp = GladeUtils.ExtractProperty(element, "CurrentPage", 0); base.Read(reader, element); notebook.CurrentPage = (int)cp; }
protected override XmlElement WriteProperties(ObjectWriter writer) { XmlElement elem = base.WriteProperties(writer); if (imageInfo != null) { if (writer.Format == FileFormat.Glade) { // The generated pixbuf property doesn't have a valid value, it needs to be replaced. GladeUtils.ExtractProperty(elem, "pixbuf", ""); switch (imageInfo.Source) { case ImageSource.File: GladeUtils.SetProperty(elem, "pixbuf", imageInfo.Name); break; case ImageSource.Theme: GladeUtils.SetProperty(elem, "stock", imageInfo.Name); GladeUtils.SetProperty(elem, "icon_size", ((int)imageInfo.ThemeIconSize).ToString()); break; default: throw new System.NotSupportedException("Image source not supported by Glade."); } } } return(elem); }
protected virtual void ReadProperties(ObjectReader reader, XmlElement elem) { if (Wrapped != null) { // There is already an instance. Load the default values. this.ClassDescriptor.ResetInstance(Wrapped); Signals.Clear(); } if (reader.Format == FileFormat.Native) { WidgetUtils.Read(this, elem); } else { GladeUtils.ImportWidget(this, elem); } string uid = elem.GetAttribute("undoId"); if (uid.Length > 0) { UndoId = uid; } oldName = Wrapped.Name; }
protected override XmlElement WriteProperties(ObjectWriter writer) { XmlElement elem = base.WriteProperties(writer); if (type != ButtonType.StockItem && imageInfo != null) { if (writer.Format == FileFormat.Glade) { switch (imageInfo.Source) { case ImageSource.File: GladeUtils.SetProperty(elem, "icon", imageInfo.Name); break; case ImageSource.Theme: GladeUtils.SetProperty(elem, "stock_id", imageInfo.Name); break; default: throw new System.NotSupportedException("Image source not supported by Glade."); } } } return(elem); }
protected override void ReadProperties(ObjectReader reader, XmlElement elem) { // ButtonIconSize is stored as IconSize GladeUtils.RenameProperty(elem, "IconSize", "ButtonIconSize"); base.ReadProperties(reader, elem); toolbarInfo = elem ["node"]; }
protected override XmlElement WriteChild(ObjectWriter writer, Widget wrapper) { XmlElement child_elem = base.WriteChild(writer, wrapper); if (wrapper.Wrapped == frame.LabelWidget) { GladeUtils.SetChildProperty(child_elem, "type", "label_item"); } return(child_elem); }
protected override XmlElement WriteProperties(ObjectWriter writer) { XmlElement elem = base.WriteProperties(writer); if (Type == ButtonType.StockItem) { GladeUtils.SetProperty(elem, "label", stockId); } return(elem); }
protected override XmlElement WriteChild(ObjectWriter writer, Widget wrapper) { XmlElement child_elem = base.WriteChild(writer, wrapper); if (tabs.Contains(wrapper.Wrapped)) { GladeUtils.SetChildProperty(child_elem, "type", "tab"); } return(child_elem); }
protected override XmlElement WriteProperties(ObjectWriter writer) { XmlElement elem = base.WriteProperties(writer); string group = GroupManager.GladeGroupName(Wrapped); if (group != Wrapped.Name) { GladeUtils.SetProperty(elem, "group", group); } return(elem); }
protected override ObjectWrapper ReadChild(ObjectReader reader, XmlElement child_elem) { if ((string)GladeUtils.GetChildProperty(child_elem, "type", "") == "label_item") { ObjectWrapper wrapper = reader.ReadObject(child_elem["widget"]); frame.LabelWidget = (Gtk.Widget)wrapper.Wrapped; return(wrapper); } else { return(base.ReadChild(reader, child_elem)); } }
protected override ObjectWrapper ReadChild(ObjectReader reader, XmlElement child_elem) { if ((string)GladeUtils.GetChildProperty(child_elem, "type", "") == "tab") { ObjectWrapper wrapper = reader.ReadObject(child_elem["widget"]); Gtk.Widget widget = (Gtk.Widget)wrapper.Wrapped; notebook.SetTabLabel(notebook.GetNthPage(notebook.NPages - 1), widget); tabs.Add(widget); return(wrapper); } else { return(base.ReadChild(reader, child_elem)); } }
protected virtual XmlElement WriteProperties(ObjectWriter writer) { if (writer.Format == FileFormat.Native) { XmlElement elem = WidgetUtils.Write(this, writer.XmlDocument); if (writer.CreateUndoInfo) { elem.SetAttribute("undoId", UndoId); } return(elem); } else { XmlElement elem = GladeUtils.ExportWidget(this, writer.XmlDocument); GladeUtils.ExtractProperty(elem, "name", ""); return(elem); } }
protected override XmlElement WriteProperties(ObjectWriter writer) { XmlElement elem = base.WriteProperties(writer); if (writer.Format == FileFormat.Native) { // The style is already stored in ButtonStyle GladeUtils.ExtractProperty(elem, "ToolbarStyle", ""); if (toolbarInfo != null) { elem.AppendChild(writer.XmlDocument.ImportNode(toolbarInfo, true)); } else { elem.AppendChild(actionTree.Write(writer.XmlDocument, writer.Format)); } } return(elem); }
protected override void ReadProperties(ObjectReader reader, XmlElement elem) { int history = (int)GladeUtils.ExtractProperty(elem, "history", -1); base.ReadProperties(reader, elem); // Fiddle with things to make the optionmenu resize itself correctly Gtk.Widget menu = optionmenu.Menu; optionmenu.Menu = new Gtk.Menu(); optionmenu.Menu = menu; if (history != -1) { Active = history; } else { Active = 0; } }
protected override void ReadProperties(ObjectReader reader, XmlElement elem) { string group = (string)GladeUtils.ExtractProperty(elem, "group", ""); bool active = (bool)GladeUtils.ExtractProperty(elem, "active", false); base.ReadProperties(reader, elem); if (group != "") { Group = group; } else { Group = Wrapped.Name; } if (active) { ((Gtk.RadioMenuItem)Wrapped).Active = true; } }
protected override void ReadProperties(ObjectReader reader, XmlElement elem) { if (reader.Format == FileFormat.Glade) { string file = (string)GladeUtils.ExtractProperty(elem, "pixbuf", ""); string stock = (string)GladeUtils.ExtractProperty(elem, "stock", ""); string iconSize = (string)GladeUtils.ExtractProperty(elem, "icon_size", ""); base.ReadProperties(reader, elem); if (stock != null && stock.Length > 0) { Pixbuf = ImageInfo.FromTheme(stock, (Gtk.IconSize) int.Parse(iconSize)); } else if (file != null && file != "") { Pixbuf = ImageInfo.FromFile(file); } } else { base.ReadProperties(reader, elem); } }
protected override void ReadProperties(ObjectReader reader, XmlElement elem) { if (reader.Format == FileFormat.Glade) { string icon = (string)GladeUtils.ExtractProperty(elem, "icon", ""); stockId = (string)GladeUtils.ExtractProperty(elem, "stock_id", ""); label = (string)GladeUtils.ExtractProperty(elem, "label", ""); base.ReadProperties(reader, elem); if (stockId != null && stockId.Length > 0) { Type = ButtonType.StockItem; } else if (icon != null && icon != "") { imageInfo = ImageInfo.FromFile(icon); Type = ButtonType.TextAndIcon; } } else { base.ReadProperties(reader, elem); } }
protected override XmlElement WriteProperties(ObjectWriter writer) { XmlElement elem = base.WriteProperties(writer); if (writer.Format == FileFormat.Native) { // The style and icon size is already stored in ButtonStyle and ButtonIconSize GladeUtils.ExtractProperty(elem, "ToolbarStyle", ""); GladeUtils.ExtractProperty(elem, "IconSize", ""); // Store ButtonIconSize as IconSize, for backwards compat GladeUtils.RenameProperty(elem, "ButtonIconSize", "IconSize"); if (toolbarInfo != null) { elem.AppendChild(writer.XmlDocument.ImportNode(toolbarInfo, true)); } else { elem.AppendChild(actionTree.Write(writer.XmlDocument, writer.Format)); } } return(elem); }