rework buttons into mode_buttons
This commit is contained in:
parent
5f2436f3b7
commit
99129c60e1
43
Window.py
43
Window.py
@ -7,7 +7,7 @@ from SketchWidget import SketchWidget
|
||||
|
||||
class Window:
|
||||
def __init__(self, title):
|
||||
self.buttons = {}
|
||||
self.mode_buttons = {}
|
||||
|
||||
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
|
||||
self.window.set_size_request(600, 500)
|
||||
@ -23,19 +23,22 @@ class Window:
|
||||
|
||||
self.toolbar = gtk.Toolbar()
|
||||
self.toolbar.set_style(gtk.TOOLBAR_BOTH)
|
||||
self.buttons['select'] = gtk.ToggleToolButton()
|
||||
self.buttons['select'].set_label('Select')
|
||||
self.buttons['select'].connect('toggled', self.toggled_event)
|
||||
self.buttons['select'].set_active(True)
|
||||
self.toolbar.insert(self.buttons['select'], -1)
|
||||
self.buttons['line'] = gtk.ToggleToolButton()
|
||||
self.buttons['line'].set_label('Line')
|
||||
self.buttons['line'].connect('toggled', self.toggled_event)
|
||||
self.toolbar.insert(self.buttons['line'], -1)
|
||||
self.buttons['circle'] = gtk.ToggleToolButton()
|
||||
self.buttons['circle'].set_label('Circle')
|
||||
self.buttons['circle'].connect('toggled', self.toggled_event)
|
||||
self.toolbar.insert(self.buttons['circle'], -1)
|
||||
ttb = gtk.ToggleToolButton()
|
||||
ttb.set_label('Select')
|
||||
ttb.connect('toggled', self.mode_toggle_event)
|
||||
ttb.set_active(True)
|
||||
self.toolbar.insert(ttb, -1)
|
||||
self.mode_buttons[ttb] = 'select'
|
||||
ttb = gtk.ToggleToolButton()
|
||||
ttb.set_label('Line')
|
||||
ttb.connect('toggled', self.mode_toggle_event)
|
||||
self.toolbar.insert(ttb, -1)
|
||||
self.mode_buttons[ttb] = 'line'
|
||||
ttb = gtk.ToggleToolButton()
|
||||
ttb.set_label('Circle')
|
||||
ttb.connect('toggled', self.mode_toggle_event)
|
||||
self.toolbar.insert(ttb, -1)
|
||||
self.mode_buttons[ttb] = 'circle'
|
||||
|
||||
self.statusbar = gtk.Statusbar()
|
||||
|
||||
@ -60,15 +63,15 @@ class Window:
|
||||
gtk.main_quit()
|
||||
return False
|
||||
|
||||
def toggled_event(self, ttb):
|
||||
def mode_toggle_event(self, ttb):
|
||||
if not ttb.get_active():
|
||||
for b in self.buttons:
|
||||
if self.buttons[b].get_active():
|
||||
for b in self.mode_buttons:
|
||||
if b.get_active():
|
||||
break
|
||||
else:
|
||||
ttb.set_active(True)
|
||||
else:
|
||||
for b in self.buttons:
|
||||
if self.buttons[b] != ttb:
|
||||
self.buttons[b].set_active(False)
|
||||
for b in self.mode_buttons:
|
||||
if b != ttb:
|
||||
b.set_active(False)
|
||||
return True
|
||||
|
Loading…
x
Reference in New Issue
Block a user