Projects/laydi
Projects
/
laydi
Archived
7
0
Fork 0

Switched hard-coded 3-s with a variable to determine size of viewport resizing

dialog on toolbar.
This commit is contained in:
Einar Ryeng 2008-02-27 17:38:01 +00:00
parent cb6d6b87cc
commit aa3ec28ec6
1 changed files with 17 additions and 12 deletions

View File

@ -55,18 +55,19 @@ class IconFactory:
icon_factory = IconFactory(ICONDIR)
class TableSizeSelection(gtk.Window):
def __init__(self):
self._SIZE = size = 5
gtk.Window.__init__(self, gtk.WINDOW_POPUP)
self._table = gtk.Table(3, 3, True)
self._table = gtk.Table(size, size, True)
self._items = []
## Create a 3x3 table of EventBox object, doubly stored because
## gtk.Table does not support indexed retrieval.
for y in range(3):
for y in range(size):
line = []
for x in range(3):
for x in range(size):
ebox = gtk.EventBox()
ebox.add(gtk.Frame())
ebox.set_size_request(20, 20)
@ -80,15 +81,17 @@ class TableSizeSelection(gtk.Window):
self.connect_signals()
def _get_child_pos(self, child):
for x in range(3):
for y in range(3):
size = self._SIZE
for x in range(size):
for y in range(size):
if self._items[y][x] == child:
return (x, y)
return None
def connect_signals(self):
for x in range(3):
for y in range(3):
size = self._SIZE
for x in range(size):
for y in range(size):
self._items[y][x].add_events(gtk.gdk.ENTER_NOTIFY_MASK)
self._items[y][x].connect("enter-notify-event",
self._on_enter_notify)
@ -96,9 +99,10 @@ class TableSizeSelection(gtk.Window):
self._on_button_release)
def _on_enter_notify(self, widget, event):
size = self._SIZE
x, y = self._get_child_pos(widget)
for i in range(3):
for j in range(3):
for i in range(size):
for j in range(size):
if i <= x and j <= y:
self._items[j][i].set_state(gtk.STATE_SELECTED)
else:
@ -107,11 +111,12 @@ class TableSizeSelection(gtk.Window):
self.y = y
def _on_button_release(self, widget, event):
size = self._SIZE
self.emit('table-size-set', self.x+1, self.y+1)
self.hide_all()
for x in range(3):
for y in range(3):
for x in range(size):
for y in range(size):
self._items[y][x].set_state(gtk.STATE_NORMAL)