def __init__(self, parent=None): super(panelCodigo, self).__init__(parent) # Definir propiedades graficas fuente = QFont() fuente.setFamily('Roboto') fuente.setFixedPitch(True) fuente.setPointSize(8) self.setFont(fuente) self.setMarginsFont(fuente) fuenteEditor = QFontMetrics(fuente) self.setMarginsFont(fuente) self.setMarginWidth(0, fuenteEditor.width("00000") - 15) self.setMarginLineNumbers(0, True) self.setMarginsBackgroundColor(QColor("#E0E0E0")) self.setMarginSensitivity(1, True) # Ocultar scrollbar inferior self.SendScintilla(QsciScintilla.SCI_SETHSCROLLBAR, 0) # Dimension del panel donde se edita el codigo self.setMinimumSize(600, 360) # funcion(señal) para la linea marcada self.marginClicked.connect(self.asignarBreak) # Icono que se mostrara en la linea marcada self.markerDefine(QsciScintilla.Rectangle, self.CONTROL_LINEA_MARCADA) self.setMarkerBackgroundColor(QColor("#F90000"), self.CONTROL_LINEA_MARCADA) # Dar valor a los caracteres especiales self.setBraceMatching(QsciScintilla.SloppyBraceMatch) # Identificar la linea donde se encuentra la ejecucion self.setCaretLineVisible(True) self.setCaretLineBackgroundColor(QColor("#00ff22")) # Funciones para identar las lineas del editor de codigo self.setAutoIndent(True) self.setIndentationGuides(True) self.setIndentationsUseTabs(True) self.setIndentationWidth(4) # Resaltado y fuente del lexer self.lexer = QsciLexerPascal() self.lexer.setDefaultFont(fuente) # Autocompletar haciendo uso de la API Qsci api = QsciAPIs(self.lexer) self.palabrasGramatica(api) #flta api.prepare() # Asignar colores a las keywords de la gramatica self.asignarColores() #falta self.setLexer(self.lexer) self.setAutoCompletionThreshold(1) self.setAutoCompletionSource(QsciScintilla.AcsAPIs) # Lineas marcadas self.controlLineasM = []
def __init__(self, parent=None): #CONSTRUCTOR DE LA CLASE HEREDADA super(editor, self).__init__(parent) #DEFINICION DE LA FUENTE Y SUS PROPIEDADES font = QFont() #font.setFamily('Courier') font.setFixedPitch(True) font.setPointSize(10) self.setFont(font) self.setMarginsFont(font) self.lineas_marcadas = [] #PROFIEDADES AVANZADAS DE LA FUENTE DEL EDITOR fontmetrics = QFontMetrics(font) self.setMarginsFont(font) #SE CAMBIA EL MARGEN ANCHO DE LA FUNETE self.setMarginWidth(0, fontmetrics.width("00000") - 15) #MARGEN DE LOS NUMEROS DE LINEA self.setMarginLineNumbers(0, True) #COLOR DE FONDO DE LOS NUMEROS DE LINEA self.setMarginsBackgroundColor(QColor("#E0E0E0")) self.setMarginSensitivity(1, True) #CREAMOS LA SEÑA PARA AGREGAR LINEA MARCADA self.marginClicked.connect(self.on_margin_clicked) #SE DEFINE EL ICONO A MOSTRAR EN LA LINEA MARCADA self.markerDefine(QsciScintilla.Circle, self.ARROW_MARKER_NUM) self.setMarkerBackgroundColor(QColor("#FF6C3B"), self.ARROW_MARKER_NUM) #RESALTADO DE PARENTECIS,CORCHETES Y OTROS self.setBraceMatching(QsciScintilla.SloppyBraceMatch) #RESALTADO DE LA LINEA DONDE SE ENCUENTRA EL CURSOR self.setCaretLineVisible(True) self.setCaretLineBackgroundColor(QColor("#32f24c")) #AUTOIDENTACION self.setAutoIndent(True) self.setIndentationGuides(True) self.setIndentationsUseTabs(True) self.setIndentationWidth(4) #DEFINIMOS EL RESALTADO O LEXER self.lexer = QsciLexerPascal() self.lexer.setDefaultFont(font) #FUENTE DEL LEXER #API PARA EL AUTOCOMPETADO api = QsciAPIs(self.lexer) self.palabraAutocompletar(api) api.prepare() self.cambiarColores() self.setLexer(self.lexer) self.setAutoCompletionThreshold(1) self.setAutoCompletionSource(QsciScintilla.AcsAPIs) #ESCONDER SCROLLBAR HORIZONTAL self.SendScintilla(QsciScintilla.SCI_SETHSCROLLBAR, 0) #TAMAÑO MINIMO DEL EDITOR self.setMinimumSize(600, 360)