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 
18  Tab::Tab() : impl(new TabImpl)
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
armarx::RemoteGui::Client::Tab::~Tab
~Tab()
Definition: Tab.cpp:26
armarx::RemoteGui::Client::Tab::remove
void remove()
Definition: Tab.cpp:43
armarx::RemoteGui::Client::Tab
Definition: Tab.h:15
armarx::RemoteGui::Client::Tab::impl
std::unique_ptr< TabImpl > impl
Definition: Tab.h:33
armarx::RemoteGui::Client::Widget::impl
std::shared_ptr< WidgetImpl > impl
Definition: Widgets.h:28
armarx::RemoteGui::Client::Tab::sendUpdates
void sendUpdates()
Definition: Tab.cpp:55
Tab.h
armarx::RemoteGui::TabProxy
Definition: WidgetProxy.h:17
armarx::RemoteGui::Client::Widget
Definition: Widgets.h:21
armarx::RemoteGui::Client::Tab::create
void create(std::string const &name, Ice::ObjectPrx const &remoteGuiObject, Widget const &rootWidget)
Definition: Tab.cpp:31
armarx::RemoteGui::Client::Tab::Tab
Tab()
Definition: Tab.cpp:18
std
Definition: Application.h:66
armarx::RemoteGui::Client::TabImpl
Definition: Impl.h:64
Widgets.h
armarx::RemoteGui::Client::Tab::receiveUpdates
void receiveUpdates()
Definition: Tab.cpp:49
armarx::RemoteGui::Client
Definition: EigenWidgets.cpp:8
Impl.h