qgis_layout_plugin/plot_layout/layouts/layout.py

54 lines
1.6 KiB
Python

from qgis.core import (
QgsLayoutItem,
QgsLayoutItemRegistry,
QgsLayoutItemAbstractMetadata,
QgsNetworkAccessManager,
QgsMessageLog,
QgsGeometry
)
ITEM_TYPE = QgsLayoutItemRegistry.PluginItem + 1338
class PlotLayoutItem(QgsLayoutItem):
def __init__(self, layout):
super().__init__(layout)
def draw(self, context):
#pass
#if not self.html_loaded:
painter = context.renderContext().painter()
painter.save()
def load_content(self):
return 'vjdnvjndjn'
# if not self.layout().renderContext().isPreviewRender():
# # this is NOT safe to do when rendering in the gui (i.e. a preview render), but for exports we have
# # to loop around until the HTML has fully loaded
# while not self.html_loaded:
# QCoreApplication.processEvents()
# # almost a direct copy from QgsLayoutItemLabel!
# painter = context.renderContext().painter()
# painter.save()
# # painter is scaled to dots, so scale back to layout units
# painter.scale(context.renderContext().scaleFactor() / self.html_units_to_layout_units,
# context.renderContext().scaleFactor() / self.html_units_to_layout_units)
# self.web_page.mainFrame().render(painter)
# painter.restore()
def type(self):
return ITEM_TYPE
class PlotLayoutItemMetadata(QgsLayoutItemAbstractMetadata):
def __init__(self):
super().__init__(ITEM_TYPE, 'layoutItem')
def createItem(self, layout):
return PlotLayoutItem(layout)