Added classes for tabs and document editor.

This commit is contained in:
Veronica K. B. Olsen
2018-09-29 16:35:11 +02:00
parent c03db3205d
commit 4a83e210a3
4 changed files with 165 additions and 14 deletions
+30 -14
View File
@@ -6,7 +6,7 @@
Class holding the main window
File History:
Created: 2018-0+-22 [0.1.0]
Created: 2018-09-22 [0.1.0]
"""
@@ -18,6 +18,9 @@ from PyQt5.QtWidgets import QWidget, QMainWindow, QHBoxLayout, QVBoxLayout, QFra
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon, QStandardItemModel
from nw.gui.doctree import GuiDocTree
from nw.gui.doctabs import GuiDocTabs
logger = logging.getLogger(__name__)
class GuiMain(QMainWindow):
@@ -28,30 +31,25 @@ class GuiMain(QMainWindow):
logger.debug("Initialising GUI ...")
self.mainConf = nw.CONFIG
self.resize(900,600)
self.setWindowTitle("%s [%s]" % (nw.__package__, nw.__version__))
self.resize(1100,650)
self.setTitle()
self.setWindowIcon(QIcon(path.join(self.mainConf.appPath,"..","novelWriter.svg")))
self.statBar = self.statusBar()
self.statBar.showMessage("Hello Kitty!")
self.docTabs = GuiDocTabs()
self.treePane = QFrame()
self.treePane.setFrameShape(QFrame.StyledPanel)
self.textPane = QFrame()
self.textPane.setFrameShape(QFrame.StyledPanel)
# self.textPane = QFrame()
# self.textPane.setFrameShape(QFrame.StyledPanel)
self.splitMain = QSplitter(Qt.Horizontal)
self.splitMain.addWidget(self.treePane)
self.splitMain.addWidget(self.textPane)
self.treeModel = QStandardItemModel(0, 3, self)
self.treeModel.setHeaderData(0, Qt.Horizontal, "Name")
self.treeModel.setHeaderData(1, Qt.Horizontal, "Words")
self.treeModel.setHeaderData(2, Qt.Horizontal, "Status")
self.splitMain.addWidget(self.docTabs)
self.treeBox = QVBoxLayout()
# self.treeBox.addStretch(1)
self.treeView = QTreeView()
self.treeView.setModel(self.treeModel)
self.treeView = GuiDocTree()
self.treeBox.addWidget(self.treeView)
self.treePane.setLayout(self.treeBox)
@@ -59,11 +57,29 @@ class GuiMain(QMainWindow):
self._buildMenu()
self.docTabs.createTab()
self.show()
logger.debug("GUI initialisation complete")
return
#
# Set and Get Methods
#
def setTitle(self, projName=None):
winTitle = "%s [%s]" % (nw.__package__, nw.__version__)
if projName is not None:
winTitle += " - %s" % projName
self.setWindowTitle(winTitle)
return True
#
# Internal Functions
#
def _buildMenu(self):
menuBar = self.menuBar()
menuBar.addMenu("File")