1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
#!/usr/bin/env python
# Copyright (C) 2009, Tutorius.org
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
import gtk
import dragbox
import textbubble
box = None
def _destroy(widget, data=None):
gtk.main_quit()
def _delete_event(widget, event, data=None):
print "quitting"
return False
def blublu(widget, data=""):
print data
def _drag_toggle(widget, data=None):
global box
box.dragMode = not box.dragMode
def addBtn(widget, data, bubble=0, btns=[0]):
if bubble == 1:
bt = textbubble.TextBubble("Bubble(%d)"%btns[0])
else:
bt = gtk.Button("Bubble(%d)"%btns[0])
##bt.set_size_request(60,40)
bt.show()
data.attach(bt)
btns[0] += 1
def main():
global box
win = gtk.Window(type=gtk.WINDOW_TOPLEVEL)
win.connect("delete_event", _delete_event)
win.connect("destroy", _destroy)
win.set_default_size(800,600)
vbox = gtk.VBox()
vbox.show()
win.add(vbox)
check = gtk.CheckButton(label="dragMode")
check.connect("toggled", _drag_toggle)
check.show()
vbox.pack_start(check, expand=False)
btnadd = gtk.Button("Add Bubble")
btnadd.show()
vbox.pack_start(btnadd, expand=False)
btnadd2 = gtk.Button("Add Button")
btnadd2.show()
vbox.pack_start(btnadd2, expand=False)
## bubble = textbubble.TextBubble("Bubbles!")
## bubble.show()
## bubble.set_size_request(40,40)
## vbox.pack_start(bubble, expand=False)
box = dragbox.DragBox()
box.set_border_width(10)
box.show()
vbox.pack_start(box, expand=True, fill=True)
btnadd.connect("clicked", addBtn, box, 1)
btnadd2.connect("clicked", addBtn, box)
win.show()
gtk.main()
if __name__ == "__main__":
main()
|