def __init__(self, handle): activity.Activity.__init__(self, handle) self.max_participants = 1 toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() self.signal = self.connect("draw", self.execute)
def __init__(self,handle): activity.Activity.__init__(self,handle,False) self.set_title("Ceibal_Radio") barraprincipal = ToolbarBox(self) activity_button = ActivityButton(self) barraprincipal.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) barraprincipal.toolbar.insert(title_entry, -1) title_entry.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) barraprincipal.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) barraprincipal.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(barraprincipal) if not failure: vistareproductor = VistaReproductor() self.set_canvas(vistareproductor) else: error = Gtk.Label("Sorry, this activity doesn't work on this computer.") self.set_canvas(error) self.show_all()
def __init__(self, handle): super(VteActivity, self).__init__(handle) toolbox = ToolbarBox() self.set_toolbar_box(toolbox) toolbox.show() self.max_participants = 1 toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() # creates vte widget self._vte = Vte.Terminal() self._vte.set_size(30, 5) self._vte.set_size_request(200, 300) font = 'Monospace 10' self._vte.set_font(Pango.FontDescription(font)) self._vte.connect('selection-changed', self._on_selection_changed_cb) self._vte.drag_dest_set(Gtk.DestDefaults.ALL, [], Gdk.DragAction.COPY) self._vte.connect('drag_data_received', self._on_drop_cb) # ...and its scrollbar vtebox = Gtk.HBox() vtebox.pack_start(self._vte, True, True, 0) vtesb = Gtk.VScrollbar() vtesb.show() vtebox.pack_start(vtesb, False, False, 0) self.set_canvas(vtebox) self.show_all() # now start subprocess. self._vte.connect("child-exited", self.on_child_exit) self._vte.grab_focus() bundle_path = activity.get_bundle_path() # the 'sleep 1' works around a bug with the command dying before # the vte widget manages to snarf the last bits of its output self._pid = self._vte.spawn_sync( Vte.PtyFlags.DEFAULT, bundle_path, ['/bin/sh', '-c', 'python %s/show.py; sleep 1' % bundle_path], ["PYTHONPATH=%s/library" % bundle_path], GLib.SpawnFlags.DO_NOT_REAP_CHILD, None, None)
def __init__(self, activity,**kwargs): super(BasicToolbar, self).__init__(**kwargs) activity_button = ActivityButton(activity) self.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(activity) self.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(activity) self.toolbar.insert(description_item, -1) description_item.show() share_button = ShareButton(activity) self.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) self.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(activity) self.toolbar.insert(stop_button, -1) stop_button.show()
def make_toolbar(self): # toolbar with the new toolbar redesign toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show()
def __init__(self, handle): activity.Activity.__init__(self, handle) self.set_title("SocialCalc") self._logger = logging.getLogger("OnePageWiki-Activity") # The XOCom object helps us communicate with the browser # This uses web/index.html as the default page to load self.xocom = XOCom( self.control_sending_text ) # REMEMBER THAT I HAVE STILL TO SEND THE ARGUMENT IN THE XOCOM CLASS toolbox = ToolbarBox() activity_button = ActivityButton(self) toolbox.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbox.toolbar.insert(title_entry, -1) title_entry.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbox.toolbar.insert(separator, -1) separator.show() stop_button = ShareButton(self) toolbox.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbox) toolbox.show() stop_button = StopButton(self) toolbox.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbox) toolbox.show() ##self.xocom.send_to_browser_localize(['initlocalize']) self.set_canvas(self.xocom.create_webview()) self.hellotube = None # Shared session #REQUIRED self.initiating = False self.pservice = presenceservice.get_instance() owner = self.pservice.get_owner() self.owner = owner self.connect("shared", self._shared_cb) self.connect("joined", self._joined_cb) self.filename = "" # ADDED SPECIFICALLY TO CALL WRITE AND READ METHODS self.content = "" # calling to initialize strings in localization # should wait for init complete from browser GObject.timeout_add(4000, self.xocom.send_to_browser_localize, ["initlocalize"])
def build_toolbar(self): toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show()
def __init__(self, activity, **kwargs): super(BasicToolbar, self).__init__(**kwargs) activity_button = ActivityButton(activity) self.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(activity) self.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(activity) self.toolbar.insert(description_item, -1) description_item.show() share_button = ShareButton(activity) self.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) self.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(activity) self.toolbar.insert(stop_button, -1) stop_button.show()
def __make_toolbar(self): # toolbar with the new toolbar redesign toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show()
def __init__(self, handle): activity.Activity.__init__(self, handle) self.set_title('SocialCalc') self._logger = logging.getLogger('OnePageWiki-Activity') # The XOCom object helps us communicate with the browser # This uses web/index.html as the default page to load self.xocom = XOCom(self.control_sending_text) #REMEMBER THAT I HAVE STILL TO SEND THE ARGUMENT IN THE XOCOM CLASS toolbox = ToolbarBox() activity_button = ActivityButton(self) toolbox.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbox.toolbar.insert(title_entry, -1) title_entry.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbox.toolbar.insert(separator, -1) separator.show() stop_button = ShareButton(self) toolbox.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbox) toolbox.show() stop_button = StopButton(self) toolbox.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbox) toolbox.show() ##self.xocom.send_to_browser_localize(['initlocalize']) self.set_canvas( self.xocom.create_webview() ) self.hellotube = None # Shared session #REQUIRED self.initiating = False self.pservice = presenceservice.get_instance() owner = self.pservice.get_owner() self.owner = owner self.connect('shared', self._shared_cb) self.connect('joined', self._joined_cb) self.filename='' #ADDED SPECIFICALLY TO CALL WRITE AND READ METHODS self.content='' #calling to initialize strings in localization #should wait for init complete from browser GObject.timeout_add(4000, self.xocom.send_to_browser_localize,['initlocalize'])
def __init__(self, handle): """Set up the Astroangles activity.""" activity.Activity.__init__(self, handle) # we do not have collaboration features # make the share option insensitive self.max_participants = 1 # toolbar with the new toolbar redesign toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() self.game = AstroanglesGame(self) self.game.canvas = sugargame.canvas.PygameCanvas( self, main=self.game.run, modules=[pygame.display, pygame.font]) w = Gdk.Screen.width() h = Gdk.Screen.height() - 2 * GRID_CELL_SIZE self.game.canvas.set_size_request(w, h) self._notebook = Gtk.Notebook(show_tabs=False) self._notebook.add(self.game.canvas) self.set_canvas(self.game.canvas) Gdk.Screen.get_default().connect('size-changed', self.__configure_cb) self.canvas = self._notebook self.show_all()
def __init__(self, handle): activity.Activity.__init__(self, handle) self.max_participants = 1 toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() vt = Vte.Terminal() vt.connect("child-exited", self.exit) vt.spawn_sync(Vte.PtyFlags.DEFAULT, os.environ["HOME"], ["/bin/bash"], [], GLib.SpawnFlags.DO_NOT_REAP_CHILD, None, None) if not os.path.exists(os.environ["SUGAR_ACTIVITIES_PATH"] + "/Java.activity"): label = Gtk.Label("Please install Java activity") self.set_canvas(label) label.show() return self.set_canvas(vt) vt.show() vt.feed_child("cd $SUGAR_BUNDLE_PATH\n", -1) if platform.machine().startswith('arm'): vt.feed_child( "export JAVA_HOME=$SUGAR_ACTIVITIES_PATH/Java.activity/jre_arm\n", -1) else: if platform.architecture()[0] == '64bit': vt.feed_child( "export JAVA_HOME=$SUGAR_ACTIVITIES_PATH/Java.activity/jre_64\n", -1) else: vt.feed_child( "export JAVA_HOME=$SUGAR_ACTIVITIES_PATH/Java.activity/jre_32\n", -1) vt.feed_child("export PATH=$JAVA_HOME/bin:$PATH\n", -1) vt.feed_child("java -jar jclic.jar; exit\n", -1)
def __init__(self, handle): activity.Activity.__init__(self, handle) # we do not have collaboration features # make the share option insensitive self.max_participants = 1 # toolbar with the new toolbar redesign toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() # Main layout setup layout = Gtk.Grid() layout.set_halign(Gtk.Align.CENTER) layout.set_valign(Gtk.Align.CENTER) self.msg = Gtk.Label("This is a secret message!") self.sbutton = Gtk.Button("Show message") self.sbutton.connect("clicked", self._show) self.sbutton.set_sensitive(False) self.hbutton = Gtk.Button("Hide Message") self.hbutton.connect("clicked", self._hide) layout.attach(self.msg, 0, 0, 2, 1) layout.attach_next_to(self.sbutton, self.msg, Gtk.PositionType.BOTTOM, 1, 1) layout.attach_next_to(self.hbutton, self.sbutton, Gtk.PositionType.RIGHT, 1, 1) self.set_canvas(layout) self.show_all()
def __init__(self, handle): activity.Activity.__init__(self, handle) self.max_participants = 1 toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() vt = Vte.Terminal() vt.connect("child-exited", self.exit) vt.spawn_sync(Vte.PtyFlags.DEFAULT, os.environ["HOME"], ["/bin/bash"], [], GLib.SpawnFlags.DO_NOT_REAP_CHILD, None, None) if not os.path.exists(os.environ["SUGAR_ACTIVITIES_PATH"]+"/Java.activity"): label = Gtk.Label("Please install Java activity") self.set_canvas(label) label.show() return self.set_canvas(vt) vt.show() vt.feed_child("cd $SUGAR_BUNDLE_PATH\n", -1) if platform.machine().startswith('arm'): vt.feed_child("export JAVA_HOME=$SUGAR_ACTIVITIES_PATH/Java.activity/jre_arm\n", -1) else: if platform.architecture()[0] == '64bit': vt.feed_child("export JAVA_HOME=$SUGAR_ACTIVITIES_PATH/Java.activity/jre_64\n", -1) else: vt.feed_child("export JAVA_HOME=$SUGAR_ACTIVITIES_PATH/Java.activity/jre_32\n", -1) vt.feed_child("export PATH=$JAVA_HOME/bin:$PATH\n", -1) vt.feed_child("java -jar jclic.jar; exit\n", -1)
def __init__(self, handle): """Set up the ToDo activity.""" activity.Activity.__init__(self, handle) # we do not have collaboration features # make the share option insensitive self.max_participants = 1 # toolbar with the new toolbar redesign toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() self.scrollabeWindow = Gtk.ScrolledWindow() self.vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.scrollabeWindow.add(self.vbox) self.todo = {} self.count = 0 self.create() self.set_canvas(self.scrollabeWindow) self.scrollabeWindow.show_all()
def __init__(self, handle): activity.Activity.__init__(self, handle) self.max_participants = 1 toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() vt = Vte.Terminal() vt.connect("child-exited", self.exit) vt.spawn_sync(Vte.PtyFlags.DEFAULT, os.environ["HOME"], ["/bin/bash"], [], GLib.SpawnFlags.DO_NOT_REAP_CHILD, None, None) label = Gtk.Label("Sorry, this activity can't run on this computer") if platform.machine().startswith('arm'): self.set_canvas(label) label.show() else: self.set_canvas(vt) vt.show() if platform.architecture()[0] == '64bit': vt.feed_child("export LD_LIBRARY_PATH=$SUGAR_BUNDLE_PATH/64bits:$LD_LIBRARY_PATH\n", -1) vt.feed_child("export LD_LIBRARY_PATH=$SUGAR_BUNDLE_PATH/64bits/shoes:$LD_LIBRARY_PATH\n", -1) vt.feed_child("cd $SUGAR_BUNDLE_PATH/64bits; shoes/shoes-bin h-ety-h.rb; exit\n", -1) else: vt.feed_child("export LD_LIBRARY_PATH=$SUGAR_BUNDLE_PATH/32bits:$LD_LIBRARY_PATH\n", -1) vt.feed_child("cd $SUGAR_BUNDLE_PATH/32bits; ./hacketyhack-bin; exit\n", -1)
def __init__(self, handle): activity.Activity.__init__(self, handle) logging.debug('Starting the IRC Activity') self.set_title(_('IRC Activity')) self.add_events(Gdk.EventMask.VISIBILITY_NOTIFY_MASK) self.connect('visibility-notify-event', self.__visibility_notify_event_cb) self.is_visible = False self.client = purk.Client(self) if handle.object_id is None: self.default_config() self.client.show() widget = self.client.get_widget() # CANVAS self.set_canvas(widget) toolbar_box = ToolbarBox() self.activity_button = ActivityButton(self) toolbar_box.toolbar.insert(self.activity_button, 0) self.activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() connectionbtn = ToggleToolButton('connect') connectionbtn.set_active(True) connectionbtn.set_tooltip(_('Disconnect')) connectionbtn.connect('toggled', self._connection_cb) toolbar_box.toolbar.insert(connectionbtn, -1) connectionbtn.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show()
def __init__(self, handle): activity.Activity.__init__(self, handle) # we do not have collaboration features # make the share option insensitive self.max_participants = 1 # toolbar with the new toolbar redesign toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() self.scroll = Gtk.ScrolledWindow() self.scroll.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) # Uso un widget principal para los problemas de resolucion x2.. self.widget_principal = Gtk.EventBox() self.crear_menu() self.scroll.add(self.widget_principal) self.maximize() # self.modify_bg(Gtk.StateType.NORMAL, Gdk.color_parse("light blue")) self.widget_principal.modify_bg(Gtk.StateType.NORMAL, Gdk.color_parse("white")) self.set_canvas(self.scroll) self.scroll.show_all()
def __init__(self, handle): activity.Activity.__init__(self, handle) self.max_participants = 1 toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() vt = Vte.Terminal() vt.connect("child-exited", self.exit) vt.spawn_sync(Vte.PtyFlags.DEFAULT, os.environ["HOME"], ["/bin/bash"], [], GLib.SpawnFlags.DO_NOT_REAP_CHILD, None, None) self.set_canvas(vt) vt.show() if platform.machine().startswith('arm'): vt.feed_child( "echo \"Sorry, this activity won't run on this computer\"; sleep 10; exit\n", -1) else: if platform.architecture()[0] == '64bit': vt.feed_child( "echo \"Sorry, this activity won't run on this computer\"; sleep 10; exit\n", -1) else: vt.feed_child( "cd $SUGAR_BUNDLE_PATH/Files; ./doukutsu.bin; exit\n", -1)
def __init__(self, handle): activity.Activity.__init__(self, handle) self.max_participants = 1 toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() vt = Vte.Terminal() vt.connect("child-exited", self.exit) vt.spawn_sync(Vte.PtyFlags.DEFAULT, os.environ["HOME"], ["/bin/bash"], [], GLib.SpawnFlags.DO_NOT_REAP_CHILD, None, None) self.set_canvas(vt) vt.show() if platform.machine().startswith('arm'): vt.feed_child("cd $SUGAR_BUNDLE_PATH/arm\n", -1) else: if platform.architecture()[0] == '64bit': vt.feed_child("cd $SUGAR_BUNDLE_PATH/64bits\n", -1) else: vt.feed_child("cd $SUGAR_BUNDLE_PATH/32bits\n", -1) vt.feed_child("export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH\n", -1) vt.feed_child("bin/xaos -fullscreen; exit\n", -1)
def __init__(self, handle): activity.Activity.__init__(self, handle) self.max_participants = 1 toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() if self.max_participants > 1: share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() canvas = Gtk.DrawingArea() self.block_party = BlockParty( self, canvas, font_face=style.FONT_FACE, font_size=style.FONT_SIZE * 2, gcs=style.GRID_CELL_SIZE) self.set_canvas(canvas) canvas.show()
def __init__(self, handle): """Set up the HelloWorld activity.""" activity.Activity.__init__(self, handle) # we do not have collaboration features # make the share option insensitive self.max_participants = 1 # toolbar with the new toolbar redesign toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() # label with the text, make the string translatable label = Gtk.Label(_("Hello World!")) self.set_canvas(label) label.show()
def __init__(self, handle): activity.Activity.__init__(self, handle) self.max_participants = 1 toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() vt = Vte.Terminal() vt.connect("child-exited", self.exit) vt.spawn_sync(Vte.PtyFlags.DEFAULT, os.environ["HOME"], ["/bin/bash"], [], GLib.SpawnFlags.DO_NOT_REAP_CHILD, None, None) self.set_canvas(vt) vt.show() if platform.machine().startswith('arm'): vt.feed_child("echo \"Sorry, this activity won't run on this computer\"; sleep 10; exit\n", -1) else: if platform.architecture()[0] == '64bit': vt.feed_child("echo \"Sorry, this activity won't run on this computer\"; sleep 10; exit\n", -1) else: vt.feed_child("cd $SUGAR_BUNDLE_PATH/Files; ./doukutsu.bin; exit\n", -1)
def __init__(self, handle): """Set up the HelloWorld activity.""" activity.Activity.__init__(self, handle) # Change the following number to change max participants self.max_participants = 1 toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() # Change the following text to change the message (Default: 'Hello World!' label = Gtk.Label(_("Hello World!")) self.set_canvas(label) label.show()
def __init__(self, handle): """Set up the activity.""" activity.Activity.__init__(self, handle) # we do not have collaboration features # make the share option insensitive self.max_participants = 1 # toolbar with the new toolbar redesign toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() self.display_menu()
def __init__(self, handle): activity.Activity.__init__(self, handle) self.max_participants = 1 toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() # main view touch_area = TouchArea() self.set_canvas(touch_area) touch_area.show()
def __init__(self, handle): "The entry point to the Activity" activity.Activity.__init__(self, handle) self._timeout = None self.accelerometer = False try: open(ACCELEROMETER_DEVICE).close() self.accelerometer = True except: pass if not self.accelerometer and not self.shared_activity: return self._incompatible() self.buddies = {} canvas = MyCanvas(self) self.set_canvas(canvas) canvas.show() toolbar_box = ToolbarBox() self.set_toolbar_box(toolbar_box) toolbar_box.toolbar.insert(ActivityButton(self), 0) toolbar_box.toolbar.insert(TitleEntry(self), -1) toolbar_box.toolbar.insert(DescriptionItem(self), -1) toolbar_box.toolbar.insert(ShareButton(self), -1) separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) toolbar_box.toolbar.insert(StopButton(self), -1) toolbar_box.show_all() self._udp = Udp() self.hosts = {} self._collab = CollabWrapper(self) self._collab.message.connect(self.__message_cb) self._collab.buddy_joined.connect(self.__buddy_joined_cb) self._collab.buddy_left.connect(self.__buddy_left_cb) self._collab.setup() self._fuse = 1 self._timeout = GLib.timeout_add(100, self._timeout_cb, canvas)
def __init__(self, handle): if os.path.exists('/tmp/1'): os.remove('/tmp/1') """Set up the HelloWorld activity.""" activity.Activity.__init__(self, handle) if os.path.exists('/tmp/2'): os.remove('/tmp/2') # we do not have collaboration features # make the share option insensitive self.max_participants = 1 # toolbar with the new toolbar redesign toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) #toolbar_box.toolbar.insert(title_entry, -1) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() ##keep_button = KeepButton(self) ##toolbar_box.toolbar.insert(keep_button, -1) ##keep_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() self.container_vbox = Gtk.VBox() self.container_vbox.show() self.set_canvas(self.container_vbox) if os.path.exists('/tmp/3'): os.remove('/tmp/3') self.label = Gtk.Label(_("Hello World!")) self.container_vbox.add(self.label) self.label.set_angle(self.angle) self.label.show() if os.path.exists('/tmp/4'): os.remove('/tmp/4') self.button = Gtk.Button("Rotate") self.container_vbox.add(self.button) self.button.connect('clicked', self.hello, None) self.button.show()
def __init__(self, handle): '''Set up the Acoustic Tape Measure activity.''' super(AcousticMeasureActivity, self).__init__(handle) self._logger = logging.getLogger('acousticmeasure-activity') GObject.threads_init() try: self._logger.debug("locale: " + locale.setlocale(locale.LC_ALL, '')) except locale.Error: self._logger.error("setlocale failed") # top toolbar with share and close buttons: from sugar3.graphics.toolbarbox import ToolbarBox from sugar3.graphics.toolbarbox import ToolbarButton from sugar3.activity.widgets import ShareButton from sugar3.activity.widgets import StopButton from sugar3.activity.widgets import ActivityButton from sugar3.activity.widgets import TitleEntry toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() try: from sugar3.activity.widgets import DescriptionItem description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() except BaseException: pass share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() toolbar_box.toolbar.insert(separator, -1) separator.show() self._t_h_bar = atm_toolbars.TempToolbar() self._t_h_bar.show_all() adj_button = ToolbarButton(page=self._t_h_bar, icon_name='preferences-system') toolbar_box.toolbar.insert(adj_button, -1) adj_button.show() self._smoot_bar = smoot_toolbar.SmootToolbar(self) self._smoot_bar.show_all() custom_button = ToolbarButton(page=self._smoot_bar, icon_name='view-source') toolbar_box.toolbar.insert(custom_button, -1) custom_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() if not self.powerd_running(): try: bus = dbus.SystemBus() proxy = bus.get_object('org.freedesktop.ohm', '/org/freedesktop/ohm/Keystore') self.ohm_keystore = dbus.Interface( proxy, 'org.freedesktop.ohm.Keystore') except dbus.DBusException as e: self._logger.warning("Error setting OHM inhibit: %s" % e) self.ohm_keystore = None # distance in meters self.current_distance = 0.0 # worker thread self._button_event = threading.Event() thread.start_new_thread(self._helper_thread, ()) # Main Panel GUI vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.main_panel = vbox self._message_dict['unshared'] = _("To measure the distance between \ two laptops, you must first share this Activity.") self._message_dict['ready'] = _("Press the button to measure the \ distance to another laptop") self._message_dict['preparing'] = _("Preparing to measure distance") self._message_dict['waiting'] = _("Ready to make a measurement. \ Waiting for partner to be ready.") self._message_dict['playing'] = _("Recording sound from each laptop.") self._message_dict['processing'] = _("Processing recorded audio.") self._message_dict['done'] = self._message_dict['ready'] self._message_dict['full'] = _("This activity already has two \ participants, so you cannot join.") self._button_dict['waiting'] = _("Begin Measuring Distance") self._button_dict['going'] = _("Stop Measuring Distance") self.button = Gtk.ToggleButton(label=self._button_dict['waiting']) self.button.connect('clicked', self._button_clicked) self.button.set_sensitive(False) check = Gtk.Image() check.set_from_file('check.svg') self.button.set_image(check) self.message = Gtk.Label(label=self._message_dict['unshared']) self.message.set_selectable(True) self.message.set_single_line_mode(True) img = Gtk.Image() pb = GdkPixbuf.Pixbuf.new_from_file( sugar3.activity.activity.get_bundle_path() + '/dist.svg') img.set_from_pixbuf(pb) self.value = Gtk.Label() self.value.set_selectable(True) thread.start_new_thread(self._update_distance, (0, )) valuefont = Pango.FontDescription() valuefont.set_family("monospace") valuefont.set_absolute_size(100 * Pango.SCALE) self.value.modify_font(valuefont) self.value.set_single_line_mode(True) self.value.set_width_chars(6) eb = Gtk.EventBox() eb.add(self.value) eb.modify_bg(Gtk.StateType.NORMAL, Gdk.color_parse("white")) eb.set_margin_left(10) eb.set_margin_right(10) eb.set_margin_top(10) self.fr = Gtk.Frame() self.fr.set_label(_('Measured distance in %s') % _('meters')) self.fr.set_label_align(0.5, 0.5) self.fr.add(eb) self.main_panel.pack_start(self.button, expand=False, fill=False, padding=6) self.main_panel.pack_start(self.message, expand=False, fill=True, padding=0) self.main_panel.pack_start(img, expand=True, fill=False, padding=0) self.main_panel.pack_start(self.fr, expand=False, fill=False, padding=10) self.set_canvas(self.main_panel) self.show_all() self.server_socket = None self.main_socket = None self.main_socket_addr = None self.main_tube_id = None self.initiating = False # get the Presence Service self.pservice = presenceservice.get_instance() # Buddy object for you owner = self.pservice.get_owner() self.owner = owner self.connect('shared', self._shared_cb) self.connect('joined', self._joined_cb) self.connect('key-press-event', self._keypress_cb)
def __init__(self, handle): """Set up the HelloWorld activity.""" activity.Activity.__init__(self, handle) # we do not have collaboration features # make the share option insensitive self.max_participants = 1 # toolbar with the new toolbar redesign toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() #make a grid self.grid = Gtk.Grid() self.set_canvas(self.grid) #chat self.button2 = Gtk.Button(label="Submit") self.button2.connect("clicked", self.chat) self.grid.attach(self.button2, 15, 0, 4, 1) self.button2.show() #entry self.entry = Gtk.Entry() self.entry.set_width_chars(60) self.entry.set_placeholder_text( _("Type in your question or add a question")) self.entry.connect("activate", self.chat) self.grid.attach(self.entry, 10, 0, 4, 1) self.entry.show() #Help alignment = Gtk.Alignment.new(0., 0.5, 0., 0.) self.help_label = Gtk.Label() alignment.add(self.help_label) help_message = '%s\n%s\n%s\n%s\n\n%s' % ( _("To ask a question, type the question into the form without a question mark." ), _("To add a new question, type Question?Answer"), _("To import questions type in \ i: JSON-encoded Q/A dictionary entries,"), _("To export questions, type in e:"), _("See full docs at https://bit.do/mcbh")) self.help_label.set_text(help_message) self.help_label.show() self.grid.attach(alignment, 0, 1, 4, 5) alignment.show() self.grid.show() self.label = Gtk.Label("") self.grid.attach(self.label, 0, 0, 4, 1)
def __init__(self, handle): activity.Activity.__init__(self, handle) GObject.threads_init() self.set_title(_("Translate Activity")) self._logger = logging.getLogger('Translate') self._logger.info('Starting translate activity') # XXX: Perhaps spin up a local server instead of specifying an invalid # one? self.client = translate.client.Client( os.environ.get('TRANSLATE_SERVER', DEFAULT_SERVER), port=os.environ.get('TRANSLATE_PORT', DEFAULT_PORT)) toolbar_box = ToolbarBox() activity_button = widgets.ActivityToolbarButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(self) description_item.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() # Main vertical layout of this window vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6) # Text areas text_hbox = Gtk.Box(spacing=6) # Selection area (langs + translate button) select_hbox = Gtk.Box(spacing=6) vbox.pack_start(select_hbox, False, True, 6) vbox.pack_start(text_hbox, True, True, 0) # Spacers text_hbox.pack_start(Gtk.Box(), False, True, 10) text_hbox.pack_end(Gtk.Box(), False, True, 10) select_hbox.pack_start(Gtk.Box(), False, True, 10) select_hbox.pack_end(Gtk.Box(), False, True, 10) vbox.pack_end(Gtk.Box(), False, True, 10) select_hbox.pack_start(Gtk.Label(_("Translate from:")), False, False, 0) # Models for the ComboBoxes from_lang_store = Gtk.ListStore(str, str) to_lang_store = Gtk.ListStore(str, str) self.lang_from = Gtk.ComboBox.new_with_model_and_entry(from_lang_store) self.lang_to = Gtk.ComboBox.new_with_model_and_entry(to_lang_store) self.lang_from.connect("changed", self._lang_from_changed_cb) self.lang_from.set_entry_text_column(1) self.lang_to.set_entry_text_column(1) select_hbox.pack_start(self.lang_from, False, False, 0) select_hbox.pack_start(Gtk.Label(_("Translate to:")), False, False, 6) select_hbox.pack_start(self.lang_to, False, False, 0) self.translate_button = Gtk.Button(_("Translate text!")) # Disable the button self.translate_button.set_sensitive(False) self.translate_button.connect("clicked", self._translate_btn_cb) select_hbox.pack_end(self.translate_button, False, False, 0) # Visible while waiting for results from server. self.translate_spinner = Gtk.Spinner() self.translate_spinner.start() select_hbox.pack_end(self.translate_spinner, False, True, 6) scrolled_window = Gtk.ScrolledWindow() scrolled_window.set_hexpand(False) scrolled_window.set_vexpand(True) self.text_from = Gtk.TextView() self.text_from.get_buffer().set_text("This is where you would type in \ some text to translate.") scrolled_window.add(self.text_from) text_hbox.pack_start(scrolled_window, True, True, 0) # Spacer text_hbox.pack_start(Gtk.Box(), False, True, 10) scrolled_window = Gtk.ScrolledWindow() scrolled_window.set_hexpand(False) scrolled_window.set_vexpand(True) self.text_to = Gtk.TextView() self.text_to.get_buffer().set_text("This is where the translated text \ would show up.") self.text_to.set_editable(False) self.text_to.set_cursor_visible(False) scrolled_window.add(self.text_to) text_hbox.pack_start(scrolled_window, True, True, 0) self.text_from.override_font(Pango.FontDescription("Sans 13")) self.text_to.override_font(Pango.FontDescription("Sans 13")) self.set_canvas(vbox) vbox.show_all() self.translate_spinner.hide() alert = self._create_alert(_("Connecting"), _("Trying to reach server...")) # Run the rest of the initialization in the background GObject.idle_add(self._init_translate, alert)
def __init__(self, handle): pservice = presenceservice.get_instance() self.owner = pservice.get_owner() self._ebook_mode_detector = EbookModeDetector() self.chatbox = ChatBox(self.owner, self._ebook_mode_detector.get_ebook_mode()) self.chatbox.connect('open-on-journal', self.__open_on_journal) super(Chat, self).__init__(handle) self._entry = None self._has_alert = False self._has_osk = False self._setup_canvas() self._entry.grab_focus() toolbar_box = ToolbarBox() self.set_toolbar_box(toolbar_box) self.activity_button = ActivityButton(self) toolbar_box.toolbar.insert(self.activity_button, 0) self.activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() self._share_button = ShareButton(self) toolbar_box.toolbar.insert(self._share_button, -1) self._share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) toolbar_box.toolbar.insert(StopButton(self), -1) toolbar_box.show_all() # Chat is room or one to one: self._chat_is_room = False self.text_channel = None if _HAS_SOUND: self.element = Gst.ElementFactory.make('playbin', 'Player') if self.shared_activity: # we are joining the activity following an invite self._entry.props.placeholder_text = \ _('Please wait for a connection before starting to chat.') self.connect('joined', self._joined_cb) if self.get_shared(): # we have already joined self._joined_cb(self) elif handle.uri: # XMPP non-sugar3 incoming chat, not sharable self._share_button.props.visible = False self._one_to_one_connection(handle.uri) else: # we are creating the activity if not self.metadata or self.metadata.get( 'share-scope', activity.SCOPE_PRIVATE) == \ activity.SCOPE_PRIVATE: # if we are in private session self._alert(_('Off-line'), _('Share, or invite someone.')) else: # resume of shared activity from journal object without invite self._entry.props.placeholder_text = \ _('Please wait for a connection before starting to chat.') self.connect('shared', self._shared_cb)
def __init__(self, handle): """Set up the HelloWorld activity.""" activity.Activity.__init__(self, handle) # we do not have collaboration features # make the share option insensitive self.max_participants = 1 # toolbar with the new toolbar redesign toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() #make a grid self.grid = Gtk.Grid() self.set_canvas(self.grid) #chat self.button2 = Gtk.Button(label="Submit") self.button2.connect("clicked", self.chat) self.grid.attach(self.button2, 15, 0, 4, 1) self.button2.show() #entry self.entry = Gtk.Entry() self.entry.set_width_chars(60) self.entry.set_placeholder_text( _("Type in your question or add a question")) self.entry.connect("activate", self.chat) self.grid.attach(self.entry, 10, 0, 4, 1) self.entry.show() #Help alignment = Gtk.Alignment.new(0., 0.5, 0., 0.) self.help_label = Gtk.Label() alignment.add(self.help_label) help_message = '%s\n%s\n%s\n%s\n%s\n' % ( _("here are some example questions"), _("Pick a number from X to XX"), _("Roll a die or a dreidel"), _("flip a coin"), _("rock, paper, scissors")) self.help_label.set_text(help_message) self.help_label.show() self.grid.attach(alignment, 0, 1, 4, 5) alignment.show() self.grid.show() self.label = Gtk.Label("") self.grid.attach(self.label, 0, 0, 4, 1)
def __init__(self, handle): """Set up the Textdungeon activity.""" activity.Activity.__init__(self, handle) # we do not have collaboration features # make the share option insensitive self.max_participants = 1 toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() self.scrolled_window = Gtk.ScrolledWindow() self.scrolled_window.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) self.scrolled_window.props.shadow_type = Gtk.ShadowType.NONE self.textview = Gtk.TextView() self.textview.set_editable(True) self.textview.set_cursor_visible(True) self.textview.set_wrap_mode(True) self.textview.connect("key_press_event", self.keypress_cb) self.scrolled_window.add(self.textview) self.set_canvas(self.scrolled_window) self.textview.show() self.scrolled_window.show() self.textview.grab_focus() self.font_desc = Pango.FontDescription("sans %d" % style.zoom(8)) self.textview.modify_font(self.font_desc) # self.stringthing="" self.loc = [0, 0] self.direction = 0 self.roomdata = [] self.items = [] self.doors = [] self.inventory = [] self.keyboardentrystring = '' self.filecontents = '' self.printtobuf('Press h for help') self.printtobuf( 'Use a text editor such as the Write Activity to edit this dungeon, create new ones or reset a dungeon\n' ) self.printtobuf('You are in a dimly lit cavern ' + 'facing ' + compass(self.direction)) if handle.object_id == None: readroomfile(self) #load the default room
def __init__(self, handle): activity.Activity.__init__(self, handle) # we do not have collaboration features # make the share option insensitive self.max_participants = 1 self.gameLoader = GameLoader() self.userInput = False # toolbar with the new toolbar redesign toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() execute_button = ToolButton('run-icon') toolbar_box.toolbar.insert(execute_button, -1) execute_button.connect("clicked", self.start_game) execute_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() self.grid = Gtk.Grid(column_homogeneous=True, row_homogeneous=True, column_spacing=20, row_spacing=20) self.add(self.grid) self.title = Gtk.Label('Simon-Says') self.title.modify_font(Pango.FontDescription("sans 32")) self.title.show() self.grid.attach(self.title, 0, 0, 8, 1) self.score = Gtk.Label('') self.score.modify_font(Pango.FontDescription("sans 18")) self.score.show() self.grid.attach(self.score, 0, 1, 8, 1) self.set_canvas(self.grid) self.grid.show()
def __init__(self, handle): pservice = presenceservice.get_instance() self.owner = pservice.get_owner() self._ebook_mode_detector = EbookModeDetector() self.chatbox = ChatBox( self.owner, self._ebook_mode_detector.get_ebook_mode()) self.chatbox.connect('open-on-journal', self.__open_on_journal) super(Chat, self).__init__(handle) self._entry = None self._has_alert = False self._has_osk = False self._setup_canvas() self._entry.grab_focus() toolbar_box = ToolbarBox() self.set_toolbar_box(toolbar_box) self.activity_button = ActivityButton(self) toolbar_box.toolbar.insert(self.activity_button, 0) self.activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() self._share_button = ShareButton(self) toolbar_box.toolbar.insert(self._share_button, -1) self._share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) toolbar_box.toolbar.insert(StopButton(self), -1) toolbar_box.show_all() # Chat is room or one to one: self._chat_is_room = False self.text_channel = None if _HAS_SOUND: self.element = Gst.ElementFactory.make('playbin', 'Player') if self.shared_activity: # we are joining the activity following an invite self._entry.props.placeholder_text = \ _('Please wait for a connection before starting to chat.') self.connect('joined', self._joined_cb) if self.get_shared(): # we have already joined self._joined_cb(self) elif handle.uri: # XMPP non-sugar3 incoming chat, not sharable self._share_button.props.visible = False self._one_to_one_connection(handle.uri) else: # we are creating the activity if not self.metadata or self.metadata.get( 'share-scope', activity.SCOPE_PRIVATE) == \ activity.SCOPE_PRIVATE: # if we are in private session self._alert(_('Off-line'), _('Share, or invite someone.')) else: # resume of shared activity from journal object without invite self._entry.props.placeholder_text = \ _('Please wait for a connection before starting to chat.') self.connect('shared', self._shared_cb)
def __init__(self, handle): """Set up the StopWatch activity.""" Activity.__init__(self, handle) self._logger = logging.getLogger('stopwatch-activity') GObject.threads_init() toolbar_box = ToolbarBox() self.activity_button = ActivityButton(self) toolbar_box.toolbar.insert(self.activity_button, 0) self.activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() try: from sugar3.activity.widgets import DescriptionItem description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() except: pass share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) self.tubebox = dobject.TubeBox() self.timer = dobject.TimeHandler("main", self.tubebox) self.gui = stopwatch.GUIView(self.tubebox, self.timer, self) self.set_canvas(self.gui.display) self.show_all() self.initiating = False # get the Presence Service self.pservice = presenceservice.get_instance() # Buddy object for you owner = self.pservice.get_owner() self.owner = owner self.connect('shared', self._shared_cb) self.connect('joined', self._joined_cb) self.add_events(Gdk.EventMask.VISIBILITY_NOTIFY_MASK) self.connect("visibility-notify-event", self._visible_cb) self.connect("notify::active", self._active_cb) self.connect('key-press-event', self._keypress_cb)
def __init__(self, handle): '''Set up the Acoustic Tape Measure activity.''' super(AcousticMeasureActivity, self).__init__(handle) #self.set_title(_('Acoustic Tape Measure Activity')) self._logger = logging.getLogger('acousticmeasure-activity') GObject.threads_init() try: self._logger.debug("locale: " + locale.setlocale(locale.LC_ALL, '')) except locale.Error: self._logger.error("setlocale failed") # top toolbar with share and close buttons: from sugar3.graphics.toolbarbox import ToolbarBox from sugar3.graphics.toolbarbox import ToolbarButton from sugar3.activity.widgets import ShareButton from sugar3.activity.widgets import StopButton from sugar3.activity.widgets import ActivityButton from sugar3.activity.widgets import TitleEntry toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() try: from sugar3.activity.widgets import DescriptionItem description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() except: pass share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() toolbar_box.toolbar.insert(separator, -1) separator.show() self._t_h_bar = atm_toolbars.TempToolbar() tb = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) self._t_h_bar.show_all() adj_button = ToolbarButton(page=self._t_h_bar, icon_name='preferences-system') toolbar_box.toolbar.insert(adj_button, -1) adj_button.show() self._smoot_bar = smoot_toolbar.SmootToolbar(self) self._smoot_bar.show_all() custom_button = ToolbarButton(page=self._smoot_bar, icon_name='view-source') toolbar_box.toolbar.insert(custom_button, -1) custom_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() toolbar = toolbar_box.toolbar if not self.powerd_running(): try: bus = dbus.SystemBus() proxy = bus.get_object('org.freedesktop.ohm', '/org/freedesktop/ohm/Keystore') self.ohm_keystore = dbus.Interface( proxy, 'org.freedesktop.ohm.Keystore') except dbus.DBusException, e: self._logger.warning("Error setting OHM inhibit: %s" % e) self.ohm_keystore = None
def __init__(self, handle): """Set up the HelloWorld activity.""" activity.Activity.__init__(self, handle) # we do not have collaboration features # make the share option insensitive self.max_participants = 1 # toolbar with the new toolbar redesign toolbar_box = ToolbarBox() activity_button = ActivityButton(self) toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() title_entry = TitleEntry(self) toolbar_box.toolbar.insert(title_entry, -1) title_entry.show() description_item = DescriptionItem(self) toolbar_box.toolbar.insert(description_item, -1) description_item.show() share_button = ShareButton(self) toolbar_box.toolbar.insert(share_button, -1) share_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() self.set_toolbar_box(toolbar_box) toolbar_box.show() #set background color self.override_background_color(Gtk.StateType.NORMAL, Gdk.RGBA(1.0,1.0,0.0,1.0)) #set up screen fix = Gtk.Fixed() fix.set_size_request(1000,750) self.lang = Gtk.Label('Language') fix.put(self.lang, 100,0) self.activity = Gtk.Label('Activity') fix.put(self.activity, 500, 0) self.fix = fix #initialize listview #display list of languages as listview items = path('/usr/share/locale').dirs() locales = [] for item in items: locales.append(item.namebase) locales.sort() self.languages = Listview('Language', locales, self.lang_cb) #get directories from /usr/share/locale vbox = self.languages.vbox self.fix.put(vbox, 100, 200) self.set_canvas(self.fix) self.fix.show_all()
def __init__(self, handle, create_jobject=True): activity.Activity.__init__(self, handle) self.selected_journal_entry = None self.selected_path = None self.canvas = Gtk.Notebook() self.canvas.props.show_border = True self.canvas.props.show_tabs = True self.canvas.show() self.last_col = 0 cols = 3 ds_mounts = get_mounts() # check if externmal media used in journal if ds_mounts: cols = 4 self.ls_journal = [] self.tv_journal = [] self.col_journal = [] self.column_table = [] self.scroll = [] self.vbox = [] self.hidden = [] self.image = [[], [], [], [], []] self.btn_delete = [[], [], [], [], []] self.btn_show = [[], [], [], [], []] self.title_entry = [[], [], [], [], []] self.tab_label = [] for col in range(cols): self.ls_journal.append( Gtk.ListStore(GObject.TYPE_STRING, GObject.TYPE_UINT64, GObject.TYPE_STRING, GObject.TYPE_PYOBJECT)) self.tv_journal.append(Gtk.TreeView(self.ls_journal[col])) self.tv_journal[col].set_rules_hint(True) self.tv_journal[col].set_search_column(COLUMN_TITLE) renderer = Gtk.CellRendererText() renderer.set_property('wrap-mode', Gtk.WrapMode.WORD) renderer.set_property('wrap-width', 500) renderer.set_property('width', 500) self.col_journal.append( Gtk.TreeViewColumn(_('Title'), renderer, text=COLUMN_TITLE)) self.col_journal[col].set_sort_column_id(COLUMN_MTIME) self.tv_journal[col].append_column(self.col_journal[col]) # FIXME: have to change everything about pango # label_attributes = Pango.AttrList() # label_attributes.insert(Pango.AttrSize(14000, 0, -1)) # label_attributes.insert(Pango.AttrForeground(65535, 65535, 65535, 0, -1)) if col == 0: self.tab_label.append(Gtk.Label(_("Journal"))) elif col == 1: self.tab_label.append(Gtk.Label(_("Files"))) elif (cols == 4 and col == 2): self.tab_label.append(Gtk.Label(_("External"))) else: self.tab_label.append(Gtk.Label(_("Read Only"))) # FIXME: have to change everything about pango #self.tab_label[col].set_attributes(label_attributes) #self.tab_label[col].show() #self.tv_journal[col].show() if col == 0: self.load_journal_table(col) else: self.load_file_table(col) num = self.ls_journal[col].iter_n_children(None) if num == 0: #dummy elements for no external files self.column_table.append(Gtk.Table(1, 1, homogeneous=False)) self.scroll.append( Gtk.ScrolledWindow(hadjustment=None, vadjustment=None)) self.vbox.append(Gtk.VBox(homogeneous=True, spacing=5)) self.canvas.append_page(self.vbox[col], self.tab_label[col]) self.tab_label[col].hide() self.vbox[col].hide() self.hidden.append(col) else: self.tab_label[col].show() self.tv_journal[col].show() self.column_table.append( Gtk.Table(rows=num, columns=3, homogeneous=False)) self.scroll.append( Gtk.ScrolledWindow(hadjustment=None, vadjustment=None)) self.scroll[col].set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) iter = self.ls_journal[col].get_iter_first() n = 0 while (iter != None): tv = self.tv_journal[col] model = tv.get_model() jobject = model.get_value(iter, COLUMN_JOBJECT) i = n - (3 * int(n / 3)) j = 2 * int(n / 3) image_table = Gtk.Table(rows=2, columns=2, homogeneous=False) self.image[col].append(Gtk.Image()) image_table.attach( self.image[col][n], 0, 2, 0, 1, xoptions=Gtk.AttachOptions.FILL | Gtk.AttachOptions.SHRINK, yoptions=Gtk.AttachOptions.FILL | Gtk.AttachOptions.SHRINK, xpadding=5, ypadding=5) self.btn_show[col].append(Gtk.Button(_("Show File"))) self.btn_show[col][n].connect('button_press_event', self.show_button_press_event_cb, col, n) image_table.attach(self.btn_show[col][n], 0, 1, 1, 2, xoptions=Gtk.AttachOptions.SHRINK, yoptions=Gtk.AttachOptions.SHRINK, xpadding=5, ypadding=5) self.btn_show[col][n].show() if col < cols - 1: self.btn_delete[col].append(Gtk.Button(_("Delete"))) self.btn_delete[col][n].connect( 'button_press_event', self.delete_button_press_event_cb, col, n) image_table.attach(self.btn_delete[col][n], 1, 2, 1, 2, xoptions=Gtk.AttachOptions.SHRINK, yoptions=Gtk.AttachOptions.SHRINK, xpadding=5, ypadding=5) self.btn_delete[col][n].show() self.btn_delete[col][n].props.sensitive = True image_table.show() self.column_table[col].attach( image_table, i, i + 1, j + 1, j + 2, xoptions=Gtk.AttachOptions.FILL | Gtk.AttachOptions.EXPAND | Gtk.AttachOptions.SHRINK, yoptions=Gtk.AttachOptions.FILL | Gtk.AttachOptions.EXPAND | Gtk.AttachOptions.SHRINK, xpadding=5, ypadding=5) self.set_form_fields(jobject, col, n) self.btn_show[col][n].props.sensitive = True iter = self.ls_journal[col].iter_next(iter) n += 1 self.scroll[col].add_with_viewport(self.column_table[col]) self.scroll[col].set_events(Gdk.EventMask.POINTER_MOTION_MASK) self.scroll[col].show() self.vbox.append(Gtk.VBox(homogeneous=True, spacing=5)) self.vbox[col].pack_start(self.scroll[col], True, True, 0) self.canvas.append_page(self.vbox[col], self.tab_label[col]) self.tab_label.append(Gtk.Label(_("File Viewer"))) # FIXME: have to change everything about pango #self.tab_label[cols].set_attributes(label_attributes) self.tab_label[cols].show() self.vbox_view = self.draw_metatable(cols) self.canvas.append_page(self.vbox_view, self.tab_label[cols]) self.set_canvas(self.canvas) self.show_all() self.vbox_view.hide() self.tab_label[cols].hide() toolbar_box = ToolbarBox() self.set_toolbar_box(toolbar_box) toolbar_box.toolbar.insert(TitleEntry(self), -1) separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) toolbar_box.toolbar.insert(StopButton(self), -1) toolbar_box.show_all() for n in self.hidden: self.tab_label[n].hide() self.vbox[n].hide()