# # Copyright (C) 2011-2013 Red Hat, Inc. # # This program 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 2 of the License, or # (at your option) any later version. # # This program 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 this program. If not, see . # # Author: Chris Lumens # """ These classes and methods wrap the bindings automatically created by gobject-introspection. They allow for creating more pythonic bindings where necessary. For instance instead of creating a class and then setting a bunch of properties, these classes allow passing the properties at creation time. """ from gi.importer import modules from gi.overrides import override Anaconda = modules['AnacondaWidgets']._introspection_module __all__ = [] class MountpointSelector(Anaconda.MountpointSelector): def __init__(self, name=None, size=None, mountpoint=None): Anaconda.MountpointSelector.__init__(self) if name: self.set_property("name", name) if size: self.set_property("size", size) if mountpoint: self.set_property("mountpoint", mountpoint) # our extensions not related to the look of the widget self._device = None self._root = None @property def size(self): return self.get_property("size") @size.setter def size(self, size): self.set_property("size", size) @property def device(self): return self._device @device.setter def device(self, device): self._device = device @property def root(self): return self._root @root.setter def root(self, dev): self._root = dev MountpointSelector = override(MountpointSelector) __all__.append('MountpointSelector') class SpokeSelector(Anaconda.SpokeSelector): def __init__(self, title=None, icon=None, status=None): Anaconda.SpokeSelector.__init__(self) if title: self.set_property("title", title) if icon: self.set_property("icon", icon) if status: self.set_property("status", status) SpokeSelector = override(SpokeSelector) __all__.append('SpokeSelector') class DiskOverview(Anaconda.DiskOverview): def __init__(self, description, kind, capacity, free, name, popup=None): Anaconda.DiskOverview.__init__(self) self.set_property("description", description) self.set_property("kind", kind) self.set_property("free", free) self.set_property("capacity", capacity) self.set_property("name", name) if popup: self.set_property("popup-info", popup) DiskOverview = override(DiskOverview) __all__.append('DiskOverview')