更完
This commit is contained in:
@@ -169,6 +169,57 @@ auto color(std::string name, std::string label) {
|
||||
return editable<Member>(std::move(name), std::move(label), adminive::Field_Control::color);
|
||||
}
|
||||
|
||||
template <class Object, auto Member>
|
||||
auto property(std::string name, std::string label, adminive::Field_Control control) {
|
||||
return adminive::field(std::move(name), std::move(label),
|
||||
Gallery_Property_Accessor<Object, Member>{})
|
||||
.editable()
|
||||
.unsynchronized()
|
||||
.control(control);
|
||||
}
|
||||
|
||||
template <class Object, auto Member>
|
||||
auto readonly_property(std::string name, std::string label) {
|
||||
return adminive::field(std::move(name), std::move(label),
|
||||
Gallery_Property_Accessor<Object, Member>{});
|
||||
}
|
||||
|
||||
template <class Object, auto Member>
|
||||
auto property_number(std::string name, std::string label) {
|
||||
return property<Object, Member>(std::move(name), std::move(label),
|
||||
adminive::Field_Control::number);
|
||||
}
|
||||
|
||||
template <class Object, auto Member>
|
||||
auto property_boolean(std::string name, std::string label) {
|
||||
return property<Object, Member>(std::move(name), std::move(label),
|
||||
adminive::Field_Control::boolean);
|
||||
}
|
||||
|
||||
template <class Object, auto Member>
|
||||
auto property_select(std::string name, std::string label) {
|
||||
return property<Object, Member>(std::move(name), std::move(label),
|
||||
adminive::Field_Control::select);
|
||||
}
|
||||
|
||||
template <class Object, auto Member>
|
||||
auto property_color(std::string name, std::string label) {
|
||||
return property<Object, Member>(std::move(name), std::move(label),
|
||||
adminive::Field_Control::color);
|
||||
}
|
||||
|
||||
template <class Object, auto Member>
|
||||
auto property_object(std::string name, std::string label) {
|
||||
return property<Object, Member>(std::move(name), std::move(label),
|
||||
adminive::Field_Control::automatic);
|
||||
}
|
||||
|
||||
template <class Object, auto Member>
|
||||
auto property_text(std::string name, std::string label) {
|
||||
return property<Object, Member>(std::move(name), std::move(label),
|
||||
adminive::Field_Control::text);
|
||||
}
|
||||
|
||||
} // namespace renderive::web::gallery_adminive
|
||||
|
||||
namespace adminive {
|
||||
@@ -295,7 +346,7 @@ struct Type_Descriptor<renderive::Range> {
|
||||
static auto get() {
|
||||
using T = renderive::Range;
|
||||
using namespace renderive::web::gallery_adminive;
|
||||
return object<T>("range", "Range",
|
||||
return adminive::object<T>("range", "Range",
|
||||
number<&T::origin>("origin", "Origin"),
|
||||
number<&T::target>("target", "Target"));
|
||||
}
|
||||
@@ -306,7 +357,7 @@ struct Type_Descriptor<renderive::Pen> {
|
||||
static auto get() {
|
||||
using T = renderive::Pen;
|
||||
using namespace renderive::web::gallery_adminive;
|
||||
return object<T>("pen", "Pen",
|
||||
return adminive::object<T>("pen", "Pen",
|
||||
color<&T::color>("color", "Color"),
|
||||
number<&T::width>("width", "Width"),
|
||||
select<&T::style>("style", "Style"),
|
||||
@@ -320,7 +371,7 @@ struct Type_Descriptor<renderive::Brush> {
|
||||
static auto get() {
|
||||
using T = renderive::Brush;
|
||||
using namespace renderive::web::gallery_adminive;
|
||||
return object<T>("brush", "Brush",
|
||||
return adminive::object<T>("brush", "Brush",
|
||||
color<&T::color>("color", "Color"),
|
||||
select<&T::style>("style", "Style"));
|
||||
}
|
||||
@@ -331,158 +382,158 @@ struct Type_Descriptor<renderive::Font> {
|
||||
static auto get() {
|
||||
using T = renderive::Font;
|
||||
using namespace renderive::web::gallery_adminive;
|
||||
return object<T>("font", "Font",
|
||||
return adminive::object<T>("font", "Font",
|
||||
number<&T::size>("size", "Size"),
|
||||
number<&T::weight>("weight", "Weight"),
|
||||
boolean<&T::italic>("italic", "Italic"));
|
||||
}
|
||||
};
|
||||
|
||||
#define RENDERIVE_AXIS_DESCRIPTOR(GalleryType, Name, Label) \
|
||||
template <> struct Type_Descriptor<renderive::web::GalleryType> { \
|
||||
static auto get() { \
|
||||
using T = renderive::web::GalleryType; \
|
||||
using B = renderive::Axis_Base_Properties; \
|
||||
using P = renderive::Axis_Properties; \
|
||||
using namespace renderive::web::gallery_adminive; \
|
||||
return adminive::object<T>(Name, Label, \
|
||||
readonly_property<T, &B::x>("x", "X"), \
|
||||
readonly_property<T, &B::y>("y", "Y"), \
|
||||
property_select<T, &B::orientation>("orientation", "Orientation"), \
|
||||
readonly_property<T, &B::pixel_length>("pixel_length", "Pixel length"), \
|
||||
property_number<T, &B::tick_length>("tick_length", "Tick length"), \
|
||||
property_number<T, &B::sub_tick_length>("sub_tick_length", "Sub tick length"), \
|
||||
property_color<T, &B::color>("color", "Color"), \
|
||||
property_select<T, &B::locale>("locale", "Decimal separator"), \
|
||||
property_text<T, &B::unit_text>("unit_text", "Unit text"), \
|
||||
property_object<T, &B::unit_text_font>("unit_text_font", "Unit font"), \
|
||||
property_object<T, &B::unit_text_pen>("unit_text_pen", "Unit pen"), \
|
||||
property_object<T, &B::unit_text_background_brush>("unit_text_background_brush", "Unit background"), \
|
||||
property_number<T, &B::label_rotation_degrees>("label_rotation_degrees", "Label rotation"), \
|
||||
property_object<T, &P::coordinates>("coordinates", "Coordinates"), \
|
||||
property_number<T, &P::precision>("precision", "Precision"), \
|
||||
property_boolean<T, &P::wheel>("wheel", "Wheel zoom"), \
|
||||
property_boolean<T, &P::drag>("drag", "Drag pan")); \
|
||||
} \
|
||||
}
|
||||
|
||||
RENDERIVE_AXIS_DESCRIPTOR(Gallery_Axis, "gallery_axis", "Axis");
|
||||
RENDERIVE_AXIS_DESCRIPTOR(Gallery_Frequency_Axis, "gallery_frequency_axis", "Frequency axis");
|
||||
#undef RENDERIVE_AXIS_DESCRIPTOR
|
||||
|
||||
template <>
|
||||
struct Type_Descriptor<renderive::Axis_Properties> {
|
||||
struct Type_Descriptor<renderive::web::Gallery_Time_Axis> {
|
||||
static auto get() {
|
||||
using T = renderive::Axis_Properties;
|
||||
using T = renderive::web::Gallery_Time_Axis;
|
||||
using B = renderive::Axis_Base_Properties;
|
||||
using P = renderive::Time_Axis_Properties;
|
||||
using namespace renderive::web::gallery_adminive;
|
||||
return object<T>("axis_properties", "Axis",
|
||||
select<&B::orientation>("orientation", "Orientation"),
|
||||
number<&B::tick_length>("tick_length", "Tick length"),
|
||||
number<&B::sub_tick_length>("sub_tick_length", "Sub tick length"),
|
||||
color<&B::color>("color", "Color"),
|
||||
select<&B::locale>("locale", "Decimal separator"),
|
||||
editable<&B::unit_text>("unit_text", "Unit text", Field_Control::text),
|
||||
editable<&B::unit_text_font>("unit_text_font", "Unit font", Field_Control::automatic),
|
||||
editable<&B::unit_text_pen>("unit_text_pen", "Unit pen", Field_Control::automatic),
|
||||
editable<&B::unit_text_background_brush>("unit_text_background_brush", "Unit background", Field_Control::automatic),
|
||||
number<&B::label_rotation_degrees>("label_rotation_degrees", "Label rotation"),
|
||||
editable<&T::coordinates>("coordinates", "Coordinates", Field_Control::automatic),
|
||||
number<&T::precision>("precision", "Precision"),
|
||||
boolean<&T::wheel>("wheel", "Wheel zoom"),
|
||||
boolean<&T::drag>("drag", "Drag pan"));
|
||||
return adminive::object<T>("gallery_time_axis", "Time axis",
|
||||
readonly_property<T, &B::x>("x", "X"),
|
||||
readonly_property<T, &B::y>("y", "Y"),
|
||||
property_select<T, &B::orientation>("orientation", "Orientation"),
|
||||
readonly_property<T, &B::pixel_length>("pixel_length", "Pixel length"),
|
||||
property_number<T, &B::tick_length>("tick_length", "Tick length"),
|
||||
property_number<T, &B::sub_tick_length>("sub_tick_length", "Sub tick length"),
|
||||
property_color<T, &B::color>("color", "Color"),
|
||||
property_select<T, &B::locale>("locale", "Decimal separator"),
|
||||
property_text<T, &B::unit_text>("unit_text", "Unit text"),
|
||||
property_object<T, &B::unit_text_font>("unit_text_font", "Unit font"),
|
||||
property_object<T, &B::unit_text_pen>("unit_text_pen", "Unit pen"),
|
||||
property_object<T, &B::unit_text_background_brush>("unit_text_background_brush", "Unit background"),
|
||||
property_number<T, &B::label_rotation_degrees>("label_rotation_degrees", "Label rotation"),
|
||||
property_number<T, &P::visible_count>("visible_count", "Visible points"),
|
||||
property_number<T, &P::tick_label_spacing_px>("tick_label_spacing_px", "Label spacing"),
|
||||
property_text<T, &P::format>("format", "Time format"),
|
||||
property_boolean<T, &P::newest_at_start>("newest_at_start", "Newest at start"));
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct Type_Descriptor<renderive::Time_Axis_Properties> {
|
||||
static auto get() {
|
||||
using T = renderive::Time_Axis_Properties;
|
||||
using B = renderive::Axis_Base_Properties;
|
||||
using namespace renderive::web::gallery_adminive;
|
||||
return object<T>("time_axis_properties", "Time axis",
|
||||
select<&B::orientation>("orientation", "Orientation"),
|
||||
number<&B::tick_length>("tick_length", "Tick length"),
|
||||
number<&B::sub_tick_length>("sub_tick_length", "Sub tick length"),
|
||||
color<&B::color>("color", "Color"),
|
||||
editable<&B::unit_text>("unit_text", "Unit text", Field_Control::text),
|
||||
editable<&B::unit_text_font>("unit_text_font", "Unit font", Field_Control::automatic),
|
||||
number<&T::visible_count>("visible_count", "Visible points"),
|
||||
number<&T::tick_label_spacing_px>("tick_label_spacing_px", "Label spacing"),
|
||||
editable<&T::format>("format", "Time format", Field_Control::text),
|
||||
boolean<&T::newest_at_start>("newest_at_start", "Newest at start"));
|
||||
}
|
||||
};
|
||||
|
||||
#define RENDERIVE_PROPERTY_DESCRIPTOR(Type, Label, ...) \
|
||||
template <> struct Type_Descriptor<renderive::Type> { \
|
||||
static auto get() { using T = renderive::Type; using namespace renderive::web::gallery_adminive; \
|
||||
return object<T>(#Type, Label, __VA_ARGS__); } }
|
||||
|
||||
RENDERIVE_PROPERTY_DESCRIPTOR(Spectrum_Properties, "Spectrum",
|
||||
number<&T::frequency_point_size>("frequency_point_size", "Frequency points"),
|
||||
editable<&T::frequency_range>("frequency_range", "Frequency range", Field_Control::automatic),
|
||||
number<&T::center_frequency>("center_frequency", "Center frequency"),
|
||||
editable<&T::sweep_frequency_range>("sweep_frequency_range", "Sweep range", Field_Control::automatic),
|
||||
boolean<&T::max_hold_visible>("max_hold_visible", "Max hold"),
|
||||
boolean<&T::min_hold_visible>("min_hold_visible", "Min hold"),
|
||||
boolean<&T::max_marker_visible>("max_marker_visible", "Max marker"),
|
||||
boolean<&T::use_min_marker>("use_min_marker", "Use min marker"),
|
||||
boolean<&T::sweep_region_visible>("sweep_region_visible", "Sweep region"),
|
||||
boolean<&T::visible_range_only>("visible_range_only", "Visible range only"),
|
||||
select<&T::interpolation_mode>("interpolation_mode", "Interpolation"),
|
||||
editable<&T::max_brush>("max_brush", "Max brush", Field_Control::automatic),
|
||||
editable<&T::current_brush>("current_brush", "Current brush", Field_Control::automatic),
|
||||
editable<&T::min_brush>("min_brush", "Min brush", Field_Control::automatic),
|
||||
editable<&T::max_pen>("max_pen", "Max pen", Field_Control::automatic),
|
||||
editable<&T::current_pen>("current_pen", "Current pen", Field_Control::automatic),
|
||||
editable<&T::min_pen>("min_pen", "Min pen", Field_Control::automatic),
|
||||
editable<&T::selected_marker_pen>("selected_marker_pen", "Selected marker pen", Field_Control::automatic),
|
||||
editable<&T::marker_pen>("marker_pen", "Marker pen", Field_Control::automatic),
|
||||
editable<&T::middle_frequency_pen>("middle_frequency_pen", "Middle frequency pen", Field_Control::automatic),
|
||||
editable<&T::sweep_region_brush>("sweep_region_brush", "Sweep region brush", Field_Control::automatic),
|
||||
boolean<&T::tooltip_enabled>("tooltip_enabled", "Tooltip"),
|
||||
editable<&T::tooltip_font>("tooltip_font", "Tooltip font", Field_Control::automatic),
|
||||
editable<&T::tooltip_text_pen>("tooltip_text_pen", "Tooltip text pen", Field_Control::automatic),
|
||||
editable<&T::tooltip_background_brush>("tooltip_background_brush", "Tooltip background", Field_Control::automatic));
|
||||
|
||||
RENDERIVE_PROPERTY_DESCRIPTOR(Waterfall_Properties, "Waterfall",
|
||||
editable<&T::frequency_range>("frequency_range", "Frequency range", Field_Control::automatic),
|
||||
editable<&T::power_range>("power_range", "Power range", Field_Control::automatic),
|
||||
number<&T::frequency_bin_count>("frequency_bin_count", "Frequency bins"),
|
||||
boolean<&T::visible_range_only>("visible_range_only", "Visible range only"),
|
||||
select<&T::interpolation_mode>("interpolation_mode", "Interpolation"),
|
||||
select<&T::color_map>("color_map", "Color map"),
|
||||
boolean<&T::tooltip_enabled>("tooltip_enabled", "Tooltip"),
|
||||
editable<&T::tooltip_font>("tooltip_font", "Tooltip font", Field_Control::automatic),
|
||||
editable<&T::tooltip_text_pen>("tooltip_text_pen", "Tooltip text pen", Field_Control::automatic),
|
||||
editable<&T::tooltip_background_brush>("tooltip_background_brush", "Tooltip background", Field_Control::automatic));
|
||||
|
||||
RENDERIVE_PROPERTY_DESCRIPTOR(Afterglow_Properties, "Afterglow",
|
||||
editable<&T::frequency_range>("frequency_range", "Frequency range", Field_Control::automatic),
|
||||
editable<&T::power_range>("power_range", "Power range", Field_Control::automatic),
|
||||
number<&T::frequency_point_size>("frequency_point_size", "Frequency points"),
|
||||
number<&T::power_point_size>("power_point_size", "Power points"),
|
||||
boolean<&T::interpolate>("interpolate", "Interpolate power"),
|
||||
number<&T::attenuation_rate>("attenuation_rate", "Attenuation"),
|
||||
select<&T::color_map>("color_map", "Color map"));
|
||||
|
||||
RENDERIVE_PROPERTY_DESCRIPTOR(Sweep_Spectrum_Properties, "Sweep spectrum",
|
||||
editable<&T::frequency_range>("frequency_range", "Frequency range", Field_Control::automatic),
|
||||
number<&T::bins_per_block>("bins_per_block", "Bins per block"),
|
||||
number<&T::block_count>("block_count", "Block count"),
|
||||
editable<&T::pen>("pen", "Sweep pen", Field_Control::automatic),
|
||||
editable<&T::current_frequency_pen>("current_frequency_pen", "Current frequency pen", Field_Control::automatic),
|
||||
boolean<&T::visible_range_only>("visible_range_only", "Visible range only"),
|
||||
select<&T::interpolation_mode>("interpolation_mode", "Interpolation"));
|
||||
|
||||
RENDERIVE_PROPERTY_DESCRIPTOR(Frequency_Trace_Properties, "Frequency trace",
|
||||
editable<&T::pen>("pen", "Trace pen", Field_Control::automatic));
|
||||
|
||||
RENDERIVE_PROPERTY_DESCRIPTOR(Selection_Rectangle_Overlay_Properties, "Selection overlay",
|
||||
editable<&T::label_font>("label_font", "Label font", Field_Control::automatic),
|
||||
editable<&T::label_pen>("label_pen", "Label pen", Field_Control::automatic),
|
||||
editable<&T::selection_brush>("selection_brush", "Selection brush", Field_Control::automatic),
|
||||
editable<&T::selection_border_pen>("selection_border_pen", "Selection border", Field_Control::automatic));
|
||||
|
||||
RENDERIVE_PROPERTY_DESCRIPTOR(Constellation_Diagram_Properties, "Constellation diagram",
|
||||
editable<&T::i_range>("i_range", "I range", Field_Control::automatic),
|
||||
editable<&T::q_range>("q_range", "Q range", Field_Control::automatic),
|
||||
color<&T::point_color>("point_color", "Point color"),
|
||||
color<&T::anchor_color>("anchor_color", "Anchor color"),
|
||||
number<&T::point_lifetime_ms>("point_lifetime_ms", "Point lifetime"),
|
||||
select<&T::type>("type", "Constellation"),
|
||||
number<&T::phase_offset_radians>("phase_offset_radians", "Phase offset"));
|
||||
|
||||
#undef RENDERIVE_PROPERTY_DESCRIPTOR
|
||||
|
||||
#define RENDERIVE_OBJECT_ADAPTER(GalleryType, PropertiesType) \
|
||||
template <> struct Object_Adapter<renderive::web::GalleryType> { \
|
||||
using object_type = renderive::web::GalleryType; \
|
||||
using model_type = renderive::PropertiesType; \
|
||||
static model_type snapshot(const object_type& value) { return value.adminive_snapshot(); } \
|
||||
static void commit(object_type& target, model_type value) { target.adminive_commit(std::move(value)); } \
|
||||
#define RENDERIVE_GALLERY_DESCRIPTOR(GalleryType, PropertiesType, Label, ...) \
|
||||
template <> struct Type_Descriptor<renderive::web::GalleryType> { \
|
||||
static auto get() { \
|
||||
using T = renderive::web::GalleryType; \
|
||||
using P = renderive::PropertiesType; \
|
||||
using namespace renderive::web::gallery_adminive; \
|
||||
return adminive::object<T>(#GalleryType, Label, __VA_ARGS__); \
|
||||
} \
|
||||
}
|
||||
|
||||
RENDERIVE_OBJECT_ADAPTER(Gallery_Spectrum, Spectrum_Properties);
|
||||
RENDERIVE_OBJECT_ADAPTER(Gallery_Waterfall, Waterfall_Properties);
|
||||
RENDERIVE_OBJECT_ADAPTER(Gallery_Afterglow, Afterglow_Properties);
|
||||
RENDERIVE_OBJECT_ADAPTER(Gallery_Sweep_Spectrum, Sweep_Spectrum_Properties);
|
||||
RENDERIVE_OBJECT_ADAPTER(Gallery_Frequency_Trace, Frequency_Trace_Properties);
|
||||
RENDERIVE_OBJECT_ADAPTER(Gallery_Selection_Rectangle_Overlay, Selection_Rectangle_Overlay_Properties);
|
||||
RENDERIVE_OBJECT_ADAPTER(Gallery_Constellation_Diagram, Constellation_Diagram_Properties);
|
||||
RENDERIVE_OBJECT_ADAPTER(Gallery_Axis, Axis_Properties);
|
||||
RENDERIVE_OBJECT_ADAPTER(Gallery_Frequency_Axis, Axis_Properties);
|
||||
RENDERIVE_OBJECT_ADAPTER(Gallery_Time_Axis, Time_Axis_Properties);
|
||||
RENDERIVE_GALLERY_DESCRIPTOR(Gallery_Spectrum, Spectrum_Properties, "Spectrum",
|
||||
property_number<T, &P::frequency_point_size>("frequency_point_size", "Frequency points"),
|
||||
property_object<T, &P::frequency_range>("frequency_range", "Frequency range"),
|
||||
property_number<T, &P::center_frequency>("center_frequency", "Center frequency"),
|
||||
property_object<T, &P::sweep_frequency_range>("sweep_frequency_range", "Sweep range"),
|
||||
property_boolean<T, &P::max_hold_visible>("max_hold_visible", "Max hold"),
|
||||
property_boolean<T, &P::min_hold_visible>("min_hold_visible", "Min hold"),
|
||||
property_boolean<T, &P::max_marker_visible>("max_marker_visible", "Max marker"),
|
||||
property_boolean<T, &P::use_min_marker>("use_min_marker", "Use min marker"),
|
||||
property_boolean<T, &P::sweep_region_visible>("sweep_region_visible", "Sweep region"),
|
||||
property_boolean<T, &P::visible_range_only>("visible_range_only", "Visible range only"),
|
||||
property_select<T, &P::interpolation_mode>("interpolation_mode", "Interpolation"),
|
||||
property_object<T, &P::max_brush>("max_brush", "Max brush"),
|
||||
property_object<T, &P::current_brush>("current_brush", "Current brush"),
|
||||
property_object<T, &P::min_brush>("min_brush", "Min brush"),
|
||||
property_object<T, &P::max_pen>("max_pen", "Max pen"),
|
||||
property_object<T, &P::current_pen>("current_pen", "Current pen"),
|
||||
property_object<T, &P::min_pen>("min_pen", "Min pen"),
|
||||
property_object<T, &P::selected_marker_pen>("selected_marker_pen", "Selected marker pen"),
|
||||
property_object<T, &P::marker_pen>("marker_pen", "Marker pen"),
|
||||
property_object<T, &P::middle_frequency_pen>("middle_frequency_pen", "Middle frequency pen"),
|
||||
property_object<T, &P::sweep_region_brush>("sweep_region_brush", "Sweep region brush"),
|
||||
property_boolean<T, &P::tooltip_enabled>("tooltip_enabled", "Tooltip"),
|
||||
property_object<T, &P::tooltip_font>("tooltip_font", "Tooltip font"),
|
||||
property_object<T, &P::tooltip_text_pen>("tooltip_text_pen", "Tooltip text pen"),
|
||||
property_object<T, &P::tooltip_background_brush>("tooltip_background_brush", "Tooltip background"));
|
||||
|
||||
#undef RENDERIVE_OBJECT_ADAPTER
|
||||
RENDERIVE_GALLERY_DESCRIPTOR(Gallery_Waterfall, Waterfall_Properties, "Waterfall",
|
||||
property_object<T, &P::frequency_range>("frequency_range", "Frequency range"),
|
||||
property_object<T, &P::power_range>("power_range", "Power range"),
|
||||
property_number<T, &P::frequency_bin_count>("frequency_bin_count", "Frequency bins"),
|
||||
property_boolean<T, &P::visible_range_only>("visible_range_only", "Visible range only"),
|
||||
property_select<T, &P::interpolation_mode>("interpolation_mode", "Interpolation"),
|
||||
property_select<T, &P::color_map>("color_map", "Color map"),
|
||||
property_boolean<T, &P::tooltip_enabled>("tooltip_enabled", "Tooltip"),
|
||||
property_object<T, &P::tooltip_font>("tooltip_font", "Tooltip font"),
|
||||
property_object<T, &P::tooltip_text_pen>("tooltip_text_pen", "Tooltip text pen"),
|
||||
property_object<T, &P::tooltip_background_brush>("tooltip_background_brush", "Tooltip background"));
|
||||
|
||||
RENDERIVE_GALLERY_DESCRIPTOR(Gallery_Afterglow, Afterglow_Properties, "Afterglow",
|
||||
property_object<T, &P::frequency_range>("frequency_range", "Frequency range"),
|
||||
property_object<T, &P::power_range>("power_range", "Power range"),
|
||||
property_number<T, &P::frequency_point_size>("frequency_point_size", "Frequency points"),
|
||||
property_number<T, &P::power_point_size>("power_point_size", "Power points"),
|
||||
property_boolean<T, &P::interpolate>("interpolate", "Interpolate power"),
|
||||
property_number<T, &P::attenuation_rate>("attenuation_rate", "Attenuation"),
|
||||
property_select<T, &P::color_map>("color_map", "Color map"));
|
||||
|
||||
RENDERIVE_GALLERY_DESCRIPTOR(Gallery_Sweep_Spectrum, Sweep_Spectrum_Properties, "Sweep spectrum",
|
||||
property_object<T, &P::frequency_range>("frequency_range", "Frequency range"),
|
||||
property_number<T, &P::bins_per_block>("bins_per_block", "Bins per block"),
|
||||
property_number<T, &P::block_count>("block_count", "Block count"),
|
||||
property_object<T, &P::pen>("pen", "Sweep pen"),
|
||||
property_object<T, &P::current_frequency_pen>("current_frequency_pen", "Current frequency pen"),
|
||||
property_boolean<T, &P::visible_range_only>("visible_range_only", "Visible range only"),
|
||||
property_select<T, &P::interpolation_mode>("interpolation_mode", "Interpolation"));
|
||||
|
||||
RENDERIVE_GALLERY_DESCRIPTOR(Gallery_Frequency_Trace, Frequency_Trace_Properties, "Frequency trace",
|
||||
property_object<T, &P::pen>("pen", "Trace pen"));
|
||||
|
||||
RENDERIVE_GALLERY_DESCRIPTOR(Gallery_Selection_Rectangle_Overlay, Selection_Rectangle_Overlay_Properties, "Selection overlay",
|
||||
property_object<T, &P::label_font>("label_font", "Label font"),
|
||||
property_object<T, &P::label_pen>("label_pen", "Label pen"),
|
||||
property_object<T, &P::selection_brush>("selection_brush", "Selection brush"),
|
||||
property_object<T, &P::selection_border_pen>("selection_border_pen", "Selection border"));
|
||||
|
||||
RENDERIVE_GALLERY_DESCRIPTOR(Gallery_Constellation_Diagram, Constellation_Diagram_Properties, "Constellation diagram",
|
||||
property_object<T, &P::i_range>("i_range", "I range"),
|
||||
property_object<T, &P::q_range>("q_range", "Q range"),
|
||||
property_color<T, &P::point_color>("point_color", "Point color"),
|
||||
property_color<T, &P::anchor_color>("anchor_color", "Anchor color"),
|
||||
property_number<T, &P::point_lifetime_ms>("point_lifetime_ms", "Point lifetime"),
|
||||
property_select<T, &P::type>("type", "Constellation"),
|
||||
property_number<T, &P::phase_offset_radians>("phase_offset_radians", "Phase offset"));
|
||||
|
||||
#undef RENDERIVE_GALLERY_DESCRIPTOR
|
||||
|
||||
} // namespace adminive
|
||||
|
||||
Reference in New Issue
Block a user