def __init__(self, window_xid, bundle_path, document_path, title): gtk.Window.__init__(self) logging.debug('ViewSource paths: %r %r' % (bundle_path, document_path)) self.set_decorated(False) self.set_position(gtk.WIN_POS_CENTER_ALWAYS) self.set_border_width(style.LINE_WIDTH) width = gtk.gdk.screen_width() - style.GRID_CELL_SIZE * 2 height = gtk.gdk.screen_height() - style.GRID_CELL_SIZE * 2 self.set_size_request(width, height) self._parent_window_xid = window_xid self.connect('realize', self.__realize_cb) self.connect('destroy', self.__destroy_cb, document_path) self.connect('key-press-event', self.__key_press_event_cb) vbox = gtk.VBox() self.add(vbox) vbox.show() toolbar = Toolbar(title, bundle_path, document_path) vbox.pack_start(toolbar, expand=False) toolbar.connect('stop-clicked', self.__stop_clicked_cb) toolbar.connect('source-selected', self.__source_selected_cb) toolbar.show() pane = gtk.HPaned() vbox.pack_start(pane) pane.show() self._selected_file = None file_name = '' activity_bundle = ActivityBundle(bundle_path) command = activity_bundle.get_command() if len(command.split(' ')) > 1: name = command.split(' ')[1].split('.')[0] file_name = name + '.py' path = os.path.join(activity_bundle.get_path(), file_name) self._selected_file = path self._file_viewer = FileViewer(bundle_path, file_name) self._file_viewer.connect('file-selected', self.__file_selected_cb) pane.add1(self._file_viewer) self._file_viewer.show() self._source_display = SourceDisplay() pane.add2(self._source_display) self._source_display.show() self._source_display.file_path = self._selected_file if document_path is not None: self._select_source(document_path) logging.debug('@@@@@ %s' % document_path)
def _main(): """Launch this activity from the command line.""" from sugar.activity import activityfactory from sugar.activity.registry import ActivityInfo from sugar.bundle.activitybundle import ActivityBundle import os ab = ActivityBundle(os.path.dirname(__file__) or '.') ai = ActivityInfo(name=ab.get_name(), icon=None, bundle_id=ab.get_bundle_id(), version=ab.get_activity_version(), path=ab.get_path(), show_launcher=ab.get_show_launcher(), command=ab.get_command(), favorite=True, installation_time=ab.get_installation_time(), position_x=0, position_y=0) env = activityfactory.get_environment(ai) cmd_args = activityfactory.get_command(ai) os.execvpe(cmd_args[0], cmd_args, env)
def __init__(self, window_xid, bundle_path, document_path, sugar_toolkit_path, title): gtk.Window.__init__(self) _logger.debug('ViewSource paths: %r %r %r', bundle_path, document_path, sugar_toolkit_path) self.set_decorated(False) self.set_position(gtk.WIN_POS_CENTER_ALWAYS) self.set_border_width(style.LINE_WIDTH) width = gtk.gdk.screen_width() - style.GRID_CELL_SIZE * 2 height = gtk.gdk.screen_height() - style.GRID_CELL_SIZE * 2 self.set_size_request(width, height) self._parent_window_xid = window_xid self._sugar_toolkit_path = sugar_toolkit_path self.connect('realize', self.__realize_cb) self.connect('destroy', self.__destroy_cb, document_path) self.connect('key-press-event', self.__key_press_event_cb) vbox = gtk.VBox() self.add(vbox) vbox.show() toolbar = Toolbar(title, bundle_path, document_path, sugar_toolkit_path) vbox.pack_start(toolbar, expand=False) toolbar.connect('stop-clicked', self.__stop_clicked_cb) toolbar.connect('source-selected', self.__source_selected_cb) toolbar.show() pane = gtk.HPaned() vbox.pack_start(pane) pane.show() self._selected_bundle_file = None self._selected_sugar_file = None file_name = '' activity_bundle = ActivityBundle(bundle_path) command = activity_bundle.get_command() if len(command.split(' ')) > 1: name = command.split(' ')[1].split('.')[-1] tmppath = command.split(' ')[1].replace('.', '/') file_name = tmppath[0:-(len(name) + 1)] + '.py' path = os.path.join(activity_bundle.get_path(), file_name) self._selected_bundle_file = path # Split the tree pane into two vertical panes, one of which # will be hidden tree_panes = gtk.VPaned() tree_panes.show() self._bundle_source_viewer = FileViewer(bundle_path, file_name) self._bundle_source_viewer.connect('file-selected', self.__file_selected_cb) tree_panes.add1(self._bundle_source_viewer) self._bundle_source_viewer.show() file_name = 'env.py' self._selected_sugar_file = os.path.join(sugar_toolkit_path, file_name) self._sugar_source_viewer = FileViewer(sugar_toolkit_path, file_name) self._sugar_source_viewer.connect('file-selected', self.__file_selected_cb) tree_panes.add2(self._sugar_source_viewer) self._sugar_source_viewer.hide() pane.add1(tree_panes) self._source_display = SourceDisplay() pane.add2(self._source_display) self._source_display.show() self._source_display.file_path = self._selected_bundle_file if document_path is not None: self._select_source(document_path)