Ejemplo n.º 1
0
        void MergeEvent(WidgetParser parser, XmlElement objectElem, IEvent evnt)
        {
            XmlElement itemGroups = objectElem ["signals"];

            if (itemGroups == null)
            {
                itemGroups = objectElem.OwnerDocument.CreateElement("signals");
                objectElem.AppendChild(itemGroups);
            }

            string     cat       = parser.GetCategory(evnt);
            XmlElement itemGroup = GetItemGroup(evnt.DeclaringType, itemGroups, cat, "Signals");

            XmlElement signalElem = (XmlElement)itemGroup.SelectSingleNode("signal[@name='" + evnt.Name + "']");

            if (signalElem == null)
            {
                signalElem = itemGroup.OwnerDocument.CreateElement("signal");
                signalElem.SetAttribute("name", evnt.Name);
                itemGroup.AppendChild(signalElem);
            }
        }
Ejemplo n.º 2
0
        void MergeProperty(WidgetParser parser, XmlElement objectElem, IProperty prop)
        {
            XmlElement itemGroups = objectElem ["itemgroups"];

            if (itemGroups == null)
            {
                itemGroups = objectElem.OwnerDocument.CreateElement("itemgroups");
                objectElem.AppendChild(itemGroups);
            }

            string     cat       = parser.GetCategory(prop);
            XmlElement itemGroup = GetItemGroup(prop.DeclaringType, itemGroups, cat, "Properties");

            XmlElement propElem = (XmlElement)itemGroup.SelectSingleNode("property[@name='" + prop.Name + "']");

            if (propElem == null)
            {
                propElem = itemGroup.OwnerDocument.CreateElement("property");
                propElem.SetAttribute("name", prop.Name);
                itemGroup.AppendChild(propElem);
            }
        }
Ejemplo n.º 3
0
        void UpdateClass(WidgetParser parser, Stetic.Project stetic, ITypeDefinition widgetClass, ITypeDefinition wrapperClass)
        {
            string     typeName     = widgetClass.FullName;
            string     basetypeName = GetBaseType(parser, widgetClass, stetic);
            XmlElement objectElem   = (XmlElement)SelectSingleNode("objects/object[@type='" + typeName + "']");

            if (objectElem == null)
            {
                // The widget class is not yet in the XML file. Create an element for it.
                objectElem = CreateElement("object");
                objectElem.SetAttribute("type", typeName);
                string category = parser.GetCategory(widgetClass);
                if (category == String.Empty)
                {
                    objectElem.SetAttribute("palette-category", "General");
                }
                else
                {
                    objectElem.SetAttribute("palette-category", category);
                }
                objectElem.SetAttribute("allow-children", "false");
                if (wrapperClass != null)
                {
                    objectElem.SetAttribute("wrapper", wrapperClass.FullName);
                }

                // By default add a reference to Gtk.Widget properties and events
                XmlElement itemGroups = objectElem.OwnerDocument.CreateElement("itemgroups");
                objectElem.AppendChild(itemGroups);

                itemGroups = objectElem.OwnerDocument.CreateElement("signals");
                objectElem.AppendChild(itemGroups);

                objectElem.SetAttribute("base-type", basetypeName);
                DocumentElement.AppendChild(objectElem);
            }

            UpdateObject(parser, basetypeName, objectElem, widgetClass, wrapperClass);
        }
Ejemplo n.º 4
0
		void MergeEvent (WidgetParser parser, XmlElement objectElem, IEvent evnt)
		{
			XmlElement itemGroups = objectElem ["signals"];
			if (itemGroups == null) {
				itemGroups = objectElem.OwnerDocument.CreateElement ("signals");
				objectElem.AppendChild (itemGroups);
			}
			
			string cat = parser.GetCategory (evnt);
			XmlElement itemGroup = GetItemGroup (evnt.DeclaringType, itemGroups, cat, "Signals");
			
			XmlElement signalElem = (XmlElement) itemGroup.SelectSingleNode ("signal[@name='" + evnt.Name + "']");
			if (signalElem == null) {
				signalElem = itemGroup.OwnerDocument.CreateElement ("signal");
				signalElem.SetAttribute ("name", evnt.Name);
				itemGroup.AppendChild (signalElem);
			}
		}
Ejemplo n.º 5
0
		void MergeProperty (WidgetParser parser, XmlElement objectElem, IProperty prop)
		{
			XmlElement itemGroups = objectElem ["itemgroups"];
			if (itemGroups == null) {
				itemGroups = objectElem.OwnerDocument.CreateElement ("itemgroups");
				objectElem.AppendChild (itemGroups);
			}
			
			string cat = parser.GetCategory (prop);
			XmlElement itemGroup = GetItemGroup (prop.DeclaringType, itemGroups, cat, "Properties");
			
			XmlElement propElem = (XmlElement) itemGroup.SelectSingleNode ("property[@name='" + prop.Name + "']");
			if (propElem == null) {
				propElem = itemGroup.OwnerDocument.CreateElement ("property");
				propElem.SetAttribute ("name", prop.Name);
				itemGroup.AppendChild (propElem);
			}
		}
Ejemplo n.º 6
0
		void UpdateClass (WidgetParser parser, Stetic.Project stetic, IType widgetClass, IType wrapperClass)
		{
			string typeName = widgetClass.FullName;
			string basetypeName = GetBaseType (parser, widgetClass, stetic);
			XmlElement objectElem = (XmlElement) SelectSingleNode ("objects/object[@type='" + typeName + "']");
			
			if (objectElem == null) {
			
				// The widget class is not yet in the XML file. Create an element for it.
				objectElem = CreateElement ("object");
				objectElem.SetAttribute ("type", typeName);
				string category = parser.GetCategory (widgetClass);
				if (category == String.Empty)
					objectElem.SetAttribute ("palette-category", "General");
				else
					objectElem.SetAttribute ("palette-category", category);
				objectElem.SetAttribute ("allow-children", "false");
				if (wrapperClass != null)
					objectElem.SetAttribute ("wrapper", wrapperClass.FullName);
				
				// By default add a reference to Gtk.Widget properties and events
				XmlElement itemGroups = objectElem.OwnerDocument.CreateElement ("itemgroups");
				objectElem.AppendChild (itemGroups);
				
				itemGroups = objectElem.OwnerDocument.CreateElement ("signals");
				objectElem.AppendChild (itemGroups);
				
				objectElem.SetAttribute ("base-type", basetypeName);
				DocumentElement.AppendChild (objectElem);
			}
			
			UpdateObject (parser, basetypeName, objectElem, widgetClass, wrapperClass);
		}