Tab.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <string>
5
6#include <Ice/Object.h>
7
9{
10
11 struct Widget;
12
13 struct TabImpl;
14
15 struct Tab
16 {
17 Tab();
18
19 Tab(Tab&& other);
20
21 ~Tab();
22
23 void create(std::string const& name,
24 Ice::ObjectPrx const& remoteGuiObject,
25 Widget const& rootWidget);
26
27 void remove();
28
29 void receiveUpdates();
30
31 void sendUpdates();
32
33 std::unique_ptr<TabImpl> impl;
34 };
35
36 // We take the ObjectPrx because we can no longer include our own Ice interface header
37 // since it includes a lot of C++ headers which cause massive compile times.
38 // So we do this in a type-unsafe manner :(
39 void createTab(Ice::ObjectPrx const& remoteGuiObject,
40 std::string const& tabName,
41 Widget const& rootWidget);
42
43} // namespace armarx::RemoteGui::Client
void createTab(Ice::ObjectPrx const &remoteGuiObject, std::string const &tabName, Widget const &rootWidget)
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