Gui.hh
Go to the documentation of this file.
1 /*
2  * Copyright 2018 Open Source Robotics Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17 #ifndef SDF_GUI_HH_
18 #define SDF_GUI_HH_
19 
20 #include <gz/utils/ImplPtr.hh>
21 #include "sdf/Element.hh"
22 #include "sdf/Plugin.hh"
23 #include "sdf/Types.hh"
24 #include "sdf/sdf_config.h"
25 #include "sdf/system_util.hh"
26 
27 namespace sdf
28 {
29  // Inline bracket to help doxygen filtering.
30  inline namespace SDF_VERSION_NAMESPACE {
32  {
34  public: Gui();
35 
42  public: Errors Load(ElementPtr _sdf);
43 
46  public: bool Fullscreen() const;
47 
51  public: void SetFullscreen(const bool _fullscreen);
52 
57  public: bool operator==(const Gui &_gui) const;
58 
63  public: sdf::ElementPtr Element() const;
64 
70  public: sdf::ElementPtr ToElement() const;
71 
74  public: uint64_t PluginCount() const;
75 
81  public: const Plugin *PluginByIndex(const uint64_t _index) const;
82 
84  public: void ClearPlugins();
85 
88  public: void AddPlugin(const Plugin &_plugin);
89 
93  public: const sdf::Plugins &Plugins() const;
94 
98  public: sdf::Plugins &Plugins();
99 
101  GZ_UTILS_IMPL_PTR(dataPtr)
102  };
103  }
104 }
105 #endif
Definition: Gui.hh:32
Errors Load(ElementPtr _sdf)
Load the gui based on a element pointer.
void ClearPlugins()
Remove all plugins.
void AddPlugin(const Plugin &_plugin)
Add a plugin to this object.
const Plugin * PluginByIndex(const uint64_t _index) const
Get a plugin based on an index.
Gui()
Default constructor.
sdf::ElementPtr Element() const
Get a pointer to the SDF element that was used during load.
const sdf::Plugins & Plugins() const
Get the plugins attached to this object.
bool operator==(const Gui &_gui) const
Equality operator that returns true if this Gui instance equals the given Gui instance.
bool Fullscreen() const
Get whether the Gui should be fullscreen.
void SetFullscreen(const bool _fullscreen)
Set whether the Gui should be full screen.
sdf::Plugins & Plugins()
Get a mutable vector of plugins attached to this object.
uint64_t PluginCount() const
Get the number of plugins.
sdf::ElementPtr ToElement() const
Create and return an SDF element filled with data from this gui.
Definition: Plugin.hh:46
std::vector< Plugin > Plugins
A vector of Plugin.
Definition: Plugin.hh:245
std::vector< Error > Errors
A vector of Error.
Definition: Types.hh:95
std::shared_ptr< Element > ElementPtr
Definition: Element.hh:55
namespace for Simulation Description Format parser
Definition: Actor.hh:35
#define SDFORMAT_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system_util.hh:25