def main(): app = QtWidgets.QApplication(sys.argv) window = QtWidgets.QMainWindow() # code from the simple example editor = api.CodeEdit() editor.file.open(__file__) editor.modes.append(modes.CaretLineHighlighterMode()) sh = modes.PygmentsSyntaxHighlighter(editor.document()) editor.modes.append(sh) editor.panels.append(panels.SearchAndReplacePanel(), api.Panel.Position.TOP) # make the code edit show whitespaces in dark gray editor.show_white_spaces = True editor.whitespaces_foreground = QtGui.QColor('#606020') # make a dark editor using the monokai theme sh.pygments_style = 'monokai' window.setCentralWidget(editor) window.show() app.exec_() editor.file.close() del editor del window del app
def __init__(self, parent=None, server_script=server.__file__, interpreter=sys.executable, args=None, create_default_actions=True, color_scheme='qt'): super(GenericCodeEdit, self).__init__(parent, create_default_actions) from pyqode.core import panels from pyqode.core import modes self.backend.start(server_script, interpreter, args) # append panels self.panels.append(panels.FoldingPanel()) self.panels.append(panels.LineNumberPanel()) self.panels.append(panels.SearchAndReplacePanel(), Panel.Position.BOTTOM) self.panels.append(panels.EncodingPanel(), Panel.Position.TOP) # append modes self.modes.append(modes.AutoCompleteMode()) self.add_separator() self.modes.append(modes.CaseConverterMode()) self.modes.append(modes.FileWatcherMode()) self.modes.append(modes.CaretLineHighlighterMode()) self.modes.append(modes.RightMarginMode()) self.modes.append(modes.PygmentsSyntaxHighlighter( self.document(), color_scheme=ColorScheme(color_scheme))) self.modes.append(modes.ZoomMode()) self.modes.append(modes.CodeCompletionMode()) self.modes.append(modes.AutoIndentMode()) self.modes.append(modes.IndenterMode()) self.modes.append(modes.SymbolMatcherMode()) self.modes.append(modes.OccurrencesHighlighterMode()) self.modes.append(modes.SmartBackSpaceMode()) self.modes.append(modes.ExtendedSelectionMode()) self.syntax_highlighter.fold_detector = IndentFoldDetector()
def show(self): global dialog global ui, currentFile ui = Ui_frmManuallyDesignROI() QtWidgets.QApplication.setStyle(QtWidgets.QStyleFactory.create('Fusion')) dialog = QtWidgets.QMainWindow() ui.setupUi(dialog) self.set_events(self) ui.stb.showMessage("New File") currentFile = None ui.txtCode = api.CodeEdit(ui.Code) #ui.txtCode.setGeometry(QtCore.QRect(10, 10, 641, 451)) ui.gridLayout.addWidget(ui.txtCode, 0, 0, 1, 1) ui.txtCode.setObjectName("txtCode") ui.txtCode.backend.start('backend/server.py') ui.txtCode.modes.append(modes.CodeCompletionMode()) ui.txtCode.modes.append(modes.CaretLineHighlighterMode()) ui.txtCode.modes.append(modes.PygmentsSyntaxHighlighter(ui.txtCode.document())) ui.txtCode.panels.append(panels.SearchAndReplacePanel(), api.Panel.Position.TOP) ui.txtCode.panels.append(panels.LineNumberPanel(),api.Panel.Position.LEFT) font = QtGui.QFont() font.setBold(True) font.setWeight(75) ui.txtCode.setFont(font) ui.txtCode.setPlainText(DefaultCode(),"","") dialog.setWindowTitle("easy fMRI manually design ROI - V" + getVersion() + "B" + getBuild()) dialog.show()
def __init__(self): super(MyPythonCodeEdit, self).__init__(color_scheme='monokai') # starts the default pyqode.python server (which enable the jedi code # completion worker). self.backend.start(server.__file__) # some other modes/panels require the analyser mode, the best is to # install it first #self.modes.append(pymodes.DocumentAnalyserMode()) #--- core panels self.panels.append(panels.FoldingPanel()) self.panels.append(panels.LineNumberPanel()) self.panels.append(panels.CheckerPanel()) self.panels.append(panels.SearchAndReplacePanel(), panels.SearchAndReplacePanel.Position.BOTTOM) self.panels.append(panels.EncodingPanel(), api.Panel.Position.TOP) # add a context menu separator between editor's # builtin action and the python specific actions self.add_separator() #--- python specific panels #self.panels.append(pypanels.QuickDocPanel(), api.Panel.Position.BOTTOM) #--- core modes self.modes.append(modes.CaretLineHighlighterMode()) self.modes.append(modes.CodeCompletionMode()) self.modes.append(modes.ExtendedSelectionMode()) self.modes.append(modes.FileWatcherMode()) self.modes.append(modes.OccurrencesHighlighterMode()) #self.modes.append(modes.RightMarginMode()) self.modes.append(modes.SmartBackSpaceMode()) self.modes.append(modes.SymbolMatcherMode()) self.modes.append(modes.ZoomMode())
def __init__(self, viewer, snippets=None): self.model = None self.viewer = viewer QtWidgets.QWidget.__init__(self) self.layout = QtWidgets.QVBoxLayout(self) self.setLayout(self.layout) self.c = None self.tools = QtWidgets.QHBoxLayout(self) self.layout.addLayout(self.tools) self.runbutton = QtWidgets.QPushButton("Run") width = self.runbutton.fontMetrics().boundingRect("Run").width() + 20 self.runbutton.setMaximumWidth(width) self.tools.addWidget(self.runbutton) self.runbutton.clicked.connect(self.runCode) editor = CodeEdit() if has_pyqode: editor.backend.start(server.__file__) editor.panels.append(panels.FoldingPanel()) editor.panels.append(panels.LineNumberPanel()) editor.panels.append(panels.SearchAndReplacePanel(), panels.SearchAndReplacePanel.Position.BOTTOM) editor.panels.append(panels.EncodingPanel(), api.Panel.Position.TOP) editor.add_separator() editor.panels.append(pypanels.QuickDocPanel(), api.Panel.Position.BOTTOM) sh = editor.modes.append(PythonSH(editor.document())) editor.modes.append(modes.CaretLineHighlighterMode()) editor.modes.append(modes.CodeCompletionMode()) editor.modes.append(modes.ExtendedSelectionMode()) editor.modes.append(modes.FileWatcherMode()) editor.modes.append(modes.OccurrencesHighlighterMode()) editor.modes.append(modes.RightMarginMode()) editor.modes.append(modes.SmartBackSpaceMode()) editor.modes.append(modes.SymbolMatcherMode()) editor.modes.append(modes.ZoomMode()) editor.modes.append(pymodes.CommentsMode()) editor.modes.append(pymodes.CalltipsMode()) auto = pymodes.PyAutoCompleteMode() auto.logger.setLevel(logging.CRITICAL) editor.modes.append(auto) editor.modes.append(pymodes.PyAutoIndentMode()) editor.modes.append(pymodes.PyIndenterMode()) editor.show() else: editor.setStyleSheet("font-size: 10pt; font-family: Consolas, Courier;") self.editor = editor self.snippets = snippets if self.snippets: self.list = QtWidgets.QComboBox(self) self.replace_snippet(0) for snip_name in self.snippets.keys(): self.list.addItem(snip_name) self.tools.addWidget(self.list) self.list.currentIndexChanged[int].connect(self.replace_snippet) self.layout.addWidget(self.editor) self.output = QtWidgets.QTextEdit() self.output.setReadOnly(True) self.output.setStyleSheet("font-size: 10pt; font-family: Consolas, Courier; background-color: #444;") self.layout.addWidget(self.output)
def __init__(self, parent=None): super(CodeEditor, self).__init__(parent, False) # self.setObjectName( 'CodeEditor' ) self.font_size = 12 self.use_spaces_instead_of_tabs = False server_script = server.__file__ interpreter = sys.executable # self.backend.start( server_script, interpreter, None, reuse=True ) # append panels self.panels.append(panels.LineNumberPanel()) self.panels.append(panels.SearchAndReplacePanel(), Panel.Position.BOTTOM) self.panels.append(panels.FoldingPanel()) # append modes # self.modes.append(modes.AutoCompleteMode()) self.modes.append(modes.ExtendedSelectionMode()) self.modes.append(modes.CaseConverterMode()) # self.modes.append(modes.FileWatcherMode()) self.modes.append(modes.CaretLineHighlighterMode()) self.modes.append(modes.RightMarginMode()) sh = self.modes.append( modes.PygmentsSH(self.document(), color_scheme=ColorScheme('monokai'))) sh.fold_detector = IndentFoldDetector() self.modes.append(modes.ZoomMode()) # self.modes.append(modes.CodeCompletionMode()) self.modes.append(modes.AutoIndentMode()) self.modes.append(modes.IndenterMode()) self.modes.append(modes.SymbolMatcherMode()) self.modes.append(modes.OccurrencesHighlighterMode()) self.modes.append(modes.SmartBackSpaceMode())
def main(): app = QtWidgets.QApplication(sys.argv) # create editor and window window = QtWidgets.QMainWindow() editor = api.CodeEdit() window.setCentralWidget(editor) # start the backend as soon as possible editor.backend.start('server.py') # append some modes and panels editor.modes.append(modes.CodeCompletionMode()) editor.modes.append(modes.CaretLineHighlighterMode()) editor.modes.append(modes.PygmentsSyntaxHighlighter(editor.document())) editor.panels.append(panels.SearchAndReplacePanel(), api.Panel.Position.BOTTOM) # open a file editor.file.open(__file__) # run window.show() app.exec_() editor.file.close()
def __init__(self, parent=None, server_script=server.__file__, interpreter=sys.executable, args=None, create_default_actions=True, color_scheme='qt', reuse_backend=False): super(PyCodeEdit, self).__init__(parent=parent, create_default_actions=create_default_actions) self.backend.start(server_script, interpreter, args, reuse=reuse_backend) self.setLineWrapMode(self.NoWrap) self.setWindowTitle("pyQode - Python Editor") # install those modes first as they are required by other modes/panels self.modes.append(modes.OutlineMode(defined_names)) # panels self.panels.append(panels.SearchAndReplacePanel(), panels.SearchAndReplacePanel.Position.BOTTOM) self.panels.append(panels.FoldingPanel()) self.panels.append(panels.LineNumberPanel()) self.panels.append(panels.CheckerPanel()) self.panels.append(panels.GlobalCheckerPanel(), panels.GlobalCheckerPanel.Position.RIGHT) self.add_separator() # modes # generic self.modes.append(modes.ExtendedSelectionMode()) self.modes.append(modes.CaseConverterMode()) self.modes.append(modes.CaretLineHighlighterMode()) self.modes.append(modes.FileWatcherMode()) self.modes.append(modes.RightMarginMode()) self.modes.append(modes.ZoomMode()) self.modes.append(modes.SymbolMatcherMode()) self.modes.append(modes.CodeCompletionMode()) self.modes.append(modes.OccurrencesHighlighterMode()) self.modes.append(modes.SmartBackSpaceMode()) # python specifics self.modes.append(pymodes.PyAutoIndentMode()) self.modes.append(pymodes.PyAutoCompleteMode()) self.modes.append(pymodes.PyFlakesChecker()) self.modes.append(pymodes.PEP8CheckerMode()) self.modes.append(pymodes.CalltipsMode()) self.modes.append(pymodes.PyIndenterMode()) self.modes.append(pymodes.GoToAssignmentsMode()) self.modes.append(pymodes.CommentsMode()) self.modes.append( pymodes.PythonSH(self.document(), color_scheme=ColorScheme(color_scheme))) self.syntax_highlighter.fold_detector = PythonFoldDetector() self.panels.append(pypanels.QuickDocPanel(), api.Panel.Position.BOTTOM) self.panels.append(panels.EncodingPanel(), api.Panel.Position.TOP) self.panels.append(panels.ReadOnlyPanel(), api.Panel.Position.TOP)
def show(self, filename=None, pwd=None): global dialog global ui global data global root global currentFile ui = Ui_frmDataEditor() QtWidgets.QApplication.setStyle( QtWidgets.QStyleFactory.create('Fusion')) dialog = QtWidgets.QMainWindow() ui.setupUi(dialog) self.set_events(self) ui.lwData.setColumnCount(4) ui.lwData.setHeaderLabels(['Name', 'Class', 'Shape', 'Value']) ui.lwData.setColumnWidth(0, 200) dialog.setWindowTitle("easy fMRI Data Editor - V" + getVersion() + "B" + getBuild()) ui.tabWidget.setCurrentIndex(0) ui.tabWidget2.setCurrentIndex(0) layout = QHBoxLayout(ui.Code) ui.txtCode = api.CodeEdit(ui.Code) layout.addWidget(ui.txtCode) ui.txtCode.setObjectName("txtCode") ui.txtCode.backend.start(getDIR() + '/backend/server.py') ui.txtCode.modes.append(modes.CodeCompletionMode()) ui.txtCode.modes.append(modes.CaretLineHighlighterMode()) ui.txtCode.modes.append( modes.PygmentsSyntaxHighlighter(ui.txtCode.document())) ui.txtCode.panels.append(panels.SearchAndReplacePanel(), api.Panel.Position.TOP) ui.txtCode.panels.append(panels.LineNumberPanel(), api.Panel.Position.LEFT) ui.lblCodeFile.setText("New File") currentFile = None font = QtGui.QFont() font.setBold(True) font.setWeight(75) ui.txtCode.setFont(font) ui.txtCode.setPlainText(DefaultCode(), "", "") root = queue.Queue() data = None if filename is not None: if os.path.isfile(filename): self.OpenFile(self, filename) elif pwd is not None: if os.path.isfile(pwd + "/" + filename): self.OpenFile(self, pwd + "/" + filename) else: print("Data file cannot find!") dialog.show()
def __init__(self, parent=None, server_script=server.__file__, interpreter=sys.executable, args=None, create_default_actions=True, color_scheme='default'): super(PyCodeEditor, self).__init__(parent=parent, create_default_actions=create_default_actions) self.backend.start(server_script, interpreter, args) self.setLineWrapMode(self.NoWrap) self.setWindowTitle("pyQode for LPy") # panels self.panels.append(panels.FoldingPanel()) self.panels.append(panels.LineNumberPanel()) self.panels.append(panels.CheckerPanel()) self.panels.append(panels.GlobalCheckerPanel(), panels.GlobalCheckerPanel.Position.RIGHT) self._panel_search = panels.SearchAndReplacePanel() self.panels.append(self._panel_search, panels.SearchAndReplacePanel.Position.BOTTOM) self.panels.append(panels.EncodingPanel(), api.Panel.Position.TOP) self.add_separator() self.panels.append(pypanels.QuickDocPanel(), api.Panel.Position.BOTTOM) # modes # generic self.modes.append(modes.CaretLineHighlighterMode()) self.modes.append(modes.FileWatcherMode()) self.modes.append(modes.RightMarginMode()) self.modes.append(modes.ZoomMode()) self.modes.append(modes.SymbolMatcherMode()) self.modes.append(modes.CodeCompletionMode()) self.modes.append(modes.OccurrencesHighlighterMode()) self.modes.append(modes.SmartBackSpaceMode()) self.modes.append(modes.ExtendedSelectionMode()) # python specifics self.modes.append(pymodes.PyAutoIndentMode()) self.modes.append(pymodes.PyAutoCompleteMode()) # self.modes.append(pymodes.FrostedCheckerMode()) self.modes.append(pymodes.PEP8CheckerMode()) self.modes.append(pymodes.CalltipsMode()) self.modes.append(pymodes.PyIndenterMode()) self.modes.append(pymodes.GoToAssignmentsMode()) self.modes.append(pymodes.CommentsMode()) self.modes.append( pymodes.PythonSH(self.document(), color_scheme=ColorScheme(color_scheme))) self.syntax_highlighter.fold_detector = PythonFoldDetector()
def _setup_panels(self): self.search_panel = self.panels.append(panels.SearchAndReplacePanel(), api.Panel.Position.BOTTOM) self.folding_panel = self.panels.append(panels.FoldingPanel(), api.Panel.Position.LEFT) self.line_nbr_panel = self.panels.append(panels.LineNumberPanel(), api.Panel.Position.LEFT) self.checker_panel = self.panels.append(panels.CheckerPanel(), api.Panel.Position.LEFT) self.global_checker_panel = self.panels.append( panels.GlobalCheckerPanel(), api.Panel.Position.RIGHT)
def configure_modes_and_panels(self): # Modes self.modes.append(modes.IndenterMode()) self.modes.append(modes.AutoIndentMode()) self.modes.append(modes.AutoCompleteMode()) self.modes.append(CommentsMode()) # Panels self.panels.append(LineNumberPanel(), api.Panel.Position.LEFT) self.panels.append(panels.SearchAndReplacePanel(), api.Panel.Position.BOTTOM)
def __init__(self, parent=None, color_scheme='qt'): super().__init__(parent=parent) self.setLineWrapMode(self.NoWrap) # install those modes first as they are required by other modes/panels self.modes.append(modes.OutlineMode(defined_names)) # panels self.panels.append(panels.SearchAndReplacePanel(), panels.SearchAndReplacePanel.Position.BOTTOM) self.panels.append(panels.FoldingPanel()) self.panels.append(panels.LineNumberPanel()) self.panels.append(panels.CheckerPanel()) self.panels.append(panels.GlobalCheckerPanel(), panels.GlobalCheckerPanel.Position.RIGHT) # modes # generic self.modes.append(modes.CursorHistoryMode()) self.modes.append(modes.ExtendedSelectionMode()) self.modes.append(modes.CaseConverterMode()) self.modes.append(modes.CaretLineHighlighterMode()) self.modes.append(modes.FileWatcherMode()) self.modes.append(modes.RightMarginMode()) self.modes.append(modes.ZoomMode()) self.modes.append(modes.SymbolMatcherMode()) self.modes.append(modes.CodeCompletionMode()) self.modes.append(modes.OccurrencesHighlighterMode()) self.modes.append(modes.SmartBackSpaceMode()) # python specifics self.modes.append(pymodes.PyAutoIndentMode()) self.modes.append(pymodes.PyAutoCompleteMode()) self.modes.append(pymodes.FrostedCheckerMode()) self.modes.append(pymodes.PEP8CheckerMode()) self.modes.append(pymodes.CalltipsMode()) self.modes.append(pymodes.PyIndenterMode()) self.add_separator() self.modes.append(AddImportMode()) self.modes.append(pymodes.GoToAssignmentsMode()) self.modes.append(pymodes.CommentsMode()) self.modes.append( pymodes.PythonSH(self.document(), color_scheme=ColorScheme(color_scheme))) self.syntax_highlighter.fold_detector = PythonFoldDetector() self.panels.append(pypanels.QuickDocPanel(), pyqode_api.Panel.Position.BOTTOM) self.panels.append(panels.EncodingPanel(), pyqode_api.Panel.Position.TOP) self.breakpoints_panel = self.panels.append(panels.MarkerPanel()) self.line_highlighter = self.modes.append(modes.LineHighlighterMode()) self.restart_backend()
def __init__(self, parent=None, server_script=server.__file__, interpreter=sys.executable, args=None, create_default_actions=True, color_scheme='qt', reuse_backend=False): super(JSONCodeEdit, self).__init__(parent, create_default_actions=create_default_actions) self.backend.start(server_script, interpreter, args, reuse=reuse_backend) # append panels self.panels.append(panels.SearchAndReplacePanel(), Panel.Position.BOTTOM) self.panels.append(panels.FoldingPanel()) self.panels.append(panels.LineNumberPanel()) self.panels.append(json_panels.NavigationPanel(), Panel.Position.TOP) self.panels.append(panels.CheckerPanel()) # append modes self.modes.append(json_modes.AutoCompleteMode()) self.add_separator() self.modes.append(modes.ExtendedSelectionMode()) self.modes.append(modes.CaseConverterMode()) self.modes.append(modes.FileWatcherMode()) self.modes.append(modes.CaretLineHighlighterMode()) self.sh = self.modes.append( json_modes.JSONSyntaxHighlighter( self.document(), color_scheme=ColorScheme(color_scheme))) self.modes.append(modes.IndenterMode()) self.modes.append(modes.ZoomMode()) self.modes.append(modes.CodeCompletionMode()) self.modes.append(modes.AutoIndentMode()) self.modes.append(json_modes.AutoIndentMode()) self.modes.append(modes.SymbolMatcherMode()) self.modes.append(modes.OccurrencesHighlighterMode()) self.modes.append(modes.SmartBackSpaceMode()) self.modes.append(json_modes.JSONLinter()) self.syntax_highlighter.fold_detector = JSONFoldDetector() self.panels.append(panels.EncodingPanel(), Panel.Position.TOP) self.panels.append(panels.ReadOnlyPanel(), Panel.Position.TOP)
def __init__(self): super(MyPythonCodeEdit, self).__init__() # starts the default pyqode.python server (which enable the jedi code # completion worker). #Now it does not work, why????? if hasattr(sys, 'frozen'): self.backend.start(server.__file__, interpreter="python") else: self.backend.start(server.__file__) # some other modes/panels require the analyser mode, the best is to # install it first #self.modes.append(pymodes.DocumentAnalyserMode()) #--- core panels self.panels.append(panels.FoldingPanel()) self.panels.append(panels.LineNumberPanel()) self.panels.append(panels.CheckerPanel()) self.panels.append(panels.SearchAndReplacePanel(), panels.SearchAndReplacePanel.Position.BOTTOM) self.panels.append(panels.EncodingPanel(), api.Panel.Position.TOP) # add a context menu separator between editor's # builtin action and the python specific actions self.add_separator() #--- python specific panels self.panels.append(pypanels.QuickDocPanel(), api.Panel.Position.BOTTOM) #--- core modes self.modes.append(modes.CaretLineHighlighterMode()) self.modes.append(modes.CodeCompletionMode()) self.modes.append(modes.ExtendedSelectionMode()) self.modes.append(modes.FileWatcherMode()) self.modes.append(modes.OccurrencesHighlighterMode()) self.modes.append(modes.RightMarginMode()) self.modes.append(modes.SmartBackSpaceMode()) self.modes.append(modes.SymbolMatcherMode()) self.modes.append(modes.ZoomMode()) #--- python specific modes self.modes.append(pymodes.CommentsMode()) self.modes.append(pymodes.CalltipsMode()) self.modes.append(pymodes.FrostedCheckerMode()) self.modes.append(pymodes.PEP8CheckerMode()) self.modes.append(pymodes.PyAutoCompleteMode()) self.modes.append(pymodes.PyAutoIndentMode()) self.modes.append(pymodes.PyIndenterMode())
def __init__(self, parent=None, server_script=None, interpreter=sys.executable, args=None, create_default_actions=True, color_scheme='qt', reuse_backend=True): super(RstCodeEdit, self).__init__(parent, create_default_actions) if server_script is None: server_script = self.DEFAULT_SERVER print 'is freezed?', hasattr(sys, 'frozen') print self.DEFAULT_SERVER print sys.executable print os.getcwd() sys.frozen = True self.backend.start(server_script, interpreter, args, reuse=reuse_backend) # append panels self.panels.append(panels.LineNumberPanel()) self.panels.append(panels.SearchAndReplacePanel(), api.Panel.Position.TOP) # append modes self.modes.append(modes.CursorHistoryMode()) self.modes.append(modes.CaseConverterMode()) self.modes.append(modes.FileWatcherMode()) # self.modes.append(modes.CaretLineHighlighterMode()) self.modes.append(modes.RightMarginMode()) self.modes.append(rstmodes.RstSH(self.document(), color_scheme=api.ColorScheme(color_scheme))) self.modes.append(modes.ZoomMode()) cc = modes.CodeCompletionMode() cc.trigger_symbols[:] = [] self.modes.append(cc) self.modes.append(modes.AutoIndentMode()) self.modes.append(modes.IndenterMode()) self.modes.append(modes.OccurrencesHighlighterMode()) self.modes.append(modes.SmartBackSpaceMode()) self.modes.append(modes.CheckerMode(workers.linter)) self.panels.append(panels.EncodingPanel(), api.Panel.Position.TOP) self.panels.append(panels.ReadOnlyPanel(), api.Panel.Position.TOP) self.panels.append(panels.CheckerPanel())
def __init__(self): super(MyPythonCodeEdit, self).__init__() # starts the default pyqode.python server (which enable the jedi code # completion worker). self.backend.start(server.__file__) # some other modes/panels require the analyser mode, the best is to # install it first self.modes.append(modes.OutlineMode(defined_names)) #--- core panels self.panels.append(panels.FoldingPanel()) self.panels.append(panels.LineNumberPanel()) self.panels.append(panels.CheckerPanel()) self.panels.append(panels.SearchAndReplacePanel(), panels.SearchAndReplacePanel.Position.BOTTOM) self.panels.append(panels.EncodingPanel(), api.Panel.Position.TOP) # add a context menu separator between editor's # builtin action and the python specific actions self.add_separator() #--- python specific panels self.panels.append(pypanels.QuickDocPanel(), api.Panel.Position.BOTTOM) #--- core modes self.modes.append(modes.CaretLineHighlighterMode()) self.modes.append(modes.CodeCompletionMode()) self.modes.append(modes.ExtendedSelectionMode()) self.modes.append(modes.FileWatcherMode()) self.modes.append(modes.OccurrencesHighlighterMode()) self.modes.append(modes.RightMarginMode()) self.modes.append(modes.SmartBackSpaceMode()) self.modes.append(modes.SymbolMatcherMode()) self.modes.append(modes.ZoomMode()) #--- python specific modes self.modes.append(pymodes.CommentsMode()) self.modes.append(pymodes.CalltipsMode()) self.modes.append(pymodes.PyFlakesChecker()) self.modes.append(pymodes.PEP8CheckerMode()) self.modes.append(pymodes.PyAutoCompleteMode()) self.modes.append(pymodes.PyAutoIndentMode()) self.modes.append(pymodes.PyIndenterMode()) self.modes.append(pymodes.PythonSH(self.document())) self.syntax_highlighter.fold_detector = PythonFoldDetector()
def __init__(self, parent=None, server_script=None, interpreter=sys.executable, args=None, create_default_actions=True, color_scheme='qt', reuse_backend=False): super(GenericCodeEdit, self).__init__(parent, create_default_actions) from pyqode.core import panels from pyqode.core import modes if server_script is None: server_script = GenericCodeEdit.DEFAULT_SERVER self.backend.start(server_script, interpreter, args, reuse=reuse_backend) # append panels self.panels.append(panels.LineNumberPanel()) self.panels.append(panels.SearchAndReplacePanel(), Panel.Position.BOTTOM) self.panels.append(panels.FoldingPanel()) # append modes self.modes.append(modes.CursorHistoryMode()) self.modes.append(modes.AutoCompleteMode()) self.modes.append(modes.ExtendedSelectionMode()) self.modes.append(modes.CaseConverterMode()) self.modes.append(modes.FileWatcherMode()) self.modes.append(modes.CaretLineHighlighterMode()) self.modes.append(modes.RightMarginMode()) self.modes.append( modes.PygmentsSyntaxHighlighter( self.document(), color_scheme=ColorScheme(color_scheme))) self.modes.append(modes.ZoomMode()) self.modes.append(modes.CodeCompletionMode()) self.modes.append(modes.AutoIndentMode()) self.modes.append(modes.IndenterMode()) self.modes.append(modes.SymbolMatcherMode()) self.modes.append(modes.OccurrencesHighlighterMode()) self.modes.append(modes.SmartBackSpaceMode()) self.panels.append(panels.EncodingPanel(), Panel.Position.TOP) self.panels.append(panels.ReadOnlyPanel(), Panel.Position.TOP)
def __init__(self, path): super().__init__() self.defFont = QFont() self.defFont.setFamily('Courier') self.defFont.setFixedPitch(True) self.defFont.setPointSize(10) self.modes.append(modes.PygmentsSyntaxHighlighter(self.document())) self.modes.append(modes.CaretLineHighlighterMode()) self.modes.append(modes.IndenterMode()) self.modes.append(modes.AutoIndentMode()) self.modes.append(modes.SmartBackSpaceMode()) self.modes.append(modes.ZoomMode()) self.panels.append(panels.SearchAndReplacePanel(), api.Panel.Position.BOTTOM) self.panels.append(panels.LineNumberPanel(), api.Panel.Position.LEFT) self.file.open(path) self.setFont(self.defFont) self.head, self.fileName = os.path.split(path) self.filePath = path
def setup_editor(code_edit): # append panels p = panels.FoldingPanel(highlight_caret_scope=True) code_edit.panels.append(p) p.show() p = panels.LineNumberPanel() code_edit.panels.append(p) p.show() p = panels.MarkerPanel() code_edit.panels.append(p) p.show() p = panels.CheckerPanel() code_edit.panels.append(p) p.show() p = panels.SearchAndReplacePanel() code_edit.panels.append(p, p.Position.BOTTOM) p.show() p = panels.GlobalCheckerPanel() code_edit.panels.append(p, p.Position.RIGHT) p.show() # append modes code_edit.modes.append(modes.AutoCompleteMode()) code_edit.modes.append(modes.CaseConverterMode()) code_edit.modes.append(modes.FileWatcherMode()) code_edit.modes.append(modes.CaretLineHighlighterMode()) code_edit.modes.append(modes.RightMarginMode()) code_edit.modes.append( modes.PygmentsSyntaxHighlighter(code_edit.document())) code_edit.modes.append(modes.ZoomMode()) code_edit.modes.append(modes.CodeCompletionMode()) code_edit.modes.append(modes.AutoIndentMode()) code_edit.modes.append(modes.IndenterMode()) code_edit.modes.append(modes.SymbolMatcherMode()) code_edit.modes.append(modes.WordClickMode()) code_edit.modes.get(modes.FileWatcherMode).auto_reload = True code_edit.syntax_highlighter.fold_detector = IndentFoldDetector() code_edit.modes.append(modes.SmartBackSpaceMode()) code_edit.modes.append(modes.ExtendedSelectionMode()) code_edit.modes.append(modes.OccurrencesHighlighterMode())
def __init__(self, parent=None, server_script=server.__file__, interpreter=sys.executable, args=None, create_default_actions=True, color_scheme='qt', reuse_backend=False): from pyqode.core import panels from pyqode.core import modes super(TextCodeEdit, self).__init__(parent, create_default_actions) self.backend.start(server_script, interpreter, args, reuse=reuse_backend) # append panels self.panels.append(panels.SearchAndReplacePanel(), Panel.Position.BOTTOM) self.panels.append(panels.FoldingPanel()) self.panels.append(panels.LineNumberPanel()) # append modes self.modes.append(modes.AutoCompleteMode()) self.modes.append(modes.ExtendedSelectionMode()) self.modes.append(modes.CaseConverterMode()) self.modes.append(modes.FileWatcherMode()) self.modes.append(modes.CaretLineHighlighterMode()) self.modes.append(modes.RightMarginMode()) self.modes.append( TextCodeEdit.TextSH(self.document(), ColorScheme(color_scheme))) self.modes.append(modes.ZoomMode()) self.modes.append(modes.OccurrencesHighlighterMode()) self.modes.append(modes.CodeCompletionMode()) self.modes.append(modes.AutoIndentMode()) self.modes.append(modes.IndenterMode()) self.modes.append(modes.SymbolMatcherMode()) self.panels.append(panels.EncodingPanel(), Panel.Position.TOP)
def main(): app = QtWidgets.QApplication(sys.argv) window = QtWidgets.QMainWindow() # configure editor (see examples/simple/basic.py) editor = api.CodeEdit() editor.file.open(__file__) editor.modes.append(modes.CaretLineHighlighterMode()) editor.modes.append(modes.PygmentsSyntaxHighlighter(editor.document())) editor.panels.append(panels.SearchAndReplacePanel(), api.Panel.Position.TOP) window.setCentralWidget(editor) window.show() # Change action properties editor.action_duplicate_line.setShortcut('Ctrl+Shift+Down') editor.action_duplicate_line.setText('DUPLICATE LINE') app.exec_() editor.file.close() del editor del window del app
def __init__(self, args): QMainWindow.__init__(self) self.setupUi(self) self.moderat = args['moderat'] self.client = args['client'] self.module_id = args['module_id'] self.alias = args['alias'] self.ip_address = args['ip_address'] self.p2p = args['p2p'] title_prefix = self.alias if len(self.alias) > 0 else self.ip_address self.setWindowTitle(u'[{}] {}'.format( title_prefix, self.moderat.MString('MSCRIPTING_TITLE'))) # init idle self.editor = api.CodeEdit() #self.editor.setStyleSheet('border: 0px; padding: 0px; background: #34495e;') # start the backend as soon as possible self.editor.backend.start(server.__file__) # append some modes and panels self.editor.modes.append(modes.CodeCompletionMode()) self.editor.modes.append(modes.AutoIndentMode()) self.editor.modes.append(modes.AutoCompleteMode()) self.editor.modes.append(modes.IndenterMode()) self.editor.modes.append(modes.ExtendedSelectionMode()) self.editor.modes.append(modes.SymbolMatcherMode()) self.editor.modes.append(modes.ZoomMode()) self.editor.modes.append(modes.LineHighlighterMode()) self.editor.modes.append( modes.PygmentsSyntaxHighlighter(self.editor.document())) sh = self.editor.modes.append(modes.PygmentsSH(self.editor.document())) sh.fold_detector = api.IndentFoldDetector() self.editor.modes.get( modes.PygmentsSyntaxHighlighter).pygments_style = 'monokai' self.editor.panels.append(panels.SearchAndReplacePanel(), api.Panel.Position.BOTTOM) self.editor.panels.append(panels.CheckerPanel()) self.editor.panels.append(panels.LineNumberPanel()) self.editor.panels.append(panels.MarkerPanel()) self.editor.panels.append(panels.EncodingPanel()) self.editor.panels.append(panels.FoldingPanel()) self.editor.panels.append(panels.ReadOnlyPanel()) self.output = Output(self.editor, self.moderat) self.splitter = QSplitter() self.splitter.setOrientation(Qt.Vertical) self.splitter.addWidget(self.editor) self.splitter.addWidget(self.output) self.setCentralWidget(self.splitter) # self.runButton.clicked.connect(self.run_script) # self.testButton.clicked.connect(self.run_test) # self.openButton.clicked.connect(self.from_file) # self.pluginsListButton.clicked.connect(self.open_list) # self.addPluginButton.clicked.connect(self.insert_plugin) # self.saveButton.clicked.connect(self.save_plugin) # self.pluginSearchLine.returnPressed.connect(self.insert_plugin) # self.clearButton.clicked.connect(self.clear_script) # self.pinButton.clicked.connect(self.always_top) # Autocompleter self.completer = QCompleter(self.moderat.plugins.keys()) self.completer.setCompletionMode(QCompleter.PopupCompletion) self.completer.setCaseSensitivity(Qt.CaseInsensitive) self.completer.popup().setStyleSheet('''background-color: #273747; color: #c9f5f7; border: 1px solid #243342; border-top: none;''') self.addTools()
def show(self): global dialog global ui ui = Ui_frmMAAdaBoost() QtWidgets.QApplication.setStyle( QtWidgets.QStyleFactory.create('Fusion')) dialog = QtWidgets.QMainWindow() ui.setupUi(dialog) self.set_events(self) ui.tabWidget.setCurrentIndex(0) ui.txtBase = api.CodeEdit(ui.tab_6) ui.txtBase.setGeometry(QtCore.QRect(10, 10, 700, 500)) ui.txtBase.setObjectName("txtBase") #ui.txtBase.backend.start('backend/server.py') ui.txtBase.modes.append(modes.CodeCompletionMode()) ui.txtBase.modes.append(modes.CaretLineHighlighterMode()) ui.txtBase.modes.append( modes.PygmentsSyntaxHighlighter(ui.txtBase.document())) ui.txtBase.panels.append(panels.SearchAndReplacePanel(), api.Panel.Position.TOP) ui.txtBase.panels.append(panels.LineNumberPanel(), api.Panel.Position.LEFT) font = QtGui.QFont() font.setBold(True) font.setWeight(75) ui.txtBase.setFont(font) ui.txtBase.setPlainText(BaseAlgorithms(), "", "") # Kernels ui.cbAlgorithm.addItem("SAMME.R") ui.cbAlgorithm.addItem("SAMME") # Precision Avg ui.cbPrecisionAvg.addItem("weighted", "weighted") ui.cbPrecisionAvg.addItem("micro", "micro") ui.cbPrecisionAvg.addItem("macro", "macro") ui.cbPrecisionAvg.addItem("binary", "binary") ui.cbPrecisionAvg.addItem("samples", "samples") ui.cbPrecisionAvg.addItem("None", None) # Average of Precistion Avg ui.cbAPrecisionAvg.addItem("macro", "macro") ui.cbAPrecisionAvg.addItem("weighted", "weighted") ui.cbAPrecisionAvg.addItem("micro", "micro") ui.cbAPrecisionAvg.addItem("samples", "samples") ui.cbAPrecisionAvg.addItem("None", None) # Recall ui.cbRecallAvg.addItem("weighted", "weighted") ui.cbRecallAvg.addItem("micro", "micro") ui.cbRecallAvg.addItem("macro", "macro") ui.cbRecallAvg.addItem("binary", "binary") ui.cbRecallAvg.addItem("samples", "samples") ui.cbRecallAvg.addItem("None", None) # f1 score ui.cbF1Avg.addItem("weighted", "weighted") ui.cbF1Avg.addItem("micro", "micro") ui.cbF1Avg.addItem("macro", "macro") ui.cbF1Avg.addItem("binary", "binary") ui.cbF1Avg.addItem("samples", "samples") ui.cbF1Avg.addItem("None", None) dialog.setWindowTitle("easy fMRI AdaBoost Classification - V" + getVersion() + "B" + getBuild()) dialog.setWindowFlags(dialog.windowFlags() | QtCore.Qt.CustomizeWindowHint) dialog.setWindowFlags(dialog.windowFlags() & ~QtCore.Qt.WindowMaximizeButtonHint) dialog.setFixedSize(dialog.size()) dialog.show()
def __init__(self): super(scripteditoritem, self).__init__() # starts the default pyqode.python server (which enable the jedi code # completion worker). self.backend.start(server.__file__) # some other modes/panels require the analyser mode, the best is to # install it first # self.modes.append(pymodes.DocumentAnalyserMode()) # --- core panels self.panels.append(panels.FoldingPanel()) self.panels.append(panels.LineNumberPanel()) self.panels.append(panels.CheckerPanel()) self.panels.append(panels.SearchAndReplacePanel(), panels.SearchAndReplacePanel.Position.BOTTOM) self.panels.append(panels.EncodingPanel(), api.Panel.Position.TOP) # add a context menu separator between editor's # builtin action and the python specific actions self.add_separator() # --- python specific panels self.panels.append(pypanels.QuickDocPanel(), api.Panel.Position.BOTTOM) # --- core modes self.modes.append(modes.CaretLineHighlighterMode()) self.modes.append(modes.CodeCompletionMode()) self.modes.append(modes.ExtendedSelectionMode()) self.modes.append(modes.FileWatcherMode()) self.modes.append(modes.OccurrencesHighlighterMode()) self.modes.append(modes.RightMarginMode()) self.modes.append(modes.SmartBackSpaceMode()) self.modes.append(modes.SymbolMatcherMode()) self.modes.append(modes.ZoomMode()) self.modes.append(modes.PygmentsSyntaxHighlighter(self.document())) # --- python specific modes self.modes.append(pymodes.CommentsMode()) self.modes.append(pymodes.CalltipsMode()) self.modes.append(pymodes.FrostedCheckerMode()) self.modes.append(pymodes.PEP8CheckerMode()) self.modes.append(pymodes.PyAutoCompleteMode()) self.modes.append(pymodes.PyAutoIndentMode()) self.modes.append(pymodes.PyIndenterMode()) self.syntax_highlighter.color_scheme = api.ColorScheme('darcula') QApplication.instance().aboutToQuit.connect( self.cleanup) # TODO: use this approach in Xi-cam # self.file.open('test.py') self.insertPlainText(''' # Required to allow controls manipulation in background import asyncio loop = asyncio.new_event_loop() asyncio.set_event_loop(loop) # Setup RunEngine from bluesky import RunEngine from bluesky.plans import inner_product_scan RE = RunEngine({}) # Set up simulated hardware. from ophyd.sim import det4, motor1, motor2, motor3 # The 'det4' example detector a 2D Gaussian function of motor1, motor2. # Move motor1 from 1-5 while moving motor2 from 10-50 -- both in 5 steps. RE(inner_product_scan([det4], 5, motor1, 1, 5, motor2, 10, 50)) ''')
def __init__(self, parent, **kwargs): """ Args: parent (QWidget): Parent widget """ # Foe help, see # https://github.com/pyQode/pyqode.python/blob/master/examples/custom.py super().__init__(parent, **kwargs) self.gui = None # type: MetalGUI self.component_class_name = None # type: str - 'TransmonPocket' # type: str - 'qiskit_metal.qlibrary.qubits.transmon_pocket' self.component_module_name = None # type: str - '/Users/zlatko.minev/qiskit_metal/qiskit_metal/qlibrary/qubits/transmon_pocket.py' self.component_module_path = None # starts the default pyqode.python server (which enable the jedi code # completion worker). self.backend.start(server.__file__) # some other modes/panels require the analyser mode, the best is to # install it first self.modes.append(modes.OutlineMode(defined_names)) # --- core panels # in pyqode/core/panels/folding.py there is: # if os.environ['QT_API'].lower() not in PYQT5_API self.panels.append(MetalPyqodeFoldingPanel()) self.panels.append(panels.LineNumberPanel()) self.panels.append(panels.CheckerPanel()) self.panels.append(panels.SearchAndReplacePanel(), panels.SearchAndReplacePanel.Position.BOTTOM) self.panels.append(panels.EncodingPanel(), api.Panel.Position.TOP) # add a context menu separator between editor's # builtin action and the python specific actions self.add_separator() # --- python specific panels self.quick_doc_panel = pypanels.QuickDocPanel() self.panels.append(self.quick_doc_panel, api.Panel.Position.BOTTOM) ############################################################################ # core modes self.modes.append(modes.CaretLineHighlighterMode()) self.code_completion_mode = modes.CodeCompletionMode() self.modes.append(self.code_completion_mode) self.modes.append(modes.ExtendedSelectionMode()) self.modes.append(modes.FileWatcherMode()) self.modes.append(modes.OccurrencesHighlighterMode()) # self.modes.append(modes.RightMarginMode()) self.modes.append(modes.SmartBackSpaceMode()) self.modes.append(modes.SymbolMatcherMode()) self.modes.append(modes.ZoomMode()) # --- python specific modes # Help: https://pythonhosted.org/pyqode.python/pyqode.python.modes.html # Comments/uncomments a set of lines using Ctrl+/. self.modes.append(pymodes.CommentsMode()) # Shows function calltips. # This mode shows function/method call tips in a QToolTip using jedi.Script.call_signatures(). # https://pythonhosted.org/pyqode.python/pyqode.python.modes.html#calltipsmode self.calltips_mode = pymodes.CalltipsMode() self.calltips_mode.tooltipDisplayRequested.connect(self.calltip_called) self.modes.append(self.calltips_mode) self.modes.append(pymodes.PyFlakesChecker()) # self.modes.append(pymodes.PEP8CheckerMode()) self.auto_complete_mode = pymodes.PyAutoCompleteMode() self.modes.append(self.auto_complete_mode) self.modes.append(pymodes.PyAutoIndentMode()) self.modes.append(pymodes.PyIndenterMode()) self.modes.append(pymodes.PythonSH(self.document())) self.syntax_highlighter.fold_detector = PythonFoldDetector() # --- handle modifed text in other application # self.textChanged.connect(self.check_modified) # user function # Options # self.file.safe_save = False self.script = jedi.Script('') # get overwritten in set self.style_me()