2022-05-05 15:59:04 +08:00

54 lines
1.3 KiB
Python

from PyQt5.QtCore import QObject, pyqtSignal
from rscder.utils.project import PairLayer
class BasicPlugin(QObject):
'''
插件基类
ctx:
layer_tree: layer tree
pair_canvas: pair canvas
message_box: message box
result_table: result table
project: project instance
mainwindow: mainwindow
toolbar: toolbar
statusbar: statusbar
menu: menu
file_menu: file menu
'''
def __init__(self, ctx:dict) -> None:
super().__init__()
self.ctx = ctx
self.layer_tree = ctx['layer_tree']
self.pair_canvas = ctx['pair_canvas']
self.message_box = ctx['message_box']
self.result_table = ctx['result_table']
self.project = ctx['project']
self.mainwindow = ctx['mainwindow']
self.set_action()
self.project.layer_load.connect(self.on_data_load)
self.project.project_created.connect(self.setup)
def set_action(self):
'''
When App start
'''
pass
def setup(self):
'''
When project create
'''
pass
def get_layer(self, layer_id)-> PairLayer:
return self.project.layers[layer_id]
def on_data_load(self, layer_id):
'''
When data load
'''
pass