Infrastructure for the home page devices
parent
e24193c551
commit
e0dd1f5232
@ -0,0 +1,7 @@
|
||||
sugardir = $(pkgdatadir)/shell/model/devices
|
||||
sugar_PYTHON = \
|
||||
__init__.py \
|
||||
device.py \
|
||||
devicesmodel.py \
|
||||
battery.py \
|
||||
network.py
|
@ -0,0 +1,11 @@
|
||||
from model.devices import device
|
||||
|
||||
class Device(device.Device):
|
||||
def __init__(self):
|
||||
device.Device.__init__(self)
|
||||
|
||||
def get_type(self):
|
||||
return 'network'
|
||||
|
||||
def get_level(self):
|
||||
return 0
|
@ -0,0 +1,11 @@
|
||||
from sugar import util
|
||||
|
||||
class Device(object):
|
||||
def __init__(self):
|
||||
self._id = util.unique_id()
|
||||
|
||||
def get_type(self):
|
||||
return 'unknown'
|
||||
|
||||
def get_id(self):
|
||||
return self._id
|
@ -0,0 +1,29 @@
|
||||
import gobject
|
||||
|
||||
from model.devices import device
|
||||
from model.devices import network
|
||||
from model.devices import battery
|
||||
|
||||
class DevicesModel(gobject.GObject):
|
||||
__gsignals__ = {
|
||||
'device-appeared' : (gobject.SIGNAL_RUN_FIRST,
|
||||
gobject.TYPE_NONE,
|
||||
([gobject.TYPE_PYOBJECT])),
|
||||
'device-disappeared': (gobject.SIGNAL_RUN_FIRST,
|
||||
gobject.TYPE_NONE,
|
||||
([gobject.TYPE_PYOBJECT]))
|
||||
}
|
||||
|
||||
def __init__(self):
|
||||
gobject.GObject.__init__(self)
|
||||
|
||||
self._devices = []
|
||||
|
||||
self.add_device(network.Device())
|
||||
self.add_device(battery.Device())
|
||||
|
||||
def __iter__(self):
|
||||
return iter(self._devices)
|
||||
|
||||
def add_device(self, device):
|
||||
self._devices.append(device)
|
@ -0,0 +1,11 @@
|
||||
from model.devices import device
|
||||
|
||||
class Device(device.Device):
|
||||
def __init__(self):
|
||||
device.Device.__init__(self)
|
||||
|
||||
def get_type(self):
|
||||
return 'network'
|
||||
|
||||
def get_level(self):
|
||||
return 0
|
@ -0,0 +1,6 @@
|
||||
sugardir = $(pkgdatadir)/shell/view/devices
|
||||
sugar_PYTHON = \
|
||||
__init__.py \
|
||||
battery.py \
|
||||
deviceview.py \
|
||||
network.py
|
@ -0,0 +1,6 @@
|
||||
from view.devices import deviceview
|
||||
|
||||
class DeviceView(deviceview.DeviceView)
|
||||
def __init__(self, model):
|
||||
deviceview.DeviceView.__init__(self, model)
|
||||
self.props.icon_name = 'theme:stock-close'
|
@ -0,0 +1,16 @@
|
||||
from sugar.graphics.canvasicon import CanvasIcon
|
||||
|
||||
class DeviceView(CanvasIcon):
|
||||
def __init__(self, model):
|
||||
CanvasIcon.__init__(self)
|
||||
self.model = model
|
||||
|
||||
def create(model):
|
||||
name = 'view.devices.' + model.get_type()
|
||||
|
||||
mod = __import__(name)
|
||||
components = name.split('.')
|
||||
for comp in components[1:]:
|
||||
mod = getattr(mod, comp)
|
||||
|
||||
return mod.DeviceView(model)
|
@ -0,0 +1,6 @@
|
||||
from view.devices import deviceview
|
||||
|
||||
class DeviceView(deviceview.DeviceView):
|
||||
def __init__(self, model):
|
||||
deviceview.DeviceView.__init__(self, model)
|
||||
self.props.icon_name = 'theme:stock-close'
|
Loading…
Reference in New Issue