[Mono-list] Widgets (not Gtk.Window) with Glade?

Ben Motmans ben.motmans at gmail.com
Fri Feb 23 10:04:22 EST 2007


In Glade, you can also add a "Custom" widget

basically, this is just a placeholder that is going to call a function
inside your application when the widget is added

just set the Glade.XML.CustomHandler to a delegate of the type
Glade.XMLCustomWidgetHandler, whenever a custom widget is found, this
function will be called and allows you to return your own custom
widget

there is a small example in the Glade documentation:
http://go-mono.org/docs/monodoc.ashx?tlink=5@ecma%3a366%23XMLCustomWidgetHandler%2f

-- Ben

On 2/23/07, Arx Cruz <arxcruz at gmail.com> wrote:
> I think you want is create your widget in glade, and deattach this
> from the top window and put in another container right?
> if this is what you want, you can do it. monodevelop make this all
> time. you get the top level window, get his children, unparent this
> and destroy the top lvl window. then you have your children ready to
> attach in other container.
> im under windows now, so i dont know the code to do this, but take a
> look in monodevelop, if im not mistaked, the class to do this is
> GladeExtract.
>
> and sorry my english
>
> On 2/23/07, paulomorfeo at portugalmail.pt <paulomorfeo at portugalmail.pt> wrote:
> >
> >   Is it possible to "link" advanced GUIs with Glade? That is, Glade-Connect
> > something that is not a Gtk.Window to mono? How?
> >
> >   I want to add versatility to my GUIs without having to right extensive code.
> > Right now, i am using a method of creating widgets that load the parameters
> > (borderWidth, Spacings, Expand/Fill, Text/Label, etc) from a class of
> > parameters, that itself loads from a file. Effective but requires some extra
> > code and that every single property of the Widgets that i may possibly want
> > changed in the future to be added.
> >   I tried Glade and it seemed pretty good. I can make the Glade files fast with
> > the program Glade, i can, later, add properties i feel like without having to
> > worry at first code time to add all possible properties, change them without
> > recompiling program, etc.
> >
> >   The problem is that, in my GUI creations, i always end up using a method of
> > creating my own widgets, usually classes derived from V/HBox/Frame, which i then
> > add where needed.
> >   An example, i created my own class derived from Button, receiving an image and
> > label to have buttons with Images and Labels at will. Just an example, since
> > most are complex, like an entire Login area that i can add to any container i
> > feel like.
> >
> >   How do i connect to such kind of "special" widgets with Glade? I tried
> > creating an example with Glade inside a Window. Then, have a class
> > Glade.XML.Connect to the widget inside that window that i wanted (was a
> > ToolBar). The problem was that, later, i could not add that class to, for
> > example, a Table/V/HBox because that class was not Widget.
> >   Then i tried making that class derive from Widget and, that time, it did
> > compiled but did not worked as expected. I think it complained about it trying
> > to connect to something not Window.
> >
> >   So, is there any way i can use Glade to connect to and use Widgets that are
> > not the common Top Levels (Gtk.Window), even if i have to go do some editing to
> > the .Glade files?
> >   That would be extraordinarily helpfull.
> >
> >
> >
> >
> >
> >
> >
> >
> > __________________________________________________________
> > Porque insiste em pagar o dobro?
> > Compare o preço da sua ligação à Internet
> > http://acesso.portugalmail.pt/maisbarato
> > _______________________________________________
> > Mono-list maillist  -  Mono-list at lists.ximian.com
> > http://lists.ximian.com/mailman/listinfo/mono-list
> >
>
>
> --
> "A fé remove montanhas, mas eu prefiro a dinamite"
> _______________________________________________
> Mono-list maillist  -  Mono-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
>


More information about the Mono-list mailing list