Tab.cpp
Go to the documentation of this file.
1#include "Tab.h"
2
3#include "Impl.h"
4#include "Widgets.h"
5
7{
8 static void
9 initializeTab(WidgetImpl& widget, RemoteGui::TabProxy* tab)
10 {
11 widget.tab = tab;
12 for (auto& child : widget.children)
13 {
14 initializeTab(*child, tab);
15 }
16 }
17
19 {
20 }
21
22 Tab::Tab(Tab&& other) : impl(std::move(other.impl))
23 {
24 }
25
27 {
28 }
29
30 void
31 Tab::create(const std::string& name,
32 const Ice::ObjectPrx& remoteGuiObject,
33 const Widget& rootWidget)
34 {
35 RemoteGuiInterfacePrx remoteGui = RemoteGuiInterfacePrx::checkedCast(remoteGuiObject);
36 remoteGui->createTab(name, rootWidget.impl->desc);
37
38 impl->proxy = RemoteGui::TabProxy(remoteGui, name);
39 initializeTab(*rootWidget.impl, &impl->proxy);
40 }
41
42 void
44 {
45 impl->proxy.remove();
46 }
47
48 void
50 {
51 impl->proxy.receiveUpdates();
52 }
53
54 void
56 {
57 impl->proxy.sendUpdates();
58 }
59
60} // namespace armarx::RemoteGui::Client
std::unique_ptr< TabImpl > impl
Definition Tab.h:33
void create(std::string const &name, Ice::ObjectPrx const &remoteGuiObject, Widget const &rootWidget)
Definition Tab.cpp:31
std::shared_ptr< WidgetImpl > impl
Definition Widgets.h:28