design mode : display scss and js file in tabed plaintexteditor

This commit is contained in:
Bachir Soussi Chiadmi
2017-05-27 09:23:45 +02:00
parent 096ffa069e
commit e8a6261e00
+38 -9
View File
@@ -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)