From a3592fc1c8ec52e3c21b78132def0b63a3d28522 Mon Sep 17 00:00:00 2001 From: Tim Sutton Date: Sat, 28 Sep 2024 21:10:04 +0100 Subject: [PATCH] We need to fix the widget factory Basic index score widget renders now WIP for #331 --- geest/gui/indicator_widget_factory.py | 11 +++++++++-- geest/gui/layer_detail_dialog.py | 4 ++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/geest/gui/indicator_widget_factory.py b/geest/gui/indicator_widget_factory.py index 47bab49..d64890a 100644 --- a/geest/gui/indicator_widget_factory.py +++ b/geest/gui/indicator_widget_factory.py @@ -1,4 +1,4 @@ -from qgis.core import QgsMessageLog +from qgis.core import QgsMessageLog, Qgis from .widgets.indicator_index_score_widget import IndexScoreRadioButton from .widgets.widget_radio_button import WidgetRadioButton @@ -12,12 +12,19 @@ def create_radio_button(key: str, value: int): """ Factory method to create a radio button based on key-value pairs. """ + QgsMessageLog.logMessage("Dialog widget factory called", tag="Geest", level=Qgis.Info) + QgsMessageLog.logMessage("----------------------------", tag="Geest", level=Qgis.Info) + QgsMessageLog.logMessage(f"Key: {key}", tag="Geest", level=Qgis.Info) + QgsMessageLog.logMessage(f"Value: {key}", tag="Geest", level=Qgis.Info) + QgsMessageLog.logMessage("----------------------------", tag="Geest", level=Qgis.Info) + try: - if key == "UseIndexScore" and value == 1: + if key == "Use Default Index Score" and value == 1: return IndexScoreRadioButton("IndexScore") elif key == "UseWidget" and value == 1: return WidgetRadioButton("Widget") else: + QgsMessageLog.logMessage(f"Factory did not match any widgets", tag="Geest", level=Qgis.Critical) return None except Exception as e: QgsMessageLog.logMessage(f"Error in create_radio_button: {e}", "Geest") diff --git a/geest/gui/layer_detail_dialog.py b/geest/gui/layer_detail_dialog.py index 2d84c26..6945012 100644 --- a/geest/gui/layer_detail_dialog.py +++ b/geest/gui/layer_detail_dialog.py @@ -237,8 +237,8 @@ def get_widget_for_value(self, key, value): def add_config_widgets(self, layout): config_widget = IndicatorConfigWidget(self.layer_data) - #if config_widget.widgets: - # layout.addWidget(config_widget) + if config_widget: + layout.addWidget(config_widget) # # connect to the stateChanged signal # #config_widget.stateChanged.connect(self.handle_config_change) #else: