# Copyright 2008 by Peter Moxhay and Wade Brainerd. # This file is part of Math. # # Math 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 3 of the License, or # (at your option) any later version. # # Math 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 Math. If not, see . from objectarea import Object from vector import Vector import gtk class DropOriginObject(Object): """Rectangular area that is a source of draggable objects.""" def __init__(self, pos, size, container): Object.__init__(self) self.pos = pos self.size = size self.draggable = False self.selectable = False self.hilite = False self.contents = None self.objects = [] self.container = container def reset(self): pass def add_object(self, obj): obj.container = self.container obj.pos += self.pos self.objects.append(obj) self.container.add_object(obj) def remove_object(self, obj): # Ignore failure to remove when an object has already been removed. try: self.objects.remove(obj) except: pass self.container.remove_object(obj) def adjust_tab_order(self): pass def draw(self, cr): pass def draw_background(self, cr): pass def get_bounds(self): return self.pos, self.pos + self.size def select_primary_object(self): pass