Re: how to add window as a page to a notebook

"anusha k" <[email protected]>
Newsgroups gmane.comp.gnome.gtk+.python,gmane.comp.gnome.glade.user,gmane.comp.gnome.glade.devel
Message-ID <[email protected]>
hi Andi,
I tried your second solution.But it is giving the error:'glade.XML' object
has no attribute 'get_child'
for your reference i am sending my whole folder as tar.gz.Please refer it .
Thanks for your help.

Njoy the share of Freedom,
Anusha

On Sat, Jan 10, 2009 at 1:11 PM, Andi Albrecht <[email protected]
> wrote:

> Hi Anusha,
>
> I think there are two problems here: First you have to reparent the
> widget you want to add to the notebook and then you can't add toplevel
> windows to notebooks.
>
> I could not test it, but IMO show_newOrganisation() should look
> something like this (where NAME_OF_THE_WIDGET is the name of the first
> child widget in your second glade file):
>
> def show_newOrganisation(self,widget):
>       new_org.org()
>       self.gladefile_newOrg = "new_org.glade"
>        widget = gtk.glade.XML(self.gladefile_newOrg, 'NAME_OF_THE_WIDGET')
>       self.page=self.notebook.insert_page(widget    , None, 0)
>        self.notebook.set_current_page(self.page)
>
> FWIW, if you need to toplevel window from the second glade file too
> you can do something like this:
>
> def show_newOrganisation(self,widget):
>       new_org.org()
>       self.gladefile_newOrg = "new_org.glade"
>       self.wTreenewOrg = gtk.glade.XML(self.gladefile_newOrg)
>        self.page = self.wTreenewOrg.get_child()
>       self.page.reparent(self.notebook)
>       self.page.set_tab_label_text(self.page, 'some tab label')
>
> Regards,
>
> Andi
>
> On Sat, Jan 10, 2009 at 7:54 AM, anusha k <[email protected]> wrote:
> > hi,
> >
> > I am using glade and pygtk to develop an accounting software.In that we
> have
> > two glade files .first glade file contain the main window and the note
> book
> > and the second glade contains the another window .I want to add the
> second
> > glade-window as a page to first glade-window.how to do this
> > I have the code as below.but it is giving the warning and the window is
> not
> > shown up .warnings are :
> > How to solve the warnings.Is there any other way to solve this
> >
> Warnings:****************************************************************************
> >
> > self.wTree = gtk.glade.XML(self.gladefile)
> > main.py:47: GtkWarning: gtk_notebook_set_tab_label: assertion
> `GTK_IS_WIDGET
> > (child)' failed
> >   self.wTree = gtk.glade.XML(self.gladefile)
> > main.py:20: GtkWarning: Can't set a parent on a toplevel widget
> >
> >
> >
> self.page=self.notebook.insert_page(self.wTreenewOrg.get_widget("window_new_org")
> > , None, 0)
> > main.py:20: GtkWarning: gtk_widget_set_child_visible: assertion
> > `!GTK_WIDGET_TOPLEVEL (widget)' failed
> >
> >
> self.page=self.notebook.insert_page(self.wTreenewOrg.get_widget("window_new_org")
> > , None, 0)
> >
> ***************************************************************************
> > Code:
> >
> > import pygtk
> > pygtk.require('2.0')
> > import gtk
> > import gtk.glade
> > import new_org
> > class mainmenu:
> >     def show_newOrganisation(self,widget):
> >         new_org.org()
> >         self.gladefile_newOrg = "new_org.glade"
> >         self.wTreenewOrg = gtk.glade.XML(self.gladefile_newOrg)
> >
> >
> self.page=self.notebook.insert_page(self.wTreenewOrg.get_widget("window_new_org")
> > , None, 0)
> >         self.notebook.set_current_page(self.page)
> >
> >     def dialogQuit(self,widget):
> >         self.dialog_quit = self.wTree.get_widget("dialog_quit")
> >         self.dialog_quit.show()
> >         self.response = self.dialog_quit.run()
> >         if self.response == 'gtk.RESPONSE_QUIT':
> >             gtk.main_quit()
> >             self.window.destroy()
> >         self.dialog_quit.destroy()
> >
> >
> >     def on_button_quit_clicked(*args):
> >         gtk.main_quit()
> >
> >     def on_button_cancel_clicked(*args):
> >         self.dialog_quit.destroy()
> >
> >     #To quit the main window
> >     def on_Mainwindow_destroy(self):
> >         gtk.main_quit()
> >
> >
> >     def __init__(self):
> >         #set the glade file
> >         self.gladefile = "gnukhata.glade"
> >         self.wTree = gtk.glade.XML(self.gladefile)
> >
> >         #get the Main Window and connect the Destroy event
> >         self.window = self.wTree.get_widget("MainWindow")
> >         self.window.show()
> >         self.window.connect('destroy',gtk.main_quit)
> >         self.notebook = self.wTree.get_widget("notebook_main")
> >         self.notebook.show()
> >
> >         self.menuitem_quit = self.wTree.get_widget("menuitem_quit")
> >         self.menuitem_quit.connect('activate',self.dialogQuit)
> >
> >         self.menuitem_newOrg =
> > self.wTree.get_widget("menuitem_new_organisation")
> >
> self.menuitem_newOrg.connect('activate',self.show_newOrganisation)
> > if __name__ == "__main__":
> >     mm=mainmenu()
> >     gtk.main()
> >
> > Thanks in advance
> >
> > Njoy the share of Freedom,
> > Anusha
> >
> > _______________________________________________
> > pygtk mailing list   [email protected]
> > http://www.daa.com.au/mailman/listinfo/pygtk
> > Read the PyGTK FAQ: http://faq.pygtk.org/
> >
> _______________________________________________
> pygtk mailing list   [email protected]
> http://www.daa.com.au/mailman/listinfo/pygtk
> Read the PyGTK FAQ: http://faq.pygtk.org/
>

_______________________________________________
pygtk mailing list   [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/
gnukhata919.tar.gz (application/x-gzip, 5.5 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.