• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python base.ConsoleBaseWidget类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中spyderlib.widgets.sourcecode.base.ConsoleBaseWidget的典型用法代码示例。如果您正苦于以下问题:Python ConsoleBaseWidget类的具体用法?Python ConsoleBaseWidget怎么用?Python ConsoleBaseWidget使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了ConsoleBaseWidget类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: insert_text

 def insert_text(self, text, at_end=False, error=False, prompt=False):
     """
     Insert text at the current cursor position
     or at the end of the command line
     """
     if at_end:
         # Insert text at the end of the command line
         self.append_text_to_shell(text, error, prompt)
     else:
         # Insert text at current cursor position
         ConsoleBaseWidget.insert_text(self, text)
开发者ID:ImadBouirmane,项目名称:spyder,代码行数:11,代码来源:shell.py


示例2: __init__

    def __init__(self, parent, history_filename, debug=False, profile=False):
        """
        parent : specifies the parent widget
        """
        ConsoleBaseWidget.__init__(self, parent)
                
        # Prompt position: tuple (line, index)
        self.current_prompt_pos = None
        self.new_input_line = True
        
        # History
        self.histidx = None
        self.hist_wholeline = False
        assert isinstance(history_filename, (str, unicode))
        self.history_filename = history_filename
        self.history = self.load_history()
        
        # Session
        self.historylog_filename = CONF.get('main', 'historylog_filename',
                                            get_conf_path('history.log'))
        
        # Context menu
        self.menu = None
        self.setup_context_menu()

        # Debug mode
        self.debug = debug

        # Simple profiling test
        self.profile = profile
        
        # Buffer to increase performance of write/flush operations
        self.__buffer = []
        self.__timestamp = 0.0
        self.__flushtimer = QTimer(self)
        self.__flushtimer.setSingleShot(True)
        self.connect(self.__flushtimer, SIGNAL('timeout()'), self.flush)

        # Give focus to widget
        self.setFocus()
                
        # Calltips
        calltip_size = CONF.get('shell_appearance', 'calltips/size')
        calltip_font = get_font('shell_appearance', 'calltips')
        self.setup_calltips(calltip_size, calltip_font)
        
        # Completion
        completion_size = CONF.get('shell_appearance', 'completion/size')
        completion_font = get_font('shell_appearance', 'completion')
        self.completion_widget.setup_appearance(completion_size,
                                                completion_font)
        # Cursor width
        self.setCursorWidth( CONF.get('shell_appearance', 'cursor/width') )
开发者ID:jromang,项目名称:retina-old,代码行数:53,代码来源:shell.py


示例3: mouseMoveEvent

 def mouseMoveEvent(self, event):
     """Show Pointing Hand Cursor on error messages"""
     text = self.get_line_at(event.pos())
     if get_error_match(text):
         if not self.__cursor_changed:
             QApplication.setOverrideCursor(QCursor(Qt.PointingHandCursor))
             self.__cursor_changed = True
         event.accept()
         return
     if self.__cursor_changed:
         QApplication.restoreOverrideCursor()
         self.__cursor_changed = False
     ConsoleBaseWidget.mouseMoveEvent(self, event)
开发者ID:jromang,项目名称:retina-old,代码行数:13,代码来源:shell.py


示例4: focusNextPrevChild

 def focusNextPrevChild(self, next):
     """
     Reimplemented to stop Tab moving to the next window
     """
     if next:
         return False
     return ConsoleBaseWidget.focusNextPrevChild(self, next)
开发者ID:ImadBouirmane,项目名称:spyder,代码行数:7,代码来源:shell.py


示例5: mousePressEvent

 def mousePressEvent(self, event):
     """
     Re-implemented to handle the mouse press event.
     event: the mouse press event (QMouseEvent)
     """
     if event.button() == Qt.MidButton:
         text = self.get_selected_text()
         # Simulating left mouse button:
         event = QMouseEvent(QMouseEvent.MouseButtonPress, event.pos(),
                             Qt.LeftButton, Qt.LeftButton, Qt.NoModifier)
         ConsoleBaseWidget.mousePressEvent(self, event)
         if self.new_input_line:
             self.on_new_line()
         self.insert_text(text)
         event.accept()
     else:
         ConsoleBaseWidget.mousePressEvent(self, event)
开发者ID:jromang,项目名称:retina-old,代码行数:17,代码来源:shell.py


示例6: __init__

    def __init__(self, parent, history_filename, profile=False):
        """
        parent : specifies the parent widget
        """
        ConsoleBaseWidget.__init__(self, parent)
        SaveHistoryMixin.__init__(self)
                
        # Prompt position: tuple (line, index)
        self.current_prompt_pos = None
        self.new_input_line = True
        
        # History
        self.histidx = None
        self.hist_wholeline = False
        assert is_text_string(history_filename)
        self.history_filename = history_filename
        self.history = self.load_history()
        
        # Session
        self.historylog_filename = CONF.get('main', 'historylog_filename',
                                            get_conf_path('history.log'))
        
        # Context menu
        self.menu = None
        self.setup_context_menu()

        # Simple profiling test
        self.profile = profile
        
        # Buffer to increase performance of write/flush operations
        self.__buffer = []
        self.__timestamp = 0.0
        self.__flushtimer = QTimer(self)
        self.__flushtimer.setSingleShot(True)
        self.__flushtimer.timeout.connect(self.flush)

        # Give focus to widget
        self.setFocus()

        # Cursor width
        self.setCursorWidth( CONF.get('main', 'cursor/width') )
开发者ID:ChunHungLiu,项目名称:spyder,代码行数:41,代码来源:shell.py


示例7: postprocess_keyevent

    def postprocess_keyevent(self, event):
        """Post-process keypress event:
        in InternalShell, this is method is called when shell is ready"""
        event, text, key, ctrl, shift = restore_keyevent(event)
        
        # Is cursor on the last line? and after prompt?
        if len(text):
            #XXX: Shouldn't it be: `if len(unicode(text).strip(os.linesep))` ?
            if self.has_selected_text():
                self.check_selection()
            self.restrict_cursor_position(self.current_prompt_pos, 'eof')
            
        cursor_position = self.get_position('cursor')

        if key in (Qt.Key_Return, Qt.Key_Enter):
            if self.is_cursor_on_last_line():
                self._key_enter()
            # add and run selection
            else:
                self.insert_text(self.get_selected_text(), at_end=True)
            
        elif key == Qt.Key_Insert and not shift and not ctrl:
            self.setOverwriteMode(not self.overwriteMode())
            
        elif key == Qt.Key_Delete:
            if self.has_selected_text():
                self.check_selection()
                self.remove_selected_text()
            elif self.is_cursor_on_last_line():
                self.stdkey_clear()
            
        elif key == Qt.Key_Backspace:
            self._key_backspace(cursor_position)
            
        elif key == Qt.Key_Tab:
            self._key_tab()
            
        elif key == Qt.Key_Space and ctrl:
            self._key_ctrl_space()

        elif key == Qt.Key_Left:
            if self.current_prompt_pos == cursor_position:
                # Avoid moving cursor on prompt
                return
            method = self.extend_selection_to_next if shift \
                     else self.move_cursor_to_next
            method('word' if ctrl else 'character', direction='left')
                
        elif key == Qt.Key_Right:
            if self.is_cursor_at_end():
                return
            method = self.extend_selection_to_next if shift \
                     else self.move_cursor_to_next
            method('word' if ctrl else 'character', direction='right')

        elif (key == Qt.Key_Home) or ((key == Qt.Key_Up) and ctrl):
            self._key_home(shift, ctrl)

        elif (key == Qt.Key_End) or ((key == Qt.Key_Down) and ctrl):
            self._key_end(shift, ctrl)

        elif key == Qt.Key_Up:
            if not self.is_cursor_on_last_line():
                self.set_cursor_position('eof')
            y_cursor = self.get_coordinates(cursor_position)[1]
            y_prompt = self.get_coordinates(self.current_prompt_pos)[1]
            if y_cursor > y_prompt:
                self.stdkey_up(shift)
            else:
                self.browse_history(backward=True)
                
        elif key == Qt.Key_Down:
            if not self.is_cursor_on_last_line():
                self.set_cursor_position('eof')
            y_cursor = self.get_coordinates(cursor_position)[1]
            y_end = self.get_coordinates('eol')[1]
            if y_cursor < y_end:
                self.stdkey_down(shift)
            else:
                self.browse_history(backward=False)
            
        elif key in (Qt.Key_PageUp, Qt.Key_PageDown):
            #XXX: Find a way to do this programmatically instead of calling
            # widget keyhandler (this won't work if the *event* is coming from
            # the event queue - i.e. if the busy buffer is ever implemented)
            ConsoleBaseWidget.keyPressEvent(self, event)

        elif key == Qt.Key_Escape and shift:
            self.clear_line()

        elif key == Qt.Key_Escape:
            self._key_escape()
                
        elif key == Qt.Key_L and ctrl:
            self.clear_terminal()
            
        elif key == Qt.Key_V and ctrl:
            self.paste()
            
        elif key == Qt.Key_X and ctrl:
#.........这里部分代码省略.........
开发者ID:ImadBouirmane,项目名称:spyder,代码行数:101,代码来源:shell.py


示例8: paste

 def paste(self):
     """Reimplemented slot to handle multiline paste action"""
     if self.new_input_line:
         self.on_new_line()
     ConsoleBaseWidget.paste(self)
开发者ID:ImadBouirmane,项目名称:spyder,代码行数:5,代码来源:shell.py


示例9: delete

 def delete(self):
     """Remove selected text"""
     self.check_selection()
     if self.has_selected_text():
         ConsoleBaseWidget.remove_selected_text(self)
开发者ID:ImadBouirmane,项目名称:spyder,代码行数:5,代码来源:shell.py


示例10: cut

 def cut(self):
     """Cut text"""
     self.check_selection()
     if self.has_selected_text():
         ConsoleBaseWidget.cut(self)
开发者ID:ImadBouirmane,项目名称:spyder,代码行数:5,代码来源:shell.py


示例11: copy

 def copy(self):
     """Copy text to clipboard... or keyboard interrupt"""
     if self.has_selected_text():
         ConsoleBaseWidget.copy(self)
     elif not sys.platform == 'darwin':
         self.interrupt()
开发者ID:ImadBouirmane,项目名称:spyder,代码行数:6,代码来源:shell.py


示例12: leaveEvent

 def leaveEvent(self, event):
     """If cursor has not been restored yet, do it now"""
     if self.__cursor_changed:
         QApplication.restoreOverrideCursor()
         self.__cursor_changed = False
     ConsoleBaseWidget.leaveEvent(self, event)
开发者ID:jromang,项目名称:retina-old,代码行数:6,代码来源:shell.py


示例13: mouseReleaseEvent

 def mouseReleaseEvent(self, event):
     """Go to error"""
     ConsoleBaseWidget.mouseReleaseEvent(self, event)            
     text = self.get_line_at(event.pos())
     if get_error_match(text) and not self.has_selected_text():
         self.emit(SIGNAL("go_to_error(QString)"), text)
开发者ID:jromang,项目名称:retina-old,代码行数:6,代码来源:shell.py


示例14: copy

 def copy(self):
     """Copy text to clipboard... or keyboard interrupt"""
     if self.has_selected_text():
         ConsoleBaseWidget.copy(self)
     else:
         self.emit(SIGNAL("keyboard_interrupt()"))
开发者ID:jromang,项目名称:retina-old,代码行数:6,代码来源:shell.py



注:本文中的spyderlib.widgets.sourcecode.base.ConsoleBaseWidget类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python codeeditor.CodeEditor类代码示例发布时间:2022-05-27
下一篇:
Python shell.PythonShellWidget类代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap