From ae0706620ede742de2ed812b35e4f38ea81376f3 Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Mon, 11 Mar 2019 23:04:38 +0200 Subject: [PATCH] - reverted changes in Tools regarding the toggle effect - now they work as expected and added protection against AttributeError that can happen when switching from another tab. --- flatcamTools/ToolCalculators.py | 7 +++++-- flatcamTools/ToolCutOut.py | 7 +++++-- flatcamTools/ToolDblSided.py | 7 +++++-- flatcamTools/ToolFilm.py | 7 +++++-- flatcamTools/ToolImage.py | 7 +++++-- flatcamTools/ToolNonCopperClear.py | 11 +++++++++++ flatcamTools/ToolPaint.py | 7 +++++-- flatcamTools/ToolPanelize.py | 7 +++++-- flatcamTools/ToolProperties.py | 7 +++++-- flatcamTools/ToolSolderPaste.py | 7 +++++-- flatcamTools/ToolTransform.py | 7 +++++-- 11 files changed, 61 insertions(+), 20 deletions(-) diff --git a/flatcamTools/ToolCalculators.py b/flatcamTools/ToolCalculators.py index 6a5a494f..87a62290 100644 --- a/flatcamTools/ToolCalculators.py +++ b/flatcamTools/ToolCalculators.py @@ -243,8 +243,11 @@ class ToolCalculator(FlatCAMTool): if self.app.ui.splitter.sizes()[0] == 0: self.app.ui.splitter.setSizes([1, 1]) else: - if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + try: + if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: + self.app.ui.splitter.setSizes([0, 1]) + except AttributeError: + pass FlatCAMTool.run(self) diff --git a/flatcamTools/ToolCutOut.py b/flatcamTools/ToolCutOut.py index 9af3b285..744c0c8a 100644 --- a/flatcamTools/ToolCutOut.py +++ b/flatcamTools/ToolCutOut.py @@ -287,8 +287,11 @@ class CutOut(FlatCAMTool): if self.app.ui.splitter.sizes()[0] == 0: self.app.ui.splitter.setSizes([1, 1]) else: - if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + try: + if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: + self.app.ui.splitter.setSizes([0, 1]) + except AttributeError: + pass FlatCAMTool.run(self) self.set_tool_ui() diff --git a/flatcamTools/ToolDblSided.py b/flatcamTools/ToolDblSided.py index fa8486ed..c29ba9e7 100644 --- a/flatcamTools/ToolDblSided.py +++ b/flatcamTools/ToolDblSided.py @@ -277,8 +277,11 @@ class DblSidedTool(FlatCAMTool): if self.app.ui.splitter.sizes()[0] == 0: self.app.ui.splitter.setSizes([1, 1]) else: - if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + try: + if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: + self.app.ui.splitter.setSizes([0, 1]) + except AttributeError: + pass FlatCAMTool.run(self) self.set_tool_ui() diff --git a/flatcamTools/ToolFilm.py b/flatcamTools/ToolFilm.py index c01fcbbe..54b880c7 100644 --- a/flatcamTools/ToolFilm.py +++ b/flatcamTools/ToolFilm.py @@ -188,8 +188,11 @@ class Film(FlatCAMTool): if self.app.ui.splitter.sizes()[0] == 0: self.app.ui.splitter.setSizes([1, 1]) else: - if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + try: + if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: + self.app.ui.splitter.setSizes([0, 1]) + except AttributeError: + pass FlatCAMTool.run(self) diff --git a/flatcamTools/ToolImage.py b/flatcamTools/ToolImage.py index 09a209a0..b719fbd2 100644 --- a/flatcamTools/ToolImage.py +++ b/flatcamTools/ToolImage.py @@ -155,8 +155,11 @@ class ToolImage(FlatCAMTool): if self.app.ui.splitter.sizes()[0] == 0: self.app.ui.splitter.setSizes([1, 1]) else: - if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + try: + if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: + self.app.ui.splitter.setSizes([0, 1]) + except AttributeError: + pass FlatCAMTool.run(self) self.set_tool_ui() diff --git a/flatcamTools/ToolNonCopperClear.py b/flatcamTools/ToolNonCopperClear.py index d5b20819..561b56e9 100644 --- a/flatcamTools/ToolNonCopperClear.py +++ b/flatcamTools/ToolNonCopperClear.py @@ -262,6 +262,17 @@ class NonCopperClear(FlatCAMTool, Gerber): def run(self, toggle=True): self.app.report_usage("ToolNonCopperClear()") + if toggle: + # if the splitter is hidden, display it, else hide it but only if the current widget is the same + if self.app.ui.splitter.sizes()[0] == 0: + self.app.ui.splitter.setSizes([1, 1]) + else: + try: + if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: + self.app.ui.splitter.setSizes([0, 1]) + except AttributeError: + pass + FlatCAMTool.run(self) self.set_tool_ui() diff --git a/flatcamTools/ToolPaint.py b/flatcamTools/ToolPaint.py index cab5e590..0e34189a 100644 --- a/flatcamTools/ToolPaint.py +++ b/flatcamTools/ToolPaint.py @@ -325,8 +325,11 @@ class ToolPaint(FlatCAMTool, Gerber): if self.app.ui.splitter.sizes()[0] == 0: self.app.ui.splitter.setSizes([1, 1]) else: - if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + try: + if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: + self.app.ui.splitter.setSizes([0, 1]) + except AttributeError: + pass FlatCAMTool.run(self) self.set_tool_ui() diff --git a/flatcamTools/ToolPanelize.py b/flatcamTools/ToolPanelize.py index 34cef26f..25c653a8 100644 --- a/flatcamTools/ToolPanelize.py +++ b/flatcamTools/ToolPanelize.py @@ -221,8 +221,11 @@ class Panelize(FlatCAMTool): if self.app.ui.splitter.sizes()[0] == 0: self.app.ui.splitter.setSizes([1, 1]) else: - if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + try: + if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: + self.app.ui.splitter.setSizes([0, 1]) + except AttributeError: + pass FlatCAMTool.run(self) self.set_tool_ui() diff --git a/flatcamTools/ToolProperties.py b/flatcamTools/ToolProperties.py index 979dc95d..765da0e5 100644 --- a/flatcamTools/ToolProperties.py +++ b/flatcamTools/ToolProperties.py @@ -75,8 +75,11 @@ class Properties(FlatCAMTool): if self.app.ui.splitter.sizes()[0] == 0: self.app.ui.splitter.setSizes([1, 1]) else: - if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + try: + if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: + self.app.ui.splitter.setSizes([0, 1]) + except AttributeError: + pass FlatCAMTool.run(self) self.set_tool_ui() diff --git a/flatcamTools/ToolSolderPaste.py b/flatcamTools/ToolSolderPaste.py index 425d688b..74287a50 100644 --- a/flatcamTools/ToolSolderPaste.py +++ b/flatcamTools/ToolSolderPaste.py @@ -434,8 +434,11 @@ class SolderPaste(FlatCAMTool): if self.app.ui.splitter.sizes()[0] == 0: self.app.ui.splitter.setSizes([1, 1]) else: - if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + try: + if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: + self.app.ui.splitter.setSizes([0, 1]) + except AttributeError: + pass FlatCAMTool.run(self) self.set_tool_ui() diff --git a/flatcamTools/ToolTransform.py b/flatcamTools/ToolTransform.py index a94ad101..a0a05367 100644 --- a/flatcamTools/ToolTransform.py +++ b/flatcamTools/ToolTransform.py @@ -383,8 +383,11 @@ class ToolTransform(FlatCAMTool): if self.app.ui.splitter.sizes()[0] == 0: self.app.ui.splitter.setSizes([1, 1]) else: - if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + try: + if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: + self.app.ui.splitter.setSizes([0, 1]) + except AttributeError: + pass FlatCAMTool.run(self) self.set_tool_ui()