~ubuntu-branches/ubuntu/precise/gnome-games/precise-proposed

« back to all changes in this revision

Viewing changes to gnome-sudoku/src/lib/dialog_swallower.py

  • Committer: Package Import Robot
  • Author(s): Rodrigo Moya
  • Date: 2011-05-30 13:32:04 UTC
  • mfrom: (1.3.4)
  • mto: (163.1.3 precise)
  • mto: This revision was merged to the branch mainline in revision 143.
  • Revision ID: package-import@ubuntu.com-20110530133204-celaq1v1dsxc48q1
Tags: upstream-3.0.2
ImportĀ upstreamĀ versionĀ 3.0.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# -*- coding: utf-8 -*-
2
 
import gtk
 
2
from gi.repository import Gtk,GObject
3
3
 
4
4
# Convenience library for a new kind of UI -- for e.g. this game, we
5
5
# don't really want to have dialogs. Nonetheless, it's convenient to
6
6
# design dialogs in gtkbuilder and run them in the standard manner... So we
7
7
# create a new "dialog" interface via a hidden notebook.
8
8
 
9
 
class SwappableArea (gtk.Notebook):
 
9
class SwappableArea (Gtk.Notebook):
10
10
 
11
11
 
12
12
    swallowed = {}
15
15
 
16
16
 
17
17
    def __init__ (self, main_area):
18
 
        gtk.Notebook.__init__(self)
 
18
        GObject.GObject.__init__(self)
19
19
        self.set_show_tabs(False)
20
20
        self.set_show_border(False)
21
 
        self.main_page = self.append_page(main_area)
 
21
        self.main_page = self.append_page(main_area, None)
22
22
 
23
23
    def swallow_window (self, d):
24
 
        child = d.child
 
24
        child = d.get_child()
25
25
        d.remove(child)
26
26
        return self.swallow_widget(child)
27
27
 
28
28
    def swallow_widget (self, w):
29
29
        w.unparent()
30
 
        return self.append_page(w)
 
30
        return self.append_page(w, None)
31
31
 
32
32
    def response_cb (self, w, response, data=None):
33
 
        gtk.main_quit()
 
33
        Gtk.main_quit()
34
34
        self.response = response
35
35
 
36
36
    def swallow_dialog (self, d):
45
45
            self.swallow_dialog(d)
46
46
        self.set_current_page(self.swallowed[d])
47
47
        try:
48
 
            gtk.main()
 
48
            Gtk.main()
49
49
        except:
50
50
            print 'Error in dialog!'
51
51
            import traceback
61
61
 
62
62
if __name__ == '__main__':
63
63
 
64
 
    d = gtk.Dialog()
65
 
    d.vbox.add(gtk.Label('Foo, bar, baz'))
 
64
    d = Gtk.Dialog()
 
65
    d.vbox.add(Gtk.Label('Foo, bar, baz'))
66
66
    d.vbox.show_all()
67
 
    d.add_button(gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE)
68
 
    w = gtk.Window()
69
 
    b = gtk.Button('show d')
 
67
    d.add_button(Gtk.STOCK_CLOSE, Gtk.ResponseType.CLOSE)
 
68
    w = Gtk.Window()
 
69
    b = Gtk.Button('show d')
70
70
    b.show()
71
71
    sa = SwappableArea(b)
72
72
    sa.show()
73
73
    w.add(sa)
74
74
    b.connect_object('clicked', sa.run_dialog, d)
75
75
    w.show()
76
 
    gtk.main()
 
76
    Gtk.main()
77
77