Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAriel Calzada <ariel@activitycentral.com>2012-01-24 14:19:04 (GMT)
committer Ariel Calzada <ariel@activitycentral.com>2012-01-24 14:19:04 (GMT)
commitfeb7aac90527a28bc22d35784aa2497c6bc18054 (patch)
tree2c26dc3c40dff04c79725e0e4f5d64a43177b3f9
parentcef3889dbfc9a09e696b9e47e600e48b03ede5e7 (diff)
Finished broadcast component
-rw-r--r--broadcast.py90
-rw-r--r--classroomkit.py7
2 files changed, 74 insertions, 23 deletions
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()