Exemplo n.º 1
0
 def loadBlock(self, parent, blockName, block):
     logging.debug("Processing Block %s in %s"
                   % (blockName, parent.blockName))
     type = block.type
     if type == 'frame':
         blockWidget = QFrame(parent)
     elif type == 'label':
         blockWidget = QLabel(parent)
     else:
         raise Exception("%s.type = % invalid block type"
                         % (blockName, type))
     blockWidget.setObjectName(blockName)
     geometry = self._calcGeometry(parent, block)
     logging.debug("Block Geometry: %s" % (geometry))
     blockWidget.setGeometry(geometry)
     styleString = self._buildFullStyleString(
         blockName, block, blockWidget.size()
     )
     logging.debug("Block Style " + styleString)
     blockWidget.setStyleSheet(styleString)
     if 'text' in block:
         logger.debug("Block Text: %s" % (block.text))
         blockWidget.setText(block.text)
     blockWidget.blockName = blockName
     blockWidget.blockType = type
     self.blocks[blockName] = blockWidget
     if 'blocks' in block:
         self.loadBlocks(blockWidget, block.blocks)
Exemplo n.º 2
0
    def initWidgets(self):
        self.setStyleSheet(self.styles.default)
        unsortedPages = []
        for pageName in self.config.pages:
            page = self.config.pages[pageName]
            logging.debug("Building Page: " + pageName)
            order = 0
            if 'order' in page:
                order = page.order
            pageFrame = QFrame(self)
            pageFrame.setVisible(False)
            pageFrame.setObjectName(pageName)
            pageFrame.setGeometry(
                0, 0, self.screen.width(), self.screen.height())
            styleString = self._buildFullStyleString(pageName, page)
            logging.debug("Page Style " + styleString)
            pageFrame.setStyleSheet(styleString)
            pageFrame.order = order
            pageFrame.blockName = pageName
            self.pages[pageName] = pageFrame
            unsortedPages.append(pageFrame)

            if 'blocks' in page:
                logging.debug("call loadblocks, passing %s %s"
                              % (self.blockName, self))
                self.loadBlocks(pageFrame, page.blocks)

        sortedPages = sorted(unsortedPages, key=lambda x: x.order)

        for i in range(len(sortedPages)):
            pageFrame = sortedPages[i]
            if i == 0:
                pageFrame.setVisible(True)
            pageFrame.pageNumber = i
            self.pages[pageFrame.blockName] = pageFrame

        for module in self.config.plugins:
            self.loadModule(module, self.config.plugins[module])