43 #include <VisionX/gui-plugins/ImageRecorder/ui_ImageProviderConfigWidget.h>
44 #include <VisionX/interface/core/ImageProviderInterface.h>
50 class ChannelConfigWidget;
51 class ImageRecorderWidgetController;
65 Ui::image_provider_config_widget m_widget;
66 QPointer<armarx::IceProxyFinder<RecordingImageProviderInterfacePrx>> m_ice_proxy_finder;
67 QPointer<QTimer> m_blink_timer;
69 std::string m_image_provider_name;
70 std::vector<ChannelConfigWidget*> m_channel_config_widgets;
71 bool m_icon_blink =
false;
72 std::string m_current_icon_name;
73 std::optional<imrec::State> m_current_state;
74 imrec::Status m_current_status;
79 const std::string& image_provider_name,
80 const visionx::imrec::ChannelConfigs& channel_configs);
95 void build_ui_from_configs(
const std::vector<imrec::ChannelConfig>& configs,
96 const std::vector<imrec::ChannelPreferences>& prefs_list);
98 void add_channel_conf_widget(
const imrec::ChannelConfig& channel_config,
99 const imrec::ChannelPreferences& channel_prefs);
101 void update_channel_list();
103 std::vector<imrec::ChannelPreferences> get_channel_prefs();
105 bool is_channel_name_unique(
const std::string& name);
114 std::optional<imrec::State> new_state);
118 void state_changed(std::optional<imrec::State> old_state,
119 std::optional<imrec::State> new_state);
123 void channel_renamed(
const std::string& old_name,
const std::string& new_name);
125 void image_provider_renamed(
const QString& name);
127 void image_provider_removed();