public object AddNewWidget(string type, string name)
        {
            ClassDescriptor cls = Registry.LookupClassByName(type);

            Gtk.Widget w = (Gtk.Widget)cls.NewInstance(this);
            w.Name = name;
            this.AddWidget(w);
            return(Component.GetSafeReference(ObjectWrapper.Lookup(w)));
        }
Beispiel #2
0
        public object AddNewWidgetFromTemplate(string template)
        {
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(template);
            Gtk.Widget widget = Stetic.WidgetUtils.ImportWidget(this, doc.DocumentElement);
            AddWidget(widget);
            return(Component.GetSafeReference(ObjectWrapper.Lookup(widget)));
        }
 protected virtual void OnSignalChanged(SignalChangedEventArgs args)
 {
     if (frontend != null)
     {
         frontend.NotifySignalChanged(Component.GetSafeReference(args.Wrapper), null, args.OldSignal, args.Signal);
     }
     if (SignalChanged != null)
     {
         SignalChanged(this, args);
     }
 }
 void OnWidgetNameChanged(Stetic.Wrapper.WidgetNameChangedArgs args, bool isTopLevel)
 {
     if (frontend != null)
     {
         frontend.NotifyWidgetNameChanged(Component.GetSafeReference(args.WidgetWrapper), args.OldName, args.NewName, isTopLevel);
     }
     if (args.WidgetWrapper != null && WidgetNameChanged != null)
     {
         WidgetNameChanged(this, args);
     }
 }
 void IProject.NotifySignalAdded(SignalEventArgs args)
 {
     if (loading)
     {
         return;
     }
     if (frontend != null)
     {
         frontend.NotifySignalAdded(Component.GetSafeReference(args.Wrapper), null, args.Signal);
     }
     OnSignalAdded(args);
 }
 void NotifySelectionChanged(Stetic.Wrapper.Widget w)
 {
     if (frontend == null)
     {
         return;
     }
     if (w != null)
     {
         frontend.NotifySelectionChanged(Component.GetSafeReference(w), w.Wrapped.Name, w.ClassDescriptor.Name);
     }
     else
     {
         frontend.NotifySelectionChanged(null, null, null);
     }
 }
 protected override void OnRowActivated(TreePath path, TreeViewColumn col)
 {
     base.OnRowActivated(path, col);
     Stetic.Wrapper.Widget w = SelectedWrapper;
     if (w != null)
     {
         if (frontend != null)
         {
             frontend.NotifyWidgetActivated(Component.GetSafeReference(w), w.Wrapped.Name, w.ClassDescriptor.Name);
         }
         if (WidgetActivated != null)
         {
             WidgetActivated(this, new Wrapper.WidgetEventArgs(w));
         }
     }
 }
 public Wrapper.Container GetTopLevelWrapper(string name, bool throwIfNotFound)
 {
     Gtk.Widget w = GetTopLevel(name);
     if (w != null)
     {
         Wrapper.Container ww = Wrapper.Container.Lookup(w);
         if (ww != null)
         {
             return((Wrapper.Container)Component.GetSafeReference(ww));
         }
     }
     if (throwIfNotFound)
     {
         throw new InvalidOperationException("Component not found: " + name);
     }
     return(null);
 }
Beispiel #9
0
        internal ArrayList GetWidgetChildren(Wrapper.Widget ww)
        {
            Stetic.Wrapper.Container cw = ww as Stetic.Wrapper.Container;
            if (cw == null)
            {
                return(null);
            }

            ArrayList list = new ArrayList();

            foreach (object ob in cw.RealChildren)
            {
                ObjectWrapper ow = ObjectWrapper.Lookup(ob);
                if (ow != null)
                {
                    list.Add(Component.GetSafeReference(ow));
                }
            }
            return(list);
        }
Beispiel #10
0
        void OnWidgetNameChanged(Stetic.Wrapper.WidgetNameChangedArgs args, bool isTopLevel)
        {
            if (frontend != null)
            {
                frontend.NotifyWidgetNameChanged(Component.GetSafeReference(args.WidgetWrapper), args.OldName, args.NewName, isTopLevel);
            }
            if (args.WidgetWrapper != null && WidgetNameChanged != null)
            {
                WidgetNameChanged(this, args);
            }

            if (modifiedTopLevels.Contains(args.OldName))
            {
                modifiedTopLevels.Remove(args.OldName);
            }

            if (!modifiedTopLevels.Contains(args.NewName))
            {
                modifiedTopLevels.Add(args.NewName);
            }
        }
        public void AddWidget(Gtk.Widget widget)
        {
            if (!typeof(Gtk.Container).IsInstanceOfType(widget))
            {
                throw new System.ArgumentException("widget", "Only containers can be top level widgets");
            }
            topLevels.Add(new WidgetData(null, null, widget));

            if (!loading)
            {
                Stetic.Wrapper.Widget ww = Stetic.Wrapper.Widget.Lookup(widget);
                if (ww == null)
                {
                    throw new InvalidOperationException("Widget not wrapped");
                }
                if (frontend != null)
                {
                    frontend.NotifyWidgetAdded(Component.GetSafeReference(ww), widget.Name, ww.ClassDescriptor.Name);
                }
                OnWidgetAdded(new Stetic.Wrapper.WidgetEventArgs(ww));
            }
        }