Doc viewer meta pannel can be hidden, and has a sticky button
This commit is contained in:
@@ -13,9 +13,12 @@
|
|||||||
import logging
|
import logging
|
||||||
import nw
|
import nw
|
||||||
|
|
||||||
from PyQt5.QtCore import Qt
|
from PyQt5.QtCore import Qt, QSize
|
||||||
from PyQt5.QtGui import QFont
|
from PyQt5.QtGui import QFont
|
||||||
from PyQt5.QtWidgets import QWidget, QHBoxLayout, QLabel, QGroupBox, QScrollArea, QFrame
|
from PyQt5.QtWidgets import (
|
||||||
|
QWidget, QHBoxLayout, QVBoxLayout, QLabel, QGroupBox, QScrollArea, QFrame, QToolButton,
|
||||||
|
QSizePolicy, QCheckBox, QGridLayout
|
||||||
|
)
|
||||||
|
|
||||||
from nw.constants import nwLabels
|
from nw.constants import nwLabels
|
||||||
|
|
||||||
@@ -31,13 +34,27 @@ class GuiDocViewDetails(QWidget):
|
|||||||
self.debugGUI = self.mainConf.debugGUI
|
self.debugGUI = self.mainConf.debugGUI
|
||||||
self.theParent = theParent
|
self.theParent = theParent
|
||||||
self.theProject = theProject
|
self.theProject = theProject
|
||||||
|
self.currHandle = None
|
||||||
|
|
||||||
self.outerBox = QHBoxLayout(self)
|
self.outerBox = QGridLayout(self)
|
||||||
self.outerBox.setContentsMargins(4,4,4,4)
|
self.outerBox.setContentsMargins(0,0,0,0)
|
||||||
|
self.outerBox.setHorizontalSpacing(0)
|
||||||
|
self.outerBox.setVerticalSpacing(4)
|
||||||
|
|
||||||
self.refTags = QGroupBox("Referenced From", self)
|
self.refLabel = QLabel("Referenced By", self)
|
||||||
self.refTagsForm = QHBoxLayout(self.refTags)
|
|
||||||
self.refTags.setLayout(self.refTagsForm)
|
self.showHide = QToolButton()
|
||||||
|
self.showHide.setStyleSheet("QToolButton { border: none; }")
|
||||||
|
self.showHide.setToolButtonStyle(Qt.ToolButtonIconOnly)
|
||||||
|
self.showHide.setArrowType(Qt.DownArrow)
|
||||||
|
self.showHide.setCheckable(True)
|
||||||
|
self.showHide.setChecked(True)
|
||||||
|
self.showHide.setIconSize(QSize(16,16))
|
||||||
|
self.showHide.toggled.connect(self._doShowHide)
|
||||||
|
|
||||||
|
self.isSticky = QCheckBox("Sticky")
|
||||||
|
self.isSticky.setChecked(False)
|
||||||
|
self.isSticky.toggled.connect(self._doSticky)
|
||||||
|
|
||||||
self.refList = QLabel("None")
|
self.refList = QLabel("None")
|
||||||
self.refList.setWordWrap(True)
|
self.refList.setWordWrap(True)
|
||||||
@@ -50,10 +67,15 @@ class GuiDocViewDetails(QWidget):
|
|||||||
self.scrollBox.setFrameStyle(QFrame.NoFrame)
|
self.scrollBox.setFrameStyle(QFrame.NoFrame)
|
||||||
self.scrollBox.setWidgetResizable(True)
|
self.scrollBox.setWidgetResizable(True)
|
||||||
self.scrollBox.setMaximumHeight(300)
|
self.scrollBox.setMaximumHeight(300)
|
||||||
|
self.scrollBox.setMinimumHeight(60)
|
||||||
self.scrollBox.setWidget(self.refList)
|
self.scrollBox.setWidget(self.refList)
|
||||||
|
|
||||||
self.refTagsForm.addWidget(self.scrollBox)
|
self.outerBox.addWidget(self.showHide, 0, 0)
|
||||||
self.outerBox.addWidget(self.refTags)
|
self.outerBox.addWidget(self.refLabel, 0, 1)
|
||||||
|
self.outerBox.addWidget(self.isSticky, 0, 2)
|
||||||
|
self.outerBox.addWidget(self.scrollBox, 1, 1, 1, 2)
|
||||||
|
self.outerBox.setColumnStretch(1, 1)
|
||||||
|
|
||||||
self.setLayout(self.outerBox)
|
self.setLayout(self.outerBox)
|
||||||
self.setContentsMargins(0,0,0,0)
|
self.setContentsMargins(0,0,0,0)
|
||||||
|
|
||||||
@@ -63,6 +85,11 @@ class GuiDocViewDetails(QWidget):
|
|||||||
|
|
||||||
def refreshReferences(self, tHandle):
|
def refreshReferences(self, tHandle):
|
||||||
|
|
||||||
|
self.currHandle = tHandle
|
||||||
|
|
||||||
|
if self.isSticky.isChecked():
|
||||||
|
return
|
||||||
|
|
||||||
theRefs = self.theParent.theIndex.buildReferenceList(tHandle)
|
theRefs = self.theParent.theIndex.buildReferenceList(tHandle)
|
||||||
if theRefs:
|
if theRefs:
|
||||||
self.setVisible(True)
|
self.setVisible(True)
|
||||||
@@ -91,4 +118,17 @@ class GuiDocViewDetails(QWidget):
|
|||||||
self.theParent.viewDocument(tHandle)
|
self.theParent.viewDocument(tHandle)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
def _doShowHide(self, chState):
|
||||||
|
self.scrollBox.setVisible(chState)
|
||||||
|
if chState:
|
||||||
|
self.showHide.setArrowType(Qt.DownArrow)
|
||||||
|
else:
|
||||||
|
self.showHide.setArrowType(Qt.RightArrow)
|
||||||
|
return
|
||||||
|
|
||||||
|
def _doSticky(self, chState):
|
||||||
|
if not chState and self.currHandle is not None:
|
||||||
|
self.refreshReferences(self.currHandle)
|
||||||
|
return
|
||||||
|
|
||||||
# END Class GuiDocViewDetails
|
# END Class GuiDocViewDetails
|
||||||
|
|||||||
Reference in New Issue
Block a user