settings.hh
Go to the documentation of this file.
1 // Copyright (c) 2015-2018, LAAS-CNRS
2 // Authors: Joseph Mirabel (joseph.mirabel@laas.fr)
3 //
4 // This file is part of gepetto-viewer.
5 // gepetto-viewer is free software: you can redistribute it
6 // and/or modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation, either version
8 // 3 of the License, or (at your option) any later version.
9 //
10 // gepetto-viewer is distributed in the hope that it will be
11 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 // General Lesser Public License for more details. You should have
14 // received a copy of the GNU Lesser General Public License along with
15 // gepetto-viewer. If not, see <http://www.gnu.org/licenses/>.
16 
17 #ifndef GEPETTO_GUI_SETTINGS_HH
18 #define GEPETTO_GUI_SETTINGS_HH
19 
20 #include <ostream>
21 #include <string>
22 #include <QString>
23 #include <QStringList>
24 
26 
27 namespace gepetto {
28  namespace gui {
29  class MainWindow;
30 
37  struct Settings {
38  std::string configurationFile;
39  std::string predifinedRobotConf;
40  std::string predifinedEnvConf;
41  std::string stateConf;
42 
43  bool verbose;
44  bool noPlugin;
47 
49 
52 
55  QString avconv;
56  QStringList avConvInputOptions;
57  QStringList avConvOutputOptions;
59 
61 
62  QString appStyle;
63 
65  Settings (const char* installDirectory);
66 
71  void setupPaths () const;
72 
74  QString getQSettingsFileName (const std::string& settingsName) const;
75 
85  int initSettings (int argc, char * argv[]);
86 
88  void fromFiles ();
89 
91  void writeSettings ();
92 
94  QVariant getSetting (const QString & key,
95  const QVariant & defaultValue = QVariant());
96 
98  QStringList pluginsToInit_;
99  QStringList pyplugins_;
100  QStringList pyscripts_;
101 
102  void setMainWindow (MainWindow* main);
103 
104  void initPlugins ();
105 
106  std::ostream& print (std::ostream& os);
107 
109  void readRobotFile ();
111  void readEnvFile ();
132  void readSettingFile ();
133 
134  void saveState () const;
135  void restoreState () const;
136  void restoreDockWidgetsState () const;
137 
138  void writeRobotFile ();
139  void writeEnvFile ();
140  void writeSettingFile ();
141 
142  const char** makeOmniORBargs (int &argc);
143 
144  private:
145  void addRobotFromString (const std::string& rbtStr);
146  void addEnvFromString (const std::string& envStr);
147  void addPlugin (const QString& plg, bool init);
148  void addPyPlugin (const QString& plg, bool init);
149  void addPyScript (const QString& fileName);
150  void addOmniORB (const QString& arg, const QString& value);
151 
152  inline void log (const QString& t);
153  inline void logError (const QString& t);
154 
155  MainWindow* mw;
156  QStringList omniORBargv_;
157  };
158  } // namespace gui
159 } // namespace gepetto
160 
161 #endif // GEPETTO_GUI_SETTINGS_HH
gepetto::gui::Settings::restoreState
void restoreState() const
gepetto::gui::Settings::writeRobotFile
void writeRobotFile()
gepetto::gui::Settings::appStyle
QString appStyle
Definition: settings.hh:62
gepetto::gui::Settings::avConvInputOptions
QStringList avConvInputOptions
Definition: settings.hh:56
gepetto::gui::Settings::configurationFile
std::string configurationFile
Definition: settings.hh:38
gepetto::gui::Settings::refreshRate
int refreshRate
Definition: settings.hh:48
gepetto
Definition: action-search-bar.hh:27
gepetto::gui::Settings::writeSettings
void writeSettings()
Write the settings to configuration files.
gepetto::gui::Settings::readEnvFile
void readEnvFile()
gepetto::gui::Settings::writeEnvFile
void writeEnvFile()
gepetto::gui::Settings::installDirectory
QString installDirectory
Definition: settings.hh:60
gepetto::gui::Settings::pluginManager_
PluginManager pluginManager_
Definition: settings.hh:97
gepetto::gui::Settings::setMainWindow
void setMainWindow(MainWindow *main)
gepetto::gui::Settings::noPlugin
bool noPlugin
Definition: settings.hh:44
gepetto::gui::Settings::captureFilename
std::string captureFilename
Definition: settings.hh:51
gepetto::gui::Settings::autoWriteSettings
bool autoWriteSettings
Definition: settings.hh:45
gepetto::gui::PluginManager
Definition: pluginmanagerdialog.hh:35
gepetto::gui::Settings::avConvOutputOptions
QStringList avConvOutputOptions
Definition: settings.hh:57
gepetto::gui::Settings::saveState
void saveState() const
gepetto::gui::Settings
Definition: settings.hh:37
gepetto::gui::Settings::print
std::ostream & print(std::ostream &os)
gepetto::gui::Settings::captureExtension
std::string captureExtension
Definition: settings.hh:51
gepetto::gui::Settings::getSetting
QVariant getSetting(const QString &key, const QVariant &defaultValue=QVariant())
Get a setting.
gepetto::gui::Settings::setupPaths
void setupPaths() const
gepetto::gui::Settings::restoreDockWidgetsState
void restoreDockWidgetsState() const
gepetto::gui::Settings::readRobotFile
void readRobotFile()
gepetto::gui::Settings::stateConf
std::string stateConf
Definition: settings.hh:41
gepetto::gui::Settings::verbose
bool verbose
Definition: settings.hh:43
gepetto::gui::Settings::useNameService
bool useNameService
Definition: settings.hh:46
gepetto::gui::Settings::predifinedEnvConf
std::string predifinedEnvConf
Definition: settings.hh:40
gepetto::gui::Settings::pyplugins_
QStringList pyplugins_
Definition: settings.hh:99
gepetto::gui::Settings::readSettingFile
void readSettingFile()
gepetto::gui::Settings::writeSettingFile
void writeSettingFile()
gepetto::gui::Settings::getQSettingsFileName
QString getQSettingsFileName(const std::string &settingsName) const
Get the filename of a configuration file.
gepetto::gui::Settings::Settings
Settings(const char *installDirectory)
Set up default values.
gepetto::gui::Settings::predifinedRobotConf
std::string predifinedRobotConf
Definition: settings.hh:39
gepetto::gui::Settings::initPlugins
void initPlugins()
gepetto::gui::Settings::pyscripts_
QStringList pyscripts_
Definition: settings.hh:100
gepetto::gui::Settings::pluginsToInit_
QStringList pluginsToInit_
Definition: settings.hh:98
gepetto::gui::Settings::captureDirectory
std::string captureDirectory
Path to avconv binary (maybe ffmpeg on some distributions).
Definition: settings.hh:51
gepetto::gui::Settings::avconv
QString avconv
Definition: settings.hh:55
gepetto::gui::Settings::fromFiles
void fromFiles()
Update settings from setting files.
gepetto::gui::MainWindow
Class.
Definition: mainwindow.hh:43
gepetto::gui::Settings::initSettings
int initSettings(int argc, char *argv[])
pluginmanagerdialog.hh
gepetto::gui::Settings::makeOmniORBargs
const char ** makeOmniORBargs(int &argc)