From 640f737a94e69c68cc0f5f09a0408bbe9cfa2edf Mon Sep 17 00:00:00 2001
From: Volker Schroer <3470424+dl1ksv@users.noreply.github.com>
Date: Fri, 18 Jun 2021 11:22:35 +0200
Subject: gr-qtgui, cpp generation: use option attributes to generate enums

Signed-off-by: Volker Schroer <3470424+dl1ksv@users.noreply.github.com>
---
 gr-qtgui/grc/qtgui_freq_sink_x.block.yml      | 10 +++++++---
 gr-qtgui/grc/qtgui_sink_x.block.yml           |  5 ++++-
 gr-qtgui/grc/qtgui_waterfall_sink_x.block.yml |  5 ++++-
 3 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/gr-qtgui/grc/qtgui_freq_sink_x.block.yml b/gr-qtgui/grc/qtgui_freq_sink_x.block.yml
index b35603b160..5e323130c7 100644
--- a/gr-qtgui/grc/qtgui_freq_sink_x.block.yml
+++ b/gr-qtgui/grc/qtgui_freq_sink_x.block.yml
@@ -38,6 +38,9 @@ parameters:
         window.WIN_RECTANGULAR, window.WIN_KAISER, window.WIN_FLATTOP]
     option_labels: [Blackman-harris, Hamming, Hann, Blackman, Rectangular, Kaiser,
         Flat-top]
+    option_attributes:
+        cpp_opts: [fft::window::WIN_BLACKMAN_hARRIS, fft::window::WIN_HAMMING, fft::window::WIN_HANN, fft::window::WIN_BLACKMAN,
+        fft::window::WIN_RECTANGULAR, fft::window::WIN_KAISER, fft::window::WIN_FLATTOP]
     hide: part
 -   id: norm_window
     label: Normalize Window Power
@@ -121,6 +124,8 @@ parameters:
     default: qtgui.TRIG_MODE_FREE
     options: [qtgui.TRIG_MODE_FREE, qtgui.TRIG_MODE_AUTO, qtgui.TRIG_MODE_NORM, qtgui.TRIG_MODE_TAG]
     option_labels: [Free, Auto, Normal, Tag]
+    option_attributes:
+        cpp_opts: [qtgui::TRIG_MODE_FREE, qtgui::TRIG_MODE_AUTO, qtgui::TRIG_MODE_NORM, qtgui::TRIG_MODE_TAG]
     hide: part
 -   id: tr_level
     label: Trigger Level
@@ -462,12 +467,12 @@ cpp_templates:
     - set_frequency_range(${fc}, ${bw})
     - set_update_time(${update_time})
     - set_y_axis(${ymin}, ${ymax})
-    - this->${id}.set_trigger_mode(${tr_mode.replace('qtgui.','gr::qtgui::')}, ${tr_level}, ${tr_chan}, ${tr_tag})
+    - this->${id}.set_trigger_mode(${tr_mode.cpp_opts}, ${tr_level}, ${tr_chan}, ${tr_tag})
     link: ['gnuradio::gnuradio-qtgui', 'Qt5::Widgets']
     make:  |-
         this->${id} = qtgui::${type.fcn}::make(
             ${fftsize}, // size
-            gr::fft::${wintype.replace('window.', 'window::')}, //wintype
+            ${wintype.cpp_opts}, // wintype
             ${fc}, // fc
             ${bw}, // bw
             ${name}, // name
@@ -523,7 +528,6 @@ cpp_templates:
         % endif
 
     translations:
-        firdes.: 'filter::firdes::'
         'True': 'true'
         'False': 'false'
 
diff --git a/gr-qtgui/grc/qtgui_sink_x.block.yml b/gr-qtgui/grc/qtgui_sink_x.block.yml
index 64e85e84c3..c0a5bdf6b1 100644
--- a/gr-qtgui/grc/qtgui_sink_x.block.yml
+++ b/gr-qtgui/grc/qtgui_sink_x.block.yml
@@ -26,6 +26,9 @@ parameters:
     options: [window.WIN_BLACKMAN_hARRIS, window.WIN_HAMMING, window.WIN_HANN, window.WIN_BLACKMAN,
         window.WIN_RECTANGULAR, window.WIN_KAISER]
     option_labels: [Blackman-harris, Hamming, Hann, Blackman, Rectangular, Kaiser]
+    option_attributes:
+        cpp_opts: [fft::window::WIN_BLACKMAN_hARRIS, fft::window::WIN_HAMMING, fft::window::WIN_HANN, fft::window::WIN_BLACKMAN,
+        fft::window::WIN_RECTANGULAR, fft::window::WIN_KAISER]
     hide: part
 -   id: fc
     label: Center Frequency (Hz)
@@ -137,7 +140,7 @@ cpp_templates:
   make: |-
     ${id} = gr::qtgui::${type.fcn}::make(
             ${fftsize}, //fftsize
-            gr::fft::${wintype.replace('window.', 'window::')}, //wintype
+            ${wintype.cpp_opts}, // wintype
             ${fc}, //fc
             ${bw}, //bw
             ${name}, //name
diff --git a/gr-qtgui/grc/qtgui_waterfall_sink_x.block.yml b/gr-qtgui/grc/qtgui_waterfall_sink_x.block.yml
index 88358465e6..5b45841c95 100644
--- a/gr-qtgui/grc/qtgui_waterfall_sink_x.block.yml
+++ b/gr-qtgui/grc/qtgui_waterfall_sink_x.block.yml
@@ -38,6 +38,9 @@ parameters:
         window.WIN_RECTANGULAR, window.WIN_KAISER, window.WIN_FLATTOP]
     option_labels: [Blackman-harris, Hamming, Hann, Blackman, Rectangular, Kaiser,
         Flat-top]
+    option_attributes:
+        cpp_opts: [fft::window::WIN_BLACKMAN_hARRIS, fft::window::WIN_HAMMING, fft::window::WIN_HANN, fft::window::WIN_BLACKMAN,
+        fft::window::WIN_RECTANGULAR, fft::window::WIN_KAISER, fft::window::WIN_FLATTOP]
     hide: part
 -   id: fc
     label: Center Frequency (Hz)
@@ -311,7 +314,7 @@ cpp_templates:
     make: |-
         this->${id} = qtgui::${type.fcn}::make(
             ${fftsize}, // size
-            gr::fft::${wintype.replace('window.', 'window::')}, //wintype
+            ${wintype.cpp_opts}, // wintype
             ${fc}, // fc
             ${bw}, // bw
             ${name}, // name
-- 
cgit v1.2.3