Skip to content
Snippets Groups Projects

Main Widgets: Replace Working Memory GUI with MemoryViewer, reorder

Merged Rainer Kartmann requested to merge main-widgets into master
1 unresolved thread
2 files
+ 43
35
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -101,15 +101,14 @@
// To start ArViz Godot
#include <fcntl.h>
#define ARMARX_ORGANIZATION "KIT"
#define ARMARX_GUI_APPLICATION_NAME "ArmarX"
#define CONFIG_LOAD_LAST_CONFIG "LoadLastConfig"
#define CONFIG_BLACKLISTED_TIPS "BlacklistedTips"
namespace armarx
{
// static const char* ARMARX_ORGANIZATION = "KIT";
static const char* ARMARX_GUI_APPLICATION_NAME = "ArmarX";
static const char* CONFIG_LOAD_LAST_CONFIG = "LoadLastConfig";
static const char* CONFIG_BLACKLISTED_TIPS = "BlacklistedTips";
ArmarXMainWindow::ArmarXMainWindow(const armarx::ManagedIceObjectRegistryInterfacePtr& registry,
const std::vector<std::string>& packages,
const QString& configToLoad,
@@ -132,11 +131,11 @@ namespace armarx
}
)");
mainWidgets = QStringList() << "Meta.LogViewer"
<< "Statecharts.StatechartEditor"
<< "Meta.SystemStateMonitor"
<< "Meta.ScenarioManager"
<< "MemoryX.WorkingMemoryGui";
mainWidgetNames = QStringList() << "Meta.LogViewer"
<< "Meta.SystemStateMonitor"
<< "Meta.ScenarioManager"
<< "Statecharts.StatechartEditor"
<< "ArMem.MemoryViewer";
splashscreenPrefix = "v" + QString::fromStdString(Application::GetVersion()) + " - ";
QPixmap pm(QString("://icons/ArmarX-Splashscreen.png"));
@@ -202,7 +201,7 @@ namespace armarx
loadPlugins(pluginDirs, false);
if (!disablePreloading)
{
pluginCache.preloadAsync(getFavoriteWidgets() + mainWidgets);
pluginCache.preloadAsync(getFavoriteWidgets() + mainWidgetNames);
}
// instantiatePlugins();
@@ -270,7 +269,7 @@ namespace armarx
void
ArmarXMainWindow::removeViewerWidget(QObject* widget)
{
ARMARX_WARNING << "Removing 3d viewer" << std::endl;
ARMARX_WARNING << "Removing 3D viewer" << std::endl;
if (!widget)
{
@@ -422,7 +421,7 @@ namespace armarx
for (auto it = ranking.rbegin(); it != ranking.rend() && i < favCount; it++)
{
auto& widgetName = it->second;
if (!mainWidgets.contains(widgetName))
if (!mainWidgetNames.contains(widgetName))
{
favoriteWidgetNames << widgetName;
i++;
@@ -1252,50 +1251,50 @@ namespace armarx
ui->toolBar->setIconSize(QSize(256, 24));
QMap<QString, QAction*> actionsForToolBar;
actionList.clear();
for (std::pair<QString, ArmarXWidgetInfoPtr> pair : pluginCache.getAvailableWidgets())
for (const auto& [fullWidgetName, widgetInfo] : pluginCache.getAvailableWidgets())
{
QString fullWidgetName = pair.first;
QString widgetName = pair.first;
QString widgetName = fullWidgetName;
widgetName = widgetName.remove(0, widgetName.lastIndexOf(".") + 1);
widgetNameList << pair.first;
widgetNameList << fullWidgetName;
QIcon categoryIcon;
if (pair.second)
if (widgetInfo)
{
categoryIcon = pair.second->getCategoryIcon();
categoryIcon = widgetInfo->getCategoryIcon();
}
else
{
if (QFile::exists(PluginCache::GetCategoryIconPath(pair.first)))
if (QFile::exists(PluginCache::GetCategoryIconPath(fullWidgetName)))
{
categoryIcon = QIcon(PluginCache::GetCategoryIconPath(pair.first));
categoryIcon = QIcon(PluginCache::GetCategoryIconPath(fullWidgetName));
}
}
auto menu = getCategoryMenu(pair.first.toStdString(), ui->menuAdd_Widget, categoryIcon);
auto menu =
getCategoryMenu(fullWidgetName.toStdString(), ui->menuAdd_Widget, categoryIcon);
AddArmarXWidgetAction* action = new AddArmarXWidgetAction(widgetName, menu, this);
QIcon widgetIcon;
if (pair.second)
if (widgetInfo)
{
widgetIcon = pair.second->getIcon();
widgetIcon = widgetInfo->getIcon();
}
else
{
if (QFile::exists(PluginCache::GetIconPath(pair.first)))
if (QFile::exists(PluginCache::GetIconPath(fullWidgetName)))
{
widgetIcon = QIcon(PluginCache::GetIconPath(pair.first));
widgetIcon = QIcon(PluginCache::GetIconPath(fullWidgetName));
}
}
action->setIcon(widgetIcon);
action->setIconVisibleInMenu(true);
action->setData(pair.first);
action->setData(fullWidgetName);
menu->addAction(action);
if (mainWidgets.contains(fullWidgetName))
if (mainWidgetNames.contains(fullWidgetName))
{
bool allowText = false;
addActionToToolBar(action, allowText);
actionsForToolBar[fullWidgetName] = action;
}
actionList[fullWidgetName] = action;
connect(
@@ -1307,6 +1306,15 @@ namespace armarx
Qt::UniqueConnection);
}
// Populate toolbar.
for (const QString& widgetName : mainWidgetNames)
{
if (QAction* action = actionsForToolBar.value(widgetName))
{
const bool allowText = false;
addActionToToolBar(action, allowText);
}
}
addArVizGodotIcon();
AddArmarXWidgetAction* completerAction =
@@ -1422,7 +1430,7 @@ namespace armarx
bool allowText = false;
addActionToToolBar(action, allowText);
auto slot = [action, this, binaryPath]()
auto slot = [this, binaryPath]()
{
if (not std::filesystem::exists(binaryPath))
{
Loading