コード例 #1
0
    def createPlotHeader(self, track, wellPlotData):
        logger.debug(">>createPlotHeader() ")
        assert track != None
        assert wellPlotData != None

        logTrackData = track.data(Qt.UserRole)
        titleFrame = QFrame()
        vLayout = QVBoxLayout()
        vbox = QWidget()

        label_bg_rgb = self.wellPlotData.label_background_rgb
        label_bg_alpha = self.wellPlotData.label_background_alpha
        label_fg_rgb = self.wellPlotData.label_foreground_rgb
        label_fg_alpha = self.wellPlotData.label_foreground_alpha
        (fr, fg, fb,
         falpha) = ImageUtils.rbgaTointValues(label_fg_rgb, label_fg_alpha)
        (br, bg, bb,
         balpha) = ImageUtils.rbgaTointValues(label_bg_rgb, label_bg_alpha)

        #in case logs=0, as we reference .geometry()
        headerWidget = QWidget()
        if len(logTrackData.getLogs()) > 0:
            layout = QVBoxLayout()
            for log in logTrackData.getLogs():
                headerWidget = LogHeaderLabel(log, track, wellPlotData)
                layout.addWidget(headerWidget)
            topSpacer = QtGui.QWidget()
            topSpacer.setSizePolicy(QtGui.QSizePolicy.Minimum,
                                    QtGui.QSizePolicy.Expanding)
            layout.addWidget(topSpacer)
            vbox.setLayout(layout)

        vLayout.addWidget(vbox)
        titleFrame.setLayout(vLayout)
        titleFrame.setFrameStyle(QtGui.QFrame.StyledPanel
                                 | QtGui.QFrame.Raised)
        trackGeom = track.geometry()
        titleFrame.setMinimumWidth(trackGeom.width())
        titleFrame.setGeometry(trackGeom.x(), trackGeom.y(), trackGeom.width(),
                               headerWidget.geometry().height())
        logger.debug(
            "--createPlotHeader() trackGeom.width(): {0} headerWidget.geometry().height(): {1}"
            .format(trackGeom.width(),
                    headerWidget.geometry().height()))
        logger.debug(
            "--createPlotHeader() titleFrame.width(): {0} titleFrame.geometry().height(): {1}"
            .format(titleFrame.width(),
                    titleFrame.geometry().height()))
        return titleFrame
コード例 #2
0
    def test_LogHeaderLabel(self):
        #QWidget: Must construct a QApplication before a QPaintDevice
        app = QApplication(sys.argv)

        self.dummyDbSetup.setupDatabase()
        well = self.dummyDbSetup.createWell()
        logs = self.dummyDbSetup.create1Log(well.id)
        track = QWidget()
        track.setFixedWidth(180)
        wellPlotData = self.getWellPLotdata()
        self.assertIsNotNone(wellPlotData, "Is None")
        logHeaderLabel = LogHeaderLabel(logs[0], track, wellPlotData)
        boundWidth = logHeaderLabel.logName_label.fontMetrics().boundingRect(logHeaderLabel.logName_label.text()).width()
        self.assertEquals(track.geometry().width(), logHeaderLabel.geometry().width())
        self.assertEquals("SWIRR", logHeaderLabel.logName_label.text())
        logger.debug("--test_LogHeaderLabel() name bound width:{0} name width:{1}".format(boundWidth, logHeaderLabel.logName_label.geometry().width() ))
        logger.debug("--test_LogHeaderLabel() Lval x:{0} name x:{1} Rval x:{2}".format(logHeaderLabel.logValLeft_label.geometry().x(), logHeaderLabel.logName_label.geometry().x(), logHeaderLabel.logValRight_label.geometry().x() ))
        summedWidth = logHeaderLabel.logValLeft_label.geometry().width()+ logHeaderLabel.logName_label.geometry().width()+logHeaderLabel.logValRight_label.geometry().width()
        logger.debug("--test_LogHeaderLabel()summed width:{0}".format(summedWidth))