82 const std::vector<std::string>& packages,
83 const QString& configToLoad,
84 bool disablePreloading);
124 void loadGuiConfig(QString configFilepath =
"",
bool showAsOpenGuiConfig =
true);
136 void closeAllWidgets();
137 void closeAllWidgetsWithDialog();
138 void saveGuiConfig();
139 void saveGuiConfigAs();
140 void updateStatusOfOpenWidgets();
141 void enterFullscreenMode();
142 void leaveFullscreenMode();
143 void toggleWidgetLock();
154 QString customInstanceName,
155 QSettings* settings = NULL);
157 bool createViewerWidget =
true);
159 void removeArmarXWidget(QObject* widget);
160 void removeViewerWidget(QObject* widget);
162 void on_actionClear_tip_blacklist_triggered();
164 void on_actionAbout_triggered();
166 void on_actionLoadLastConfig_toggled(
bool toggled);
168 void on_actionArmarX_Documentation_triggered();
170 void on_actionOpen_Use_Case_triggered();
172 void on_actionClear_plugin_cache_triggered();
174 void updateOpenWidgetButtonStatus(QString widgetName);
176 void openWidgetButtonClicked();
178 void onContextMenuFavoritesRequested(
const QPoint& pos);
179 void onNumberOfMaxFavoritesChanged(
int i);
181 void updatefavoriteActions();
187 void updateAvailableWidgetList();
188 void updateOpenWidgetList();
193 void addArVizGodotIcon();
203 void loadPlugins(
const QString& pluginDir,
bool searchRecursive =
true);
206 void loadPlugins(
const QSet<QString>& pluginDirs,
bool searchRecursive =
true);
207 void loadPlugins(
const QStringList& fileNames);
209 QAction* addActionToToolBar(QAction* action,
bool allowText);
213 QStringList loadedPackages;
214 std::vector<QPluginLoader*> pluginsToLoad;
215 QList<QDir> directoriesToCheck;
217 ::Ui::ArmarXMainWindow* ui;
221 std::vector<ArmarXGuiInterface*> plugins;
222 QStringList loadedPluginFilepaths;
224 QList<QWidget*> widgetsList;
227 QMap<QString, Viewer3DInfo> viewer3DMap;
229 QSignalMapper* signalMapper;
230 QActionGroup* layoutActions;
231 using OpenWidgetMap = QMap<QString, QPair<QDockWidget*, ArmarXWidgetControllerPtr>>;
232 OpenWidgetMap listOpenWidgets;
233 std::vector<ArmarXWidgetControllerPtr> pendingWidgets;
234 QListWidgetItem* viewerItem;
236 QPointer<TipDialog> tipDialog;
237 const int widgetUsageHistoryLength = 100;
240 std::vector<std::string> defaultPackageNames;
247 QAction* leaveFullScreenActionF11;
248 QAction* leaveFullScreenActionEsc;
253 bool enteredOnce =
false;
254 QPointer<QDockWidget> getBiggestOpenWidget();
255 QMenu* getCategoryMenu(
const std::string& categoryString, QMenu* menu, QIcon widgetIcon);
256 const std::string settingsFile;
257 QSettings mainSettings;
258 QString configFilepath;
259 QString guiWindowBaseName;
260 QTimer* connectionStatusTimer;
261 QSplashScreen* splashSceen;
262 QString splashscreenPrefix;
264 QStringList mainWidgetNames;
265 QToolButton* openWidgetButton;
266 QLineEdit* searchField;
268 std::shared_ptr<std::recursive_mutex> mutex3d;
269 QMap<QString, QAction*> actionList;
271 QLabel* favoritesLabel;
272 std::vector<QAction*> favoriteActions;
273 QStringList favoriteActionWidgetNames;
The ArmarXMainWindow class.
void loadPlugin(QString filePath)
loads a plugin with the given file path
ArmarXMainWindow(const armarx::ManagedIceObjectRegistryInterfacePtr ®istry, const std::vector< std::string > &packages, const QString &configToLoad, bool disablePreloading)
QString getLibraryPathFromPackage(const QString &packageName)
void appendFileToWindowTitle(const QString &filepath="")
void loadPluginsFromPackage(const QString &packageName)
void addToRecentlyOpenedFileList(QString configFilepath)
std::vector< std::string > getDefaultPackageNames()
getDefaultPackageNames returns the names of all packages which are searched for plugins when the Arma...
void closeRequest()
emitted, when the main window should be closed
void closeEvent(QCloseEvent *event) override
emits the closeRequest signal
std::shared_ptr< std::recursive_mutex > getMutex3D()
Provides access to the coin3d mutex. Use this mutex to protect access to the 3d scene.
void loadGuiConfig(QString configFilepath="", bool showAsOpenGuiConfig=true)
bool existsWidget(const QString &widgetName)
Viewer3DWidgetPtr getViewerWidget()
Provides access to a viewer widget, if existent.
void updateSceneList(QMap< QString, Viewer3DInfo >)