From e8a6261e00d2aa6c83c8ae206566b43a7ab05328 Mon Sep 17 00:00:00 2001 From: Bachir Soussi Chiadmi Date: Sat, 27 May 2017 09:23:45 +0200 Subject: [PATCH] design mode : display scss and js file in tabed plaintexteditor --- classes/view.py | 47 ++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 38 insertions(+), 9 deletions(-) diff --git a/classes/view.py b/classes/view.py index cafef01..66c9d2c 100644 --- a/classes/view.py +++ b/classes/view.py @@ -1,10 +1,12 @@ #!/usr/bin/python # -*- coding: utf-8 -*- +import sys, os + from PyQt5 import QtCore from PyQt5.QtCore import QUrl from PyQt5.QtGui import QFont, QSyntaxHighlighter -from PyQt5.QtWidgets import QWidget, QLabel, QTabWidget, QHBoxLayout, QSplitter, QPlainTextEdit +from PyQt5.QtWidgets import QWidget, QLabel, QTabWidget, QVBoxLayout, QHBoxLayout, QSplitter, QPlainTextEdit from PyQt5.QtWebKit import QWebSettings from PyQt5.QtWebKitWidgets import QWebView, QWebInspector @@ -25,14 +27,41 @@ class WebkitInspector(QWebInspector): self.setPage(self.webkitview.page()) # TODO: webkitinspector is disappearing when chaging tabs -class CodeEditor(QPlainTextEdit): - def __init__(self): +class CodeEditor(QWidget): + def __init__(self, core): super(CodeEditor, self).__init__() - font = QFont() - font.setFamily('Courier') - font.setFixedPitch(True) - font.setPointSize(10) - self.setFont(font) + self.core = core + + self.layout = QVBoxLayout(self) + self.layout.setContentsMargins(0,0,0,0) + + # Initialize tab screen + self.tabs = QTabWidget() + + self.scsstab = QPlainTextEdit() + self.scssfile = open(os.path.join(self.core.cwd,'assets/scss/styles.scss')) + scssstr = self.scssfile.read() + self.scsstab.insertPlainText(scssstr) + + self.jstab = QPlainTextEdit() + self.jsfile = open(os.path.join(self.core.cwd,'assets/js/script.js')) + jsstr = self.jsfile.read() + self.jstab.insertPlainText(jsstr) + + + # Add tabs + self.tabs.addTab(self.scsstab,"scss") + self.tabs.addTab(self.jstab,"js") + + # Add tabs to widget + self.layout.addWidget(self.tabs) + self.setLayout(self.layout) + + # font = QFont() + # font.setFamily('Courier') + # font.setFixedPitch(True) + # font.setPointSize(10) + # self.setFont(font) # self.highlighter = Highlighter(self.document()) # https://pypi.python.org/pypi/QScintilla/2.9.2 @@ -59,7 +88,7 @@ class ViewStack(QWidget): hsplitter = QSplitter(QtCore.Qt.Horizontal) hsplitter.addWidget(vsplitter) - self.codeeditor = CodeEditor() + self.codeeditor = CodeEditor(core) hsplitter.addWidget(self.codeeditor) hbox.addWidget(hsplitter)