diff options
Diffstat (limited to 'grc/gui/Platform.py')
-rw-r--r-- | grc/gui/Platform.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/grc/gui/Platform.py b/grc/gui/Platform.py index aeade75d78..2a38bc619e 100644 --- a/grc/gui/Platform.py +++ b/grc/gui/Platform.py @@ -24,7 +24,8 @@ import os from .Config import Config from . import canvas -from ..core.Platform import Platform as CorePlatform +from ..core.platform import Platform as CorePlatform +from ..core.utils.backports import ChainMap class Platform(CorePlatform): @@ -61,8 +62,15 @@ class Platform(CorePlatform): Config = Config FlowGraph = canvas.FlowGraph Connection = canvas.Connection - block_classes = {key: canvas.Block.make_cls_with_base(cls) - for key, cls in CorePlatform.block_classes.items()} + + def new_block_class(self, block_id, **data): + cls = CorePlatform.new_block_class(self, block_id, **data) + return canvas.Block.make_cls_with_base(cls) + + block_classes_build_in = {key: canvas.Block.make_cls_with_base(cls) + for key, cls in CorePlatform.block_classes_build_in.items()} + block_classes = ChainMap({}, block_classes_build_in) + port_classes = {key: canvas.Port.make_cls_with_base(cls) for key, cls in CorePlatform.port_classes.items()} param_classes = {key: canvas.Param.make_cls_with_base(cls) |