Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/cca/raw-rev/6630f82e4675
Дата изменения: Unknown
Дата индексирования: Tue Oct 2 04:16:09 2012
Кодировка:

# HG changeset patch
# User is_rusinov
# Date 1291640562 -10800
# Node ID 6630f82e467576b9b440510235cd65c0e3499481
# Parent 9cbbff6dbbaf63366fa2d18fca64a8898e06b15e# Parent f411a1e0a5cb2ed686b8178b355538a6b98e6cf7
Automated merge with ssh://kodomo.fbb.msu.ru/cca

diff -r 9cbbff6dbbaf -r 6630f82e4675 Interface.py
--- a/Interface.py Mon Dec 06 14:20:54 2010 +0300
+++ b/Interface.py Mon Dec 06 16:02:42 2010 +0300
@@ -13,8 +13,10 @@
self.offset_x = offset_x
self.offset_y = offset_y
self.after_id = 0
- self.mouse_x = 0
- self.mouse_y = 0
+ self.mouse_col=0
+ self.mouse_row=0
+ self.mouse_offset_x = 0
+ self.mouse_offset_y = 0
self.mouse_zoom = 0
self.zoom_divisor = 10
self.is_started = False
@@ -115,52 +117,52 @@
row = (event.y - self.offset_y * (self.cell_size + self.line_width)) / (self.cell_size + self.line_width)
index = (automata.symbols[automata.field[row][column]] + 1) % len(automata.states)
automata.field[row][column] = automata.states[index].symbol
- self.draw()
+ self.draw_cell(tuple([column, row]))

def motion1(self, event):# drawer
column = (event.x - self.offset_x * (self.cell_size + self.line_width)) / (self.cell_size + self.line_width)
row = (event.y - self.offset_y * (self.cell_size + self.line_width)) / (self.cell_size + self.line_width)
index = (automata.symbols[automata.field[row][column]] + 1) % len(automata.states)
automata.field[row][column] = automata.states[index].symbol
- self.draw()
+ self.draw_cell(tuple([column, row]))

def press3(self, event):# drawer
column = (event.x - self.offset_x * (self.cell_size + self.line_width)) / (self.cell_size + self.line_width)
row = (event.y - self.offset_y * (self.cell_size + self.line_width)) / (self.cell_size + self.line_width)
index = (automata.symbols[automata.field[row][column]] + len(automata.states) - 1) % len(automata.states)
automata.field[row][column] = automata.states[index].symbol
- self.draw()
+ self.draw_cell(tuple([column, row]))

def motion3(self, event):# drawer
column = (event.x - self.offset_x * (self.cell_size + self.line_width)) / (self.cell_size + self.line_width)
row = (event.y - self.offset_y * (self.cell_size + self.line_width)) / (self.cell_size + self.line_width)
index = (automata.symbols[automata.field[row][column]] + len(automata.states) - 1) % len(automata.states)
automata.field[row][column] = automata.states[index].symbol
- self.draw()
+ self.draw_cell(tuple([column, row]))

def press1_key(self, event):# drawer
if keys.has_key(event.char):
column = (event.x - self.offset_x * (self.cell_size + self.line_width)) / (self.cell_size + self.line_width)
row = (event.y - self.offset_y * (self.cell_size + self.line_width)) / (self.cell_size + self.line_width)
automata.field[row][column] = automata.states[keys[event.char]].symbol
- self.draw()
+ self.draw_cell(tuple([column, row]))

def motion1_key(self, event):# drawer
if keys.has_key(event.char):
column = (event.x - self.offset_x * (self.cell_size + self.line_width)) / (self.cell_size + self.line_width)
row = (event.y - self.offset_y * (self.cell_size + self.line_width)) / (self.cell_size + self.line_width)
automata.field[row][column] = automata.states[keys[event.char]].symbol
- self.draw()
+ self.draw_cell(tuple([column, row]))

def press1_ctrl(self, event):# change_offset (B1+ctrl)
- self.mouse_x = event.x
- self.mouse_y = event.y
+ self.mouse_offset_x = event.x
+ self.mouse_offset_y = event.y

def motion1_ctrl(self, event):# change_offset (B1+ctrl)
- self.offset_x = (event.x - self.mouse_x) / (self.cell_size + self.line_width)
- self.offset_y = (event.y - self.mouse_y) / (self.cell_size + self.line_width)
- self.mouse_x = event.x
- self.mouse_y = event.y
+ self.offset_x = (event.x - self.mouse_offset_x) / (self.cell_size + self.line_width)
+ self.offset_y = (event.y - self.mouse_offset_y) / (self.cell_size + self.line_width)
+ self.mouse_offset_x = event.x
+ self.mouse_offset_y = event.y
self.draw()

def press13(self, event):# zoom
@@ -180,35 +182,34 @@
automata_frame.pack(side="right", fill="y", expand="no", before=canvas)

def to_top(self):# replace choosen state to top
- index = automata.symbols.get(state_list.get("active").split()[1])
+ index = automata.symbols.get(state_list.get("active").split()[0])
state = automata.states[index]
del automata.states[index]
automata.states.insert(0, state)

def to_bottom(self):# replace choosen state to botton
- index = automata.symbols.get(state_list.get("active").split()[1])
+ index = automata.symbols.get(state_list.get("active").split()[0])
state = automata.states[index]
del automata.states[index]
automata.states.append(state)

def upwards(self):
- index = automata.symbols.get(state_list.get("active").split()[1])
+ index = automata.symbols.get(state_list.get("active").split()[0])
state = automata.states[index]
del automata.states[index]
automata.states.insert(index - 1, state)

def downwards(self):
- index = automata.symbols.get(state_list.get("active").split()[1])
+ index = automata.symbols.get(state_list.get("active").split()[0])
state = automata.states[index]
del automata.states[index]
automata.states.insert(index + 1, state)

def delete_state(self):# delete choosen state
- index = automata.symbols.get(state_list.get("active").split()[1])
+ index = automata.symbols.get(state_list.get("active").split()[0])
del automata.states[index]

def add(self):# add new state
- pass
name = state_name.get()
symbol = state_symbol.get()
key = lower(state_key.get())