From 8406201175e67738a3762f0ffd770ff612ee1964 Mon Sep 17 00:00:00 2001 From: Carifio24 Date: Tue, 28 May 2024 14:47:48 -0400 Subject: [PATCH 1/2] Add tool for refreshing tile cache. --- glue_wwt/viewer/jupyter_viewer.py | 2 ++ glue_wwt/viewer/qt_data_viewer.py | 3 ++- glue_wwt/viewer/refresh_cache.png | Bin 0 -> 17744 bytes glue_wwt/viewer/refresh_cache.svg | 5 +++++ glue_wwt/viewer/tools.py | 13 +++++++++++++ pyproject.toml | 2 +- 6 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 glue_wwt/viewer/refresh_cache.png create mode 100644 glue_wwt/viewer/refresh_cache.svg diff --git a/glue_wwt/viewer/jupyter_viewer.py b/glue_wwt/viewer/jupyter_viewer.py index bd4562cf..37432396 100644 --- a/glue_wwt/viewer/jupyter_viewer.py +++ b/glue_wwt/viewer/jupyter_viewer.py @@ -204,6 +204,8 @@ class WWTJupyterViewer(WWTDataViewerBase, IPyWidgetView): WWTTableLayerArtist: JupyterTableLayerOptions, } + tools = ["wwt:refresh_cache"] + def __init__(self, session, state=None): IPyWidgetView.__init__(self, session, state=state) WWTDataViewerBase.__init__(self) diff --git a/glue_wwt/viewer/qt_data_viewer.py b/glue_wwt/viewer/qt_data_viewer.py index 1a535bb9..0e3583ec 100644 --- a/glue_wwt/viewer/qt_data_viewer.py +++ b/glue_wwt/viewer/qt_data_viewer.py @@ -10,7 +10,7 @@ from .table_style_editor import WWTTableStyleEditor # We import the following to register the save tool -from . import tools # noqa +from . import tools as wwt_tools # noqa __all__ = ['WWTQtViewer'] @@ -24,6 +24,7 @@ class WWTQtViewer(WWTDataViewerBase, DataViewer): } subtools = {'save': ['wwt:save', 'wwt:savetour']} + tools = ["save", "wwt:refresh_cache"] def __init__(self, session, parent=None, state=None): DataViewer.__init__(self, session, parent=None, state=state) diff --git a/glue_wwt/viewer/refresh_cache.png b/glue_wwt/viewer/refresh_cache.png new file mode 100644 index 0000000000000000000000000000000000000000..080ec75118edfbbff922f90b8e34ebe1218fe997 GIT binary patch literal 17744 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

6c)EHJ?7RD+4NEIX3+TI9jduD)@-SH$hPtO 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 zhx_IzOK#Created by wahid zainfrom the Noun Project \ No newline at end of file diff --git a/glue_wwt/viewer/tools.py b/glue_wwt/viewer/tools.py index 8293e2f0..22b9e07e 100644 --- a/glue_wwt/viewer/tools.py +++ b/glue_wwt/viewer/tools.py @@ -2,6 +2,7 @@ import io import time +from os.path import abspath, dirname, join from qtpy import compat from glue.viewers.common.tool import Tool @@ -112,3 +113,15 @@ def activate(self): with io.open(filename, 'w', newline='') as f: f.write(tourxml) + + +@viewer_tool +class RefreshTileCacheTool(Tool): + + icon = abspath(join(dirname(__file__), 'refresh_cache')) + tool_id = 'wwt:refresh_cache' + action_text = 'Refresh the WWT tile cache' + tool_tip = 'Refresh the WWT tile cache' + + def activate(self): + self.viewer._wwt.refresh_tile_cache() diff --git a/pyproject.toml b/pyproject.toml index 00ddb97e..e6543947 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ dependencies = [ "glue-core>=1.13.1", "echo", "astropy", - "pywwt>=0.21.0", + "pywwt>=0.24.1", "packaging", ] dynamic = ["version"] From d5de837c010b033497b9610055351fb6d6064190 Mon Sep 17 00:00:00 2001 From: Carifio24 Date: Thu, 30 May 2024 00:59:29 -0400 Subject: [PATCH 2/2] Use icon image without attribution. --- glue_wwt/viewer/refresh_cache.png | Bin 17744 -> 29064 bytes glue_wwt/viewer/refresh_cache.svg | 5 ----- 2 files changed, 5 deletions(-) delete mode 100644 glue_wwt/viewer/refresh_cache.svg diff --git a/glue_wwt/viewer/refresh_cache.png b/glue_wwt/viewer/refresh_cache.png index 080ec75118edfbbff922f90b8e34ebe1218fe997..7a085181183382167ebf099dff4740f2af26ace1 100644 GIT binary patch literal 29064 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 literal 17744 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

6c)EHJ?7RD+4NEIX3+TI9jduD)@-SH$hPtO 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 zhx_IzOK#Created by wahid zainfrom the Noun Project \ No newline at end of file