gui/tools/designer.py
def key_press(self, event):
        "support cursor keys to move components one pixel at a time"
        key = event.GetKeyCode()
        if key in (wx.WXK_LEFT, wx.WXK_UP, wx.WXK_RIGHT, wx.WXK_DOWN):
            for obj in self.selection:
                x, y = obj.pos
                if event.ShiftDown():     # snap to grid:t 
                    # for now I'm only going to align to grid
                    # in the direction of the cursor movement 
                    if key == wx.WXK_LEFT:
                        x = (x - GRID_SIZE[0]) / GRID_SIZE[0] * GRID_SIZE[0]
                    elif key == wx.WXK_RIGHT:
                        x = (x + GRID_SIZE[0]) / GRID_SIZE[0] * GRID_SIZE[0]
                    elif key == wx.WXK_UP:
                        y = (y - GRID_SIZE[1]) / GRID_SIZE[1] * GRID_SIZE[1]
                    elif key == wx.WXK_DOWN:
                        y = (y + GRID_SIZE[1]) / GRID_SIZE[1] * GRID_SIZE[1]
                else:
                    if key == wx.WXK_LEFT:
                        x = x - 1
                    elif key == wx.WXK_RIGHT:
                        x = x + 1
                    elif key == wx.WXK_UP:
                        y = y - 1
                    elif key == wx.WXK_DOWN:
                        y = y + 1
                obj.pos = (x, y)
        elif key == wx.WXK_DELETE:
            self.delete(event)
        elif key == wx.WXK_INSERT:
            self.duplicate(event)
        else:
            if DEBUG: print "KEY:", key
def key_press(self, event):
        "support cursor keys to move components one pixel at a time"
        key = event.GetKeyCode()
        if key in (wx.WXK_LEFT, wx.WXK_UP, wx.WXK_RIGHT, wx.WXK_DOWN):
            for obj in self.selection:
                x, y = obj.pos
                if event.ShiftDown():     # snap to grid:t 
                    # for now I'm only going to align to grid
                    # in the direction of the cursor movement 
                    if key == wx.WXK_LEFT:
                        x = (x - GRID_SIZE[0]) / GRID_SIZE[0] * GRID_SIZE[0]
                    elif key == wx.WXK_RIGHT:
                        x = (x + GRID_SIZE[0]) / GRID_SIZE[0] * GRID_SIZE[0]
                    elif key == wx.WXK_UP:
                        y = (y - GRID_SIZE[1]) / GRID_SIZE[1] * GRID_SIZE[1]
                    elif key == wx.WXK_DOWN:
                        y = (y + GRID_SIZE[1]) / GRID_SIZE[1] * GRID_SIZE[1]
                else:
                    if key == wx.WXK_LEFT:
                        x = x - 1
                    elif key == wx.WXK_RIGHT:
                        x = x + 1
                    elif key == wx.WXK_UP:
                        y = y - 1
                    elif key == wx.WXK_DOWN:
                        y = y + 1
                obj.pos = (x, y)
        elif key == wx.WXK_DELETE:
            self.delete(event)
        elif key == wx.WXK_INSERT:
            self.duplicate(event)
        else:
            if DEBUG: print "KEY:", key
def key_press ( self , event ) : key = event . GetKeyCode ( ) if key in ( wx . WXK_LEFT , wx . WXK_UP , wx . WXK_RIGHT , wx . WXK_DOWN ) : for obj in self . selection : x , y = obj . pos if event . ShiftDown ( ) : # snap to grid:t  # for now I'm only going to align to grid # in the direction of the cursor movement  if key == wx . WXK_LEFT : x = ( x - GRID_SIZE [ 0 ] ) / GRID_SIZE [ 0 ] * GRID_SIZE [ 0 ] elif key == wx . WXK_RIGHT : x = ( x + GRID_SIZE [ 0 ] ) / GRID_SIZE [ 0 ] * GRID_SIZE [ 0 ] elif key == wx . WXK_UP : y = ( y - GRID_SIZE [ 1 ] ) / GRID_SIZE [ 1 ] * GRID_SIZE [ 1 ] elif key == wx . WXK_DOWN : y = ( y + GRID_SIZE [ 1 ] ) / GRID_SIZE [ 1 ] * GRID_SIZE [ 1 ] else : if key == wx . WXK_LEFT : x = x - 1 elif key == wx . WXK_RIGHT : x = x + 1 elif key == wx . WXK_UP : y = y - 1 elif key == wx . WXK_DOWN : y = y + 1 obj . pos = ( x , y ) elif key == wx . WXK_DELETE : self . delete ( event ) elif key == wx . WXK_INSERT : self . duplicate ( event ) else : if DEBUG : print "KEY:" , key
support cursor keys to move components one pixel at a time
support cursor keys to move components one pixel at a time