diff --git a/functions/utilities/exportStandardizedFigure/fct/exportFigureCallback.m b/functions/utilities/exportStandardizedFigure/fct/exportFigureCallback.m
index 2fd79046ae25096340bec8412128c68a7c91b66c..56a22f3051d0837a5bd32b55e0818fbc3912e72b 100644
--- a/functions/utilities/exportStandardizedFigure/fct/exportFigureCallback.m
+++ b/functions/utilities/exportStandardizedFigure/fct/exportFigureCallback.m
@@ -1,60 +1,67 @@
+function exportFigureCallback(fig, box, dropDown, inputFields)
 % Callback Function for Button
-    function exportFigureCallback(fig, box, dropDown, inputFields)
-        % Get values from the GUI components
-        figName = [dropDown.prefixIPT.Value inputFields.figName.Value];
-        percTextwidth = inputFields.percText.Value;
-        addMarkers = box.addMarkers.Value;
-        forcedMarkers = inputFields.forcedMarkers.Value;
-        changeColors = box.changeColors.Value;
-        changeLineStyle = box.changeLineStyle.Value;
-        gridOption = box.grid.Value;
-        legendLocation = dropDown.legendLocation.Value;
-        legendOrientation = dropDown.legendOrientation.Value;
-        exportPDF = box.exportPDF.Value;
-        exportFIG = box.exportFIG.Value;
-        satelliteMapColors = box.satelliteMapColors.Value;
-        % figurePath = pathField.Value;
-        WHratio = inputFields.WHratio.Value;
-        overwriteFigure = box.overwriteFigure.Value;
+handle_getters = getappdata(fig, 'handle_getters');
+figHandles = findFigures(fig);
+figNames = getFigureNames(figHandles);
+dropDown.figSelection.Items = figNames;
 
-        % Check for required inputs
-        if isempty(figName) || isempty(percTextwidth)
-            uialert(fig, 'Please enter both Figure Name and Percentage Text Width.', 'Input Error');
-            return;
-        end
+% Get values from the GUI components
+figName = [dropDown.prefixIPT.Value inputFields.figName.Value];
+percTextwidth = inputFields.percText.Value;
+addMarkers = box.addMarkers.Value;
+forcedMarkers = inputFields.forcedMarkers.Value;
+changeColors = box.changeColors.Value;
+changeLineStyle = box.changeLineStyle.Value;
+gridOption = box.grid.Value;
+legendLocation = dropDown.legendLocation.Value;
+legendOrientation = dropDown.legendOrientation.Value;
+exportPDF = box.exportPDF.Value;
+exportFIG = box.exportFIG.Value;
+satelliteMapColors = box.satelliteMapColors.Value;
+% figurePath = pathField.Value;
+WHratio = inputFields.WHratio.Value;
+overwriteFigure = box.overwriteFigure.Value;
 
-        % Figure path
-        figurePath = uigetdir;
+% Check for required inputs
+if isempty(figName) || isempty(percTextwidth)
+    uialert(fig, 'Please enter both Figure Name and Percentage Text Width.', 'Input Error');
+    return;
+end
 
-        % Cache figure to reset easily
-        selectedIdx = dropDown.figSelection.Value;
-        figHandles = findFigures(fig);
-        figToExp = figHandles(strcmp(dropDown.figSelection.Items, selectedIdx));
-       
-        % currentPath = mfilename('fullpath');
-        % cachePath = fullfile(currentPath, '..','cachedFigs', selectedIdx);
-        % savefig(figToExp, cachePath);
+% Figure path
+figurePath = uigetdir;
 
-        % Try to export figure
-        try
-            % Call the exportStandardizedFigure function
-            exportStandardizedFigure(figToExp, figName, percTextwidth, ...
-                'addMarkers', addMarkers, ...
-                'forcedMarkers', forcedMarkers, ...
-                'changeColors', changeColors, ...
-                'changeLineStyle', changeLineStyle, ...
-                'grid', gridOption, ...
-                'legendLocation', legendLocation, ...
-                'legendOrientation', legendOrientation, ...
-                'exportPDF', exportPDF, ...
-                'exportFIG', exportFIG, ...
-                'satelliteMapColors', satelliteMapColors, ...
-                'figurePath', figurePath, ...
-                'WHratio', WHratio, ...
-                'overwriteFigure', overwriteFigure);
-            uialert(fig, 'Figure exported successfully!', 'Success', 'Icon', 'success');
-        catch ME
-            % Display error if the function fails
-            uialert(fig, ['Error exporting figure: ' ME.message], 'Error');
-        end
-    end
\ No newline at end of file
+% selectedIdx = dropDown.figSelection.Value;
+selectedIdx = handle_getters.Value;
+figHandles = findFigures(fig);
+%figToExp = figHandles(strcmp(dropDown.figSelection.Items, selectedIdx));
+figToExp = figHandles(strcmp(dropDown.figSelection.Items, selectedIdx));
+disp(['Fig to exp: ', selectedIdx]);
+
+% currentPath = mfilename('fullpath');
+% cachePath = fullfile(currentPath, '..','cachedFigs', selectedIdx);
+% savefig(figToExp, cachePath);
+
+% Try to export figure
+try
+    % Call the exportStandardizedFigure function
+    exportStandardizedFigure(figToExp, figName, percTextwidth, ...
+        'addMarkers', addMarkers, ...
+        'forcedMarkers', forcedMarkers, ...
+        'changeColors', changeColors, ...
+        'changeLineStyle', changeLineStyle, ...
+        'grid', gridOption, ...
+        'legendLocation', legendLocation, ...
+        'legendOrientation', legendOrientation, ...
+        'exportPDF', exportPDF, ...
+        'exportFIG', exportFIG, ...
+        'satelliteMapColors', satelliteMapColors, ...
+        'figurePath', figurePath, ...
+        'WHratio', WHratio, ...
+        'overwriteFigure', overwriteFigure);
+    uialert(fig, 'Figure exported successfully!', 'Success', 'Icon', 'success');
+catch ME
+    % Display error if the function fails
+    uialert(fig, ['Error exporting figure: ' ME.message], 'Error');
+end
+end
\ No newline at end of file
diff --git a/functions/utilities/exportStandardizedFigure/fct/previewFigureCallback.m b/functions/utilities/exportStandardizedFigure/fct/previewFigureCallback.m
index 28e3278ce9d91f33ef705ec050f308a7ee9e8df7..abafc4aade94e80532ff932829478be0db51db06 100644
--- a/functions/utilities/exportStandardizedFigure/fct/previewFigureCallback.m
+++ b/functions/utilities/exportStandardizedFigure/fct/previewFigureCallback.m
@@ -1,35 +1,43 @@
 function previewFigureCallback(fig, box, dropDown, inputFields)
-        % Get values from the GUI components
-        percTextwidth = inputFields.percText.Value;
-        addMarkers = box.addMarkers.Value;
-        forcedMarkers = inputFields.forcedMarkers.Value;
-        changeColors = box.changeColors.Value;
-        changeLineStyle = box.changeLineStyle.Value;
-        gridOption = box.grid.Value;
-        legendLocation = dropDown.legendLocation.Value;
-        legendOrientation = dropDown.legendOrientation.Value;
-        exportPDF = box.exportPDF.Value;
-        exportFIG = box.exportFIG.Value;
-        satelliteMapColors = box.satelliteMapColors.Value;
-        % figurePath = pathField.Value;
-        WHratio = inputFields.WHratio.Value;
-        overwriteFigure = box.overwriteFigure.Value;
+% make setter global
+handle_getters = getappdata(fig, 'handle_getters');
+figHandles = findFigures(fig);
+figNames = getFigureNames(figHandles);
+dropDown.figSelection.Items = figNames;
 
-        selectedIdx = dropDown.figSelection.Value;
-        figHandles = findFigures(fig);
-        figToExp = figHandles(strcmp(dropDown.figSelection.Items, selectedIdx));
+% Get values from the GUI components
+percTextwidth = inputFields.percText.Value;
+addMarkers = box.addMarkers.Value;
+forcedMarkers = inputFields.forcedMarkers.Value;
+changeColors = box.changeColors.Value;
+changeLineStyle = box.changeLineStyle.Value;
+gridOption = box.grid.Value;
+legendLocation = dropDown.legendLocation.Value;
+legendOrientation = dropDown.legendOrientation.Value;
+exportPDF = box.exportPDF.Value;
+exportFIG = box.exportFIG.Value;
+satelliteMapColors = box.satelliteMapColors.Value;
+% figurePath = pathField.Value;
+WHratio = inputFields.WHratio.Value;
+overwriteFigure = box.overwriteFigure.Value;
 
-        previewStandardizedFigure(figToExp, percTextwidth, ...
-            'addMarkers', addMarkers, ...
-            'forcedMarkers', forcedMarkers, ...
-            'changeColors', changeColors, ...
-            'changeLineStyle', changeLineStyle, ...
-            'grid', gridOption, ...
-            'legendLocation', legendLocation, ...
-            'legendOrientation', legendOrientation, ...
-            'exportPDF', exportPDF, ...
-            'exportFIG', exportFIG, ...
-            'satelliteMapColors', satelliteMapColors, ...
-            'WHratio', WHratio, ...
-            'overwriteFigure', overwriteFigure);
- end
\ No newline at end of file
+%selectedIdx = dropDown.figSelection.Value;
+selectedIdx = handle_getters.Value;
+figHandles = findFigures(fig);
+figToExp = figHandles(strcmp(dropDown.figSelection.Items, selectedIdx));
+disp(['Fig to preview: ', selectedIdx]);
+
+previewStandardizedFigure(figToExp, percTextwidth, ...
+    'addMarkers', addMarkers, ...
+    'forcedMarkers', forcedMarkers, ...
+    'changeColors', changeColors, ...
+    'changeLineStyle', changeLineStyle, ...
+    'grid', gridOption, ...
+    'legendLocation', legendLocation, ...
+    'legendOrientation', legendOrientation, ...
+    'exportPDF', exportPDF, ...
+    'exportFIG', exportFIG, ...
+    'satelliteMapColors', satelliteMapColors, ...
+    'WHratio', WHratio, ...
+    'overwriteFigure', overwriteFigure);
+end
\ No newline at end of file
diff --git a/functions/utilities/exportStandardizedFigure/fct/updatePreview.m b/functions/utilities/exportStandardizedFigure/fct/updatePreview.m
index 26a7db554e1486389c9cd4c58aaf84e4279619c2..1b7a09e6725a9a1cd9f8887907511e8cbcbc0644 100644
--- a/functions/utilities/exportStandardizedFigure/fct/updatePreview.m
+++ b/functions/utilities/exportStandardizedFigure/fct/updatePreview.m
@@ -9,29 +9,49 @@ figHandles = findFigures(fig);
 selectedIdx = dropDown.figSelection.Value;
 selectedFig = [];
 
-for i = 1:length(figHandles)
-    figSeries = figHandles(i);
-
-    % Set the default figure position
-    pos = get(figSeries, 'Position'); % gives x left, y bottom, width, height
-    width = pos(3);
-    height = pos(4);
-    leftOffsetNew = screen.width/5;
-    topOffsetNew = screen.height/3;
-
-    positionCurrentFig = [screen.width-width-leftOffsetNew, ...
-        screen.height-height-topOffsetNew, width, height];
-    set(figSeries, 'Position', positionCurrentFig);
-end
+% for i = 1:length(figHandles)
+%     figSeries = figHandles(i);
+% 
+%     % Set the default figure position
+%     pos = get(figSeries, 'Position'); % gives x left, y bottom, width, height
+%     width = pos(3);
+%     height = pos(4);
+%     leftOffsetNew = screen.width/5;
+%     topOffsetNew = screen.height/3;
+% 
+%     positionCurrentFig = [screen.width-width-leftOffsetNew, ...
+%         screen.height-height-topOffsetNew, width, height];
+%     set(figSeries, 'Position', positionCurrentFig);
+% end
 
 % Find the selected figure
 for i = 1:length(figHandles)
     if strcmp(dropDown.figSelection.Items{i}, selectedIdx)
         selectedFig = figHandles(i);
-        break;
+        if isempty(selectedFig.Name)
+            selectedFig.Name = selectedIdx;
+            %selectedFig = figHandles(i);
+            % update the dropdown names
+            % figNames = getFigureNames(figHandles);
+            % dropDown.figSelection.Items = figNames;
+            break;
+        else
+            break;
+        end
     end
 end
 % Move from background to foreground current figure
+disp(['Selected figure: ',selectedFig.Name])
+disp(' ')
+
+pos = get(selectedFig, 'Position');
+width = pos(3);
+height = pos(4);
+leftOffsetNew = screen.width/5;
+topOffsetNew = screen.height/3;
+positionCurrentFig = [screen.width - width - leftOffsetNew, ...
+    screen.height - height - topOffsetNew, width, height];
+set(selectedFig, 'Position', positionCurrentFig);
 uistack(selectedFig,'top')
 
 if isempty(selectedFig) && isscalar(figHandles), selectedFig = figHandles(1); end
diff --git a/functions/utilities/exportStandardizedFigure/fct/updatePreviewCallback.m b/functions/utilities/exportStandardizedFigure/fct/updatePreviewCallback.m
new file mode 100644
index 0000000000000000000000000000000000000000..d7efff930f5fc9fc0b95552a9b7e86df8bd393bf
--- /dev/null
+++ b/functions/utilities/exportStandardizedFigure/fct/updatePreviewCallback.m
@@ -0,0 +1,38 @@
+function updatePreviewCallback(src, fig, figSelectionDropDown, flagsPanel, screen, dropDown, box, inputFields)
+    % Trova l'handle della figura selezionata dal nome
+    setappdata(fig, 'handle_getters', src);
+    
+    selectedLabel = src.Value;
+    figHandles = findFigures(fig);
+    selectedFig = [];
+
+    for i = 1:length(figHandles)
+        figName = get(figHandles(i), 'Name');
+        if isempty(figName)
+            figLabel = sprintf('Figure %d', figHandles(i).Number);
+        else
+            figLabel = figName;
+        end
+
+        if strcmp(figLabel, selectedLabel)
+            selectedFig = figHandles(i);
+            break;
+        end
+    end
+
+    if isempty(selectedFig), return; end
+    if isempty(selectedFig.Name)
+        selectedFig.Name = ['Figure ',num2str(selectedFig.Number)];
+    end
+    disp(['>>>>>>> Call back report: ',selectedFig.Name])
+
+    dropDown.figSelection = figSelectionDropDown;
+    disp(['>>>>>>> Dropdown report: ',dropDown.figSelection.Value])
+
+    dropDown.Selection_ = selectedFig.Name;
+
+    figNames = getFigureNames(figHandles);
+    dropDown.figSelection.Items = figNames;
+
+    updatePreview(fig, flagsPanel, screen, dropDown, box, inputFields);
+end
diff --git a/functions/utilities/exportStandardizedFigure/mainExportStandardizedFigure.m b/functions/utilities/exportStandardizedFigure/mainExportStandardizedFigure.m
index c04e881acf3ecb19de0cf2f48f341b640107cac3..569c4a26d7f468c63d79a04e41f06f7c3c88060c 100644
--- a/functions/utilities/exportStandardizedFigure/mainExportStandardizedFigure.m
+++ b/functions/utilities/exportStandardizedFigure/mainExportStandardizedFigure.m
@@ -168,9 +168,9 @@ figSelectionDropDown = uidropdown(fig, ...
 dropDown.prefixIPT = prefixIPTNameDropDown;
 dropDown.figSelection = figSelectionDropDown;
 
-% Set the callback *after* dropDown is complete
-figSelectionDropDown.ValueChangedFcn = @(src, event) updatePreview(fig, ...
-    flagsPanel, screen, dropDown, box, inputFields);
+% Callback with wrapper to handle the figure
+figSelectionDropDown.ValueChangedFcn = @(src, event) updatePreviewCallback(src, fig, ...
+    figSelectionDropDown, flagsPanel, screen, dropDown, box, inputFields);
 
 % Automatically update preview if only one figure exists
 if isscalar(figHandles)