#!/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()