Browse Source

design mode : display scss and js file in tabed plaintexteditor

Bachir Soussi Chiadmi 7 years ago
parent
commit
e8a6261e00
1 changed files with 38 additions and 9 deletions
  1. 38 9
      classes/view.py

+ 38 - 9
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)