From 41582d5e5fb4329cf4f2e57cf03a8ee836d67c65 Mon Sep 17 00:00:00 2001 From: Thomas Robitaille Date: Fri, 16 Aug 2024 13:30:04 +0100 Subject: [PATCH] Added methods back but remove all viewer-specific code --- glue/core/application_base.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/glue/core/application_base.py b/glue/core/application_base.py index 93e050fe7..0d286e955 100644 --- a/glue/core/application_base.py +++ b/glue/core/application_base.py @@ -350,3 +350,18 @@ def set_data_color(self, color, alpha): for data in self.data_collection: data.style.color = color data.style.alpha = alpha + + def __gluestate__(self, context): + data = self.session.data_collection + from glue.main import _loaded_plugins + return dict(session=context.id(self.session), + data=context.id(data), + plugins=_loaded_plugins) + + @classmethod + def __setgluestate__(cls, rec, context): + self = cls(data_collection=context.object(rec['data'])) + # manually register the newly-created session, which + # the viewers need + context.register_object(rec['session'], self.session) + return self