20 template <
typename HandlerT>
26 register_.emplace(
typeid(
typename WidgetHandler::RemoteWidgetT), &handler);
34 registerHandler<CheckBoxHandler>(result);
35 registerHandler<ToggleButtonHandler>(result);
36 registerHandler<ButtonHandler>(result);
38 registerHandler<IntSpinBoxHandler>(result);
39 registerHandler<IntSliderHandler>(result);
40 registerHandler<FloatSpinBoxHandler>(result);
41 registerHandler<FloatSliderHandler>(result);
43 registerHandler<LabelHandler>(result);
44 registerHandler<LineEditHandler>(result);
45 registerHandler<ComboBoxHandler>(result);
47 registerHandler<GroupBoxHandler>(result);
48 registerHandler<VBoxLayoutHandler>(result);
49 registerHandler<HBoxLayoutHandler>(result);
50 registerHandler<SimpleGridLayoutSpanningChildHandler>(result);
51 registerHandler<SimpleGridLayoutHandler>(result);
52 registerHandler<GridLayoutHandler>(result);
54 registerHandler<HSpacerHandler>(result);
55 registerHandler<VSpacerHandler>(result);
56 registerHandler<HLineHandler>(result);
57 registerHandler<VLineHandler>(result);
58 registerHandler<EmptyWidgetHandler>(result);
60 registerHandler<Vector3fSpinBoxesHandler>(result);
61 registerHandler<PosRPYSpinBoxesHandler>(result);
71 auto descPtr = desc.get();
74 std::type_info
const& typeInfo =
typeid(*descPtr);
76 auto iter = widgetRegister.find(typeInfo);
77 if (iter == widgetRegister.end())
79 throw armarx::LocalException()
83 for (
const auto& [tid, _] : widgetRegister)
90 auto& widgetHandler = iter->second;
93 return *widgetHandler;