From 07d55e53970d7d37d309631d004d29c5d09db13b Mon Sep 17 00:00:00 2001
From: Thomas <thomas.musset@pasteur.fr>
Date: Tue, 5 Sep 2023 13:59:14 +0200
Subject: [PATCH] fixed menu item crash when there is no sheet opened

---
 .../adufour/vars/gui/swing/WorkbookEditor.java       | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/main/java/plugins/adufour/vars/gui/swing/WorkbookEditor.java b/src/main/java/plugins/adufour/vars/gui/swing/WorkbookEditor.java
index bef7159..9e357f6 100644
--- a/src/main/java/plugins/adufour/vars/gui/swing/WorkbookEditor.java
+++ b/src/main/java/plugins/adufour/vars/gui/swing/WorkbookEditor.java
@@ -332,6 +332,9 @@ public class WorkbookEditor extends SwingVarEditor<Workbook> {
             plotHistogram1D.addMenuListener(new MenuListener() {
                 @Override
                 public void menuSelected(final MenuEvent e) {
+                    if (book.getNumberOfSheets() == 0)
+                        return;
+
                     final int sheetIndex = book.getActiveSheetIndex();
                     if (sheetIndex == -1)
                         return;
@@ -386,6 +389,9 @@ public class WorkbookEditor extends SwingVarEditor<Workbook> {
             plotHistogram2D.addMenuListener(new MenuListener() {
                 @Override
                 public void menuSelected(final MenuEvent e) {
+                    if (book.getNumberOfSheets() == 0)
+                        return;
+
                     final int sheetIndex = book.getActiveSheetIndex();
                     if (sheetIndex == -1)
                         return;
@@ -466,6 +472,9 @@ public class WorkbookEditor extends SwingVarEditor<Workbook> {
             plotScatter2D.addMenuListener(new MenuListener() {
                 @Override
                 public void menuSelected(final MenuEvent e) {
+                    if (book.getNumberOfSheets() == 0)
+                        return;
+
                     final int sheetIndex = book.getActiveSheetIndex();
                     if (sheetIndex == -1)
                         return;
@@ -541,6 +550,9 @@ public class WorkbookEditor extends SwingVarEditor<Workbook> {
             plotScatter3D.addMenuListener(new MenuListener() {
                 @Override
                 public void menuSelected(final MenuEvent e) {
+                    if (book.getNumberOfSheets() == 0)
+                        return;
+
                     final int sheetIndex = book.getActiveSheetIndex();
                     if (sheetIndex == -1)
                         return;
-- 
GitLab