From feb7aac90527a28bc22d35784aa2497c6bc18054 Mon Sep 17 00:00:00 2001 From: Ariel Calzada Date: Tue, 24 Jan 2012 14:19:04 +0000 Subject: Finished broadcast component --- diff --git a/broadcast.py b/broadcast.py index 696778f..ad84293 100644 --- a/broadcast.py +++ b/broadcast.py @@ -1,10 +1,47 @@ from gettext import gettext as _ import gtk +import pango -class Broadcast(): - """Broadcast component for Classroom Kit Activity +from utilities import Utilities + +class BroadcastProcess(): + """Broadcast process component """ + # utilities + _utilities = None + + # process details + _programName = "x11vnc" + _args = ["-viewonly", "-shared", "-bg", "-forever", "-solid", "-wireframe"] + + def __init__(self): + """Constructor + """ + self._utilities = Utilities() + + def getStatus(self): + """get current status of the vnc process + """ + st = self._utilities.checkProgramStatus(self._programName) + + return st[0] + + def changeStatus(self): + """change current status of the vnc proces + """ + if self.getStatus(): + self._utilities.endProgram(self._programName) + else: + self._utilities.startProgram(self._programName,self._args) + + def getProcessInfo(self): + return self._utilities.getNetworkProcessInfo(self._programName) + + +class BroadcastUI(): + """Broadcast UI component for Classroom Kit Activity + """ # Constants _greenColor = '#00E500' _redColor = '#FF0000' @@ -20,16 +57,19 @@ class Broadcast(): _toolbar = None _boxAlign = None - def __init__(self, activity): + # activity, process + _activity = None + _process = None + + def __init__(self, activity, process): """Constructor """ - self._activity = activity + self._process = process def loadUI(self): """Create and show UI """ - # Box self._box = gtk.VBox() @@ -38,7 +78,7 @@ class Broadcast(): # Button self._button = gtk.Button() - self._button.set_size_request(200, 100) + self._button.set_size_request(200, 50) self._button.connect("clicked", self.buttonClicked) # Add button to box @@ -57,40 +97,58 @@ class Broadcast(): def setButtonBG(self, color): """Change button bg color """ - self._button.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(color)) def setButtonLabel(self, txt): """Change button label """ - self._button.set_label(txt) def buttonClicked(self, widget, data=None): """Button clicked event handler """ - - pass + self._process.changeStatus() + self.showStatus() def setLabelTXT(self, txt): """Change label text """ - self._label.set_label(txt) - def showStatus(self): """Show VNC status """ + state = self._process.getStatus() - state = "off" - - if state == "off": + if not state: self.setButtonBG(self._greenColor) self.setButtonLabel(self._START) self.setLabelTXT("") else: self.setButtonBG(self._redColor) self.setButtonLabel(self._STOP) - self.setLabelTXT("") + self.setLabelTXT(self._process.getProcessInfo()) + +class Broadcast(): + """Broadcast component for Classroom Kit Activity + """ + _activity = None + _process = None + _ui = None + + def __init__(self,activity): + """Constructor + """ + self._activity = activity + self._process = BroadcastProcess() + self._ui = BroadcastUI(self._activity, self._process) + def loadUI(self): + """Load UI + """ + self._ui.loadUI() + + def showStatus(self): + """Show broadcast status + """ + self._ui.showStatus() diff --git a/classroomkit.py b/classroomkit.py index 6c9fa2b..fe9e40b 100644 --- a/classroomkit.py +++ b/classroomkit.py @@ -18,11 +18,6 @@ from sugar.activity import activity from sugar.activity.activity import ActivityToolbox from sugar.presence import presenceservice -import subprocess -import os -import socket -import commands - from broadcast import Broadcast @@ -39,7 +34,6 @@ class ClassroomKitActivity(activity.Activity): def __init__(self, handle): """Constructor """ - # initialize activity activity.Activity.__init__(self, handle) @@ -62,7 +56,6 @@ class ClassroomKitActivity(activity.Activity): def loadUI(self): """Create and show UI """ - # Toolbar toolbox = ActivityToolbox(self) self._toolbar = toolbox.get_activity_toolbar() -- cgit v0.9.1