def __init__(self, namespace = {}): gtk.ScrolledWindow.__init__(self) self.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) self.set_shadow_type(gtk.SHADOW_IN) self.view = gtk.TextView() self.view.modify_font(pango.FontDescription('Monospace')) self.view.set_editable(True) self.view.set_wrap_mode(gtk.WRAP_WORD_CHAR) self.add(self.view) self.view.show() buffer = self.view.get_buffer() self.normal = buffer.create_tag("normal") self.error = buffer.create_tag("error") self.command = buffer.create_tag("command") PythonConsoleConfig.add_handler(self.apply_preferences) self.apply_preferences() self.__spaces_pattern = re.compile(r'^\s+') self.namespace = namespace self.block_command = False # Init first line buffer.create_mark("input-line", buffer.get_end_iter(), True) buffer.insert(buffer.get_end_iter(), ">>> ") buffer.create_mark("input", buffer.get_end_iter(), True) # Init history self.history = [''] self.history_pos = 0 self.current_command = '' self.namespace['__history__'] = self.history # Set up hooks for standard output. blah=0 self.stdout = OutFile(self, blah, self.normal) self.stderr = OutFile(self, blah, self.error) # Signals self.view.connect("key-press-event", self.__key_press_event_cb) buffer.connect("mark-set", self.__mark_set_cb)
def __init__(self, namespace={}): gtk.ScrolledWindow.__init__(self) self.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) self.set_shadow_type(gtk.SHADOW_IN) self.view = gtk.TextView() self.view.modify_font(pango.FontDescription('Monospace')) self.view.set_editable(True) self.view.set_wrap_mode(gtk.WRAP_WORD_CHAR) self.add(self.view) self.view.show() buffer = self.view.get_buffer() self.normal = buffer.create_tag("normal") self.error = buffer.create_tag("error") self.command = buffer.create_tag("command") PythonConsoleConfig.add_handler(self.apply_preferences) self.apply_preferences() self.__spaces_pattern = re.compile(r'^\s+') self.namespace = namespace self.block_command = False # Init first line buffer.create_mark("input-line", buffer.get_end_iter(), True) buffer.insert(buffer.get_end_iter(), ">>> ") buffer.create_mark("input", buffer.get_end_iter(), True) # Init history self.history = [''] self.history_pos = 0 self.current_command = '' self.namespace['__history__'] = self.history # Set up hooks for standard output. self.stdout = OutFile(self, sys.stdout.fileno(), self.normal) self.stderr = OutFile(self, sys.stderr.fileno(), self.error) # Signals self.view.connect("key-press-event", self.__key_press_event_cb) buffer.connect("mark-set", self.__mark_set_cb)
def apply_preferences(self, *args): config = PythonConsoleConfig() self.error.set_property("foreground", config.color_error) self.command.set_property("foreground", config.color_command)