Re: Lightweight way for Glade to support custom widgets in a project?
Juan Pablo Ugarte <[email protected]>
| Newsgroups | gmane.comp.gnome.glade.user |
|---|---|
| Message-ID | <1333850556.4698.9.camel@xjuan> |
New version of glade wont delete unknown widgets, besides you cant open a file that requires a missing catalog. Take a look at http://developer.gnome.org/gladeui/3.6/catalogintro.html And if you really dont want to use your library at runtime take a look at the parent property of glade-widget-class http://developer.gnome.org/gladeui/3.6/widgetclasses.html greets JP On Tue, 2012-02-28 at 17:35 -0800, Brian Marshall wrote: > Hi, > > I'm trying to get Glade to work with a custom widget that I'm using. > It's a very minor extension to GtkEntry, with a couple extra > properties and methods defined. It works fine already if I add it at > runtime with code. It also works fine if I manually edit the Glade .ui > file and change class="GtkEntry" to class="MyWidget" - GtkBuilder > finds the widget class in my Python code and adds it to the window. > > The problem is that if I open the .ui file in Glade after this, it > just deletes the custom widget. I've read that I need to add a catalog > file to get Glade to recognize the widget, but that seems like > overkill, and has a flaw: if someone (or me, on another computer) > opens the project in Glade, and doesn't have the catalog file > installed, then Glade will silently delete the widget from the window. > > Is there some way to provide support for a custom widget in the .ui > file itself? It doesn't have to be extensive support, but it would be > nice if I could get Glade to keep the widget when it loads the file. > Even a simple alias from MyWidget to GtkEntry would work. Something > like: > > <alias from="MyWidget" to="GtkEntry"/> > <interface> > ... > </interface> > > (Probably not the best solution, but just to get my idea across.) That > would be enough to get Glade to display it and allow manipulation, > with the actual custom parts done at program runtime, since GtkBuilder > handles it from there. > > Basically I'm looking for a way to move and place the widget in Glade, > in a way that is embedded in the project, so that the failure case of > silently deleting the widget on project load can never happen. > > My current solution is to add the custom widget completely from code - > Glade never sees it. Another solution is to put GtkEntry placeholders > in Glade, and replace them at runtime, but that has more overhead (in > terms of amount of code that I need to write, at least), since as far > as I know replacing something in GTK requires removing it and adding a > new element in the same place. > > Also I want to clarify that if I take Glade out of the equation, and > edit the .ui file manually and load it with GtkBuilder, then > everything works. The only issue is that Glade doesn't recognize the > widget when I'm editing the project. > > Thanks in advance for any responses, I appreciate your time. > > -- Brian > _______________________________________________ > Glade-users maillist - [email protected] > http://lists.ximian.com/mailman/listinfo/glade-users _______________________________________________ Glade-users maillist - [email protected] http://lists.ximian.com/mailman/listinfo/glade-users