def delete(self): del self.__image del self.__layout del self.__block del self.__max_size ContainerTarget.delete(self)
def __init__(self, name, parent): # the current layouter function self.__layouter = [] # the class of the array elements self.__elementtype = None # the default settings of the array elements self.__elementsettings = None # children data of the array elements self.__elementchildren = [] # the current elements of this array self.__children = [] # mapping between unique IDs and targets self.__targets = {} ContainerTarget.__init__(self, name, parent) self.__layout = gtk.Fixed() self.__layout.show() self._register_property("length", TYPE_INT, self._setp_length, self._getp_length) self._register_property("layout", TYPE_LIST, self._setp_layout, self._getp)
def __init__(self, name, parent): # the list of available slots; a slot is where items can be put in self.__slots = [] ContainerTarget.__init__(self, name, parent) self.__menu = gtk.Menu() self._register_property("popup", TYPE_INT, None, self._getp) self._setp("popup", self.__popup)
def handle_action(self, action, px, py, args): ContainerTarget.handle_action(self, action, px, py, args) w, h = self.__icon.size_request() if (0 <= px.as_px() <= w and 0 <= py.as_px() <= h): if (action == self.ACTION_CLICK): if (self.__show_state == _STATE_VISIBLE): self.__set_expanded(False) else: self.__set_expanded(True)
def __init__(self, name, parent): self.__alignment = (0.0, 0.0) ContainerTarget.__init__(self, name, parent) self.__align = gtk.Alignment(0.5, 1, 0, 0) self.__align.set_direction(gtk.TEXT_DIR_LTR) self.__align.show() self._register_property("align-x", TYPE_FLOAT, self._setp_alignment, self._getp) self._register_property("align-y", TYPE_FLOAT, self._setp_alignment, self._getp)
def __init__(self, name, parent): self.__menuitem = None ContainerTarget.__init__(self, name, parent) self._register_property("label", TYPE_STRING, self._setp_label, self._getp) self._register_property("slot", TYPE_STRING, self._setp_slot, self._getp) self._register_property("active", TYPE_BOOL, self._setp_active, self._getp) self.set_prop("slot", self.__DEFAULT_SLOT) self.set_prop("label", "") self.set_prop("active", True) self._register_action(self.__ACTION_ACTIVATE)
def new_child(self, childtype, settings, children): child = ContainerTarget.new_child(self, childtype, settings, children) if (not child.is_standalone()): x, y, w, h = child.get_geometry() self.__layout.put(child.get_widget(), x.as_px(), y.as_px()) return child
def new_child(self, childtype, settings, children): child = ContainerTarget.new_child(self, childtype, settings, children) slot = child.get_prop("slot") if (not slot in self.get_slots()): self.insert_slot(slot, len(self.get_slots())) self.add_to_slot(slot, child) return child
def __init__(self, name, parent): self.__frame_widths = [Unit.ZERO] * 4 self.__images = [] ContainerTarget.__init__(self, name, parent) self.__table = gtk.Table(3, 3) self.__table.set_direction(gtk.TEXT_DIR_LTR) self.__table.show() r, g, b, a = utils.parse_color("black") for x, y in ((0, 1), (1, 0), (2, 1), (1, 2), (0, 0), (2, 0), (2, 2), (0, 2)): img = Tiling() img.set_from_color(r, g, b, a) img.show() self.__table.attach(img, x, x + 1, y, y + 1) self.__images.append(img) self.__box = gtk.HBox() self.__box.show() self.__table.attach(self.__box, 1, 2, 1, 2) self._register_property("border-uris", TYPE_LIST, self._setp_border_uris, self._getp) self._register_property("border-width", TYPE_UNIT_LIST, self._setp_border_width, self._getp) self._register_property("color", TYPE_STRING, self._setp_border_color, self._getp) self.set_prop("border-width", [Unit.Unit(2, Unit.UNIT_PX), Unit.Unit(2, Unit.UNIT_PX), Unit.Unit(2, Unit.UNIT_PX), Unit.Unit(2, Unit.UNIT_PX)]) self._setp("color", "black") # watch for geometry changes self.add_observer(self.__on_observe_size)
def __init__(self, name, parent): # flag for ensuring that only one collapse action takes place self.__block = 0 # the maximum size values of all the children self.__max_size = (0, 0) ContainerTarget.__init__(self, name, parent) self.__layout = gtk.Layout() self.__layout.show() self.__image = Tiling() self.__image.show() self.__layout.put(self.__image, 0, 0) self._register_property("bg-uri", TYPE_STRING, self._setp_bg_uri, self._getp) self._register_property("bg-color", TYPE_STRING, self._setp_bg_color, self._getp) self.add_observer(self.__on_observe_size)
def __init__(self, name, parent): self.__show_state = _STATE_VISIBLE ContainerTarget.__init__(self, name, parent) self.__widget = gtk.Table(2, 2) self.__widget.show() self.__icon = gtk.Image() self.__icon.show() self.__widget.attach(self.__icon, 0, 1, 0, 1, 0, 0, 0, 0) dummy = gtk.HBox(); dummy.show() self.__widget.attach(dummy, 0, 1, 1, 2, gtk.EXPAND | gtk.FILL, gtk.EXPAND | gtk.FILL, 0, 0) self._register_property("expanded", TYPE_BOOL, self._setp_expanded, self._getp) self._register_property("icon-uri", TYPE_STRING, self._setp_icon, self._getp) self._register_action(self.__ACTION_EXPAND)
def __add_child(self): # use a unique ID settings = self.__elementsettings.copy() settings["id"] += "#" + str(len(self.__children)) child = ContainerTarget.new_child(self, self.__elementtype, settings, self.__elementchildren) self.__children.append(child) x, y, w, h = child.get_geometry() self.__layout.put(child.get_widget(), x.as_px(), y.as_px()) child.add_observer(self.__on_observe_children) if (not self._is_geometry_locked()): child.unlock_geometry()
def new_child(self, childtype, settings, children): child = ContainerTarget.new_child(self, childtype, settings, children) self.__menuitem.set_submenu(child.get_widget()) return child
def new_child(self, childtype, settings, children): child = ContainerTarget.new_child(self, childtype, settings, children) self.__box.add(child.get_widget()) self.__redraw_frame()
def new_child(self, childtype, settings, children): child = ContainerTarget.new_child(self, childtype, settings, children) self.__widget.attach(child.get_widget(), 1, 2, 0, 2, gtk.EXPAND | gtk.FILL, gtk.EXPAND | gtk.FILL, 0, 0)
def new_child(self, childtype, settings, children): child = ContainerTarget.new_child(self, childtype, settings, children) self.__align.add(child.get_widget())