diff --git a/Alice b/Alice
index fc5f514f..fe6137f6 160000
--- a/Alice
+++ b/Alice
@@ -1 +1 @@
-Subproject commit fc5f514f605adb3d4befda8c1722a5fce94cfb59
+Subproject commit fe6137f6b32ba81e7da976ce0b0ea22650a20732
diff --git a/Designer/Data/FunctionAreaConfig.xml b/Designer/Data/FunctionAreaConfig.xml
index 55490125..d47fc087 100644
--- a/Designer/Data/FunctionAreaConfig.xml
+++ b/Designer/Data/FunctionAreaConfig.xml
@@ -20,6 +20,11 @@
workbench="workbench.assembly"
defaultTab="tab_asm_home"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -585,10 +609,6 @@
-
-
-
-
@@ -649,12 +669,15 @@
-
+
-
-
+
+
+
+
+
diff --git a/Designer/Data/IconLibraryConfig.xml b/Designer/Data/IconLibraryConfig.xml
index 17c26640..0af01623 100644
--- a/Designer/Data/IconLibraryConfig.xml
+++ b/Designer/Data/IconLibraryConfig.xml
@@ -8,6 +8,11 @@
+
+
+
+
+
@@ -98,28 +103,28 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -129,46 +134,48 @@
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
@@ -330,32 +337,32 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -386,60 +393,60 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -702,24 +709,24 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -1229,8 +1236,8 @@
-
-
+
+
@@ -1245,10 +1252,10 @@
-
-
+
+
-
+
@@ -1273,28 +1280,28 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -1414,8 +1421,8 @@
-
-
+
+
@@ -1445,5 +1452,165 @@
png64=":/Navigator/nav/dark/png/64/nav_reuseLibrary.png"/>
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Designer/Data/TitleBarConfig.xml b/Designer/Data/TitleBarConfig.xml
index 66dbc99d..c6869038 100644
--- a/Designer/Data/TitleBarConfig.xml
+++ b/Designer/Data/TitleBarConfig.xml
@@ -57,7 +57,9 @@
id="app"
commandRef="ui.appMenu"
order="5"
- iconRef="app"
+ iconRef="app_wordmark"
+ iconSize="100,28"
+ fixedSize="110,30"
tooltip="SolidDesigner"/>
@@ -153,7 +155,9 @@
id="app"
commandRef="ui.appMenu"
order="5"
- iconRef="app"
+ iconRef="app_wordmark"
+ iconSize="100,28"
+ fixedSize="110,30"
tooltip="SolidDesigner"/>
@@ -405,7 +413,9 @@
@@ -485,7 +495,9 @@
@@ -567,7 +579,9 @@
diff --git a/Designer/Data/WorkBenchConfig.xml b/Designer/Data/WorkBenchConfig.xml
index 76067ec4..88bee886 100644
--- a/Designer/Data/WorkBenchConfig.xml
+++ b/Designer/Data/WorkBenchConfig.xml
@@ -53,6 +53,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -71,7 +91,7 @@
-
+
@@ -88,7 +108,7 @@
-
+
@@ -104,7 +124,7 @@
-
+
diff --git a/Designer/Data/WorkBenchPreference.json b/Designer/Data/WorkBenchPreference.json
index 343f3b3a..6fbf8cbb 100644
--- a/Designer/Data/WorkBenchPreference.json
+++ b/Designer/Data/WorkBenchPreference.json
@@ -4,15 +4,16 @@
"preferredWorkbenchByDocType":
{
"doc.part": "workbench.part",
+ "doc.sketch": "workbench.sketch",
"doc.assembly": "workbench.assembly",
"doc.drawing": "workbench.drawing",
"doc.none": "workbench.home"
},
"workbenchSwitcher":
{
- "orderedIds": ["workbench.home","workbench.part","workbench.assembly","workbench.drawing"],
+ "orderedIds": ["workbench.home","workbench.part","workbench.sketch","workbench.assembly","workbench.drawing"],
"hiddenIds": [],
- "pinnedIds": ["workbench.part","workbench.assembly"],
+ "pinnedIds": ["workbench.part","workbench.sketch","workbench.assembly"],
"showIcons": true,
"showText": true
},
@@ -51,6 +52,7 @@
"recentWorkbenches":
[
"workbench.part",
+ "workbench.sketch",
"workbench.assembly"
]
}
diff --git a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileCloseCommand.cpp b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileCloseCommand.cpp
new file mode 100644
index 00000000..0457fae4
--- /dev/null
+++ b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileCloseCommand.cpp
@@ -0,0 +1,73 @@
+// Owner: hananiah
+#include "SolidFileCloseCommand.h"
+#include "SolidDesignerCommands.h"
+#include "AliceCommandParameter.h"
+#include "AliceCoreAppUtil.h"
+#include "AliceISession.h"
+#include "AliceIDocument.h"
+#include "AliceIUiApplicationFactory.h"
+#include "AliceIUiApplication.h"
+#include "AliceIMainWindow.h"
+#include "AliceIOperation.h"
+
+using namespace alice;
+using namespace sdr;
+
+SolidFileCloseCommand::SolidFileCloseCommand() noexcept
+ : AppCommandBase(std::string(Cmd::FILE_CLOSE))
+{
+}
+
+SolidFileCloseCommand::~SolidFileCloseCommand() = default;
+
+bool SolidFileCloseCommand::IsSupported() const
+{
+ ISession* session = CoreAppUtil::GetCurrentSession();
+ if (!session)
+ return false;
+ IUiApplicationFactory* pAppFactory = IUiApplicationFactory::Get();
+ if (!pAppFactory)
+ return false;
+ IUiApplication* pApp = pAppFactory->GetUiApplication();
+ if (!pApp)
+ return false;
+ return pApp->GetMainWindow() != nullptr;
+}
+
+bool SolidFileCloseCommand::IsVisible() const
+{
+ return IsSupported();
+}
+
+bool SolidFileCloseCommand::IsEnabled() const
+{
+ if (!IsSupported())
+ return false;
+ ISession* session = CoreAppUtil::GetCurrentSession();
+ return session && session->GetActiveDocument();
+}
+
+std::string SolidFileCloseCommand::DisabledReason() const
+{
+ ISession* session = CoreAppUtil::GetCurrentSession();
+ if (!session)
+ return "Session is not available.";
+ if (!session->GetActiveDocument())
+ return "There is no active document.";
+ return {};
+}
+
+std::unique_ptr SolidFileCloseCommand::Execute(const CommandParameter& /*param*/)
+{
+ if (!IsSupported())
+ return nullptr;
+
+ IUiApplicationFactory* pAppFactory = IUiApplicationFactory::Get();
+ IUiApplication* pApp = pAppFactory ? pAppFactory->GetUiApplication() : nullptr;
+ IMainWindow* pMainWindow = pApp ? pApp->GetMainWindowFw() : nullptr;
+ if (!pMainWindow)
+ return nullptr;
+
+ pMainWindow->CloseCurrentView();
+ return nullptr;
+}
diff --git a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileCloseCommand.h b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileCloseCommand.h
new file mode 100644
index 00000000..7a9e159b
--- /dev/null
+++ b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileCloseCommand.h
@@ -0,0 +1,27 @@
+#pragma once
+
+#include "BaseCommands/SolidBaseCommand.h"
+
+namespace alice
+{
+ struct CommandParameter;
+ class IOperation;
+}
+
+namespace sdr
+{
+ /// \brief Implements "file.close" for the active document view.
+ class SolidFileCloseCommand final : public AppCommandBase
+ {
+ public:
+ SolidFileCloseCommand() noexcept;
+ ~SolidFileCloseCommand() override;
+
+ bool IsSupported() const override;
+ bool IsVisible() const override;
+ bool IsEnabled() const override;
+ std::string DisabledReason() const override;
+
+ std::unique_ptr Execute(const alice::CommandParameter& param) override;
+ };
+}
diff --git a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileExitCommand.cpp b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileExitCommand.cpp
new file mode 100644
index 00000000..02ca863b
--- /dev/null
+++ b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileExitCommand.cpp
@@ -0,0 +1,40 @@
+#include "SolidFileExitCommand.h"
+#include "SolidDesignerCommands.h"
+#include "AliceCommandParameter.h"
+#include
+#include "AliceIOperation.h"
+
+using namespace sdr;
+
+SolidFileExitCommand::SolidFileExitCommand() noexcept
+ : AppCommandBase(std::string(Cmd::FILE_EXIT))
+{
+}
+
+SolidFileExitCommand::~SolidFileExitCommand() = default;
+
+bool SolidFileExitCommand::IsSupported() const
+{
+ return true;
+}
+
+bool SolidFileExitCommand::IsVisible() const
+{
+ return true;
+}
+
+bool SolidFileExitCommand::IsEnabled() const
+{
+ return true;
+}
+
+std::string SolidFileExitCommand::DisabledReason() const
+{
+ return {};
+}
+
+std::unique_ptr SolidFileExitCommand::Execute(const alice::CommandParameter& /*param*/)
+{
+ QCoreApplication::quit();
+ return nullptr;
+}
diff --git a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileExitCommand.h b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileExitCommand.h
new file mode 100644
index 00000000..30ac5cf5
--- /dev/null
+++ b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileExitCommand.h
@@ -0,0 +1,23 @@
+#pragma once
+
+#include "BaseCommands/SolidBaseCommand.h"
+
+namespace alice { struct CommandParameter; class IOperation; }
+
+namespace sdr
+{
+ /// \brief Implements "file.exit".
+ class SolidFileExitCommand final : public AppCommandBase
+ {
+ public:
+ SolidFileExitCommand() noexcept;
+ ~SolidFileExitCommand() override;
+
+ bool IsSupported() const override;
+ bool IsVisible() const override;
+ bool IsEnabled() const override;
+ std::string DisabledReason() const override;
+
+ std::unique_ptr Execute(const alice::CommandParameter& param) override;
+ };
+}
diff --git a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileNewCommand.cpp b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileNewCommand.cpp
index d0ff087e..23653801 100644
--- a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileNewCommand.cpp
+++ b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileNewCommand.cpp
@@ -95,7 +95,7 @@ std::unique_ptr SolidFileNewCommand::Execute(const alice::Com
if (!SolidNewFileDialog::GetNewFileRequest(pParent, oRequest))
return nullptr;
- IDocument* pDoc = pSession->CreateDocument(oRequest.kind, oRequest.name.toStdWString());
+ IDocument* pDoc = pSession->CreateDocument(oRequest.fileKind, oRequest.fileName.toStdWString());
DIAG_RETURN_NULL_IF_FALSE(pDoc, "Failed to create a new document", "hananiah", "2025.12.25");
// Workbench switching: pick by document kind (ResolveWorkbenchByDocument).
@@ -106,10 +106,6 @@ std::unique_ptr SolidFileNewCommand::Execute(const alice::Com
pWbMgr->ActivateWorkBench(wbId, pDoc);
else
pWbMgr->ActiveStartupWorkbench(pDoc);
- }
-
- // TODO: each document opens exactly one default 3D view.
- // MdiViewManagerQt::OpenPrimaryView replaces the pane content, so this call is idempotent.
- pMainWindow->OpenView("view.model3d", pDoc, oRequest.name.toStdWString());
+ }
return nullptr;
}
diff --git a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileOpenCommand.cpp b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileOpenCommand.cpp
index 39cece33..153d79c5 100644
--- a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileOpenCommand.cpp
+++ b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileOpenCommand.cpp
@@ -7,6 +7,19 @@
#include "AliceIOperation.h"
#include "SolidDesignerCommands.h"
+#include "AliceCoreAppUtil.h"
+#include "AliceISession.h"
+#include "AliceIWorkBenchManager.h"
+
+#include "AliceIUiApplicationFactory.h"
+#include "AliceIUiApplication.h"
+
+#include
+#include
+#include
+#include
+#include
+
using namespace alice;
using namespace sdr;
@@ -22,8 +35,18 @@ SolidFileOpenCommand::~SolidFileOpenCommand()
bool SolidFileOpenCommand::IsSupported() const
{
- //return (m_mainWindow != nullptr) && (m_docManager != nullptr);
- return false;
+ ISession* session = CoreAppUtil::GetCurrentSession();
+ if (!session)
+ return false;
+ if (!session->GetDocumentManagerFw())
+ return false;
+ IUiApplicationFactory* pAppFactory = IUiApplicationFactory::Get();
+ if (!pAppFactory)
+ return false;
+ IUiApplication* pApp = pAppFactory->GetUiApplication();
+ if (!pApp)
+ return false;
+ return pApp->GetMainWindow() != nullptr;
}
bool SolidFileOpenCommand::IsVisible() const
@@ -52,49 +75,80 @@ std::unique_ptr SolidFileOpenCommand::Execute(const CommandParameter
if (!IsEnabled())
return nullptr;
- std::wstring filePath = showOpenFileDialog_();
+ ISession* session = CoreAppUtil::GetCurrentSession();
+ if (!session)
+ return nullptr;
+
+ IMainWindow* mainWindow = nullptr;
+ if (IUiApplicationFactory* pAppFactory = IUiApplicationFactory::Get())
+ {
+ if (IUiApplication* pApp = pAppFactory->GetUiApplication())
+ mainWindow = const_cast(pApp->GetMainWindow());
+ }
+
+ std::wstring filePath;
+ const std::string paramPath = param.GetString("filePath");
+ if (!paramPath.empty())
+ filePath = QString::fromUtf8(paramPath.c_str()).toStdWString();
+ else
+ filePath = showOpenFileDialog_();
if (filePath.empty())
return nullptr; // 用户取消
- IDocument* doc = openDocument_(filePath);
+ IDocument* doc = session->OpenDocument(filePath);
if (!doc)
{
- //if (QWidget* parent = m_mainWindow ? m_mainWindow->AsQMainWindow() : nullptr) {
- // QMessageBox::critical(parent,
- // QObject::tr("Open File"),
- // QObject::tr("Failed to open file."));
- //}
+ if (QWidget* parent = mainWindow ? mainWindow->AsQMainWindow() : nullptr)
+ QMessageBox::critical(parent, QObject::tr("Open"), QObject::tr("Failed to open file."));
return nullptr;
}
- //openViewForDocument_(doc, filePath);
+ // Workbench switching + view opening
+ if (mainWindow)
+ {
+ if (IWorkBenchManager* pWbMgr = mainWindow->GetWorkbenchManager())
+ {
+ std::string wbId = pWbMgr->ResolveWorkbenchByDocument(doc);
+ if (!wbId.empty())
+ pWbMgr->ActivateWorkBench(wbId, doc);
+ else
+ pWbMgr->ActiveStartupWorkbench(doc);
+ }
+ }
+
+ // Update recent list (Backstage uses the same key).
+ {
+ const QString path = QDir::fromNativeSeparators(QString::fromStdWString(filePath));
+ QSettings s("AliceSoft", "AliceCAD");
+ s.beginGroup(QStringLiteral("Backstage"));
+ QStringList list = s.value(QStringLiteral("RecentFiles")).toStringList();
+ list.removeAll(path);
+ list.prepend(path);
+ while (list.size() > 20)
+ list.removeLast();
+ s.setValue(QStringLiteral("RecentFiles"), list);
+ s.endGroup();
+ }
return nullptr;
}
std::wstring SolidFileOpenCommand::showOpenFileDialog_() const
{
- //QWidget* parent = m_mainWindow ? m_mainWindow->AsQMainWindow() : nullptr;
-
- //// 过滤可以从 UiApplicationConfig / CommandsConfig 的 profile 中拿,此处给一个
- //// 针对 .alice + 常规 CAD 格式的示例。
- //const QString filter =
- // QObject::tr("Alice Documents (*.alice);;"
- // "STEP Files (*.step *.stp);;"
- // "IGES Files (*.iges *.igs);;"
- // "All Files (*.*)");
-
- //const QString file =
- // QFileDialog::getOpenFileName(parent,
- // QObject::tr("Open File"),
- // QString(),
- // filter);
-
- //if (file.isEmpty())
- // return {};
-
- //return file.toStdWString();
- return {};
+ QWidget* parent = nullptr;
+ if (IUiApplicationFactory* pAppFactory = IUiApplicationFactory::Get())
+ {
+ if (IUiApplication* pApp = pAppFactory->GetUiApplication())
+ {
+ if (const IMainWindow* mw = pApp->GetMainWindow())
+ parent = const_cast(mw)->AsQMainWindow();
+ }
+ }
+ const QString filter = QObject::tr("Alice Documents (*.alice);;All Files (*.*)");
+ const QString file = QFileDialog::getOpenFileName(parent, QObject::tr("Open"), QString(), filter);
+ if (file.isEmpty())
+ return {};
+ return file.toStdWString();
}
IDocument* SolidFileOpenCommand::openDocument_(const std::wstring& filePath) const
diff --git a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileSaveAsCommand.cpp b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileSaveAsCommand.cpp
new file mode 100644
index 00000000..2aaae606
--- /dev/null
+++ b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileSaveAsCommand.cpp
@@ -0,0 +1,170 @@
+#include "SolidFileSaveAsCommand.h"
+
+#include "SolidDesignerCommands.h"
+
+#include "AliceCommandParameter.h"
+#include "AliceCoreAppUtil.h"
+#include "AliceISession.h"
+//Owner: hananiah
+#include "AliceIDocument.h"
+#include "AliceIUiApplicationFactory.h"
+#include "AliceIUiApplication.h"
+#include "AliceIMainWindow.h"
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include "AliceIOperation.h"
+
+using namespace alice;
+using namespace sdr;
+
+SolidFileSaveAsCommand::SolidFileSaveAsCommand() noexcept
+ : AppCommandBase(std::string(Cmd::FILE_SAVEAS))
+{
+}
+
+SolidFileSaveAsCommand::~SolidFileSaveAsCommand() = default;
+
+bool SolidFileSaveAsCommand::IsSupported() const
+{
+ ISession* session = CoreAppUtil::GetCurrentSession();
+ if (!session)
+ return false;
+ if (!session->GetDocumentManagerFw())
+ return false;
+ IUiApplicationFactory* pAppFactory = IUiApplicationFactory::Get();
+ if (!pAppFactory)
+ return false;
+ IUiApplication* pApp = pAppFactory->GetUiApplication();
+ if (!pApp)
+ return false;
+ return pApp->GetMainWindow() != nullptr;
+}
+
+bool SolidFileSaveAsCommand::IsVisible() const
+{
+ return IsSupported();
+}
+
+bool SolidFileSaveAsCommand::IsEnabled() const
+{
+ if (!IsSupported())
+ return false;
+ ISession* session = CoreAppUtil::GetCurrentSession();
+ return session && session->GetActiveDocument();
+}
+
+std::string SolidFileSaveAsCommand::DisabledReason() const
+{
+ ISession* session = CoreAppUtil::GetCurrentSession();
+ if (!session)
+ return "Session is not available.";
+ if (!session->GetActiveDocument())
+ return "There is no active document.";
+ return {};
+}
+
+std::unique_ptr SolidFileSaveAsCommand::Execute(const CommandParameter& param)
+{
+ if (!IsEnabled())
+ return nullptr;
+
+ ISession* session = CoreAppUtil::GetCurrentSession();
+ IDocument* doc = session ? session->GetActiveDocument() : nullptr;
+ if (!doc)
+ return nullptr;
+
+ IMainWindow* pMainWindow = nullptr;
+ if (IUiApplicationFactory* pAppFactory = IUiApplicationFactory::Get())
+ {
+ if (IUiApplication* pApp = pAppFactory->GetUiApplication())
+ pMainWindow = pApp->GetMainWindowFw();
+ }
+
+ std::wstring path;
+ const std::string paramPath = param.GetString("filePath");
+ const std::string mode = param.GetString("mode");
+ if (!paramPath.empty())
+ {
+ path = QString::fromUtf8(paramPath.c_str()).toStdWString();
+ }
+ else if (mode == "backup")
+ {
+ // Auto backup to the current document directory.
+ QString basePath = QString::fromStdWString(doc->GetSourceUri());
+ QFileInfo fi(basePath);
+ QString dir = fi.exists() ? fi.absolutePath() : QDir::currentPath();
+ QString stem = fi.exists() ? fi.completeBaseName() : QString::fromStdWString(doc->GetDocumentName());
+ if (stem.isEmpty())
+ stem = QStringLiteral("Untitled");
+ const QString ts = QDateTime::currentDateTime().toString(QStringLiteral("yyyyMMdd_HHmmss"));
+ QString out = dir + QLatin1Char('/') + stem + QStringLiteral("_backup_") + ts + QStringLiteral(".alice");
+ path = out.toStdWString();
+ }
+ else
+ {
+ path = showSaveAsDialog_(doc->GetSourceUri());
+ }
+
+ if (path.empty())
+ return nullptr;
+
+ const bool ok = doc->SaveAs(path);
+
+ if (!ok)
+ {
+ if (QWidget* parent = pMainWindow ? pMainWindow->AsQMainWindow() : nullptr)
+ QMessageBox::critical(parent, QObject::tr("Save As"), QObject::tr("Failed to save file."));
+ return nullptr;
+ }
+
+ // Update recent list.
+ {
+ const QString qpath = QDir::fromNativeSeparators(QString::fromStdWString(path));
+ QSettings s("AliceSoft", "AliceCAD");
+ s.beginGroup(QStringLiteral("Backstage"));
+ QStringList list = s.value(QStringLiteral("RecentFiles")).toStringList();
+ list.removeAll(qpath);
+ list.prepend(qpath);
+ while (list.size() > 20)
+ list.removeLast();
+ s.setValue(QStringLiteral("RecentFiles"), list);
+ s.endGroup();
+ }
+
+ return nullptr;
+}
+
+std::wstring SolidFileSaveAsCommand::showSaveAsDialog_(const std::wstring& hintPath) const
+{
+ QWidget* parent = nullptr;
+ if (IUiApplicationFactory* pAppFactory = IUiApplicationFactory::Get())
+ {
+ if (IUiApplication* pApp = pAppFactory->GetUiApplication())
+ {
+ if (const IMainWindow* mw = pApp->GetMainWindow())
+ parent = const_cast(mw)->AsQMainWindow();
+ }
+ }
+
+ QString dir;
+ QString suggested;
+ if (!hintPath.empty())
+ {
+ QFileInfo fi(QString::fromStdWString(hintPath));
+ dir = fi.absolutePath();
+ suggested = fi.fileName();
+ }
+
+ const QString filter = QObject::tr("Alice Documents (*.alice);;All Files (*.*)");
+ const QString file = QFileDialog::getSaveFileName(parent, QObject::tr("Save As"),
+ dir.isEmpty() ? suggested : dir + QLatin1Char('/') + suggested, filter);
+ if (file.isEmpty())
+ return {};
+ return file.toStdWString();
+}
diff --git a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileSaveAsCommand.h b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileSaveAsCommand.h
new file mode 100644
index 00000000..568812ac
--- /dev/null
+++ b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileSaveAsCommand.h
@@ -0,0 +1,30 @@
+#pragma once
+
+#include "BaseCommands/SolidBaseCommand.h"
+
+namespace alice
+{
+ struct CommandParameter;
+ class IOperation;
+}
+
+namespace sdr
+{
+ /// \brief Implements "file.saveAs".
+ class SolidFileSaveAsCommand final : public AppCommandBase
+ {
+ public:
+ SolidFileSaveAsCommand() noexcept;
+ ~SolidFileSaveAsCommand() override;
+
+ bool IsSupported() const override;
+ bool IsVisible() const override;
+ bool IsEnabled() const override;
+ std::string DisabledReason() const override;
+
+ std::unique_ptr Execute(const alice::CommandParameter& param) override;
+
+ private:
+ std::wstring showSaveAsDialog_(const std::wstring& hintPath) const;
+ };
+}
diff --git a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileSaveCommand.cpp b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileSaveCommand.cpp
index 5607f03b..b6b7d715 100644
--- a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileSaveCommand.cpp
+++ b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidFileSaveCommand.cpp
@@ -7,6 +7,19 @@
#include "AliceIOperation.h"
#include "SolidDesignerCommands.h"
+#include "AliceCoreAppUtil.h"
+#include "AliceISession.h"
+
+#include "AliceIUiApplicationFactory.h"
+#include "AliceIUiApplication.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+
using namespace alice;
using namespace sdr;
@@ -22,8 +35,18 @@ SolidFileSaveCommand::~SolidFileSaveCommand()
bool SolidFileSaveCommand::IsSupported() const
{
- //return (m_mainWindow != nullptr) && (m_docManager != nullptr);
- return false;
+ ISession* session = CoreAppUtil::GetCurrentSession();
+ if (!session)
+ return false;
+ if (!session->GetDocumentManagerFw())
+ return false;
+ IUiApplicationFactory* pAppFactory = IUiApplicationFactory::Get();
+ if (!pAppFactory)
+ return false;
+ IUiApplication* pApp = pAppFactory->GetUiApplication();
+ if (!pApp)
+ return false;
+ return pApp->GetMainWindow() != nullptr;
}
bool SolidFileSaveCommand::IsVisible() const
@@ -63,6 +86,13 @@ std::unique_ptr SolidFileSaveCommand::Execute(const CommandParameter
if (!doc)
return nullptr;
+ IMainWindow* mainWindow = nullptr;
+ if (IUiApplicationFactory* pAppFactory = IUiApplicationFactory::Get())
+ {
+ if (IUiApplication* pApp = pAppFactory->GetUiApplication())
+ mainWindow = const_cast(pApp->GetMainWindow());
+ }
+
std::wstring path;
bool isSaveAs = false;
@@ -82,7 +112,23 @@ std::unique_ptr SolidFileSaveCommand::Execute(const CommandParameter
const bool ok = saveDocument_(*doc, path, isSaveAs);
if (!ok)
{
+ if (QWidget* parent = mainWindow ? mainWindow->AsQMainWindow() : nullptr)
+ QMessageBox::critical(parent, QObject::tr("Save"), QObject::tr("Failed to save file."));
+ return nullptr;
+ }
+ // Update recent list.
+ {
+ const QString qpath = QDir::fromNativeSeparators(QString::fromStdWString(path));
+ QSettings s("AliceSoft", "AliceCAD");
+ s.beginGroup(QStringLiteral("Backstage"));
+ QStringList list = s.value(QStringLiteral("RecentFiles")).toStringList();
+ list.removeAll(qpath);
+ list.prepend(qpath);
+ while (list.size() > 20)
+ list.removeLast();
+ s.setValue(QStringLiteral("RecentFiles"), list);
+ s.endGroup();
}
// 保存文件通常不进 Undo/Redo
@@ -91,66 +137,56 @@ std::unique_ptr SolidFileSaveCommand::Execute(const CommandParameter
IDocument* SolidFileSaveCommand::getActiveDocument_() const
{
- //if (!m_docManager)
- // return nullptr;
-
- //return m_docManager->GetActiveDocument();
- return nullptr;
+ ISession* session = CoreAppUtil::GetCurrentSession();
+ if (!session)
+ return nullptr;
+ return session->GetActiveDocument();
}
bool SolidFileSaveCommand::hasFilePath_(IDocument& doc) const
{
- //return doc.HasFilePath();
- return false;
+ return !doc.GetSourceUri().empty();
}
std::wstring SolidFileSaveCommand::getFilePath_(IDocument& doc) const
{
- //return doc.GetFilePath();
- return std::wstring();
+ return doc.GetSourceUri();
}
std::wstring SolidFileSaveCommand::showSaveAsDialog_(const std::wstring& hintPath) const
{
- //QWidget* parent = m_mainWindow ? m_mainWindow->AsQMainWindow() : nullptr;
-
- //QString dir;
- //QString suggested;
-
- //if (!hintPath.empty()) {
- // const QString qpath = QString::fromStdWString(hintPath);
- // QFileInfo fi(qpath);
- // dir = fi.absolutePath();
- // suggested = fi.fileName();
- //}
-
- //const QString filter = QObject::tr("Alice Documents (*.alice);;" "All Files (*.*)");
-
- //const QString file = QFileDialog::getSaveFileName(parent, QObject::tr("Save File"),
- // dir.isEmpty() ? suggested : dir + QLatin1Char('/') + suggested,
- // filter);
+ QWidget* parent = nullptr;
+ if (IUiApplicationFactory* pAppFactory = IUiApplicationFactory::Get())
+ {
+ if (IUiApplication* pApp = pAppFactory->GetUiApplication())
+ {
+ if (const IMainWindow* mw = pApp->GetMainWindow())
+ parent = const_cast(mw)->AsQMainWindow();
+ }
+ }
- //if (file.isEmpty())
- // return {};
+ QString dir;
+ QString suggested;
+ if (!hintPath.empty())
+ {
+ QFileInfo fi(QString::fromStdWString(hintPath));
+ dir = fi.absolutePath();
+ suggested = fi.fileName();
+ }
- //return file.toStdWString();
- return std::wstring();
+ const QString filter = QObject::tr("Alice Documents (*.alice);;All Files (*.*)");
+ const QString file = QFileDialog::getSaveFileName(parent, QObject::tr("Save"),
+ dir.isEmpty() ? suggested : dir + QLatin1Char('/') + suggested, filter);
+ if (file.isEmpty())
+ return {};
+ return file.toStdWString();
}
bool SolidFileSaveCommand::saveDocument_(IDocument& doc, const std::wstring& path, bool isSaveAs) const
{
- //if (!m_docManager)
- // return false;
-
- //if (isSaveAs)
- //{
- // return m_docManager->SaveAs(doc, path); // TODO: 对齐你的 API
- //}
- //else
- //{
- // return m_docManager->Save(doc);
- //}
- return false;
+ if (isSaveAs)
+ return doc.SaveAs(path);
+ return doc.Save();
}
diff --git a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidManageFileRenameCommand.cpp b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidManageFileRenameCommand.cpp
new file mode 100644
index 00000000..f7a4fe04
--- /dev/null
+++ b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidManageFileRenameCommand.cpp
@@ -0,0 +1,72 @@
+//Owner: hananiah
+#include "SolidManageFileRenameCommand.h"
+
+#include "AliceCommandParameter.h"
+#include "AliceCoreAppUtil.h"
+#include "AliceISession.h"
+#include "AliceIDocument.h"
+
+#include
+#include
+#include
+#include "AliceIOperation.h"
+
+using namespace alice;
+using namespace sdr;
+
+SolidManageFileRenameCommand::SolidManageFileRenameCommand() noexcept
+ : AppCommandBase(std::string("manage_file.rename"))
+{
+}
+
+SolidManageFileRenameCommand::~SolidManageFileRenameCommand() = default;
+
+bool SolidManageFileRenameCommand::IsSupported() const
+{
+ return CoreAppUtil::GetCurrentSession() != nullptr;
+}
+
+bool SolidManageFileRenameCommand::IsVisible() const
+{
+ return true;
+}
+
+bool SolidManageFileRenameCommand::IsEnabled() const
+{
+ ISession* session = CoreAppUtil::GetCurrentSession();
+ return session && session->GetActiveDocument();
+}
+
+std::string SolidManageFileRenameCommand::DisabledReason() const
+{
+ ISession* session = CoreAppUtil::GetCurrentSession();
+ if (!session)
+ return "Session is not available.";
+ if (!session->GetActiveDocument())
+ return "There is no active document.";
+ return {};
+}
+
+std::unique_ptr SolidManageFileRenameCommand::Execute(const CommandParameter& /*param*/)
+{
+ if (!IsEnabled())
+ return nullptr;
+
+ ISession* session = CoreAppUtil::GetCurrentSession();
+ IDocument* doc = session ? session->GetActiveDocument() : nullptr;
+ if (!doc)
+ return nullptr;
+
+ const QString curName = QString::fromStdWString(doc->GetDocumentName());
+ bool ok = false;
+ QString newName = QInputDialog::getText(nullptr, QObject::tr("Rename"), QObject::tr("New name:"), QLineEdit::Normal, curName, &ok);
+ if (!ok)
+ return nullptr;
+ newName = newName.trimmed();
+ if (newName.isEmpty())
+ return nullptr;
+
+ doc->SetDocumentName(newName.toStdWString());
+ QMessageBox::information(nullptr, QObject::tr("Rename"), QObject::tr("Renamed to: %1").arg(newName));
+ return nullptr;
+}
diff --git a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidManageFileRenameCommand.h b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidManageFileRenameCommand.h
new file mode 100644
index 00000000..324e48fb
--- /dev/null
+++ b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidManageFileRenameCommand.h
@@ -0,0 +1,23 @@
+#pragma once
+
+#include "BaseCommands/SolidBaseCommand.h"
+
+namespace alice { struct CommandParameter; class IOperation; }
+
+namespace sdr
+{
+ /// \brief Implements Backstage: Manage File -> Rename.
+ class SolidManageFileRenameCommand final : public AppCommandBase
+ {
+ public:
+ SolidManageFileRenameCommand() noexcept;
+ ~SolidManageFileRenameCommand() override;
+
+ bool IsSupported() const override;
+ bool IsVisible() const override;
+ bool IsEnabled() const override;
+ std::string DisabledReason() const override;
+
+ std::unique_ptr Execute(const alice::CommandParameter& param) override;
+ };
+}
diff --git a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSelectWorkingDirectoryCommand.cpp b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSelectWorkingDirectoryCommand.cpp
new file mode 100644
index 00000000..5b6a82d1
--- /dev/null
+++ b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSelectWorkingDirectoryCommand.cpp
@@ -0,0 +1,39 @@
+#include "SolidSelectWorkingDirectoryCommand.h"
+
+#include "AliceCommandParameter.h"
+
+#include
+#include
+#include
+#include
+#include "AliceIOperation.h"
+
+using namespace sdr;
+
+SolidSelectWorkingDirectoryCommand::SolidSelectWorkingDirectoryCommand() noexcept
+ : AppCommandBase(std::string("data.select_working_directory"))
+{
+}
+
+SolidSelectWorkingDirectoryCommand::~SolidSelectWorkingDirectoryCommand() = default;
+
+bool SolidSelectWorkingDirectoryCommand::IsSupported() const { return true; }
+bool SolidSelectWorkingDirectoryCommand::IsVisible() const { return true; }
+bool SolidSelectWorkingDirectoryCommand::IsEnabled() const { return true; }
+std::string SolidSelectWorkingDirectoryCommand::DisabledReason() const { return {}; }
+
+std::unique_ptr SolidSelectWorkingDirectoryCommand::Execute(const alice::CommandParameter& /*param*/)
+{
+ const QString dir = QFileDialog::getExistingDirectory(nullptr, QObject::tr("Select Working Directory"));
+ if (dir.isEmpty())
+ return nullptr;
+
+ QSettings s("AliceSoft", "AliceCAD");
+ s.beginGroup(QStringLiteral("Session"));
+ s.setValue(QStringLiteral("WorkingDirectory"), QDir::fromNativeSeparators(dir));
+ s.endGroup();
+
+ QDir::setCurrent(dir);
+ QMessageBox::information(nullptr, QObject::tr("Working Directory"), QObject::tr("Working directory set to:\n%1").arg(dir));
+ return nullptr;
+}
diff --git a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSelectWorkingDirectoryCommand.h b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSelectWorkingDirectoryCommand.h
new file mode 100644
index 00000000..0e5159d8
--- /dev/null
+++ b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSelectWorkingDirectoryCommand.h
@@ -0,0 +1,23 @@
+#pragma once
+
+#include "BaseCommands/SolidBaseCommand.h"
+
+namespace alice { struct CommandParameter; class IOperation; }
+
+namespace sdr
+{
+ /// \brief Implements Backstage: Manage Session -> Select Working Directory.
+ class SolidSelectWorkingDirectoryCommand final : public AppCommandBase
+ {
+ public:
+ SolidSelectWorkingDirectoryCommand() noexcept;
+ ~SolidSelectWorkingDirectoryCommand() override;
+
+ bool IsSupported() const override;
+ bool IsVisible() const override;
+ bool IsEnabled() const override;
+ std::string DisabledReason() const override;
+
+ std::unique_ptr Execute(const alice::CommandParameter& param) override;
+ };
+}
diff --git a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSessionObjectListCommand.cpp b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSessionObjectListCommand.cpp
new file mode 100644
index 00000000..13ef69f8
--- /dev/null
+++ b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSessionObjectListCommand.cpp
@@ -0,0 +1,70 @@
+//Owner: hananiah
+#include "SolidSessionObjectListCommand.h"
+
+#include "AliceCommandParameter.h"
+#include "AliceCoreAppUtil.h"
+#include "AliceISession.h"
+#include "AliceIDocument.h"
+#include "AliceDocumentKind.h"
+
+#include
+#include
+#include
+#include
+#include "AliceIOperation.h"
+
+using namespace alice;
+using namespace sdr;
+
+SolidSessionObjectListCommand::SolidSessionObjectListCommand() noexcept
+ : AppCommandBase(std::string("data.object_list"))
+{
+}
+
+SolidSessionObjectListCommand::~SolidSessionObjectListCommand() = default;
+
+bool SolidSessionObjectListCommand::IsSupported() const { return CoreAppUtil::GetCurrentSession() != nullptr; }
+bool SolidSessionObjectListCommand::IsVisible() const { return true; }
+bool SolidSessionObjectListCommand::IsEnabled() const { return CoreAppUtil::GetCurrentSession() != nullptr; }
+std::string SolidSessionObjectListCommand::DisabledReason() const { return {}; }
+
+std::unique_ptr SolidSessionObjectListCommand::Execute(const CommandParameter& /*param*/)
+{
+ ISession* session = CoreAppUtil::GetCurrentSession();
+ if (!session)
+ return nullptr;
+ const auto docs = session->GetDocuments();
+
+ QString txt;
+ for (IDocument* d : docs)
+ {
+ if (!d)
+ continue;
+ txt += QStringLiteral("- ");
+ txt += QString::fromStdWString(d->GetDocumentName());
+ txt += QStringLiteral(" [");
+ txt += QString::fromUtf8(ToString(d->GetDocumentKind()));
+ txt += QStringLiteral("]\n");
+ const std::wstring& uri = d->GetSourceUri();
+ if (!uri.empty())
+ {
+ txt += QStringLiteral(" ");
+ txt += QString::fromStdWString(uri);
+ txt += QLatin1Char('\n');
+ }
+ }
+
+ QDialog dlg(nullptr);
+ dlg.setWindowTitle(QObject::tr("Object List"));
+ dlg.resize(640, 480);
+ auto* layout = new QVBoxLayout(&dlg);
+ auto* edit = new QPlainTextEdit(&dlg);
+ edit->setReadOnly(true);
+ edit->setPlainText(txt.isEmpty() ? QObject::tr("No documents in session.") : txt);
+ layout->addWidget(edit, 1);
+ auto* buttons = new QDialogButtonBox(QDialogButtonBox::Close, &dlg);
+ QObject::connect(buttons, &QDialogButtonBox::rejected, &dlg, &QDialog::reject);
+ layout->addWidget(buttons);
+ dlg.exec();
+ return nullptr;
+}
diff --git a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSessionObjectListCommand.h b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSessionObjectListCommand.h
new file mode 100644
index 00000000..e64400ff
--- /dev/null
+++ b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSessionObjectListCommand.h
@@ -0,0 +1,23 @@
+#pragma once
+
+#include "BaseCommands/SolidBaseCommand.h"
+
+namespace alice { struct CommandParameter; class IOperation; }
+
+namespace sdr
+{
+ /// \brief Implements Backstage: Manage Session -> Object List.
+ class SolidSessionObjectListCommand final : public AppCommandBase
+ {
+ public:
+ SolidSessionObjectListCommand() noexcept;
+ ~SolidSessionObjectListCommand() override;
+
+ bool IsSupported() const override;
+ bool IsVisible() const override;
+ bool IsEnabled() const override;
+ std::string DisabledReason() const override;
+
+ std::unique_ptr Execute(const alice::CommandParameter& param) override;
+ };
+}
diff --git a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSettingsOptionsCommand.cpp b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSettingsOptionsCommand.cpp
new file mode 100644
index 00000000..6f45bf65
--- /dev/null
+++ b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSettingsOptionsCommand.cpp
@@ -0,0 +1,100 @@
+//Owner: hananiah
+#include "SolidSettingsOptionsCommand.h"
+
+#include "AliceCommandParameter.h"
+
+#include "AliceIUiApplicationFactory.h"
+#include "AliceIUiApplication.h"
+#include "AliceIMainWindow.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include "AliceIOperation.h"
+
+using namespace sdr;
+
+SolidSettingsOptionsCommand::SolidSettingsOptionsCommand() noexcept
+ : AppCommandBase(std::string("settings.options"))
+{
+}
+
+SolidSettingsOptionsCommand::~SolidSettingsOptionsCommand() = default;
+
+bool SolidSettingsOptionsCommand::IsSupported() const
+{
+ return alice::IUiApplicationFactory::Get() != nullptr;
+}
+
+bool SolidSettingsOptionsCommand::IsVisible() const
+{
+ return true;
+}
+
+bool SolidSettingsOptionsCommand::IsEnabled() const
+{
+ return true;
+}
+
+std::string SolidSettingsOptionsCommand::DisabledReason() const
+{
+ return {};
+}
+
+std::unique_ptr SolidSettingsOptionsCommand::Execute(const alice::CommandParameter& /*param*/)
+{
+ QWidget* parent = nullptr;
+ if (auto* pFactory = alice::IUiApplicationFactory::Get())
+ {
+ if (auto* app = pFactory->GetUiApplication())
+ {
+ if (auto* pMainWindow = app->GetMainWindowFw())
+ parent = pMainWindow->AsQMainWindow();
+ }
+ }
+
+ QDialog dlg(parent);
+ dlg.setWindowTitle(QObject::tr("Options"));
+ dlg.resize(640, 480);
+
+ auto* layout = new QVBoxLayout(&dlg);
+ auto* tabs = new QTabWidget(&dlg);
+
+ // General
+ {
+ auto* page = new QWidget(tabs);
+ auto* fl = new QFormLayout(page);
+ fl->addRow(QObject::tr("Status"), new QLabel(QObject::tr("Options UI is available; settings persistence will be integrated later."), page));
+ tabs->addTab(page, QObject::tr("General"));
+ }
+
+ // Display
+ {
+ auto* page = new QWidget(tabs);
+ auto* fl = new QFormLayout(page);
+ fl->addRow(QObject::tr("Viewport"), new QLabel(QObject::tr("Theme/viewport preferences are not wired yet."), page));
+ tabs->addTab(page, QObject::tr("Display"));
+ }
+
+ // Files
+ {
+ auto* page = new QWidget(tabs);
+ auto* fl = new QFormLayout(page);
+ fl->addRow(QObject::tr("File"), new QLabel(QObject::tr("Default file locations and backups will be added later."), page));
+ tabs->addTab(page, QObject::tr("Files"));
+ }
+
+ layout->addWidget(tabs, 1);
+
+ auto* buttons = new QDialogButtonBox(QDialogButtonBox::Ok, &dlg);
+ QObject::connect(buttons, &QDialogButtonBox::accepted, &dlg, &QDialog::accept);
+ layout->addWidget(buttons);
+
+ dlg.exec();
+ return nullptr;
+}
diff --git a/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSettingsOptionsCommand.h b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSettingsOptionsCommand.h
new file mode 100644
index 00000000..4c1e2d66
--- /dev/null
+++ b/Designer/UI/SolidDesignerCommand/GeneralCommands/SolidSettingsOptionsCommand.h
@@ -0,0 +1,24 @@
+#pragma once
+
+#include "BaseCommands/SolidBaseCommand.h"
+
+namespace alice { struct CommandParameter; class IOperation; }
+
+namespace sdr
+{
+ /// \brief Opens an Options dialog (Backstage: Options).
+ /// \note Not in CommandsConfig.xml yet; invoked directly by the Backstage.
+ class SolidSettingsOptionsCommand final : public AppCommandBase
+ {
+ public:
+ SolidSettingsOptionsCommand() noexcept;
+ ~SolidSettingsOptionsCommand() override;
+
+ bool IsSupported() const override;
+ bool IsVisible() const override;
+ bool IsEnabled() const override;
+ std::string DisabledReason() const override;
+
+ std::unique_ptr Execute(const alice::CommandParameter& param) override;
+ };
+}
diff --git a/Designer/UI/SolidDesignerCommand/HelpCommands/SolidHelpAboutCommand.cpp b/Designer/UI/SolidDesignerCommand/HelpCommands/SolidHelpAboutCommand.cpp
index 025edc83..cf591a19 100644
--- a/Designer/UI/SolidDesignerCommand/HelpCommands/SolidHelpAboutCommand.cpp
+++ b/Designer/UI/SolidDesignerCommand/HelpCommands/SolidHelpAboutCommand.cpp
@@ -5,6 +5,14 @@
#include "AliceIDocumentManager.h"
#include "AliceCommandParameter.h"
+#include "AliceIUiApplicationFactory.h"
+#include "AliceIUiApplication.h"
+
+#include
+#include
+#include
+#include
+
using namespace sdr;
using namespace alice;
@@ -21,17 +29,17 @@ sdr::SolidHelpAboutCommand::~SolidHelpAboutCommand()
bool sdr::SolidHelpAboutCommand::IsSupported() const
{
- return false;
+ return IUiApplicationFactory::Get() != nullptr;
}
bool sdr::SolidHelpAboutCommand::IsVisible() const
{
- return false;
+ return IsSupported();
}
bool sdr::SolidHelpAboutCommand::IsEnabled() const
{
- return false;
+ return IsSupported();
}
std::string sdr::SolidHelpAboutCommand::DisabledReason() const
@@ -41,5 +49,24 @@ std::string sdr::SolidHelpAboutCommand::DisabledReason() const
std::unique_ptr sdr::SolidHelpAboutCommand::Execute(const alice::CommandParameter& param)
{
+ QWidget* parent = nullptr;
+ if (auto* pFactory = IUiApplicationFactory::Get())
+ {
+ if (auto* pUiApp = pFactory->GetUiApplication())
+ {
+ if (alice::IMainWindow* pMainWindow = pUiApp->GetMainWindowFw())
+ {
+ parent = pMainWindow->AsQMainWindow();
+ }
+ }
+ }
+
+ QString text;
+ text += QObject::tr("SolidDesigner\n");
+ text += QObject::tr("Qt: %1\n").arg(qVersion());
+ text += QObject::tr("OS: %1\n").arg(QSysInfo::prettyProductName());
+ text += QObject::tr("CPU: %1\n").arg(QSysInfo::currentCpuArchitecture());
+
+ QMessageBox::information(parent, QObject::tr("About"), text);
return nullptr;
}
diff --git a/Designer/UI/SolidDesignerCommand/HelpCommands/SolidHelpContentsCommand.cpp b/Designer/UI/SolidDesignerCommand/HelpCommands/SolidHelpContentsCommand.cpp
index 5c109e31..5863372d 100644
--- a/Designer/UI/SolidDesignerCommand/HelpCommands/SolidHelpContentsCommand.cpp
+++ b/Designer/UI/SolidDesignerCommand/HelpCommands/SolidHelpContentsCommand.cpp
@@ -5,6 +5,12 @@
#include "AliceIDocumentManager.h"
#include "AliceIMainWindow.h"
+#include "AliceIUiApplicationFactory.h"
+#include "AliceIUiApplication.h"
+
+#include
+#include
+
using namespace alice;
using namespace sdr;
@@ -21,17 +27,17 @@ SolidHelpContentsCommand::~SolidHelpContentsCommand()
bool SolidHelpContentsCommand::IsSupported() const
{
- return false;
+ return true;
}
bool SolidHelpContentsCommand::IsEnabled() const
{
- return false;
+ return true;
}
bool SolidHelpContentsCommand::IsVisible() const
{
- return false;
+ return true;
}
std::string SolidHelpContentsCommand::DisabledReason() const
@@ -41,5 +47,6 @@ std::string SolidHelpContentsCommand::DisabledReason() const
std::unique_ptr SolidHelpContentsCommand::Execute(const alice::CommandParameter& param)
{
+ QDesktopServices::openUrl(QUrl(QStringLiteral("https://github.com/Ludwigstrasse/SolidDesigner")));
return nullptr;
}
\ No newline at end of file
diff --git a/Designer/UI/SolidDesignerCommand/SolidDesignerCommandFactory.cpp b/Designer/UI/SolidDesignerCommand/SolidDesignerCommandFactory.cpp
index 9aa0929f..8e4d8fb5 100644
--- a/Designer/UI/SolidDesignerCommand/SolidDesignerCommandFactory.cpp
+++ b/Designer/UI/SolidDesignerCommand/SolidDesignerCommandFactory.cpp
@@ -3,6 +3,13 @@
#include "GeneralCommands/SolidFileNewCommand.h"
#include "GeneralCommands/SolidFileOpenCommand.h"
#include "GeneralCommands/SolidFileSaveCommand.h"
+#include "GeneralCommands/SolidFileSaveAsCommand.h"
+#include "GeneralCommands/SolidFileCloseCommand.h"
+#include "GeneralCommands/SolidFileExitCommand.h"
+#include "GeneralCommands/SolidSettingsOptionsCommand.h"
+#include "GeneralCommands/SolidManageFileRenameCommand.h"
+#include "GeneralCommands/SolidSelectWorkingDirectoryCommand.h"
+#include "GeneralCommands/SolidSessionObjectListCommand.h"
#include "HelpCommands/SolidHelpAboutCommand.h"
#include "HelpCommands/SolidHelpContentsCommand.h"
#include "ModelCommands/SolidModelBlendCommand.h"
@@ -43,6 +50,13 @@ std::vector> SolidDesignerCommandFactory::Creat
vecCommands.emplace_back(std::make_shared());
vecCommands.emplace_back(std::make_shared());
vecCommands.emplace_back(std::make_shared());
+ vecCommands.emplace_back(std::make_shared());
+ vecCommands.emplace_back(std::make_shared());
+ vecCommands.emplace_back(std::make_shared());
+ vecCommands.emplace_back(std::make_shared());
+ vecCommands.emplace_back(std::make_shared());
+ vecCommands.emplace_back(std::make_shared());
+ vecCommands.emplace_back(std::make_shared());
vecCommands.emplace_back(std::make_shared());
vecCommands.emplace_back(std::make_shared());
diff --git a/Designer/UI/SolidDesignerUI/CMakeLists.txt b/Designer/UI/SolidDesignerUI/CMakeLists.txt
index 2609748e..62ca3bbc 100644
--- a/Designer/UI/SolidDesignerUI/CMakeLists.txt
+++ b/Designer/UI/SolidDesignerUI/CMakeLists.txt
@@ -56,6 +56,7 @@ target_include_directories(SolidDesignerUI
${CMAKE_CURRENT_SOURCE_DIR}/Public
${PROJECT_SOURCE_DIR}/Alice/Core/Foundation/AliceBasicTool/Public
${PROJECT_SOURCE_DIR}/Alice/UI/QFrameWork/AliceUiBasicTools/Public
+ ${PROJECT_SOURCE_DIR}/Alice/UI/QFrameWork/AliceThemeSupport/Public
${PROJECT_SOURCE_DIR}/Alice/Data/Interface/AliceModelInterface/Public
)
@@ -129,6 +130,7 @@ target_link_libraries(SolidDesignerUI PRIVATE
Qt5::Qml
AliceBasicTool
AliceUiBasicTools
+ AliceThemeSupport
AliceModelInterface
)
diff --git a/Designer/UI/SolidDesignerUI/GeneralDialogs/SolidNewFileDialog.cpp b/Designer/UI/SolidDesignerUI/GeneralDialogs/SolidNewFileDialog.cpp
index 5dda49b1..735574a9 100644
--- a/Designer/UI/SolidDesignerUI/GeneralDialogs/SolidNewFileDialog.cpp
+++ b/Designer/UI/SolidDesignerUI/GeneralDialogs/SolidNewFileDialog.cpp
@@ -1,83 +1,171 @@
//Owner: hananiah
#include "SolidNewFileDialog.h"
-#include
+
#include
+#include
+#include
#include
-#include
-#include
#include
-#include
-#include
-#include
-#include
-#include
#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#ifdef Q_OS_WIN
+ #ifndef WIN32_LEAN_AND_MEAN
+ #define WIN32_LEAN_AND_MEAN
+ #endif
+ #include
+#endif
#include "AliceQxPtrUtils.h"
using namespace sdr;
namespace
{
- static SolidNewFileDialog::TypeId ReadType(const QListWidget* list)
+ static SolidNewFileDialog::TypeId ReadType(const QButtonGroup* pBtnGroup) noexcept
+ {
+ if (!pBtnGroup)
+ return SolidNewFileDialog::TypeId::Part;
+
+ const int id = pBtnGroup->checkedId();
+ if (id < 0)
+ return SolidNewFileDialog::TypeId::Part;
+ return static_cast(id);
+ }
+
+ static SolidNewFileDialog::SubTypeId ReadSubType(const QButtonGroup* pBtnGroup) noexcept
{
- if (auto* it = list ? list->currentItem() : nullptr)
- return static_cast(it->data(Qt::UserRole).toInt());
- return SolidNewFileDialog::TypeId::Part;
+ if (!pBtnGroup)
+ return SolidNewFileDialog::SubTypeId::Default;
+
+ const int id = pBtnGroup->checkedId();
+ if (id < 0)
+ return SolidNewFileDialog::SubTypeId::Default;
+ return static_cast(id);
}
- static SolidNewFileDialog::SubTypeId ReadSubType(const QListWidget* list)
+ static void EnsureCheckedVisible(QButtonGroup& oGroup)
{
- if (auto* it = list ? list->currentItem() : nullptr)
- return static_cast(it->data(Qt::UserRole).toInt());
- return SolidNewFileDialog::SubTypeId::Default;
+ if (auto* pCheckedBtn = oGroup.checkedButton())
+ {
+ if (pCheckedBtn->isVisible() && pCheckedBtn->isEnabled())
+ return;
+ }
+
+ // Pick the first visible+enabled button.
+ for (auto* pButton : oGroup.buttons())
+ {
+ if (pButton && pButton->isVisible() && pButton->isEnabled())
+ {
+ pButton->setChecked(true);
+ return;
+ }
+ }
}
}
SolidNewFileDialog::SolidNewFileDialog(QWidget* parent)
: QDialog(parent)
{
+ setObjectName("SolidNewFileDialog");
setWindowTitle(tr("New"));
setModal(true);
- setMinimumSize(700, 420);
+ setMinimumSize(520, 360);
+
+ // Windows UX: remove the '?' context-help button and avoid showing an app icon.
+ setWindowFlag(Qt::WindowContextHelpButtonHint, false);
+ setAttribute(Qt::WA_NativeWindow, true);
BuildUi_();
- PopulateTypes_();
- PopulateSubtypes_(TypeId::Part);
+ BuildTypes_();
+ BuildSubTypes_();
// Default selections
- m_typeList->setCurrentRow(0);
- m_subTypeList->setCurrentRow(0);
- m_useTemplate->setChecked(true);
-
- // Wire events
- QObject::connect(m_typeList, &QListWidget::currentRowChanged, this, [this](int /*row*/) {
- const TypeId type = ReadType(m_typeList);
- PopulateSubtypes_(type);
+ if (m_pPartTypeRadioButton)
+ m_pPartTypeRadioButton->setChecked(true);
+ UpdateSubTypeVisibility_(TypeId::Part);
+ EnsureSuggestedName_(TypeId::Part);
+ if (m_pUseTemplateChkBox)
+ m_pUseTemplateChkBox->setChecked(true);
+
+ // Wire events (no per-dialog stylesheet; follow ThemeSupport global palette/qss)
+ auto onTypeChanged = [this](TypeId type, bool checked) {
+ if (!checked)
+ return;
+ UpdateSubTypeVisibility_(type);
+ EnsureSuggestedName_(type);
SyncFromUi_();
UpdateOkEnabled_();
- });
- QObject::connect(m_subTypeList, &QListWidget::currentRowChanged, this, [this](int /*row*/) {
- SyncFromUi_();
- UpdateOkEnabled_();
- });
- QObject::connect(m_nameEdit, &QLineEdit::textChanged, this, [this](const QString&) {
- SyncFromUi_();
- UpdateOkEnabled_();
- });
- QObject::connect(m_useTemplate, &QCheckBox::toggled, this, [this](bool) {
+ FocusFileNameEdit_();
+ };
+
+ if (m_pPartTypeRadioButton)
+ QObject::connect(m_pPartTypeRadioButton, &QRadioButton::toggled, this, [=](bool c) { onTypeChanged(TypeId::Part, c); });
+ if (m_pAsmTypeRadioButton)
+ QObject::connect(m_pAsmTypeRadioButton, &QRadioButton::toggled, this, [=](bool c) { onTypeChanged(TypeId::Assembly, c); });
+ if (m_pDrawingTypeRadioButton)
+ QObject::connect(m_pDrawingTypeRadioButton, &QRadioButton::toggled, this, [=](bool c) { onTypeChanged(TypeId::Drawing, c); });
+ if (m_pSketchTypeButton)
+ QObject::connect(m_pSketchTypeButton, &QRadioButton::toggled, this, [=](bool c) { onTypeChanged(TypeId::Sketch, c); });
+
+ auto onSubTypeChanged = [this](bool checked) {
+ if (!checked)
+ return;
SyncFromUi_();
UpdateOkEnabled_();
- });
+ FocusFileNameEdit_();
+ };
+ if (m_pSubDefaultRadioButton)
+ QObject::connect(m_pSubDefaultRadioButton, &QRadioButton::toggled, this, onSubTypeChanged);
+ if (m_pSubDesignRadioButton)
+ QObject::connect(m_pSubDesignRadioButton, &QRadioButton::toggled, this, onSubTypeChanged);
+ if (m_pSubBimRadioButton)
+ QObject::connect(m_pSubBimRadioButton, &QRadioButton::toggled, this, onSubTypeChanged);
+ if (m_pSubSolidRadioButton)
+ QObject::connect(m_pSubSolidRadioButton, &QRadioButton::toggled, this, onSubTypeChanged);
+ if (m_pSubSheetmetalRadioButton)
+ QObject::connect(m_pSubSheetmetalRadioButton, &QRadioButton::toggled, this, onSubTypeChanged);
+ if (m_pSubLayoutRadioButton)
+ QObject::connect(m_pSubLayoutRadioButton, &QRadioButton::toggled, this, onSubTypeChanged);
+
+ if (m_pFileNameEdit)
+ {
+ QObject::connect(m_pFileNameEdit, &QLineEdit::textChanged, this, [this](const QString&) {
+ SyncFromUi_();
+ UpdateOkEnabled_();
+ });
+
+ QObject::connect(m_pFileNameEdit, &QLineEdit::textEdited, this, [this](const QString&) {
+ m_bUserEditedName = true;
+ });
+ }
+
+ if (m_pUseTemplateChkBox)
+ {
+ QObject::connect(m_pUseTemplateChkBox, &QCheckBox::toggled, this, [this](bool) {
+ SyncFromUi_();
+ UpdateOkEnabled_();
+ });
+ }
SyncFromUi_();
UpdateOkEnabled_();
-}
-
-SolidNewFileDialog::~SolidNewFileDialog()
-{
+ // Ensure the line edit has focus when the dialog becomes visible.
+ QTimer::singleShot(0, this, [this]() {
+ FocusFileNameEdit_();
+ });
}
+SolidNewFileDialog::~SolidNewFileDialog() = default;
+
bool SolidNewFileDialog::GetNewFileRequest(QWidget* parent, NewFileRequest& outRequest)
{
SolidNewFileDialog dlg(parent);
@@ -85,130 +173,247 @@ bool SolidNewFileDialog::GetNewFileRequest(QWidget* parent, NewFileRequest& outR
return false;
outRequest = dlg.Request();
- if (outRequest.name.trimmed().isEmpty())
- return false;
+ return !outRequest.fileName.trimmed().isEmpty();
+}
+
+void SolidNewFileDialog::showEvent(QShowEvent* event)
+{
+ QDialog::showEvent(event);
+ FocusFileNameEdit_();
+}
+
+void SolidNewFileDialog::FocusFileNameEdit_()
+{
+ if (!m_pFileNameEdit)
+ return;
+
+ m_pFileNameEdit->setFocus(Qt::TabFocusReason);
+ if (!m_pFileNameEdit->text().isEmpty())
+ m_pFileNameEdit->selectAll();
+}
- return true;
+QString SolidNewFileDialog::SuggestedName_(TypeId type)
+{
+ switch (type)
+ {
+ case TypeId::Part:
+ return QStringLiteral("Part1");
+ case TypeId::Assembly:
+ return QStringLiteral("Assembly1");
+ case TypeId::Drawing:
+ return QStringLiteral("Drawing1");
+ case TypeId::Sketch:
+ return QStringLiteral("Sketch1");
+ default:
+ return QStringLiteral("Part1");
+ }
+}
+
+void SolidNewFileDialog::EnsureSuggestedName_(TypeId type)
+{
+ if (!m_pFileNameEdit)
+ return;
+
+ const QString cur = m_pFileNameEdit->text().trimmed();
+ const QString next = SuggestedName_(type);
+
+ // Only override the edit when user didn't type anything meaningful.
+ const bool canOverride = (!m_bUserEditedName) || cur.isEmpty() || (!m_strLastSuggestedName.isEmpty() && cur == m_strLastSuggestedName);
+ if (!canOverride)
+ return;
+
+ m_strLastSuggestedName = next;
+ m_bUserEditedName = false; // still in auto mode
+
+ m_pFileNameEdit->setText(next);
+ m_pFileNameEdit->setCursorPosition(0);
+ m_pFileNameEdit->selectAll();
}
void SolidNewFileDialog::BuildUi_()
{
- QVBoxLayout* pRootLayout = QX_NEW_QOBJECT(QVBoxLayout, this);
+ auto* pRootLayout = QX_NEW_QOBJECT(QVBoxLayout, this);
DIAG_RETURN_VOID_IF_FALSE(pRootLayout, "pRootLayout is null", "hananiah", "2025.12.25");
pRootLayout->setContentsMargins(12, 12, 12, 12);
pRootLayout->setSpacing(10);
- // Two-column: type/subtype lists
- QSplitter* pSplit = QX_NEW_QWIDGET(QSplitter, this);
- DIAG_RETURN_VOID_IF_FALSE(pSplit, "pSplit is null", "hananiah", "2025.12.25");
- pSplit->setOrientation(Qt::Horizontal);
- pRootLayout->addWidget(pSplit, /*stretch*/ 1);
-
- QGroupBox* pLeftBox = QX_NEW_QWIDGET(QGroupBox, tr("Type"), this);
- QGroupBox* pRightBox = QX_NEW_QWIDGET(QGroupBox, tr("Subtype"), this);
-
- QVBoxLayout* pLeftLayout = QX_NEW_QOBJECT(QVBoxLayout, pLeftBox);
- DIAG_RETURN_VOID_IF_FALSE(pLeftLayout, "pLeftLayout is null", "hananiah", "2025.12.25");
- QVBoxLayout* pRightLayout = QX_NEW_QOBJECT(QVBoxLayout, pRightBox);
- DIAG_RETURN_VOID_IF_FALSE(pRightLayout, "pRightLayout is null", "hananiah", "2025.12.25");
- m_typeList = QX_NEW_QWIDGET(QListWidget, pLeftBox);
- m_subTypeList = QX_NEW_QWIDGET(QListWidget, pRightBox);
-
- pLeftLayout->addWidget(m_typeList);
- pRightLayout->addWidget(m_subTypeList);
-
- pSplit->addWidget(pLeftBox);
- pSplit->addWidget(pRightBox);
- pSplit->setStretchFactor(0, 1);
- pSplit->setStretchFactor(1, 1);
-
- // Form area
- QGroupBox* pFormBox = QX_NEW_QWIDGET(QGroupBox, tr("Settings"), this);
- QFormLayout* pForm = new QFormLayout(pFormBox);
- DIAG_RETURN_VOID_IF_FALSE(pForm, "pForm is null", "hananiah", "2025.12.25");
- pFormBox->setLayout(pForm);
- pRootLayout->addWidget(pFormBox);
-
- m_nameEdit = QX_NEW_QWIDGET(QLineEdit, this);
- DIAG_RETURN_VOID_IF_FALSE(m_nameEdit, "m_nameEdit is null", "hananiah", "2025.12.25");
- m_nameEdit->setPlaceholderText(tr("Name (e.g. Part1)"));
- pForm->addRow(tr("Name"), m_nameEdit);
-
- m_useTemplate = QX_NEW_QWIDGET(QCheckBox, tr("Use default template"), this);
- DIAG_RETURN_VOID_IF_FALSE(m_useTemplate, "m_useTemplate is null", "hananiah", "2025.12.25");
- pForm->addRow(QString(), m_useTemplate);
-
- m_kindLabel = QX_NEW_QWIDGET(QLabel, this);
- DIAG_RETURN_VOID_IF_FALSE(m_kindLabel, "m_kindLabel is null", "hananiah", "2025.12.25");
- m_kindLabel->setTextInteractionFlags(Qt::TextSelectableByMouse);
- pForm->addRow(tr("DocumentKind"), m_kindLabel);
+ // Top row: Type / Sub-type
+ auto* pTopRowLayout = QX_NEW_QOBJECT(QHBoxLayout);
+ DIAG_RETURN_VOID_IF_FALSE(pTopRowLayout, "pTopRowLayout is null", "hananiah", "2025.12.25");
+ pTopRowLayout->setSpacing(12);
+ pRootLayout->addLayout(pTopRowLayout, 1);
+
+ auto* pTypeGroupBox = QX_NEW_QWIDGET(QGroupBox, tr("Type"), this);
+ DIAG_RETURN_VOID_IF_FALSE(pTypeGroupBox, "pTypeGroupBox is null", "hananiah", "2025.12.25");
+ auto* pSubTypeGroupBox = QX_NEW_QWIDGET(QGroupBox, tr("Sub-type"), this);
+ DIAG_RETURN_VOID_IF_FALSE(pSubTypeGroupBox, "pSubTypeGroupBox is null", "hananiah", "2025.12.25");
+ pTopRowLayout->addWidget(pTypeGroupBox, 1);
+ pTopRowLayout->addWidget(pSubTypeGroupBox, 1);
+
+ auto* pTypeVLayout = QX_NEW_QOBJECT(QVBoxLayout, pTypeGroupBox);
+ DIAG_RETURN_VOID_IF_FALSE(pTypeVLayout, "pTypeVLayout is null", "hananiah", "2025.12.25");
+ pTypeVLayout->setContentsMargins(12, 16, 12, 12);
+ pTypeVLayout->setSpacing(6);
+
+ auto* pSubTypeVLayout = QX_NEW_QOBJECT(QVBoxLayout, pSubTypeGroupBox);
+ DIAG_RETURN_VOID_IF_FALSE(pSubTypeVLayout, "pSubTypeVLayout is null", "hananiah", "2025.12.25");
+ pSubTypeVLayout->setContentsMargins(12, 16, 12, 12);
+ pSubTypeVLayout->setSpacing(6);
+
+ // Create button groups
+ m_pTypeGroup = QX_NEW_QOBJECT(QButtonGroup, this);
+ DIAG_RETURN_VOID_IF_FALSE(m_pTypeGroup, "m_pTypeGroup is null", "hananiah", "2025.12.25");
+ m_pSubTypeGroup = QX_NEW_QOBJECT(QButtonGroup, this);
+ DIAG_RETURN_VOID_IF_FALSE(m_pSubTypeGroup, "m_pSubTypeGroup is null", "hananiah", "2025.12.25");
+ m_pTypeGroup->setExclusive(true);
+ m_pSubTypeGroup->setExclusive(true);
+
+ // Type radios
+ m_pPartTypeRadioButton = QX_NEW_QWIDGET(QRadioButton, tr("Part"), pTypeGroupBox);
+ DIAG_RETURN_VOID_IF_FALSE(m_pPartTypeRadioButton, "m_pPartTypeRadioButton is null", "hananiah", "2025.12.25");
+ m_pAsmTypeRadioButton = QX_NEW_QWIDGET(QRadioButton, tr("Assembly"), pTypeGroupBox);
+ DIAG_RETURN_VOID_IF_FALSE(m_pAsmTypeRadioButton, "m_pAsmTypeRadioButton is null", "hananiah", "2025.12.25");
+ m_pDrawingTypeRadioButton = QX_NEW_QWIDGET(QRadioButton, tr("Drawing"), pTypeGroupBox);
+ DIAG_RETURN_VOID_IF_FALSE(m_pDrawingTypeRadioButton, "m_pDrawingTypeRadioButton is null", "hananiah", "2025.12.25");
+ m_pSketchTypeButton = QX_NEW_QWIDGET(QRadioButton, tr("Sketch"), pTypeGroupBox);
+ DIAG_RETURN_VOID_IF_FALSE(m_pSketchTypeButton, "m_pSketchTypeButton is null", "hananiah", "2025.12.25");
+
+ pTypeVLayout->addWidget(m_pPartTypeRadioButton);
+ pTypeVLayout->addWidget(m_pAsmTypeRadioButton);
+ pTypeVLayout->addWidget(m_pDrawingTypeRadioButton);
+ pTypeVLayout->addWidget(m_pSketchTypeButton);
+ pTypeVLayout->addStretch(1);
+
+ m_pTypeGroup->addButton(m_pPartTypeRadioButton, static_cast(TypeId::Part));
+ m_pTypeGroup->addButton(m_pAsmTypeRadioButton, static_cast(TypeId::Assembly));
+ m_pTypeGroup->addButton(m_pDrawingTypeRadioButton, static_cast(TypeId::Drawing));
+ m_pTypeGroup->addButton(m_pSketchTypeButton, static_cast(TypeId::Sketch));
+
+ // Sub-type radios (all created once; visibility controlled by type)
+ m_pSubDefaultRadioButton = QX_NEW_QWIDGET(QRadioButton, tr("Default"), pSubTypeGroupBox);
+ m_pSubDesignRadioButton = QX_NEW_QWIDGET(QRadioButton, tr("Design"), pSubTypeGroupBox);
+ m_pSubECADRadioButton = QX_NEW_QWIDGET(QRadioButton, tr("ECAD"), pSubTypeGroupBox);
+ m_pSubBimRadioButton = QX_NEW_QWIDGET(QRadioButton, tr("BIM"), pSubTypeGroupBox);
+ m_pSubSolidRadioButton = QX_NEW_QWIDGET(QRadioButton, tr("Solid"), pSubTypeGroupBox);
+ m_pSubSheetmetalRadioButton = QX_NEW_QWIDGET(QRadioButton, tr("Sheetmetal"), pSubTypeGroupBox);
+ m_pSubLayoutRadioButton = QX_NEW_QWIDGET(QRadioButton, tr("Layout"), pSubTypeGroupBox);
+
+ pSubTypeVLayout->addWidget(m_pSubDefaultRadioButton);
+ pSubTypeVLayout->addWidget(m_pSubDesignRadioButton);
+ pSubTypeVLayout->addWidget(m_pSubECADRadioButton);
+ pSubTypeVLayout->addWidget(m_pSubBimRadioButton);
+ pSubTypeVLayout->addWidget(m_pSubSolidRadioButton);
+ pSubTypeVLayout->addWidget(m_pSubSheetmetalRadioButton);
+ pSubTypeVLayout->addWidget(m_pSubLayoutRadioButton);
+ pSubTypeVLayout->addStretch(1);
+
+ m_pSubTypeGroup->addButton(m_pSubDefaultRadioButton, static_cast(SubTypeId::Default));
+ m_pSubTypeGroup->addButton(m_pSubDesignRadioButton, static_cast(SubTypeId::Design));
+ m_pSubTypeGroup->addButton(m_pSubECADRadioButton, static_cast(SubTypeId::ECAD));
+ m_pSubTypeGroup->addButton(m_pSubBimRadioButton, static_cast(SubTypeId::Bim));
+ m_pSubTypeGroup->addButton(m_pSubSolidRadioButton, static_cast(SubTypeId::Solid));
+ m_pSubTypeGroup->addButton(m_pSubSheetmetalRadioButton, static_cast(SubTypeId::Sheetmetal));
+ m_pSubTypeGroup->addButton(m_pSubLayoutRadioButton, static_cast(SubTypeId::Layout));
+
+ // Bottom: Settings
+ auto* pSettingsGrpBox = QX_NEW_QWIDGET(QGroupBox, tr("Settings"), this);
+ DIAG_RETURN_VOID_IF_FALSE(pSettingsGrpBox, "pSettingsGrpBox is null", "hananiah", "2025.12.25");
+ pRootLayout->addWidget(pSettingsGrpBox);
+ auto* pFormLayout = QX_NEW_QOBJECT(QFormLayout, pSettingsGrpBox);
+ DIAG_RETURN_VOID_IF_FALSE(pFormLayout, "pFormLayout is null", "hananiah", "2025.12.25");
+ pFormLayout->setContentsMargins(12, 16, 12, 12);
+ pFormLayout->setHorizontalSpacing(12);
+ pFormLayout->setVerticalSpacing(8);
+
+ m_pFileNameEdit = QX_NEW_QWIDGET(QLineEdit, pSettingsGrpBox);
+ DIAG_RETURN_VOID_IF_FALSE(m_pFileNameEdit, "m_pFileNameEdit is null", "hananiah", "2025.12.25");
+ m_pFileNameEdit->setPlaceholderText(tr("Name (e.g. Part1)"));
+ pFormLayout->addRow(tr("File name"), m_pFileNameEdit);
+
+ m_pUseTemplateChkBox = QX_NEW_QWIDGET(QCheckBox, tr("Use default template"), pSettingsGrpBox);
+ DIAG_RETURN_VOID_IF_FALSE(m_pUseTemplateChkBox, "m_pUseTemplateChkBox is null", "hananiah", "2025.12.25");
+ pFormLayout->addRow(QString(), m_pUseTemplateChkBox);
+
+ m_pFileKindLabel = QX_NEW_QWIDGET(QLabel, pSettingsGrpBox);
+ DIAG_RETURN_VOID_IF_FALSE(m_pFileKindLabel, "m_pFileKindLabel is null", "hananiah", "2025.12.25");
+ m_pFileKindLabel->setTextInteractionFlags(Qt::TextSelectableByMouse);
+ pFormLayout->addRow(tr("DocumentKind"), m_pFileKindLabel);
// Buttons
- m_buttons = QX_NEW_QWIDGET(QDialogButtonBox, QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
- DIAG_RETURN_VOID_IF_FALSE(m_buttons, "m_buttons is null", "hananiah", "2025.12.25");
- pRootLayout->addWidget(m_buttons);
- QObject::connect(m_buttons, &QDialogButtonBox::accepted, this, &QDialog::accept);
- QObject::connect(m_buttons, &QDialogButtonBox::rejected, this, &QDialog::reject);
+ m_pButtonBox = QX_NEW_QWIDGET(QDialogButtonBox, QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
+ DIAG_RETURN_VOID_IF_FALSE(m_pButtonBox, "m_pButtonBox is null", "hananiah", "2025.12.25");
+ pRootLayout->addWidget(m_pButtonBox);
+ QObject::connect(m_pButtonBox, &QDialogButtonBox::accepted, this, &QDialog::accept);
+ QObject::connect(m_pButtonBox, &QDialogButtonBox::rejected, this, &QDialog::reject);
+ if (QPushButton* pOkBtn = qobject_cast(m_pButtonBox->button(QDialogButtonBox::Ok)))
+ pOkBtn->setDefault(true);
}
-void SolidNewFileDialog::PopulateTypes_()
+void SolidNewFileDialog::BuildTypes_()
{
- m_typeList->clear();
- auto addType = [this](TypeId t) {
- auto* pItem = QX_EMPLACE_ITEM(nullptr, QListWidgetItem, TypeText_(t), m_typeList);
- DIAG_RETURN_VOID_IF_FALSE(pItem, "pItem is null", "hananiah", "2025.12.25");
- pItem->setData(Qt::UserRole, static_cast(t));
- };
- addType(TypeId::Part);
- addType(TypeId::Assembly);
- addType(TypeId::Drawing);
- addType(TypeId::Sketch);
+ // Types are built once in BuildUi_. This function exists to keep API stable and explicit.
+}
+
+void SolidNewFileDialog::BuildSubTypes_()
+{
+ // Sub-types are built once in BuildUi_. This function exists to keep API stable and explicit.
}
-void SolidNewFileDialog::PopulateSubtypes_(TypeId type)
+void SolidNewFileDialog::UpdateSubTypeVisibility_(TypeId type)
{
- m_subTypeList->clear();
- auto addSubType = [this](SubTypeId st) {
- auto* pItem = QX_EMPLACE_ITEM(nullptr, QListWidgetItem, SubTypeText_(st), m_subTypeList);
- DIAG_RETURN_VOID_IF_FALSE(pItem, "pItem is null", "hananiah", "2025.12.25");
- pItem->setData(Qt::UserRole, static_cast(st));
+ auto vis = [](QRadioButton* pRadioButton, bool bValue) {
+ if (!pRadioButton)
+ return;
+ pRadioButton->setVisible(bValue);
+ pRadioButton->setEnabled(bValue);
};
- // Keep it minimal yet expandable.
+ // Reset all.
+ vis(m_pSubDefaultRadioButton, false);
+ vis(m_pSubDesignRadioButton, false);
+ vis(m_pSubECADRadioButton, false);
+ vis(m_pSubBimRadioButton, false);
+ vis(m_pSubSolidRadioButton, false);
+ vis(m_pSubSheetmetalRadioButton, false);
+ vis(m_pSubLayoutRadioButton, false);
+
switch (type)
{
case TypeId::Part:
- addSubType(SubTypeId::Solid);
- addSubType(SubTypeId::Sheetmetal);
- break;
- case TypeId::Assembly:
- addSubType(SubTypeId::Default);
+ vis(m_pSubSolidRadioButton, true);
+ vis(m_pSubSheetmetalRadioButton, true);
break;
case TypeId::Drawing:
- addSubType(SubTypeId::Default);
- addSubType(SubTypeId::Layout);
+ vis(m_pSubDefaultRadioButton, true);
+ vis(m_pSubLayoutRadioButton, true);
break;
- case TypeId::Sketch:
- addSubType(SubTypeId::Default);
+ case TypeId::Assembly:
+ vis(m_pSubDesignRadioButton, true);
+ vis(m_pSubBimRadioButton, true);
break;
+ case TypeId::Sketch:
default:
- addSubType(SubTypeId::Default);
+ vis(m_pSubDefaultRadioButton, true);
break;
}
- m_subTypeList->setCurrentRow(0);
+ if (m_pSubTypeGroup)
+ EnsureCheckedVisible(*m_pSubTypeGroup);
}
void SolidNewFileDialog::SyncFromUi_()
{
- m_request.type = ReadType(m_typeList);
- m_request.subtype = ReadSubType(m_subTypeList);
- m_request.kind = MapToDocumentKind_(m_request.type, m_request.subtype);
- m_request.name = m_nameEdit->text().trimmed();
- m_request.useDefaultTemplate = m_useTemplate->isChecked();
+ const TypeId type = ReadType(m_pTypeGroup);
+ const SubTypeId sub = ReadSubType(m_pSubTypeGroup);
+
+ m_request.type = type;
+ m_request.subtype = sub;
+ m_request.fileKind = MapToDocumentKind_(type, sub);
+ m_request.fileName = m_pFileNameEdit ? m_pFileNameEdit->text().trimmed() : QString();
+ m_request.useDefaultTemplate = m_pUseTemplateChkBox ? m_pUseTemplateChkBox->isChecked() : true;
QString kindText;
- switch (m_request.kind)
+ switch (m_request.fileKind)
{
case alice::DocumentKind::Part:
kindText = tr("Part");
@@ -216,24 +421,29 @@ void SolidNewFileDialog::SyncFromUi_()
case alice::DocumentKind::Assembly:
kindText = tr("Assembly");
break;
- case alice::DocumentKind::Drawing:
- kindText = tr("Drawing");
+ case alice::DocumentKind::Drawing:
+ kindText = tr("Drawing");
break;
- case alice::DocumentKind::Sketch:
+ case alice::DocumentKind::Sketch:
kindText = tr("Sketch");
break;
default:
- kindText = tr("Unknown");
+ kindText = tr("Unknown");
break;
}
- m_kindLabel->setText(kindText);
+
+ if (m_pFileKindLabel)
+ m_pFileKindLabel->setText(kindText);
}
void SolidNewFileDialog::UpdateOkEnabled_()
{
- const bool ok = !m_nameEdit->text().trimmed().isEmpty();
- if (QAbstractButton* btn = m_buttons->button(QDialogButtonBox::Ok))
- btn->setEnabled(ok);
+ if (!m_pButtonBox || !m_pFileNameEdit)
+ return;
+
+ const bool ok = !m_pFileNameEdit->text().trimmed().isEmpty();
+ if (QAbstractButton* pBtn = m_pButtonBox->button(QDialogButtonBox::Ok))
+ pBtn->setEnabled(ok);
}
alice::DocumentKind SolidNewFileDialog::MapToDocumentKind_(TypeId type, SubTypeId /*subtype*/) noexcept
diff --git a/Designer/UI/SolidDesignerUI/Public/SolidNewFileDialog.h b/Designer/UI/SolidDesignerUI/Public/SolidNewFileDialog.h
index ef2ff1f6..2f009292 100644
--- a/Designer/UI/SolidDesignerUI/Public/SolidNewFileDialog.h
+++ b/Designer/UI/SolidDesignerUI/Public/SolidNewFileDialog.h
@@ -1,16 +1,18 @@
#pragma once
#include "SolidDesignerUI.h"
#include "AliceDocumentKind.h"
-
#include
#include
+#include
-class QListWidget;
class QLineEdit;
class QCheckBox;
class QLabel;
class QWidget;
class QDialogButtonBox;
+class QShowEvent;
+class QButtonGroup;
+class QRadioButton;
namespace sdr
{
class SOLID_DESIGNER_UI_EXPORT SolidNewFileDialog final : public QDialog
@@ -27,49 +29,78 @@ namespace sdr
enum class SubTypeId
{
Default = 0,
- Solid = 1,
- Sheetmetal = 2,
- Layout = 3,
+ Design = 1,
+ ECAD = 2,
+ Bim = 3,
+ Solid = 4,
+ Sheetmetal = 5,
+ Layout = 6,
};
struct NewFileRequest
{
TypeId type = TypeId::Part;
SubTypeId subtype = SubTypeId::Solid;
- alice::DocumentKind kind = alice::DocumentKind::Part;
- QString name;
+ alice::DocumentKind fileKind = alice::DocumentKind::Part;
+ QString fileName;
bool useDefaultTemplate = true;
};
explicit SolidNewFileDialog(QWidget* parent = nullptr);
~SolidNewFileDialog() override;
- /// \brief Blocking modal helper.
+ /// \brief: Blocking modal helper.
/// \return true if user clicks OK and the request is valid.
static bool GetNewFileRequest(QWidget* parent, NewFileRequest& outRequest);
- /// \brief Current request snapshot (only meaningful after accept()).
+ /// \brief: Current request snapshot (only meaningful after accept()).
const NewFileRequest& Request() const { return m_request; }
private:
void BuildUi_();
- void PopulateTypes_();
- void PopulateSubtypes_(TypeId type);
+ void BuildTypes_();
+ void BuildSubTypes_();
+
+ void UpdateSubTypeVisibility_(TypeId type);
void SyncFromUi_();
void UpdateOkEnabled_();
+ void EnsureSuggestedName_(TypeId type);
+ static QString SuggestedName_(TypeId type);
+ void FocusFileNameEdit_();
+
+ protected:
+ void showEvent(QShowEvent* event) override;
+
static alice::DocumentKind MapToDocumentKind_(TypeId type, SubTypeId subtype) noexcept;
static QString TypeText_(TypeId type);
static QString SubTypeText_(SubTypeId st);
private:
- QListWidget* m_typeList = nullptr;
- QListWidget* m_subTypeList = nullptr;
- QLineEdit* m_nameEdit = nullptr;
- QCheckBox* m_useTemplate = nullptr;
- QLabel* m_kindLabel = nullptr;
- QDialogButtonBox* m_buttons = nullptr;
-
- NewFileRequest m_request;
+ QPointer m_pTypeGroup;
+ QPointer m_pSubTypeGroup;
+
+ QPointer m_pPartTypeRadioButton;
+ QPointer m_pAsmTypeRadioButton;
+ QPointer m_pDrawingTypeRadioButton;
+ QPointer m_pSketchTypeButton;
+
+ QPointer m_pSubDefaultRadioButton;
+ QPointer m_pSubDesignRadioButton;
+ QPointer m_pSubECADRadioButton;
+ QPointer m_pSubBimRadioButton;
+ QPointer m_pSubSolidRadioButton;
+ QPointer m_pSubSheetmetalRadioButton;
+ QPointer m_pSubLayoutRadioButton;
+
+ QPointer m_pFileNameEdit;
+ QPointer m_pUseTemplateChkBox;
+ QPointer m_pFileKindLabel;
+ QPointer m_pButtonBox;
+
+ bool m_bUserEditedName = false;
+ QString m_strLastSuggestedName;
+
+ NewFileRequest m_request;
};
}
diff --git a/Designer/UIResource/FileMenu/dark/png/16/data/design_exploration.png b/Designer/UIResource/FileMenu/dark/png/16/data/design_exploration.png
new file mode 100644
index 00000000..b36291d5
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/data/design_exploration.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/data/erase_current.png b/Designer/UIResource/FileMenu/dark/png/16/data/erase_current.png
new file mode 100644
index 00000000..bc9f45fc
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/data/erase_current.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/data/erase_not_displayed.png b/Designer/UIResource/FileMenu/dark/png/16/data/erase_not_displayed.png
new file mode 100644
index 00000000..b22f2b39
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/data/erase_not_displayed.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/data/erase_unused_model_reps.png b/Designer/UIResource/FileMenu/dark/png/16/data/erase_unused_model_reps.png
new file mode 100644
index 00000000..1df906ad
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/data/erase_unused_model_reps.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/data/manage_session.png b/Designer/UIResource/FileMenu/dark/png/16/data/manage_session.png
new file mode 100644
index 00000000..fbaa4b3e
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/data/manage_session.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/data/object_list.png b/Designer/UIResource/FileMenu/dark/png/16/data/object_list.png
new file mode 100644
index 00000000..d79b6c0d
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/data/object_list.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/data/open_linked_browser.png b/Designer/UIResource/FileMenu/dark/png/16/data/open_linked_browser.png
new file mode 100644
index 00000000..1bd56482
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/data/open_linked_browser.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/data/play_trail_file.png b/Designer/UIResource/FileMenu/dark/png/16/data/play_trail_file.png
new file mode 100644
index 00000000..fe828bad
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/data/play_trail_file.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/data/select_working_directory.png b/Designer/UIResource/FileMenu/dark/png/16/data/select_working_directory.png
new file mode 100644
index 00000000..0faed683
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/data/select_working_directory.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/data/server_management.png b/Designer/UIResource/FileMenu/dark/png/16/data/server_management.png
new file mode 100644
index 00000000..495fd279
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/data/server_management.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/data/update_index.png b/Designer/UIResource/FileMenu/dark/png/16/data/update_index.png
new file mode 100644
index 00000000..1cc15a24
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/data/update_index.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/file/close.png b/Designer/UIResource/FileMenu/dark/png/16/file/close.png
new file mode 100644
index 00000000..df80afd8
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/file/close.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/file/exit.png b/Designer/UIResource/FileMenu/dark/png/16/file/exit.png
new file mode 100644
index 00000000..879dcecc
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/file/exit.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/file/new.png b/Designer/UIResource/FileMenu/dark/png/16/file/new.png
new file mode 100644
index 00000000..43e33ad5
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/file/new.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/file/open.png b/Designer/UIResource/FileMenu/dark/png/16/file/open.png
new file mode 100644
index 00000000..f5e390fb
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/file/open.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/file/save.png b/Designer/UIResource/FileMenu/dark/png/16/file/save.png
new file mode 100644
index 00000000..49552385
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/file/save.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/file/save_as.png b/Designer/UIResource/FileMenu/dark/png/16/file/save_as.png
new file mode 100644
index 00000000..6a82fcd3
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/file/save_as.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/help/about.png b/Designer/UIResource/FileMenu/dark/png/16/help/about.png
new file mode 100644
index 00000000..21ef9e32
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/help/about.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/help/command_search.png b/Designer/UIResource/FileMenu/dark/png/16/help/command_search.png
new file mode 100644
index 00000000..7664fc83
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/help/command_search.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/help/help.png b/Designer/UIResource/FileMenu/dark/png/16/help/help.png
new file mode 100644
index 00000000..63e53642
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/help/help.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/help/log_support_case.png b/Designer/UIResource/FileMenu/dark/png/16/help/log_support_case.png
new file mode 100644
index 00000000..7664fc83
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/help/log_support_case.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/help/online_resources.png b/Designer/UIResource/FileMenu/dark/png/16/help/online_resources.png
new file mode 100644
index 00000000..d1cbe19e
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/help/online_resources.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/help/product_help.png b/Designer/UIResource/FileMenu/dark/png/16/help/product_help.png
new file mode 100644
index 00000000..b12ced3b
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/help/product_help.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/help/search_online_kb.png b/Designer/UIResource/FileMenu/dark/png/16/help/search_online_kb.png
new file mode 100644
index 00000000..d8382820
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/help/search_online_kb.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/help/system_information.png b/Designer/UIResource/FileMenu/dark/png/16/help/system_information.png
new file mode 100644
index 00000000..21ef9e32
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/help/system_information.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/manage_file/declare.png b/Designer/UIResource/FileMenu/dark/png/16/manage_file/declare.png
new file mode 100644
index 00000000..e12cee0d
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/manage_file/declare.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/manage_file/delete_all_versions.png b/Designer/UIResource/FileMenu/dark/png/16/manage_file/delete_all_versions.png
new file mode 100644
index 00000000..946a6a3a
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/manage_file/delete_all_versions.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/manage_file/delete_old_versions.png b/Designer/UIResource/FileMenu/dark/png/16/manage_file/delete_old_versions.png
new file mode 100644
index 00000000..a96d522c
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/manage_file/delete_old_versions.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/manage_file/instance_accelerator.png b/Designer/UIResource/FileMenu/dark/png/16/manage_file/instance_accelerator.png
new file mode 100644
index 00000000..48f4aac7
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/manage_file/instance_accelerator.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/manage_file/manage_file.png b/Designer/UIResource/FileMenu/dark/png/16/manage_file/manage_file.png
new file mode 100644
index 00000000..7d2c6ec2
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/manage_file/manage_file.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/manage_file/rename.png b/Designer/UIResource/FileMenu/dark/png/16/manage_file/rename.png
new file mode 100644
index 00000000..e739f41b
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/manage_file/rename.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/prepare/prepare.png b/Designer/UIResource/FileMenu/dark/png/16/prepare/prepare.png
new file mode 100644
index 00000000..21ef9e32
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/prepare/prepare.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/print/order_3d.png b/Designer/UIResource/FileMenu/dark/png/16/print/order_3d.png
new file mode 100644
index 00000000..6ca514a1
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/print/order_3d.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/print/prep_3d.png b/Designer/UIResource/FileMenu/dark/png/16/print/prep_3d.png
new file mode 100644
index 00000000..93db0689
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/print/prep_3d.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/print/quick_drawing.png b/Designer/UIResource/FileMenu/dark/png/16/print/quick_drawing.png
new file mode 100644
index 00000000..5f57c876
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/print/quick_drawing.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/print/quick_print.png b/Designer/UIResource/FileMenu/dark/png/16/print/quick_print.png
new file mode 100644
index 00000000..b54db20d
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/print/quick_print.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/reference/reference.png b/Designer/UIResource/FileMenu/dark/png/16/reference/reference.png
new file mode 100644
index 00000000..7e46fb32
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/reference/reference.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/save_as/mirror_part.png b/Designer/UIResource/FileMenu/dark/png/16/save_as/mirror_part.png
new file mode 100644
index 00000000..ce42d529
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/save_as/mirror_part.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/save_as/save_backup.png b/Designer/UIResource/FileMenu/dark/png/16/save_as/save_backup.png
new file mode 100644
index 00000000..a05ab1da
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/save_as/save_backup.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/save_as/save_copy.png b/Designer/UIResource/FileMenu/dark/png/16/save_as/save_copy.png
new file mode 100644
index 00000000..bd8b97ec
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/save_as/save_copy.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/send/mail_attachment.png b/Designer/UIResource/FileMenu/dark/png/16/send/mail_attachment.png
new file mode 100644
index 00000000..d76d3969
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/send/mail_attachment.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/send/mail_link.png b/Designer/UIResource/FileMenu/dark/png/16/send/mail_link.png
new file mode 100644
index 00000000..205e7be7
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/send/mail_link.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/send/send.png b/Designer/UIResource/FileMenu/dark/png/16/send/send.png
new file mode 100644
index 00000000..02849484
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/send/send.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/settings/model_display.png b/Designer/UIResource/FileMenu/dark/png/16/settings/model_display.png
new file mode 100644
index 00000000..c4258656
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/settings/model_display.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/settings/options.png b/Designer/UIResource/FileMenu/dark/png/16/settings/options.png
new file mode 100644
index 00000000..c690b05f
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/settings/options.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/16/settings/system_appearance.png b/Designer/UIResource/FileMenu/dark/png/16/settings/system_appearance.png
new file mode 100644
index 00000000..afb66e2a
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/16/settings/system_appearance.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/data/design_exploration.png b/Designer/UIResource/FileMenu/dark/png/32/data/design_exploration.png
new file mode 100644
index 00000000..24fc755c
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/data/design_exploration.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/data/erase_current.png b/Designer/UIResource/FileMenu/dark/png/32/data/erase_current.png
new file mode 100644
index 00000000..808583c9
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/data/erase_current.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/data/erase_not_displayed.png b/Designer/UIResource/FileMenu/dark/png/32/data/erase_not_displayed.png
new file mode 100644
index 00000000..982ad52a
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/data/erase_not_displayed.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/data/erase_unused_model_reps.png b/Designer/UIResource/FileMenu/dark/png/32/data/erase_unused_model_reps.png
new file mode 100644
index 00000000..039ec309
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/data/erase_unused_model_reps.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/data/manage_session.png b/Designer/UIResource/FileMenu/dark/png/32/data/manage_session.png
new file mode 100644
index 00000000..7bff02b4
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/data/manage_session.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/data/object_list.png b/Designer/UIResource/FileMenu/dark/png/32/data/object_list.png
new file mode 100644
index 00000000..c6d3b1c2
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/data/object_list.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/data/open_linked_browser.png b/Designer/UIResource/FileMenu/dark/png/32/data/open_linked_browser.png
new file mode 100644
index 00000000..945567ea
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/data/open_linked_browser.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/data/play_trail_file.png b/Designer/UIResource/FileMenu/dark/png/32/data/play_trail_file.png
new file mode 100644
index 00000000..65ecf702
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/data/play_trail_file.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/data/select_working_directory.png b/Designer/UIResource/FileMenu/dark/png/32/data/select_working_directory.png
new file mode 100644
index 00000000..fec94d4e
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/data/select_working_directory.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/data/server_management.png b/Designer/UIResource/FileMenu/dark/png/32/data/server_management.png
new file mode 100644
index 00000000..183ae2ba
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/data/server_management.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/data/update_index.png b/Designer/UIResource/FileMenu/dark/png/32/data/update_index.png
new file mode 100644
index 00000000..f01b3b0c
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/data/update_index.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/file/close.png b/Designer/UIResource/FileMenu/dark/png/32/file/close.png
new file mode 100644
index 00000000..2055dbfe
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/file/close.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/file/exit.png b/Designer/UIResource/FileMenu/dark/png/32/file/exit.png
new file mode 100644
index 00000000..236de1e0
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/file/exit.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/file/new.png b/Designer/UIResource/FileMenu/dark/png/32/file/new.png
new file mode 100644
index 00000000..0e9e18f0
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/file/new.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/file/open.png b/Designer/UIResource/FileMenu/dark/png/32/file/open.png
new file mode 100644
index 00000000..2bf63784
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/file/open.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/file/save.png b/Designer/UIResource/FileMenu/dark/png/32/file/save.png
new file mode 100644
index 00000000..12630f24
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/file/save.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/file/save_as.png b/Designer/UIResource/FileMenu/dark/png/32/file/save_as.png
new file mode 100644
index 00000000..edf7a941
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/file/save_as.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/help/about.png b/Designer/UIResource/FileMenu/dark/png/32/help/about.png
new file mode 100644
index 00000000..ab723800
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/help/about.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/help/command_search.png b/Designer/UIResource/FileMenu/dark/png/32/help/command_search.png
new file mode 100644
index 00000000..584aa896
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/help/command_search.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/help/help.png b/Designer/UIResource/FileMenu/dark/png/32/help/help.png
new file mode 100644
index 00000000..5fe1de4a
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/help/help.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/help/log_support_case.png b/Designer/UIResource/FileMenu/dark/png/32/help/log_support_case.png
new file mode 100644
index 00000000..584aa896
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/help/log_support_case.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/help/online_resources.png b/Designer/UIResource/FileMenu/dark/png/32/help/online_resources.png
new file mode 100644
index 00000000..9c9b781c
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/help/online_resources.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/help/product_help.png b/Designer/UIResource/FileMenu/dark/png/32/help/product_help.png
new file mode 100644
index 00000000..ff7bb9f2
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/help/product_help.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/help/search_online_kb.png b/Designer/UIResource/FileMenu/dark/png/32/help/search_online_kb.png
new file mode 100644
index 00000000..27fdfcf1
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/help/search_online_kb.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/help/system_information.png b/Designer/UIResource/FileMenu/dark/png/32/help/system_information.png
new file mode 100644
index 00000000..ab723800
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/help/system_information.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/manage_file/declare.png b/Designer/UIResource/FileMenu/dark/png/32/manage_file/declare.png
new file mode 100644
index 00000000..b6b2a68c
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/manage_file/declare.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/manage_file/delete_all_versions.png b/Designer/UIResource/FileMenu/dark/png/32/manage_file/delete_all_versions.png
new file mode 100644
index 00000000..82d0ecd9
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/manage_file/delete_all_versions.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/manage_file/delete_old_versions.png b/Designer/UIResource/FileMenu/dark/png/32/manage_file/delete_old_versions.png
new file mode 100644
index 00000000..fd29c895
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/manage_file/delete_old_versions.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/manage_file/instance_accelerator.png b/Designer/UIResource/FileMenu/dark/png/32/manage_file/instance_accelerator.png
new file mode 100644
index 00000000..b98edab0
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/manage_file/instance_accelerator.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/manage_file/manage_file.png b/Designer/UIResource/FileMenu/dark/png/32/manage_file/manage_file.png
new file mode 100644
index 00000000..f740f51b
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/manage_file/manage_file.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/manage_file/rename.png b/Designer/UIResource/FileMenu/dark/png/32/manage_file/rename.png
new file mode 100644
index 00000000..5fda7a0f
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/manage_file/rename.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/prepare/prepare.png b/Designer/UIResource/FileMenu/dark/png/32/prepare/prepare.png
new file mode 100644
index 00000000..ab723800
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/prepare/prepare.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/print/order_3d.png b/Designer/UIResource/FileMenu/dark/png/32/print/order_3d.png
new file mode 100644
index 00000000..099e5efa
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/print/order_3d.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/print/prep_3d.png b/Designer/UIResource/FileMenu/dark/png/32/print/prep_3d.png
new file mode 100644
index 00000000..d07450e9
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/print/prep_3d.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/print/quick_drawing.png b/Designer/UIResource/FileMenu/dark/png/32/print/quick_drawing.png
new file mode 100644
index 00000000..d1901d63
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/print/quick_drawing.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/print/quick_print.png b/Designer/UIResource/FileMenu/dark/png/32/print/quick_print.png
new file mode 100644
index 00000000..1dfd4eae
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/print/quick_print.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/reference/reference.png b/Designer/UIResource/FileMenu/dark/png/32/reference/reference.png
new file mode 100644
index 00000000..039ef1b3
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/reference/reference.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/save_as/mirror_part.png b/Designer/UIResource/FileMenu/dark/png/32/save_as/mirror_part.png
new file mode 100644
index 00000000..89c0c406
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/save_as/mirror_part.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/save_as/save_backup.png b/Designer/UIResource/FileMenu/dark/png/32/save_as/save_backup.png
new file mode 100644
index 00000000..9e857191
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/save_as/save_backup.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/save_as/save_copy.png b/Designer/UIResource/FileMenu/dark/png/32/save_as/save_copy.png
new file mode 100644
index 00000000..3a113841
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/save_as/save_copy.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/send/mail_attachment.png b/Designer/UIResource/FileMenu/dark/png/32/send/mail_attachment.png
new file mode 100644
index 00000000..b8c51808
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/send/mail_attachment.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/send/mail_link.png b/Designer/UIResource/FileMenu/dark/png/32/send/mail_link.png
new file mode 100644
index 00000000..ea3096f1
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/send/mail_link.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/send/send.png b/Designer/UIResource/FileMenu/dark/png/32/send/send.png
new file mode 100644
index 00000000..3126b050
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/send/send.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/settings/model_display.png b/Designer/UIResource/FileMenu/dark/png/32/settings/model_display.png
new file mode 100644
index 00000000..5627c9ac
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/settings/model_display.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/settings/options.png b/Designer/UIResource/FileMenu/dark/png/32/settings/options.png
new file mode 100644
index 00000000..6cb183a8
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/settings/options.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/32/settings/system_appearance.png b/Designer/UIResource/FileMenu/dark/png/32/settings/system_appearance.png
new file mode 100644
index 00000000..017c9c83
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/32/settings/system_appearance.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/data/design_exploration.png b/Designer/UIResource/FileMenu/dark/png/48/data/design_exploration.png
new file mode 100644
index 00000000..1003a22b
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/data/design_exploration.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/data/erase_current.png b/Designer/UIResource/FileMenu/dark/png/48/data/erase_current.png
new file mode 100644
index 00000000..8b1fe890
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/data/erase_current.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/data/erase_not_displayed.png b/Designer/UIResource/FileMenu/dark/png/48/data/erase_not_displayed.png
new file mode 100644
index 00000000..f7602ebe
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/data/erase_not_displayed.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/data/erase_unused_model_reps.png b/Designer/UIResource/FileMenu/dark/png/48/data/erase_unused_model_reps.png
new file mode 100644
index 00000000..8932c3a6
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/data/erase_unused_model_reps.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/data/manage_session.png b/Designer/UIResource/FileMenu/dark/png/48/data/manage_session.png
new file mode 100644
index 00000000..864cbecc
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/data/manage_session.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/data/object_list.png b/Designer/UIResource/FileMenu/dark/png/48/data/object_list.png
new file mode 100644
index 00000000..0543b6b9
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/data/object_list.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/data/open_linked_browser.png b/Designer/UIResource/FileMenu/dark/png/48/data/open_linked_browser.png
new file mode 100644
index 00000000..ca53aa18
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/data/open_linked_browser.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/data/play_trail_file.png b/Designer/UIResource/FileMenu/dark/png/48/data/play_trail_file.png
new file mode 100644
index 00000000..7f329ba4
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/data/play_trail_file.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/data/select_working_directory.png b/Designer/UIResource/FileMenu/dark/png/48/data/select_working_directory.png
new file mode 100644
index 00000000..8ea19127
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/data/select_working_directory.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/data/server_management.png b/Designer/UIResource/FileMenu/dark/png/48/data/server_management.png
new file mode 100644
index 00000000..849804a3
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/data/server_management.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/data/update_index.png b/Designer/UIResource/FileMenu/dark/png/48/data/update_index.png
new file mode 100644
index 00000000..5b40c4f0
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/data/update_index.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/file/close.png b/Designer/UIResource/FileMenu/dark/png/48/file/close.png
new file mode 100644
index 00000000..fa78f24e
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/file/close.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/file/exit.png b/Designer/UIResource/FileMenu/dark/png/48/file/exit.png
new file mode 100644
index 00000000..f25afb18
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/file/exit.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/file/new.png b/Designer/UIResource/FileMenu/dark/png/48/file/new.png
new file mode 100644
index 00000000..19a623c8
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/file/new.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/file/open.png b/Designer/UIResource/FileMenu/dark/png/48/file/open.png
new file mode 100644
index 00000000..2a922941
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/file/open.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/file/save.png b/Designer/UIResource/FileMenu/dark/png/48/file/save.png
new file mode 100644
index 00000000..5f05ea91
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/file/save.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/file/save_as.png b/Designer/UIResource/FileMenu/dark/png/48/file/save_as.png
new file mode 100644
index 00000000..50352a1e
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/file/save_as.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/help/about.png b/Designer/UIResource/FileMenu/dark/png/48/help/about.png
new file mode 100644
index 00000000..22f150cf
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/help/about.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/help/command_search.png b/Designer/UIResource/FileMenu/dark/png/48/help/command_search.png
new file mode 100644
index 00000000..2de12267
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/help/command_search.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/help/help.png b/Designer/UIResource/FileMenu/dark/png/48/help/help.png
new file mode 100644
index 00000000..b29c6844
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/help/help.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/help/log_support_case.png b/Designer/UIResource/FileMenu/dark/png/48/help/log_support_case.png
new file mode 100644
index 00000000..2de12267
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/help/log_support_case.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/help/online_resources.png b/Designer/UIResource/FileMenu/dark/png/48/help/online_resources.png
new file mode 100644
index 00000000..f0c3acd9
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/help/online_resources.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/help/product_help.png b/Designer/UIResource/FileMenu/dark/png/48/help/product_help.png
new file mode 100644
index 00000000..f9123ab7
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/help/product_help.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/help/search_online_kb.png b/Designer/UIResource/FileMenu/dark/png/48/help/search_online_kb.png
new file mode 100644
index 00000000..abc0c3ad
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/help/search_online_kb.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/help/system_information.png b/Designer/UIResource/FileMenu/dark/png/48/help/system_information.png
new file mode 100644
index 00000000..22f150cf
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/help/system_information.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/manage_file/declare.png b/Designer/UIResource/FileMenu/dark/png/48/manage_file/declare.png
new file mode 100644
index 00000000..1aff78e3
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/manage_file/declare.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/manage_file/delete_all_versions.png b/Designer/UIResource/FileMenu/dark/png/48/manage_file/delete_all_versions.png
new file mode 100644
index 00000000..3307ff2b
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/manage_file/delete_all_versions.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/manage_file/delete_old_versions.png b/Designer/UIResource/FileMenu/dark/png/48/manage_file/delete_old_versions.png
new file mode 100644
index 00000000..2fe27595
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/manage_file/delete_old_versions.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/manage_file/instance_accelerator.png b/Designer/UIResource/FileMenu/dark/png/48/manage_file/instance_accelerator.png
new file mode 100644
index 00000000..ee84cf80
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/manage_file/instance_accelerator.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/manage_file/manage_file.png b/Designer/UIResource/FileMenu/dark/png/48/manage_file/manage_file.png
new file mode 100644
index 00000000..cb6ef113
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/manage_file/manage_file.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/manage_file/rename.png b/Designer/UIResource/FileMenu/dark/png/48/manage_file/rename.png
new file mode 100644
index 00000000..9dc49ab7
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/manage_file/rename.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/prepare/prepare.png b/Designer/UIResource/FileMenu/dark/png/48/prepare/prepare.png
new file mode 100644
index 00000000..22f150cf
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/prepare/prepare.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/print/order_3d.png b/Designer/UIResource/FileMenu/dark/png/48/print/order_3d.png
new file mode 100644
index 00000000..b1b652fb
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/print/order_3d.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/print/prep_3d.png b/Designer/UIResource/FileMenu/dark/png/48/print/prep_3d.png
new file mode 100644
index 00000000..ece51dba
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/print/prep_3d.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/print/quick_drawing.png b/Designer/UIResource/FileMenu/dark/png/48/print/quick_drawing.png
new file mode 100644
index 00000000..f724bab6
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/print/quick_drawing.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/print/quick_print.png b/Designer/UIResource/FileMenu/dark/png/48/print/quick_print.png
new file mode 100644
index 00000000..6b96c8ff
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/print/quick_print.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/reference/reference.png b/Designer/UIResource/FileMenu/dark/png/48/reference/reference.png
new file mode 100644
index 00000000..d7f69a0e
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/reference/reference.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/save_as/mirror_part.png b/Designer/UIResource/FileMenu/dark/png/48/save_as/mirror_part.png
new file mode 100644
index 00000000..2ceb97d6
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/save_as/mirror_part.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/save_as/save_backup.png b/Designer/UIResource/FileMenu/dark/png/48/save_as/save_backup.png
new file mode 100644
index 00000000..886e9547
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/save_as/save_backup.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/save_as/save_copy.png b/Designer/UIResource/FileMenu/dark/png/48/save_as/save_copy.png
new file mode 100644
index 00000000..dddcf841
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/save_as/save_copy.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/send/mail_attachment.png b/Designer/UIResource/FileMenu/dark/png/48/send/mail_attachment.png
new file mode 100644
index 00000000..2e267a40
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/send/mail_attachment.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/send/mail_link.png b/Designer/UIResource/FileMenu/dark/png/48/send/mail_link.png
new file mode 100644
index 00000000..2be7e433
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/send/mail_link.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/send/send.png b/Designer/UIResource/FileMenu/dark/png/48/send/send.png
new file mode 100644
index 00000000..4062a642
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/send/send.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/settings/model_display.png b/Designer/UIResource/FileMenu/dark/png/48/settings/model_display.png
new file mode 100644
index 00000000..62ce1bdc
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/settings/model_display.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/settings/options.png b/Designer/UIResource/FileMenu/dark/png/48/settings/options.png
new file mode 100644
index 00000000..693ed4df
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/settings/options.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/48/settings/system_appearance.png b/Designer/UIResource/FileMenu/dark/png/48/settings/system_appearance.png
new file mode 100644
index 00000000..6ca26c28
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/48/settings/system_appearance.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/data/design_exploration.png b/Designer/UIResource/FileMenu/dark/png/64/data/design_exploration.png
new file mode 100644
index 00000000..965feb10
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/data/design_exploration.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/data/erase_current.png b/Designer/UIResource/FileMenu/dark/png/64/data/erase_current.png
new file mode 100644
index 00000000..e54fa0e8
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/data/erase_current.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/data/erase_not_displayed.png b/Designer/UIResource/FileMenu/dark/png/64/data/erase_not_displayed.png
new file mode 100644
index 00000000..61ca7334
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/data/erase_not_displayed.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/data/erase_unused_model_reps.png b/Designer/UIResource/FileMenu/dark/png/64/data/erase_unused_model_reps.png
new file mode 100644
index 00000000..dc5b1686
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/data/erase_unused_model_reps.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/data/manage_session.png b/Designer/UIResource/FileMenu/dark/png/64/data/manage_session.png
new file mode 100644
index 00000000..428d9a56
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/data/manage_session.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/data/object_list.png b/Designer/UIResource/FileMenu/dark/png/64/data/object_list.png
new file mode 100644
index 00000000..add777bb
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/data/object_list.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/data/open_linked_browser.png b/Designer/UIResource/FileMenu/dark/png/64/data/open_linked_browser.png
new file mode 100644
index 00000000..2a595932
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/data/open_linked_browser.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/data/play_trail_file.png b/Designer/UIResource/FileMenu/dark/png/64/data/play_trail_file.png
new file mode 100644
index 00000000..a9bb5b4e
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/data/play_trail_file.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/data/select_working_directory.png b/Designer/UIResource/FileMenu/dark/png/64/data/select_working_directory.png
new file mode 100644
index 00000000..af79246a
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/data/select_working_directory.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/data/server_management.png b/Designer/UIResource/FileMenu/dark/png/64/data/server_management.png
new file mode 100644
index 00000000..d7fe627b
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/data/server_management.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/data/update_index.png b/Designer/UIResource/FileMenu/dark/png/64/data/update_index.png
new file mode 100644
index 00000000..ef1761c0
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/data/update_index.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/file/close.png b/Designer/UIResource/FileMenu/dark/png/64/file/close.png
new file mode 100644
index 00000000..988fa78e
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/file/close.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/file/exit.png b/Designer/UIResource/FileMenu/dark/png/64/file/exit.png
new file mode 100644
index 00000000..dc69ee93
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/file/exit.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/file/new.png b/Designer/UIResource/FileMenu/dark/png/64/file/new.png
new file mode 100644
index 00000000..e778b173
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/file/new.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/file/open.png b/Designer/UIResource/FileMenu/dark/png/64/file/open.png
new file mode 100644
index 00000000..f83f2772
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/file/open.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/file/save.png b/Designer/UIResource/FileMenu/dark/png/64/file/save.png
new file mode 100644
index 00000000..f87f2a5c
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/file/save.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/file/save_as.png b/Designer/UIResource/FileMenu/dark/png/64/file/save_as.png
new file mode 100644
index 00000000..8ca07214
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/file/save_as.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/help/about.png b/Designer/UIResource/FileMenu/dark/png/64/help/about.png
new file mode 100644
index 00000000..6fe7e15d
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/help/about.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/help/command_search.png b/Designer/UIResource/FileMenu/dark/png/64/help/command_search.png
new file mode 100644
index 00000000..4f7a92eb
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/help/command_search.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/help/help.png b/Designer/UIResource/FileMenu/dark/png/64/help/help.png
new file mode 100644
index 00000000..589dcc2c
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/help/help.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/help/log_support_case.png b/Designer/UIResource/FileMenu/dark/png/64/help/log_support_case.png
new file mode 100644
index 00000000..4f7a92eb
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/help/log_support_case.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/help/online_resources.png b/Designer/UIResource/FileMenu/dark/png/64/help/online_resources.png
new file mode 100644
index 00000000..9e0eba59
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/help/online_resources.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/help/product_help.png b/Designer/UIResource/FileMenu/dark/png/64/help/product_help.png
new file mode 100644
index 00000000..e5639169
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/help/product_help.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/help/search_online_kb.png b/Designer/UIResource/FileMenu/dark/png/64/help/search_online_kb.png
new file mode 100644
index 00000000..7b985934
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/help/search_online_kb.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/help/system_information.png b/Designer/UIResource/FileMenu/dark/png/64/help/system_information.png
new file mode 100644
index 00000000..6fe7e15d
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/help/system_information.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/manage_file/declare.png b/Designer/UIResource/FileMenu/dark/png/64/manage_file/declare.png
new file mode 100644
index 00000000..534b2ca0
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/manage_file/declare.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/manage_file/delete_all_versions.png b/Designer/UIResource/FileMenu/dark/png/64/manage_file/delete_all_versions.png
new file mode 100644
index 00000000..2a172460
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/manage_file/delete_all_versions.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/manage_file/delete_old_versions.png b/Designer/UIResource/FileMenu/dark/png/64/manage_file/delete_old_versions.png
new file mode 100644
index 00000000..cc6018bc
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/manage_file/delete_old_versions.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/manage_file/instance_accelerator.png b/Designer/UIResource/FileMenu/dark/png/64/manage_file/instance_accelerator.png
new file mode 100644
index 00000000..1b12ff2f
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/manage_file/instance_accelerator.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/manage_file/manage_file.png b/Designer/UIResource/FileMenu/dark/png/64/manage_file/manage_file.png
new file mode 100644
index 00000000..24928f6b
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/manage_file/manage_file.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/manage_file/rename.png b/Designer/UIResource/FileMenu/dark/png/64/manage_file/rename.png
new file mode 100644
index 00000000..d32cdc1f
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/manage_file/rename.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/prepare/prepare.png b/Designer/UIResource/FileMenu/dark/png/64/prepare/prepare.png
new file mode 100644
index 00000000..6fe7e15d
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/prepare/prepare.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/print/order_3d.png b/Designer/UIResource/FileMenu/dark/png/64/print/order_3d.png
new file mode 100644
index 00000000..1fbbb025
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/print/order_3d.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/print/prep_3d.png b/Designer/UIResource/FileMenu/dark/png/64/print/prep_3d.png
new file mode 100644
index 00000000..d0040c16
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/print/prep_3d.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/print/quick_drawing.png b/Designer/UIResource/FileMenu/dark/png/64/print/quick_drawing.png
new file mode 100644
index 00000000..7fc82081
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/print/quick_drawing.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/print/quick_print.png b/Designer/UIResource/FileMenu/dark/png/64/print/quick_print.png
new file mode 100644
index 00000000..cba63cd8
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/print/quick_print.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/reference/reference.png b/Designer/UIResource/FileMenu/dark/png/64/reference/reference.png
new file mode 100644
index 00000000..c0955c19
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/reference/reference.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/save_as/mirror_part.png b/Designer/UIResource/FileMenu/dark/png/64/save_as/mirror_part.png
new file mode 100644
index 00000000..c32d0572
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/save_as/mirror_part.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/save_as/save_backup.png b/Designer/UIResource/FileMenu/dark/png/64/save_as/save_backup.png
new file mode 100644
index 00000000..cbbd6103
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/save_as/save_backup.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/save_as/save_copy.png b/Designer/UIResource/FileMenu/dark/png/64/save_as/save_copy.png
new file mode 100644
index 00000000..84f5663e
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/save_as/save_copy.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/send/mail_attachment.png b/Designer/UIResource/FileMenu/dark/png/64/send/mail_attachment.png
new file mode 100644
index 00000000..00963699
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/send/mail_attachment.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/send/mail_link.png b/Designer/UIResource/FileMenu/dark/png/64/send/mail_link.png
new file mode 100644
index 00000000..d966c6c2
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/send/mail_link.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/send/send.png b/Designer/UIResource/FileMenu/dark/png/64/send/send.png
new file mode 100644
index 00000000..5fc478fb
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/send/send.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/settings/model_display.png b/Designer/UIResource/FileMenu/dark/png/64/settings/model_display.png
new file mode 100644
index 00000000..5770e440
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/settings/model_display.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/settings/options.png b/Designer/UIResource/FileMenu/dark/png/64/settings/options.png
new file mode 100644
index 00000000..ba4d213d
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/settings/options.png differ
diff --git a/Designer/UIResource/FileMenu/dark/png/64/settings/system_appearance.png b/Designer/UIResource/FileMenu/dark/png/64/settings/system_appearance.png
new file mode 100644
index 00000000..3c4fd507
Binary files /dev/null and b/Designer/UIResource/FileMenu/dark/png/64/settings/system_appearance.png differ
diff --git a/Designer/UIResource/FileMenu/dark/svg/data/design_exploration.svg b/Designer/UIResource/FileMenu/dark/svg/data/design_exploration.svg
new file mode 100644
index 00000000..d314fca6
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/data/design_exploration.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/data/erase_current.svg b/Designer/UIResource/FileMenu/dark/svg/data/erase_current.svg
new file mode 100644
index 00000000..04578721
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/data/erase_current.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/data/erase_not_displayed.svg b/Designer/UIResource/FileMenu/dark/svg/data/erase_not_displayed.svg
new file mode 100644
index 00000000..63b21305
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/data/erase_not_displayed.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/data/erase_unused_model_reps.svg b/Designer/UIResource/FileMenu/dark/svg/data/erase_unused_model_reps.svg
new file mode 100644
index 00000000..c2c81de5
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/data/erase_unused_model_reps.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/data/manage_session.svg b/Designer/UIResource/FileMenu/dark/svg/data/manage_session.svg
new file mode 100644
index 00000000..8b00ea3a
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/data/manage_session.svg
@@ -0,0 +1,34 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/data/object_list.svg b/Designer/UIResource/FileMenu/dark/svg/data/object_list.svg
new file mode 100644
index 00000000..075d23cf
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/data/object_list.svg
@@ -0,0 +1,34 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/data/open_linked_browser.svg b/Designer/UIResource/FileMenu/dark/svg/data/open_linked_browser.svg
new file mode 100644
index 00000000..78d06864
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/data/open_linked_browser.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/data/play_trail_file.svg b/Designer/UIResource/FileMenu/dark/svg/data/play_trail_file.svg
new file mode 100644
index 00000000..1f254e81
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/data/play_trail_file.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/data/select_working_directory.svg b/Designer/UIResource/FileMenu/dark/svg/data/select_working_directory.svg
new file mode 100644
index 00000000..15b1bcbb
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/data/select_working_directory.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/data/server_management.svg b/Designer/UIResource/FileMenu/dark/svg/data/server_management.svg
new file mode 100644
index 00000000..3a9cde8e
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/data/server_management.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/data/update_index.svg b/Designer/UIResource/FileMenu/dark/svg/data/update_index.svg
new file mode 100644
index 00000000..9dad2187
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/data/update_index.svg
@@ -0,0 +1,32 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/file/close.svg b/Designer/UIResource/FileMenu/dark/svg/file/close.svg
new file mode 100644
index 00000000..436699a9
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/file/close.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/file/exit.svg b/Designer/UIResource/FileMenu/dark/svg/file/exit.svg
new file mode 100644
index 00000000..a71037ff
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/file/exit.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/file/new.svg b/Designer/UIResource/FileMenu/dark/svg/file/new.svg
new file mode 100644
index 00000000..9da01d43
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/file/new.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/file/open.svg b/Designer/UIResource/FileMenu/dark/svg/file/open.svg
new file mode 100644
index 00000000..61a3f7d7
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/file/open.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/file/save.svg b/Designer/UIResource/FileMenu/dark/svg/file/save.svg
new file mode 100644
index 00000000..ce313cd7
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/file/save.svg
@@ -0,0 +1,32 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/file/save_as.svg b/Designer/UIResource/FileMenu/dark/svg/file/save_as.svg
new file mode 100644
index 00000000..d7404833
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/file/save_as.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/help/about.svg b/Designer/UIResource/FileMenu/dark/svg/help/about.svg
new file mode 100644
index 00000000..80870d2f
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/help/about.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/help/command_search.svg b/Designer/UIResource/FileMenu/dark/svg/help/command_search.svg
new file mode 100644
index 00000000..af6d869b
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/help/command_search.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/help/help.svg b/Designer/UIResource/FileMenu/dark/svg/help/help.svg
new file mode 100644
index 00000000..28b58e2d
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/help/help.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/help/log_support_case.svg b/Designer/UIResource/FileMenu/dark/svg/help/log_support_case.svg
new file mode 100644
index 00000000..af6d869b
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/help/log_support_case.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/help/online_resources.svg b/Designer/UIResource/FileMenu/dark/svg/help/online_resources.svg
new file mode 100644
index 00000000..2b63b0f1
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/help/online_resources.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/help/product_help.svg b/Designer/UIResource/FileMenu/dark/svg/help/product_help.svg
new file mode 100644
index 00000000..d9501f12
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/help/product_help.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/help/search_online_kb.svg b/Designer/UIResource/FileMenu/dark/svg/help/search_online_kb.svg
new file mode 100644
index 00000000..a3f02cbd
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/help/search_online_kb.svg
@@ -0,0 +1,35 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/help/system_information.svg b/Designer/UIResource/FileMenu/dark/svg/help/system_information.svg
new file mode 100644
index 00000000..80870d2f
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/help/system_information.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/manage_file/declare.svg b/Designer/UIResource/FileMenu/dark/svg/manage_file/declare.svg
new file mode 100644
index 00000000..78fa2f72
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/manage_file/declare.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/manage_file/delete_all_versions.svg b/Designer/UIResource/FileMenu/dark/svg/manage_file/delete_all_versions.svg
new file mode 100644
index 00000000..b8bb553d
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/manage_file/delete_all_versions.svg
@@ -0,0 +1,35 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/manage_file/delete_old_versions.svg b/Designer/UIResource/FileMenu/dark/svg/manage_file/delete_old_versions.svg
new file mode 100644
index 00000000..fecbc85f
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/manage_file/delete_old_versions.svg
@@ -0,0 +1,32 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/manage_file/instance_accelerator.svg b/Designer/UIResource/FileMenu/dark/svg/manage_file/instance_accelerator.svg
new file mode 100644
index 00000000..acbef47b
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/manage_file/instance_accelerator.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/manage_file/manage_file.svg b/Designer/UIResource/FileMenu/dark/svg/manage_file/manage_file.svg
new file mode 100644
index 00000000..b8027488
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/manage_file/manage_file.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/manage_file/rename.svg b/Designer/UIResource/FileMenu/dark/svg/manage_file/rename.svg
new file mode 100644
index 00000000..96eb7d65
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/manage_file/rename.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/prepare/prepare.svg b/Designer/UIResource/FileMenu/dark/svg/prepare/prepare.svg
new file mode 100644
index 00000000..80870d2f
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/prepare/prepare.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/print/order_3d.svg b/Designer/UIResource/FileMenu/dark/svg/print/order_3d.svg
new file mode 100644
index 00000000..e65b79b2
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/print/order_3d.svg
@@ -0,0 +1,36 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/print/prep_3d.svg b/Designer/UIResource/FileMenu/dark/svg/print/prep_3d.svg
new file mode 100644
index 00000000..d44741b3
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/print/prep_3d.svg
@@ -0,0 +1,35 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/print/quick_drawing.svg b/Designer/UIResource/FileMenu/dark/svg/print/quick_drawing.svg
new file mode 100644
index 00000000..a947376d
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/print/quick_drawing.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/print/quick_print.svg b/Designer/UIResource/FileMenu/dark/svg/print/quick_print.svg
new file mode 100644
index 00000000..89cd92d4
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/print/quick_print.svg
@@ -0,0 +1,32 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/reference/reference.svg b/Designer/UIResource/FileMenu/dark/svg/reference/reference.svg
new file mode 100644
index 00000000..08939a72
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/reference/reference.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/save_as/mirror_part.svg b/Designer/UIResource/FileMenu/dark/svg/save_as/mirror_part.svg
new file mode 100644
index 00000000..7b29ac11
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/save_as/mirror_part.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/save_as/save_backup.svg b/Designer/UIResource/FileMenu/dark/svg/save_as/save_backup.svg
new file mode 100644
index 00000000..91ca5495
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/save_as/save_backup.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/save_as/save_copy.svg b/Designer/UIResource/FileMenu/dark/svg/save_as/save_copy.svg
new file mode 100644
index 00000000..ff67a615
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/save_as/save_copy.svg
@@ -0,0 +1,32 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/send/mail_attachment.svg b/Designer/UIResource/FileMenu/dark/svg/send/mail_attachment.svg
new file mode 100644
index 00000000..79b4f80f
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/send/mail_attachment.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/send/mail_link.svg b/Designer/UIResource/FileMenu/dark/svg/send/mail_link.svg
new file mode 100644
index 00000000..34e1a3f2
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/send/mail_link.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/send/send.svg b/Designer/UIResource/FileMenu/dark/svg/send/send.svg
new file mode 100644
index 00000000..46cf3304
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/send/send.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/settings/model_display.svg b/Designer/UIResource/FileMenu/dark/svg/settings/model_display.svg
new file mode 100644
index 00000000..17cbf5c6
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/settings/model_display.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/settings/options.svg b/Designer/UIResource/FileMenu/dark/svg/settings/options.svg
new file mode 100644
index 00000000..71ef9b44
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/settings/options.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/dark/svg/settings/system_appearance.svg b/Designer/UIResource/FileMenu/dark/svg/settings/system_appearance.svg
new file mode 100644
index 00000000..86143799
--- /dev/null
+++ b/Designer/UIResource/FileMenu/dark/svg/settings/system_appearance.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/filemenu.qrc b/Designer/UIResource/FileMenu/filemenu.qrc
new file mode 100644
index 00000000..b60f17a3
--- /dev/null
+++ b/Designer/UIResource/FileMenu/filemenu.qrc
@@ -0,0 +1,464 @@
+
+
+ dark/png/16/data/design_exploration.png
+ dark/png/16/data/erase_current.png
+ dark/png/16/data/erase_not_displayed.png
+ dark/png/16/data/erase_unused_model_reps.png
+ dark/png/16/data/manage_session.png
+ dark/png/16/data/object_list.png
+ dark/png/16/data/open_linked_browser.png
+ dark/png/16/data/play_trail_file.png
+ dark/png/16/data/select_working_directory.png
+ dark/png/16/data/server_management.png
+ dark/png/16/data/update_index.png
+ dark/png/16/file/close.png
+ dark/png/16/file/exit.png
+ dark/png/16/file/new.png
+ dark/png/16/file/open.png
+ dark/png/16/file/save.png
+ dark/png/16/file/save_as.png
+ dark/png/16/help/about.png
+ dark/png/16/help/command_search.png
+ dark/png/16/help/help.png
+ dark/png/16/help/log_support_case.png
+ dark/png/16/help/online_resources.png
+ dark/png/16/help/product_help.png
+ dark/png/16/help/search_online_kb.png
+ dark/png/16/help/system_information.png
+ dark/png/16/manage_file/declare.png
+ dark/png/16/manage_file/delete_all_versions.png
+ dark/png/16/manage_file/delete_old_versions.png
+ dark/png/16/manage_file/instance_accelerator.png
+ dark/png/16/manage_file/manage_file.png
+ dark/png/16/manage_file/rename.png
+ dark/png/16/prepare/prepare.png
+ dark/png/16/print/order_3d.png
+ dark/png/16/print/prep_3d.png
+ dark/png/16/print/quick_drawing.png
+ dark/png/16/print/quick_print.png
+ dark/png/16/reference/reference.png
+ dark/png/16/save_as/mirror_part.png
+ dark/png/16/save_as/save_backup.png
+ dark/png/16/save_as/save_copy.png
+ dark/png/16/send/mail_attachment.png
+ dark/png/16/send/mail_link.png
+ dark/png/16/send/send.png
+ dark/png/16/settings/model_display.png
+ dark/png/16/settings/options.png
+ dark/png/16/settings/system_appearance.png
+ dark/png/32/data/design_exploration.png
+ dark/png/32/data/erase_current.png
+ dark/png/32/data/erase_not_displayed.png
+ dark/png/32/data/erase_unused_model_reps.png
+ dark/png/32/data/manage_session.png
+ dark/png/32/data/object_list.png
+ dark/png/32/data/open_linked_browser.png
+ dark/png/32/data/play_trail_file.png
+ dark/png/32/data/select_working_directory.png
+ dark/png/32/data/server_management.png
+ dark/png/32/data/update_index.png
+ dark/png/32/file/close.png
+ dark/png/32/file/exit.png
+ dark/png/32/file/new.png
+ dark/png/32/file/open.png
+ dark/png/32/file/save.png
+ dark/png/32/file/save_as.png
+ dark/png/32/help/about.png
+ dark/png/32/help/command_search.png
+ dark/png/32/help/help.png
+ dark/png/32/help/log_support_case.png
+ dark/png/32/help/online_resources.png
+ dark/png/32/help/product_help.png
+ dark/png/32/help/search_online_kb.png
+ dark/png/32/help/system_information.png
+ dark/png/32/manage_file/declare.png
+ dark/png/32/manage_file/delete_all_versions.png
+ dark/png/32/manage_file/delete_old_versions.png
+ dark/png/32/manage_file/instance_accelerator.png
+ dark/png/32/manage_file/manage_file.png
+ dark/png/32/manage_file/rename.png
+ dark/png/32/prepare/prepare.png
+ dark/png/32/print/order_3d.png
+ dark/png/32/print/prep_3d.png
+ dark/png/32/print/quick_drawing.png
+ dark/png/32/print/quick_print.png
+ dark/png/32/reference/reference.png
+ dark/png/32/save_as/mirror_part.png
+ dark/png/32/save_as/save_backup.png
+ dark/png/32/save_as/save_copy.png
+ dark/png/32/send/mail_attachment.png
+ dark/png/32/send/mail_link.png
+ dark/png/32/send/send.png
+ dark/png/32/settings/model_display.png
+ dark/png/32/settings/options.png
+ dark/png/32/settings/system_appearance.png
+ dark/png/48/data/design_exploration.png
+ dark/png/48/data/erase_current.png
+ dark/png/48/data/erase_not_displayed.png
+ dark/png/48/data/erase_unused_model_reps.png
+ dark/png/48/data/manage_session.png
+ dark/png/48/data/object_list.png
+ dark/png/48/data/open_linked_browser.png
+ dark/png/48/data/play_trail_file.png
+ dark/png/48/data/select_working_directory.png
+ dark/png/48/data/server_management.png
+ dark/png/48/data/update_index.png
+ dark/png/48/file/close.png
+ dark/png/48/file/exit.png
+ dark/png/48/file/new.png
+ dark/png/48/file/open.png
+ dark/png/48/file/save.png
+ dark/png/48/file/save_as.png
+ dark/png/48/help/about.png
+ dark/png/48/help/command_search.png
+ dark/png/48/help/help.png
+ dark/png/48/help/log_support_case.png
+ dark/png/48/help/online_resources.png
+ dark/png/48/help/product_help.png
+ dark/png/48/help/search_online_kb.png
+ dark/png/48/help/system_information.png
+ dark/png/48/manage_file/declare.png
+ dark/png/48/manage_file/delete_all_versions.png
+ dark/png/48/manage_file/delete_old_versions.png
+ dark/png/48/manage_file/instance_accelerator.png
+ dark/png/48/manage_file/manage_file.png
+ dark/png/48/manage_file/rename.png
+ dark/png/48/prepare/prepare.png
+ dark/png/48/print/order_3d.png
+ dark/png/48/print/prep_3d.png
+ dark/png/48/print/quick_drawing.png
+ dark/png/48/print/quick_print.png
+ dark/png/48/reference/reference.png
+ dark/png/48/save_as/mirror_part.png
+ dark/png/48/save_as/save_backup.png
+ dark/png/48/save_as/save_copy.png
+ dark/png/48/send/mail_attachment.png
+ dark/png/48/send/mail_link.png
+ dark/png/48/send/send.png
+ dark/png/48/settings/model_display.png
+ dark/png/48/settings/options.png
+ dark/png/48/settings/system_appearance.png
+ dark/png/64/data/design_exploration.png
+ dark/png/64/data/erase_current.png
+ dark/png/64/data/erase_not_displayed.png
+ dark/png/64/data/erase_unused_model_reps.png
+ dark/png/64/data/manage_session.png
+ dark/png/64/data/object_list.png
+ dark/png/64/data/open_linked_browser.png
+ dark/png/64/data/play_trail_file.png
+ dark/png/64/data/select_working_directory.png
+ dark/png/64/data/server_management.png
+ dark/png/64/data/update_index.png
+ dark/png/64/file/close.png
+ dark/png/64/file/exit.png
+ dark/png/64/file/new.png
+ dark/png/64/file/open.png
+ dark/png/64/file/save.png
+ dark/png/64/file/save_as.png
+ dark/png/64/help/about.png
+ dark/png/64/help/command_search.png
+ dark/png/64/help/help.png
+ dark/png/64/help/log_support_case.png
+ dark/png/64/help/online_resources.png
+ dark/png/64/help/product_help.png
+ dark/png/64/help/search_online_kb.png
+ dark/png/64/help/system_information.png
+ dark/png/64/manage_file/declare.png
+ dark/png/64/manage_file/delete_all_versions.png
+ dark/png/64/manage_file/delete_old_versions.png
+ dark/png/64/manage_file/instance_accelerator.png
+ dark/png/64/manage_file/manage_file.png
+ dark/png/64/manage_file/rename.png
+ dark/png/64/prepare/prepare.png
+ dark/png/64/print/order_3d.png
+ dark/png/64/print/prep_3d.png
+ dark/png/64/print/quick_drawing.png
+ dark/png/64/print/quick_print.png
+ dark/png/64/reference/reference.png
+ dark/png/64/save_as/mirror_part.png
+ dark/png/64/save_as/save_backup.png
+ dark/png/64/save_as/save_copy.png
+ dark/png/64/send/mail_attachment.png
+ dark/png/64/send/mail_link.png
+ dark/png/64/send/send.png
+ dark/png/64/settings/model_display.png
+ dark/png/64/settings/options.png
+ dark/png/64/settings/system_appearance.png
+ dark/svg/data/design_exploration.svg
+ dark/svg/data/erase_current.svg
+ dark/svg/data/erase_not_displayed.svg
+ dark/svg/data/erase_unused_model_reps.svg
+ dark/svg/data/manage_session.svg
+ dark/svg/data/object_list.svg
+ dark/svg/data/open_linked_browser.svg
+ dark/svg/data/play_trail_file.svg
+ dark/svg/data/select_working_directory.svg
+ dark/svg/data/server_management.svg
+ dark/svg/data/update_index.svg
+ dark/svg/file/close.svg
+ dark/svg/file/exit.svg
+ dark/svg/file/new.svg
+ dark/svg/file/open.svg
+ dark/svg/file/save.svg
+ dark/svg/file/save_as.svg
+ dark/svg/help/about.svg
+ dark/svg/help/command_search.svg
+ dark/svg/help/help.svg
+ dark/svg/help/log_support_case.svg
+ dark/svg/help/online_resources.svg
+ dark/svg/help/product_help.svg
+ dark/svg/help/search_online_kb.svg
+ dark/svg/help/system_information.svg
+ dark/svg/manage_file/declare.svg
+ dark/svg/manage_file/delete_all_versions.svg
+ dark/svg/manage_file/delete_old_versions.svg
+ dark/svg/manage_file/instance_accelerator.svg
+ dark/svg/manage_file/manage_file.svg
+ dark/svg/manage_file/rename.svg
+ dark/svg/prepare/prepare.svg
+ dark/svg/print/order_3d.svg
+ dark/svg/print/prep_3d.svg
+ dark/svg/print/quick_drawing.svg
+ dark/svg/print/quick_print.svg
+ dark/svg/reference/reference.svg
+ dark/svg/save_as/mirror_part.svg
+ dark/svg/save_as/save_backup.svg
+ dark/svg/save_as/save_copy.svg
+ dark/svg/send/mail_attachment.svg
+ dark/svg/send/mail_link.svg
+ dark/svg/send/send.svg
+ dark/svg/settings/model_display.svg
+ dark/svg/settings/options.svg
+ dark/svg/settings/system_appearance.svg
+ light/png/16/data/design_exploration.png
+ light/png/16/data/erase_current.png
+ light/png/16/data/erase_not_displayed.png
+ light/png/16/data/erase_unused_model_reps.png
+ light/png/16/data/manage_session.png
+ light/png/16/data/object_list.png
+ light/png/16/data/open_linked_browser.png
+ light/png/16/data/play_trail_file.png
+ light/png/16/data/select_working_directory.png
+ light/png/16/data/server_management.png
+ light/png/16/data/update_index.png
+ light/png/16/file/close.png
+ light/png/16/file/exit.png
+ light/png/16/file/new.png
+ light/png/16/file/open.png
+ light/png/16/file/save.png
+ light/png/16/file/save_as.png
+ light/png/16/help/about.png
+ light/png/16/help/command_search.png
+ light/png/16/help/help.png
+ light/png/16/help/log_support_case.png
+ light/png/16/help/online_resources.png
+ light/png/16/help/product_help.png
+ light/png/16/help/search_online_kb.png
+ light/png/16/help/system_information.png
+ light/png/16/manage_file/declare.png
+ light/png/16/manage_file/delete_all_versions.png
+ light/png/16/manage_file/delete_old_versions.png
+ light/png/16/manage_file/instance_accelerator.png
+ light/png/16/manage_file/manage_file.png
+ light/png/16/manage_file/rename.png
+ light/png/16/prepare/prepare.png
+ light/png/16/print/order_3d.png
+ light/png/16/print/prep_3d.png
+ light/png/16/print/quick_drawing.png
+ light/png/16/print/quick_print.png
+ light/png/16/reference/reference.png
+ light/png/16/save_as/mirror_part.png
+ light/png/16/save_as/save_backup.png
+ light/png/16/save_as/save_copy.png
+ light/png/16/send/mail_attachment.png
+ light/png/16/send/mail_link.png
+ light/png/16/send/send.png
+ light/png/16/settings/model_display.png
+ light/png/16/settings/options.png
+ light/png/16/settings/system_appearance.png
+ light/png/32/data/design_exploration.png
+ light/png/32/data/erase_current.png
+ light/png/32/data/erase_not_displayed.png
+ light/png/32/data/erase_unused_model_reps.png
+ light/png/32/data/manage_session.png
+ light/png/32/data/object_list.png
+ light/png/32/data/open_linked_browser.png
+ light/png/32/data/play_trail_file.png
+ light/png/32/data/select_working_directory.png
+ light/png/32/data/server_management.png
+ light/png/32/data/update_index.png
+ light/png/32/file/close.png
+ light/png/32/file/exit.png
+ light/png/32/file/new.png
+ light/png/32/file/open.png
+ light/png/32/file/save.png
+ light/png/32/file/save_as.png
+ light/png/32/help/about.png
+ light/png/32/help/command_search.png
+ light/png/32/help/help.png
+ light/png/32/help/log_support_case.png
+ light/png/32/help/online_resources.png
+ light/png/32/help/product_help.png
+ light/png/32/help/search_online_kb.png
+ light/png/32/help/system_information.png
+ light/png/32/manage_file/declare.png
+ light/png/32/manage_file/delete_all_versions.png
+ light/png/32/manage_file/delete_old_versions.png
+ light/png/32/manage_file/instance_accelerator.png
+ light/png/32/manage_file/manage_file.png
+ light/png/32/manage_file/rename.png
+ light/png/32/prepare/prepare.png
+ light/png/32/print/order_3d.png
+ light/png/32/print/prep_3d.png
+ light/png/32/print/quick_drawing.png
+ light/png/32/print/quick_print.png
+ light/png/32/reference/reference.png
+ light/png/32/save_as/mirror_part.png
+ light/png/32/save_as/save_backup.png
+ light/png/32/save_as/save_copy.png
+ light/png/32/send/mail_attachment.png
+ light/png/32/send/mail_link.png
+ light/png/32/send/send.png
+ light/png/32/settings/model_display.png
+ light/png/32/settings/options.png
+ light/png/32/settings/system_appearance.png
+ light/png/48/data/design_exploration.png
+ light/png/48/data/erase_current.png
+ light/png/48/data/erase_not_displayed.png
+ light/png/48/data/erase_unused_model_reps.png
+ light/png/48/data/manage_session.png
+ light/png/48/data/object_list.png
+ light/png/48/data/open_linked_browser.png
+ light/png/48/data/play_trail_file.png
+ light/png/48/data/select_working_directory.png
+ light/png/48/data/server_management.png
+ light/png/48/data/update_index.png
+ light/png/48/file/close.png
+ light/png/48/file/exit.png
+ light/png/48/file/new.png
+ light/png/48/file/open.png
+ light/png/48/file/save.png
+ light/png/48/file/save_as.png
+ light/png/48/help/about.png
+ light/png/48/help/command_search.png
+ light/png/48/help/help.png
+ light/png/48/help/log_support_case.png
+ light/png/48/help/online_resources.png
+ light/png/48/help/product_help.png
+ light/png/48/help/search_online_kb.png
+ light/png/48/help/system_information.png
+ light/png/48/manage_file/declare.png
+ light/png/48/manage_file/delete_all_versions.png
+ light/png/48/manage_file/delete_old_versions.png
+ light/png/48/manage_file/instance_accelerator.png
+ light/png/48/manage_file/manage_file.png
+ light/png/48/manage_file/rename.png
+ light/png/48/prepare/prepare.png
+ light/png/48/print/order_3d.png
+ light/png/48/print/prep_3d.png
+ light/png/48/print/quick_drawing.png
+ light/png/48/print/quick_print.png
+ light/png/48/reference/reference.png
+ light/png/48/save_as/mirror_part.png
+ light/png/48/save_as/save_backup.png
+ light/png/48/save_as/save_copy.png
+ light/png/48/send/mail_attachment.png
+ light/png/48/send/mail_link.png
+ light/png/48/send/send.png
+ light/png/48/settings/model_display.png
+ light/png/48/settings/options.png
+ light/png/48/settings/system_appearance.png
+ light/png/64/data/design_exploration.png
+ light/png/64/data/erase_current.png
+ light/png/64/data/erase_not_displayed.png
+ light/png/64/data/erase_unused_model_reps.png
+ light/png/64/data/manage_session.png
+ light/png/64/data/object_list.png
+ light/png/64/data/open_linked_browser.png
+ light/png/64/data/play_trail_file.png
+ light/png/64/data/select_working_directory.png
+ light/png/64/data/server_management.png
+ light/png/64/data/update_index.png
+ light/png/64/file/close.png
+ light/png/64/file/exit.png
+ light/png/64/file/new.png
+ light/png/64/file/open.png
+ light/png/64/file/save.png
+ light/png/64/file/save_as.png
+ light/png/64/help/about.png
+ light/png/64/help/command_search.png
+ light/png/64/help/help.png
+ light/png/64/help/log_support_case.png
+ light/png/64/help/online_resources.png
+ light/png/64/help/product_help.png
+ light/png/64/help/search_online_kb.png
+ light/png/64/help/system_information.png
+ light/png/64/manage_file/declare.png
+ light/png/64/manage_file/delete_all_versions.png
+ light/png/64/manage_file/delete_old_versions.png
+ light/png/64/manage_file/instance_accelerator.png
+ light/png/64/manage_file/manage_file.png
+ light/png/64/manage_file/rename.png
+ light/png/64/prepare/prepare.png
+ light/png/64/print/order_3d.png
+ light/png/64/print/prep_3d.png
+ light/png/64/print/quick_drawing.png
+ light/png/64/print/quick_print.png
+ light/png/64/reference/reference.png
+ light/png/64/save_as/mirror_part.png
+ light/png/64/save_as/save_backup.png
+ light/png/64/save_as/save_copy.png
+ light/png/64/send/mail_attachment.png
+ light/png/64/send/mail_link.png
+ light/png/64/send/send.png
+ light/png/64/settings/model_display.png
+ light/png/64/settings/options.png
+ light/png/64/settings/system_appearance.png
+ light/svg/data/design_exploration.svg
+ light/svg/data/erase_current.svg
+ light/svg/data/erase_not_displayed.svg
+ light/svg/data/erase_unused_model_reps.svg
+ light/svg/data/manage_session.svg
+ light/svg/data/object_list.svg
+ light/svg/data/open_linked_browser.svg
+ light/svg/data/play_trail_file.svg
+ light/svg/data/select_working_directory.svg
+ light/svg/data/server_management.svg
+ light/svg/data/update_index.svg
+ light/svg/file/close.svg
+ light/svg/file/exit.svg
+ light/svg/file/new.svg
+ light/svg/file/open.svg
+ light/svg/file/save.svg
+ light/svg/file/save_as.svg
+ light/svg/help/about.svg
+ light/svg/help/command_search.svg
+ light/svg/help/help.svg
+ light/svg/help/log_support_case.svg
+ light/svg/help/online_resources.svg
+ light/svg/help/product_help.svg
+ light/svg/help/search_online_kb.svg
+ light/svg/help/system_information.svg
+ light/svg/manage_file/declare.svg
+ light/svg/manage_file/delete_all_versions.svg
+ light/svg/manage_file/delete_old_versions.svg
+ light/svg/manage_file/instance_accelerator.svg
+ light/svg/manage_file/manage_file.svg
+ light/svg/manage_file/rename.svg
+ light/svg/prepare/prepare.svg
+ light/svg/print/order_3d.svg
+ light/svg/print/prep_3d.svg
+ light/svg/print/quick_drawing.svg
+ light/svg/print/quick_print.svg
+ light/svg/reference/reference.svg
+ light/svg/save_as/mirror_part.svg
+ light/svg/save_as/save_backup.svg
+ light/svg/save_as/save_copy.svg
+ light/svg/send/mail_attachment.svg
+ light/svg/send/mail_link.svg
+ light/svg/send/send.svg
+ light/svg/settings/model_display.svg
+ light/svg/settings/options.svg
+ light/svg/settings/system_appearance.svg
+
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/png/16/data/design_exploration.png b/Designer/UIResource/FileMenu/light/png/16/data/design_exploration.png
new file mode 100644
index 00000000..877cd856
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/data/design_exploration.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/data/erase_current.png b/Designer/UIResource/FileMenu/light/png/16/data/erase_current.png
new file mode 100644
index 00000000..448b7e34
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/data/erase_current.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/data/erase_not_displayed.png b/Designer/UIResource/FileMenu/light/png/16/data/erase_not_displayed.png
new file mode 100644
index 00000000..82845250
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/data/erase_not_displayed.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/data/erase_unused_model_reps.png b/Designer/UIResource/FileMenu/light/png/16/data/erase_unused_model_reps.png
new file mode 100644
index 00000000..07903d28
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/data/erase_unused_model_reps.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/data/manage_session.png b/Designer/UIResource/FileMenu/light/png/16/data/manage_session.png
new file mode 100644
index 00000000..8fa7a721
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/data/manage_session.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/data/object_list.png b/Designer/UIResource/FileMenu/light/png/16/data/object_list.png
new file mode 100644
index 00000000..0dfef0ae
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/data/object_list.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/data/open_linked_browser.png b/Designer/UIResource/FileMenu/light/png/16/data/open_linked_browser.png
new file mode 100644
index 00000000..d9792833
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/data/open_linked_browser.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/data/play_trail_file.png b/Designer/UIResource/FileMenu/light/png/16/data/play_trail_file.png
new file mode 100644
index 00000000..be771f65
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/data/play_trail_file.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/data/select_working_directory.png b/Designer/UIResource/FileMenu/light/png/16/data/select_working_directory.png
new file mode 100644
index 00000000..ce30caae
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/data/select_working_directory.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/data/server_management.png b/Designer/UIResource/FileMenu/light/png/16/data/server_management.png
new file mode 100644
index 00000000..68925cb3
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/data/server_management.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/data/update_index.png b/Designer/UIResource/FileMenu/light/png/16/data/update_index.png
new file mode 100644
index 00000000..13fd0fb8
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/data/update_index.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/file/close.png b/Designer/UIResource/FileMenu/light/png/16/file/close.png
new file mode 100644
index 00000000..6d66837e
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/file/close.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/file/exit.png b/Designer/UIResource/FileMenu/light/png/16/file/exit.png
new file mode 100644
index 00000000..762ea68c
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/file/exit.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/file/new.png b/Designer/UIResource/FileMenu/light/png/16/file/new.png
new file mode 100644
index 00000000..d878173f
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/file/new.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/file/open.png b/Designer/UIResource/FileMenu/light/png/16/file/open.png
new file mode 100644
index 00000000..413e1e13
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/file/open.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/file/save.png b/Designer/UIResource/FileMenu/light/png/16/file/save.png
new file mode 100644
index 00000000..e7b39098
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/file/save.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/file/save_as.png b/Designer/UIResource/FileMenu/light/png/16/file/save_as.png
new file mode 100644
index 00000000..3b3e113b
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/file/save_as.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/help/about.png b/Designer/UIResource/FileMenu/light/png/16/help/about.png
new file mode 100644
index 00000000..d3d7911a
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/help/about.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/help/command_search.png b/Designer/UIResource/FileMenu/light/png/16/help/command_search.png
new file mode 100644
index 00000000..500194c3
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/help/command_search.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/help/help.png b/Designer/UIResource/FileMenu/light/png/16/help/help.png
new file mode 100644
index 00000000..d369d4c6
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/help/help.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/help/log_support_case.png b/Designer/UIResource/FileMenu/light/png/16/help/log_support_case.png
new file mode 100644
index 00000000..500194c3
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/help/log_support_case.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/help/online_resources.png b/Designer/UIResource/FileMenu/light/png/16/help/online_resources.png
new file mode 100644
index 00000000..243da7c6
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/help/online_resources.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/help/product_help.png b/Designer/UIResource/FileMenu/light/png/16/help/product_help.png
new file mode 100644
index 00000000..7b8d242f
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/help/product_help.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/help/search_online_kb.png b/Designer/UIResource/FileMenu/light/png/16/help/search_online_kb.png
new file mode 100644
index 00000000..516fa6be
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/help/search_online_kb.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/help/system_information.png b/Designer/UIResource/FileMenu/light/png/16/help/system_information.png
new file mode 100644
index 00000000..d3d7911a
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/help/system_information.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/manage_file/declare.png b/Designer/UIResource/FileMenu/light/png/16/manage_file/declare.png
new file mode 100644
index 00000000..6158b9d8
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/manage_file/declare.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/manage_file/delete_all_versions.png b/Designer/UIResource/FileMenu/light/png/16/manage_file/delete_all_versions.png
new file mode 100644
index 00000000..e1176d7a
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/manage_file/delete_all_versions.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/manage_file/delete_old_versions.png b/Designer/UIResource/FileMenu/light/png/16/manage_file/delete_old_versions.png
new file mode 100644
index 00000000..3aabbbb5
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/manage_file/delete_old_versions.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/manage_file/instance_accelerator.png b/Designer/UIResource/FileMenu/light/png/16/manage_file/instance_accelerator.png
new file mode 100644
index 00000000..f4a4925c
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/manage_file/instance_accelerator.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/manage_file/manage_file.png b/Designer/UIResource/FileMenu/light/png/16/manage_file/manage_file.png
new file mode 100644
index 00000000..1f55b251
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/manage_file/manage_file.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/manage_file/rename.png b/Designer/UIResource/FileMenu/light/png/16/manage_file/rename.png
new file mode 100644
index 00000000..39950ce7
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/manage_file/rename.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/prepare/prepare.png b/Designer/UIResource/FileMenu/light/png/16/prepare/prepare.png
new file mode 100644
index 00000000..d3d7911a
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/prepare/prepare.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/print/order_3d.png b/Designer/UIResource/FileMenu/light/png/16/print/order_3d.png
new file mode 100644
index 00000000..de63f289
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/print/order_3d.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/print/prep_3d.png b/Designer/UIResource/FileMenu/light/png/16/print/prep_3d.png
new file mode 100644
index 00000000..e1d145f3
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/print/prep_3d.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/print/quick_drawing.png b/Designer/UIResource/FileMenu/light/png/16/print/quick_drawing.png
new file mode 100644
index 00000000..04e4dc60
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/print/quick_drawing.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/print/quick_print.png b/Designer/UIResource/FileMenu/light/png/16/print/quick_print.png
new file mode 100644
index 00000000..6f783830
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/print/quick_print.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/reference/reference.png b/Designer/UIResource/FileMenu/light/png/16/reference/reference.png
new file mode 100644
index 00000000..9a96d05c
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/reference/reference.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/save_as/mirror_part.png b/Designer/UIResource/FileMenu/light/png/16/save_as/mirror_part.png
new file mode 100644
index 00000000..fb74fa4b
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/save_as/mirror_part.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/save_as/save_backup.png b/Designer/UIResource/FileMenu/light/png/16/save_as/save_backup.png
new file mode 100644
index 00000000..23acda78
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/save_as/save_backup.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/save_as/save_copy.png b/Designer/UIResource/FileMenu/light/png/16/save_as/save_copy.png
new file mode 100644
index 00000000..3249cac2
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/save_as/save_copy.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/send/mail_attachment.png b/Designer/UIResource/FileMenu/light/png/16/send/mail_attachment.png
new file mode 100644
index 00000000..80e9a80d
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/send/mail_attachment.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/send/mail_link.png b/Designer/UIResource/FileMenu/light/png/16/send/mail_link.png
new file mode 100644
index 00000000..89d74cc7
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/send/mail_link.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/send/send.png b/Designer/UIResource/FileMenu/light/png/16/send/send.png
new file mode 100644
index 00000000..45579cb7
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/send/send.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/settings/model_display.png b/Designer/UIResource/FileMenu/light/png/16/settings/model_display.png
new file mode 100644
index 00000000..3d44da50
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/settings/model_display.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/settings/options.png b/Designer/UIResource/FileMenu/light/png/16/settings/options.png
new file mode 100644
index 00000000..68662dfc
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/settings/options.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/16/settings/system_appearance.png b/Designer/UIResource/FileMenu/light/png/16/settings/system_appearance.png
new file mode 100644
index 00000000..6d51a68a
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/16/settings/system_appearance.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/data/design_exploration.png b/Designer/UIResource/FileMenu/light/png/32/data/design_exploration.png
new file mode 100644
index 00000000..8420baaf
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/data/design_exploration.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/data/erase_current.png b/Designer/UIResource/FileMenu/light/png/32/data/erase_current.png
new file mode 100644
index 00000000..d6a4ca8f
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/data/erase_current.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/data/erase_not_displayed.png b/Designer/UIResource/FileMenu/light/png/32/data/erase_not_displayed.png
new file mode 100644
index 00000000..b1e2ae2b
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/data/erase_not_displayed.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/data/erase_unused_model_reps.png b/Designer/UIResource/FileMenu/light/png/32/data/erase_unused_model_reps.png
new file mode 100644
index 00000000..b25d727b
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/data/erase_unused_model_reps.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/data/manage_session.png b/Designer/UIResource/FileMenu/light/png/32/data/manage_session.png
new file mode 100644
index 00000000..b8aabe59
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/data/manage_session.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/data/object_list.png b/Designer/UIResource/FileMenu/light/png/32/data/object_list.png
new file mode 100644
index 00000000..77c4aa0e
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/data/object_list.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/data/open_linked_browser.png b/Designer/UIResource/FileMenu/light/png/32/data/open_linked_browser.png
new file mode 100644
index 00000000..f079f97c
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/data/open_linked_browser.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/data/play_trail_file.png b/Designer/UIResource/FileMenu/light/png/32/data/play_trail_file.png
new file mode 100644
index 00000000..8d14e4c8
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/data/play_trail_file.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/data/select_working_directory.png b/Designer/UIResource/FileMenu/light/png/32/data/select_working_directory.png
new file mode 100644
index 00000000..99dc4ea8
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/data/select_working_directory.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/data/server_management.png b/Designer/UIResource/FileMenu/light/png/32/data/server_management.png
new file mode 100644
index 00000000..1fd1e417
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/data/server_management.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/data/update_index.png b/Designer/UIResource/FileMenu/light/png/32/data/update_index.png
new file mode 100644
index 00000000..641e8b0c
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/data/update_index.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/file/close.png b/Designer/UIResource/FileMenu/light/png/32/file/close.png
new file mode 100644
index 00000000..679755d2
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/file/close.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/file/exit.png b/Designer/UIResource/FileMenu/light/png/32/file/exit.png
new file mode 100644
index 00000000..bb186dbc
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/file/exit.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/file/new.png b/Designer/UIResource/FileMenu/light/png/32/file/new.png
new file mode 100644
index 00000000..38122a26
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/file/new.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/file/open.png b/Designer/UIResource/FileMenu/light/png/32/file/open.png
new file mode 100644
index 00000000..e47c78fd
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/file/open.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/file/save.png b/Designer/UIResource/FileMenu/light/png/32/file/save.png
new file mode 100644
index 00000000..a7612e98
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/file/save.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/file/save_as.png b/Designer/UIResource/FileMenu/light/png/32/file/save_as.png
new file mode 100644
index 00000000..29ad1911
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/file/save_as.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/help/about.png b/Designer/UIResource/FileMenu/light/png/32/help/about.png
new file mode 100644
index 00000000..9b674b70
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/help/about.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/help/command_search.png b/Designer/UIResource/FileMenu/light/png/32/help/command_search.png
new file mode 100644
index 00000000..cb47c6b9
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/help/command_search.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/help/help.png b/Designer/UIResource/FileMenu/light/png/32/help/help.png
new file mode 100644
index 00000000..1e078bda
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/help/help.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/help/log_support_case.png b/Designer/UIResource/FileMenu/light/png/32/help/log_support_case.png
new file mode 100644
index 00000000..cb47c6b9
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/help/log_support_case.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/help/online_resources.png b/Designer/UIResource/FileMenu/light/png/32/help/online_resources.png
new file mode 100644
index 00000000..0245f683
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/help/online_resources.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/help/product_help.png b/Designer/UIResource/FileMenu/light/png/32/help/product_help.png
new file mode 100644
index 00000000..119814ee
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/help/product_help.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/help/search_online_kb.png b/Designer/UIResource/FileMenu/light/png/32/help/search_online_kb.png
new file mode 100644
index 00000000..34b0d094
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/help/search_online_kb.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/help/system_information.png b/Designer/UIResource/FileMenu/light/png/32/help/system_information.png
new file mode 100644
index 00000000..9b674b70
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/help/system_information.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/manage_file/declare.png b/Designer/UIResource/FileMenu/light/png/32/manage_file/declare.png
new file mode 100644
index 00000000..39394f3b
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/manage_file/declare.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/manage_file/delete_all_versions.png b/Designer/UIResource/FileMenu/light/png/32/manage_file/delete_all_versions.png
new file mode 100644
index 00000000..2a613847
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/manage_file/delete_all_versions.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/manage_file/delete_old_versions.png b/Designer/UIResource/FileMenu/light/png/32/manage_file/delete_old_versions.png
new file mode 100644
index 00000000..bdd70f72
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/manage_file/delete_old_versions.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/manage_file/instance_accelerator.png b/Designer/UIResource/FileMenu/light/png/32/manage_file/instance_accelerator.png
new file mode 100644
index 00000000..022eecc9
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/manage_file/instance_accelerator.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/manage_file/manage_file.png b/Designer/UIResource/FileMenu/light/png/32/manage_file/manage_file.png
new file mode 100644
index 00000000..2087debc
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/manage_file/manage_file.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/manage_file/rename.png b/Designer/UIResource/FileMenu/light/png/32/manage_file/rename.png
new file mode 100644
index 00000000..3a1f85a3
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/manage_file/rename.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/prepare/prepare.png b/Designer/UIResource/FileMenu/light/png/32/prepare/prepare.png
new file mode 100644
index 00000000..9b674b70
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/prepare/prepare.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/print/order_3d.png b/Designer/UIResource/FileMenu/light/png/32/print/order_3d.png
new file mode 100644
index 00000000..6c46ee8d
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/print/order_3d.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/print/prep_3d.png b/Designer/UIResource/FileMenu/light/png/32/print/prep_3d.png
new file mode 100644
index 00000000..c440d29c
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/print/prep_3d.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/print/quick_drawing.png b/Designer/UIResource/FileMenu/light/png/32/print/quick_drawing.png
new file mode 100644
index 00000000..d3add0fa
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/print/quick_drawing.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/print/quick_print.png b/Designer/UIResource/FileMenu/light/png/32/print/quick_print.png
new file mode 100644
index 00000000..0079eb72
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/print/quick_print.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/reference/reference.png b/Designer/UIResource/FileMenu/light/png/32/reference/reference.png
new file mode 100644
index 00000000..70e81650
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/reference/reference.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/save_as/mirror_part.png b/Designer/UIResource/FileMenu/light/png/32/save_as/mirror_part.png
new file mode 100644
index 00000000..96aef8bb
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/save_as/mirror_part.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/save_as/save_backup.png b/Designer/UIResource/FileMenu/light/png/32/save_as/save_backup.png
new file mode 100644
index 00000000..416eff31
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/save_as/save_backup.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/save_as/save_copy.png b/Designer/UIResource/FileMenu/light/png/32/save_as/save_copy.png
new file mode 100644
index 00000000..cb65bfb6
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/save_as/save_copy.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/send/mail_attachment.png b/Designer/UIResource/FileMenu/light/png/32/send/mail_attachment.png
new file mode 100644
index 00000000..f1d5090d
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/send/mail_attachment.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/send/mail_link.png b/Designer/UIResource/FileMenu/light/png/32/send/mail_link.png
new file mode 100644
index 00000000..3665048e
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/send/mail_link.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/send/send.png b/Designer/UIResource/FileMenu/light/png/32/send/send.png
new file mode 100644
index 00000000..7814a0cb
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/send/send.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/settings/model_display.png b/Designer/UIResource/FileMenu/light/png/32/settings/model_display.png
new file mode 100644
index 00000000..aed63f0e
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/settings/model_display.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/settings/options.png b/Designer/UIResource/FileMenu/light/png/32/settings/options.png
new file mode 100644
index 00000000..56265282
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/settings/options.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/32/settings/system_appearance.png b/Designer/UIResource/FileMenu/light/png/32/settings/system_appearance.png
new file mode 100644
index 00000000..21469aaa
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/32/settings/system_appearance.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/data/design_exploration.png b/Designer/UIResource/FileMenu/light/png/48/data/design_exploration.png
new file mode 100644
index 00000000..57e52d4d
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/data/design_exploration.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/data/erase_current.png b/Designer/UIResource/FileMenu/light/png/48/data/erase_current.png
new file mode 100644
index 00000000..4e0edc69
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/data/erase_current.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/data/erase_not_displayed.png b/Designer/UIResource/FileMenu/light/png/48/data/erase_not_displayed.png
new file mode 100644
index 00000000..22609fe2
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/data/erase_not_displayed.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/data/erase_unused_model_reps.png b/Designer/UIResource/FileMenu/light/png/48/data/erase_unused_model_reps.png
new file mode 100644
index 00000000..9c4b7719
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/data/erase_unused_model_reps.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/data/manage_session.png b/Designer/UIResource/FileMenu/light/png/48/data/manage_session.png
new file mode 100644
index 00000000..9c861183
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/data/manage_session.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/data/object_list.png b/Designer/UIResource/FileMenu/light/png/48/data/object_list.png
new file mode 100644
index 00000000..4d4d12c3
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/data/object_list.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/data/open_linked_browser.png b/Designer/UIResource/FileMenu/light/png/48/data/open_linked_browser.png
new file mode 100644
index 00000000..2d376796
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/data/open_linked_browser.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/data/play_trail_file.png b/Designer/UIResource/FileMenu/light/png/48/data/play_trail_file.png
new file mode 100644
index 00000000..6ac92ee2
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/data/play_trail_file.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/data/select_working_directory.png b/Designer/UIResource/FileMenu/light/png/48/data/select_working_directory.png
new file mode 100644
index 00000000..5d6cad57
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/data/select_working_directory.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/data/server_management.png b/Designer/UIResource/FileMenu/light/png/48/data/server_management.png
new file mode 100644
index 00000000..c3d480a1
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/data/server_management.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/data/update_index.png b/Designer/UIResource/FileMenu/light/png/48/data/update_index.png
new file mode 100644
index 00000000..b3c4659a
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/data/update_index.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/file/close.png b/Designer/UIResource/FileMenu/light/png/48/file/close.png
new file mode 100644
index 00000000..f9c076a6
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/file/close.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/file/exit.png b/Designer/UIResource/FileMenu/light/png/48/file/exit.png
new file mode 100644
index 00000000..05fb675d
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/file/exit.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/file/new.png b/Designer/UIResource/FileMenu/light/png/48/file/new.png
new file mode 100644
index 00000000..44ef3f2c
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/file/new.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/file/open.png b/Designer/UIResource/FileMenu/light/png/48/file/open.png
new file mode 100644
index 00000000..d69e6068
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/file/open.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/file/save.png b/Designer/UIResource/FileMenu/light/png/48/file/save.png
new file mode 100644
index 00000000..ad7b4d8a
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/file/save.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/file/save_as.png b/Designer/UIResource/FileMenu/light/png/48/file/save_as.png
new file mode 100644
index 00000000..f8a68b0f
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/file/save_as.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/help/about.png b/Designer/UIResource/FileMenu/light/png/48/help/about.png
new file mode 100644
index 00000000..951ee0e3
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/help/about.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/help/command_search.png b/Designer/UIResource/FileMenu/light/png/48/help/command_search.png
new file mode 100644
index 00000000..39bd83e6
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/help/command_search.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/help/help.png b/Designer/UIResource/FileMenu/light/png/48/help/help.png
new file mode 100644
index 00000000..6ba47062
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/help/help.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/help/log_support_case.png b/Designer/UIResource/FileMenu/light/png/48/help/log_support_case.png
new file mode 100644
index 00000000..39bd83e6
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/help/log_support_case.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/help/online_resources.png b/Designer/UIResource/FileMenu/light/png/48/help/online_resources.png
new file mode 100644
index 00000000..63693914
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/help/online_resources.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/help/product_help.png b/Designer/UIResource/FileMenu/light/png/48/help/product_help.png
new file mode 100644
index 00000000..c61fe45e
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/help/product_help.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/help/search_online_kb.png b/Designer/UIResource/FileMenu/light/png/48/help/search_online_kb.png
new file mode 100644
index 00000000..24a8c6d6
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/help/search_online_kb.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/help/system_information.png b/Designer/UIResource/FileMenu/light/png/48/help/system_information.png
new file mode 100644
index 00000000..951ee0e3
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/help/system_information.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/manage_file/declare.png b/Designer/UIResource/FileMenu/light/png/48/manage_file/declare.png
new file mode 100644
index 00000000..317b9d0b
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/manage_file/declare.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/manage_file/delete_all_versions.png b/Designer/UIResource/FileMenu/light/png/48/manage_file/delete_all_versions.png
new file mode 100644
index 00000000..9f98fd5a
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/manage_file/delete_all_versions.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/manage_file/delete_old_versions.png b/Designer/UIResource/FileMenu/light/png/48/manage_file/delete_old_versions.png
new file mode 100644
index 00000000..ff536335
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/manage_file/delete_old_versions.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/manage_file/instance_accelerator.png b/Designer/UIResource/FileMenu/light/png/48/manage_file/instance_accelerator.png
new file mode 100644
index 00000000..cbe19743
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/manage_file/instance_accelerator.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/manage_file/manage_file.png b/Designer/UIResource/FileMenu/light/png/48/manage_file/manage_file.png
new file mode 100644
index 00000000..53284c16
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/manage_file/manage_file.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/manage_file/rename.png b/Designer/UIResource/FileMenu/light/png/48/manage_file/rename.png
new file mode 100644
index 00000000..23741dc6
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/manage_file/rename.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/prepare/prepare.png b/Designer/UIResource/FileMenu/light/png/48/prepare/prepare.png
new file mode 100644
index 00000000..951ee0e3
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/prepare/prepare.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/print/order_3d.png b/Designer/UIResource/FileMenu/light/png/48/print/order_3d.png
new file mode 100644
index 00000000..bf77f90c
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/print/order_3d.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/print/prep_3d.png b/Designer/UIResource/FileMenu/light/png/48/print/prep_3d.png
new file mode 100644
index 00000000..ff1901b6
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/print/prep_3d.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/print/quick_drawing.png b/Designer/UIResource/FileMenu/light/png/48/print/quick_drawing.png
new file mode 100644
index 00000000..79a95c2b
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/print/quick_drawing.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/print/quick_print.png b/Designer/UIResource/FileMenu/light/png/48/print/quick_print.png
new file mode 100644
index 00000000..312e89f5
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/print/quick_print.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/reference/reference.png b/Designer/UIResource/FileMenu/light/png/48/reference/reference.png
new file mode 100644
index 00000000..3d254042
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/reference/reference.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/save_as/mirror_part.png b/Designer/UIResource/FileMenu/light/png/48/save_as/mirror_part.png
new file mode 100644
index 00000000..3c9e32f3
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/save_as/mirror_part.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/save_as/save_backup.png b/Designer/UIResource/FileMenu/light/png/48/save_as/save_backup.png
new file mode 100644
index 00000000..8cb96229
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/save_as/save_backup.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/save_as/save_copy.png b/Designer/UIResource/FileMenu/light/png/48/save_as/save_copy.png
new file mode 100644
index 00000000..7dc26f68
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/save_as/save_copy.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/send/mail_attachment.png b/Designer/UIResource/FileMenu/light/png/48/send/mail_attachment.png
new file mode 100644
index 00000000..0c4beccd
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/send/mail_attachment.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/send/mail_link.png b/Designer/UIResource/FileMenu/light/png/48/send/mail_link.png
new file mode 100644
index 00000000..5f5b7a93
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/send/mail_link.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/send/send.png b/Designer/UIResource/FileMenu/light/png/48/send/send.png
new file mode 100644
index 00000000..c83078ba
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/send/send.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/settings/model_display.png b/Designer/UIResource/FileMenu/light/png/48/settings/model_display.png
new file mode 100644
index 00000000..bb9b238e
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/settings/model_display.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/settings/options.png b/Designer/UIResource/FileMenu/light/png/48/settings/options.png
new file mode 100644
index 00000000..40a01846
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/settings/options.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/48/settings/system_appearance.png b/Designer/UIResource/FileMenu/light/png/48/settings/system_appearance.png
new file mode 100644
index 00000000..68dbaf26
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/48/settings/system_appearance.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/data/design_exploration.png b/Designer/UIResource/FileMenu/light/png/64/data/design_exploration.png
new file mode 100644
index 00000000..8f5035e9
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/data/design_exploration.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/data/erase_current.png b/Designer/UIResource/FileMenu/light/png/64/data/erase_current.png
new file mode 100644
index 00000000..94338988
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/data/erase_current.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/data/erase_not_displayed.png b/Designer/UIResource/FileMenu/light/png/64/data/erase_not_displayed.png
new file mode 100644
index 00000000..5c2590af
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/data/erase_not_displayed.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/data/erase_unused_model_reps.png b/Designer/UIResource/FileMenu/light/png/64/data/erase_unused_model_reps.png
new file mode 100644
index 00000000..59ff8661
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/data/erase_unused_model_reps.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/data/manage_session.png b/Designer/UIResource/FileMenu/light/png/64/data/manage_session.png
new file mode 100644
index 00000000..094f3440
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/data/manage_session.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/data/object_list.png b/Designer/UIResource/FileMenu/light/png/64/data/object_list.png
new file mode 100644
index 00000000..d00d7375
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/data/object_list.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/data/open_linked_browser.png b/Designer/UIResource/FileMenu/light/png/64/data/open_linked_browser.png
new file mode 100644
index 00000000..bf39de00
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/data/open_linked_browser.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/data/play_trail_file.png b/Designer/UIResource/FileMenu/light/png/64/data/play_trail_file.png
new file mode 100644
index 00000000..c2aed4a3
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/data/play_trail_file.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/data/select_working_directory.png b/Designer/UIResource/FileMenu/light/png/64/data/select_working_directory.png
new file mode 100644
index 00000000..9ffb7642
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/data/select_working_directory.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/data/server_management.png b/Designer/UIResource/FileMenu/light/png/64/data/server_management.png
new file mode 100644
index 00000000..6eb40367
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/data/server_management.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/data/update_index.png b/Designer/UIResource/FileMenu/light/png/64/data/update_index.png
new file mode 100644
index 00000000..274afcc4
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/data/update_index.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/file/close.png b/Designer/UIResource/FileMenu/light/png/64/file/close.png
new file mode 100644
index 00000000..bfed6d8c
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/file/close.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/file/exit.png b/Designer/UIResource/FileMenu/light/png/64/file/exit.png
new file mode 100644
index 00000000..08fcc5da
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/file/exit.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/file/new.png b/Designer/UIResource/FileMenu/light/png/64/file/new.png
new file mode 100644
index 00000000..b3dacd59
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/file/new.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/file/open.png b/Designer/UIResource/FileMenu/light/png/64/file/open.png
new file mode 100644
index 00000000..1b7be84e
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/file/open.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/file/save.png b/Designer/UIResource/FileMenu/light/png/64/file/save.png
new file mode 100644
index 00000000..896b69d3
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/file/save.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/file/save_as.png b/Designer/UIResource/FileMenu/light/png/64/file/save_as.png
new file mode 100644
index 00000000..928cdc04
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/file/save_as.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/help/about.png b/Designer/UIResource/FileMenu/light/png/64/help/about.png
new file mode 100644
index 00000000..e1e9abd6
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/help/about.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/help/command_search.png b/Designer/UIResource/FileMenu/light/png/64/help/command_search.png
new file mode 100644
index 00000000..2bfbbde9
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/help/command_search.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/help/help.png b/Designer/UIResource/FileMenu/light/png/64/help/help.png
new file mode 100644
index 00000000..0abc41b0
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/help/help.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/help/log_support_case.png b/Designer/UIResource/FileMenu/light/png/64/help/log_support_case.png
new file mode 100644
index 00000000..2bfbbde9
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/help/log_support_case.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/help/online_resources.png b/Designer/UIResource/FileMenu/light/png/64/help/online_resources.png
new file mode 100644
index 00000000..c1c7c339
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/help/online_resources.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/help/product_help.png b/Designer/UIResource/FileMenu/light/png/64/help/product_help.png
new file mode 100644
index 00000000..9f0e76c0
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/help/product_help.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/help/search_online_kb.png b/Designer/UIResource/FileMenu/light/png/64/help/search_online_kb.png
new file mode 100644
index 00000000..98c93211
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/help/search_online_kb.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/help/system_information.png b/Designer/UIResource/FileMenu/light/png/64/help/system_information.png
new file mode 100644
index 00000000..e1e9abd6
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/help/system_information.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/manage_file/declare.png b/Designer/UIResource/FileMenu/light/png/64/manage_file/declare.png
new file mode 100644
index 00000000..cae91782
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/manage_file/declare.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/manage_file/delete_all_versions.png b/Designer/UIResource/FileMenu/light/png/64/manage_file/delete_all_versions.png
new file mode 100644
index 00000000..3f0feca8
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/manage_file/delete_all_versions.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/manage_file/delete_old_versions.png b/Designer/UIResource/FileMenu/light/png/64/manage_file/delete_old_versions.png
new file mode 100644
index 00000000..8b94e594
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/manage_file/delete_old_versions.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/manage_file/instance_accelerator.png b/Designer/UIResource/FileMenu/light/png/64/manage_file/instance_accelerator.png
new file mode 100644
index 00000000..bdb1af95
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/manage_file/instance_accelerator.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/manage_file/manage_file.png b/Designer/UIResource/FileMenu/light/png/64/manage_file/manage_file.png
new file mode 100644
index 00000000..9f575719
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/manage_file/manage_file.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/manage_file/rename.png b/Designer/UIResource/FileMenu/light/png/64/manage_file/rename.png
new file mode 100644
index 00000000..6f2599d2
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/manage_file/rename.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/prepare/prepare.png b/Designer/UIResource/FileMenu/light/png/64/prepare/prepare.png
new file mode 100644
index 00000000..e1e9abd6
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/prepare/prepare.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/print/order_3d.png b/Designer/UIResource/FileMenu/light/png/64/print/order_3d.png
new file mode 100644
index 00000000..2ac40693
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/print/order_3d.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/print/prep_3d.png b/Designer/UIResource/FileMenu/light/png/64/print/prep_3d.png
new file mode 100644
index 00000000..d043c296
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/print/prep_3d.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/print/quick_drawing.png b/Designer/UIResource/FileMenu/light/png/64/print/quick_drawing.png
new file mode 100644
index 00000000..15663f7b
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/print/quick_drawing.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/print/quick_print.png b/Designer/UIResource/FileMenu/light/png/64/print/quick_print.png
new file mode 100644
index 00000000..85a64e1c
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/print/quick_print.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/reference/reference.png b/Designer/UIResource/FileMenu/light/png/64/reference/reference.png
new file mode 100644
index 00000000..67c5b487
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/reference/reference.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/save_as/mirror_part.png b/Designer/UIResource/FileMenu/light/png/64/save_as/mirror_part.png
new file mode 100644
index 00000000..a7054c18
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/save_as/mirror_part.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/save_as/save_backup.png b/Designer/UIResource/FileMenu/light/png/64/save_as/save_backup.png
new file mode 100644
index 00000000..a1a9345c
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/save_as/save_backup.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/save_as/save_copy.png b/Designer/UIResource/FileMenu/light/png/64/save_as/save_copy.png
new file mode 100644
index 00000000..788bbd57
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/save_as/save_copy.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/send/mail_attachment.png b/Designer/UIResource/FileMenu/light/png/64/send/mail_attachment.png
new file mode 100644
index 00000000..5b89974a
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/send/mail_attachment.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/send/mail_link.png b/Designer/UIResource/FileMenu/light/png/64/send/mail_link.png
new file mode 100644
index 00000000..7bd5d4a7
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/send/mail_link.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/send/send.png b/Designer/UIResource/FileMenu/light/png/64/send/send.png
new file mode 100644
index 00000000..a1b7a0aa
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/send/send.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/settings/model_display.png b/Designer/UIResource/FileMenu/light/png/64/settings/model_display.png
new file mode 100644
index 00000000..82a895e3
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/settings/model_display.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/settings/options.png b/Designer/UIResource/FileMenu/light/png/64/settings/options.png
new file mode 100644
index 00000000..157dbe82
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/settings/options.png differ
diff --git a/Designer/UIResource/FileMenu/light/png/64/settings/system_appearance.png b/Designer/UIResource/FileMenu/light/png/64/settings/system_appearance.png
new file mode 100644
index 00000000..4c865e27
Binary files /dev/null and b/Designer/UIResource/FileMenu/light/png/64/settings/system_appearance.png differ
diff --git a/Designer/UIResource/FileMenu/light/svg/data/design_exploration.svg b/Designer/UIResource/FileMenu/light/svg/data/design_exploration.svg
new file mode 100644
index 00000000..3c9777b6
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/data/design_exploration.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/data/erase_current.svg b/Designer/UIResource/FileMenu/light/svg/data/erase_current.svg
new file mode 100644
index 00000000..3e5a32ce
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/data/erase_current.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/data/erase_not_displayed.svg b/Designer/UIResource/FileMenu/light/svg/data/erase_not_displayed.svg
new file mode 100644
index 00000000..ae87396e
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/data/erase_not_displayed.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/data/erase_unused_model_reps.svg b/Designer/UIResource/FileMenu/light/svg/data/erase_unused_model_reps.svg
new file mode 100644
index 00000000..841d6177
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/data/erase_unused_model_reps.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/data/manage_session.svg b/Designer/UIResource/FileMenu/light/svg/data/manage_session.svg
new file mode 100644
index 00000000..f4e8ef1f
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/data/manage_session.svg
@@ -0,0 +1,34 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/data/object_list.svg b/Designer/UIResource/FileMenu/light/svg/data/object_list.svg
new file mode 100644
index 00000000..e2aa04c1
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/data/object_list.svg
@@ -0,0 +1,34 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/data/open_linked_browser.svg b/Designer/UIResource/FileMenu/light/svg/data/open_linked_browser.svg
new file mode 100644
index 00000000..5ffc0e59
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/data/open_linked_browser.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/data/play_trail_file.svg b/Designer/UIResource/FileMenu/light/svg/data/play_trail_file.svg
new file mode 100644
index 00000000..b452dd28
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/data/play_trail_file.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/data/select_working_directory.svg b/Designer/UIResource/FileMenu/light/svg/data/select_working_directory.svg
new file mode 100644
index 00000000..2caef15e
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/data/select_working_directory.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/data/server_management.svg b/Designer/UIResource/FileMenu/light/svg/data/server_management.svg
new file mode 100644
index 00000000..c9aee3bf
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/data/server_management.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/data/update_index.svg b/Designer/UIResource/FileMenu/light/svg/data/update_index.svg
new file mode 100644
index 00000000..d61db279
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/data/update_index.svg
@@ -0,0 +1,32 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/file/close.svg b/Designer/UIResource/FileMenu/light/svg/file/close.svg
new file mode 100644
index 00000000..a588377d
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/file/close.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/file/exit.svg b/Designer/UIResource/FileMenu/light/svg/file/exit.svg
new file mode 100644
index 00000000..a297e6eb
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/file/exit.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/file/new.svg b/Designer/UIResource/FileMenu/light/svg/file/new.svg
new file mode 100644
index 00000000..1bc4de1f
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/file/new.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/file/open.svg b/Designer/UIResource/FileMenu/light/svg/file/open.svg
new file mode 100644
index 00000000..4c04d981
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/file/open.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/file/save.svg b/Designer/UIResource/FileMenu/light/svg/file/save.svg
new file mode 100644
index 00000000..0d623d44
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/file/save.svg
@@ -0,0 +1,32 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/file/save_as.svg b/Designer/UIResource/FileMenu/light/svg/file/save_as.svg
new file mode 100644
index 00000000..8e7b1b86
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/file/save_as.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/help/about.svg b/Designer/UIResource/FileMenu/light/svg/help/about.svg
new file mode 100644
index 00000000..669b6eff
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/help/about.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/help/command_search.svg b/Designer/UIResource/FileMenu/light/svg/help/command_search.svg
new file mode 100644
index 00000000..308fae60
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/help/command_search.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/help/help.svg b/Designer/UIResource/FileMenu/light/svg/help/help.svg
new file mode 100644
index 00000000..b077a6d5
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/help/help.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/help/log_support_case.svg b/Designer/UIResource/FileMenu/light/svg/help/log_support_case.svg
new file mode 100644
index 00000000..308fae60
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/help/log_support_case.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/help/online_resources.svg b/Designer/UIResource/FileMenu/light/svg/help/online_resources.svg
new file mode 100644
index 00000000..f68811da
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/help/online_resources.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/help/product_help.svg b/Designer/UIResource/FileMenu/light/svg/help/product_help.svg
new file mode 100644
index 00000000..c6589ac4
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/help/product_help.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/help/search_online_kb.svg b/Designer/UIResource/FileMenu/light/svg/help/search_online_kb.svg
new file mode 100644
index 00000000..ff6756b0
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/help/search_online_kb.svg
@@ -0,0 +1,35 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/help/system_information.svg b/Designer/UIResource/FileMenu/light/svg/help/system_information.svg
new file mode 100644
index 00000000..669b6eff
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/help/system_information.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/manage_file/declare.svg b/Designer/UIResource/FileMenu/light/svg/manage_file/declare.svg
new file mode 100644
index 00000000..a2419b7e
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/manage_file/declare.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/manage_file/delete_all_versions.svg b/Designer/UIResource/FileMenu/light/svg/manage_file/delete_all_versions.svg
new file mode 100644
index 00000000..2a487819
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/manage_file/delete_all_versions.svg
@@ -0,0 +1,35 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/manage_file/delete_old_versions.svg b/Designer/UIResource/FileMenu/light/svg/manage_file/delete_old_versions.svg
new file mode 100644
index 00000000..57bc013a
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/manage_file/delete_old_versions.svg
@@ -0,0 +1,32 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/manage_file/instance_accelerator.svg b/Designer/UIResource/FileMenu/light/svg/manage_file/instance_accelerator.svg
new file mode 100644
index 00000000..bc399f97
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/manage_file/instance_accelerator.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/manage_file/manage_file.svg b/Designer/UIResource/FileMenu/light/svg/manage_file/manage_file.svg
new file mode 100644
index 00000000..c0cced6e
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/manage_file/manage_file.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/manage_file/rename.svg b/Designer/UIResource/FileMenu/light/svg/manage_file/rename.svg
new file mode 100644
index 00000000..805c84fb
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/manage_file/rename.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/prepare/prepare.svg b/Designer/UIResource/FileMenu/light/svg/prepare/prepare.svg
new file mode 100644
index 00000000..669b6eff
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/prepare/prepare.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/print/order_3d.svg b/Designer/UIResource/FileMenu/light/svg/print/order_3d.svg
new file mode 100644
index 00000000..f30744a1
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/print/order_3d.svg
@@ -0,0 +1,36 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/print/prep_3d.svg b/Designer/UIResource/FileMenu/light/svg/print/prep_3d.svg
new file mode 100644
index 00000000..701d6364
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/print/prep_3d.svg
@@ -0,0 +1,35 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/print/quick_drawing.svg b/Designer/UIResource/FileMenu/light/svg/print/quick_drawing.svg
new file mode 100644
index 00000000..056f95e8
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/print/quick_drawing.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/print/quick_print.svg b/Designer/UIResource/FileMenu/light/svg/print/quick_print.svg
new file mode 100644
index 00000000..8748cf84
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/print/quick_print.svg
@@ -0,0 +1,32 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/reference/reference.svg b/Designer/UIResource/FileMenu/light/svg/reference/reference.svg
new file mode 100644
index 00000000..b9f4ac1c
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/reference/reference.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/save_as/mirror_part.svg b/Designer/UIResource/FileMenu/light/svg/save_as/mirror_part.svg
new file mode 100644
index 00000000..e0c254ce
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/save_as/mirror_part.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/save_as/save_backup.svg b/Designer/UIResource/FileMenu/light/svg/save_as/save_backup.svg
new file mode 100644
index 00000000..e03f4c6b
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/save_as/save_backup.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/save_as/save_copy.svg b/Designer/UIResource/FileMenu/light/svg/save_as/save_copy.svg
new file mode 100644
index 00000000..ff517132
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/save_as/save_copy.svg
@@ -0,0 +1,32 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/send/mail_attachment.svg b/Designer/UIResource/FileMenu/light/svg/send/mail_attachment.svg
new file mode 100644
index 00000000..496b295e
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/send/mail_attachment.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/send/mail_link.svg b/Designer/UIResource/FileMenu/light/svg/send/mail_link.svg
new file mode 100644
index 00000000..7d4fa128
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/send/mail_link.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/send/send.svg b/Designer/UIResource/FileMenu/light/svg/send/send.svg
new file mode 100644
index 00000000..efd9983a
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/send/send.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/settings/model_display.svg b/Designer/UIResource/FileMenu/light/svg/settings/model_display.svg
new file mode 100644
index 00000000..bedc7901
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/settings/model_display.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/settings/options.svg b/Designer/UIResource/FileMenu/light/svg/settings/options.svg
new file mode 100644
index 00000000..83c459e8
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/settings/options.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/FileMenu/light/svg/settings/system_appearance.svg b/Designer/UIResource/FileMenu/light/svg/settings/system_appearance.svg
new file mode 100644
index 00000000..9b69e449
--- /dev/null
+++ b/Designer/UIResource/FileMenu/light/svg/settings/system_appearance.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/16/asm_add_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/16/asm_add_component.png
new file mode 100644
index 00000000..b6682887
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/16/asm_add_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/16/asm_arrange.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/16/asm_arrange.png
new file mode 100644
index 00000000..5b927947
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/16/asm_arrange.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/16/asm_new_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/16/asm_new_component.png
new file mode 100644
index 00000000..4b672b32
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/16/asm_new_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/16/asm_replace_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/16/asm_replace_component.png
new file mode 100644
index 00000000..4168d1d8
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/16/asm_replace_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/32/asm_add_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/32/asm_add_component.png
new file mode 100644
index 00000000..f033d7ca
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/32/asm_add_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/32/asm_arrange.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/32/asm_arrange.png
new file mode 100644
index 00000000..260ac073
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/32/asm_arrange.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/32/asm_new_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/32/asm_new_component.png
new file mode 100644
index 00000000..0d9d36c3
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/32/asm_new_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/32/asm_replace_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/32/asm_replace_component.png
new file mode 100644
index 00000000..c07f6a8d
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/32/asm_replace_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/48/asm_add_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/48/asm_add_component.png
new file mode 100644
index 00000000..6e0f3fb5
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/48/asm_add_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/48/asm_arrange.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/48/asm_arrange.png
new file mode 100644
index 00000000..81960df9
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/48/asm_arrange.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/48/asm_new_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/48/asm_new_component.png
new file mode 100644
index 00000000..82e222a4
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/48/asm_new_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/48/asm_replace_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/48/asm_replace_component.png
new file mode 100644
index 00000000..84152ff9
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/48/asm_replace_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/64/asm_add_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/64/asm_add_component.png
new file mode 100644
index 00000000..467edd3e
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/64/asm_add_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/64/asm_arrange.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/64/asm_arrange.png
new file mode 100644
index 00000000..6b5737a0
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/64/asm_arrange.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/64/asm_new_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/64/asm_new_component.png
new file mode 100644
index 00000000..583ba8e4
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/64/asm_new_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/64/asm_replace_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/64/asm_replace_component.png
new file mode 100644
index 00000000..49882549
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/dark/png/64/asm_replace_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/16/asm_add_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/16/asm_add_component.png
new file mode 100644
index 00000000..2f37cc1f
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/16/asm_add_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/16/asm_arrange.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/16/asm_arrange.png
new file mode 100644
index 00000000..9e30e156
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/16/asm_arrange.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/16/asm_new_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/16/asm_new_component.png
new file mode 100644
index 00000000..1415a755
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/16/asm_new_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/16/asm_replace_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/16/asm_replace_component.png
new file mode 100644
index 00000000..8988f664
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/16/asm_replace_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/32/asm_add_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/32/asm_add_component.png
new file mode 100644
index 00000000..d367d10c
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/32/asm_add_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/32/asm_arrange.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/32/asm_arrange.png
new file mode 100644
index 00000000..10149af9
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/32/asm_arrange.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/32/asm_new_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/32/asm_new_component.png
new file mode 100644
index 00000000..7af0d6bb
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/32/asm_new_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/32/asm_replace_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/32/asm_replace_component.png
new file mode 100644
index 00000000..787c4120
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/32/asm_replace_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/48/asm_add_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/48/asm_add_component.png
new file mode 100644
index 00000000..c1c56580
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/48/asm_add_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/48/asm_arrange.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/48/asm_arrange.png
new file mode 100644
index 00000000..e9f557bc
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/48/asm_arrange.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/48/asm_new_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/48/asm_new_component.png
new file mode 100644
index 00000000..d70d2eb0
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/48/asm_new_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/48/asm_replace_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/48/asm_replace_component.png
new file mode 100644
index 00000000..3e82e87c
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/48/asm_replace_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/64/asm_add_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/64/asm_add_component.png
new file mode 100644
index 00000000..292b0642
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/64/asm_add_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/64/asm_arrange.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/64/asm_arrange.png
new file mode 100644
index 00000000..7e1e4ac5
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/64/asm_arrange.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/64/asm_new_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/64/asm_new_component.png
new file mode 100644
index 00000000..432657cf
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/64/asm_new_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/64/asm_replace_component.png b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/64/asm_replace_component.png
new file mode 100644
index 00000000..8c29fb24
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_components/light/png/64/asm_replace_component.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/16/asm_align.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/16/asm_align.png
new file mode 100644
index 00000000..f4365011
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/16/asm_align.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/16/asm_constraint.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/16/asm_constraint.png
new file mode 100644
index 00000000..a76c54b6
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/16/asm_constraint.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/16/asm_distance.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/16/asm_distance.png
new file mode 100644
index 00000000..f5660bcc
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/16/asm_distance.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/16/asm_mate.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/16/asm_mate.png
new file mode 100644
index 00000000..c4000083
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/16/asm_mate.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/32/asm_align.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/32/asm_align.png
new file mode 100644
index 00000000..2c45e35d
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/32/asm_align.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/32/asm_constraint.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/32/asm_constraint.png
new file mode 100644
index 00000000..56279dbe
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/32/asm_constraint.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/32/asm_distance.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/32/asm_distance.png
new file mode 100644
index 00000000..23ab4b2b
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/32/asm_distance.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/32/asm_mate.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/32/asm_mate.png
new file mode 100644
index 00000000..7bca3776
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/32/asm_mate.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/48/asm_align.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/48/asm_align.png
new file mode 100644
index 00000000..d604f158
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/48/asm_align.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/48/asm_constraint.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/48/asm_constraint.png
new file mode 100644
index 00000000..d70941ba
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/48/asm_constraint.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/48/asm_distance.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/48/asm_distance.png
new file mode 100644
index 00000000..d77f3673
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/48/asm_distance.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/48/asm_mate.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/48/asm_mate.png
new file mode 100644
index 00000000..e9808412
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/48/asm_mate.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/64/asm_align.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/64/asm_align.png
new file mode 100644
index 00000000..02e42df1
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/64/asm_align.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/64/asm_constraint.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/64/asm_constraint.png
new file mode 100644
index 00000000..6b9e6a5f
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/64/asm_constraint.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/64/asm_distance.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/64/asm_distance.png
new file mode 100644
index 00000000..6949d331
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/64/asm_distance.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/64/asm_mate.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/64/asm_mate.png
new file mode 100644
index 00000000..82c4a5ab
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/dark/png/64/asm_mate.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/16/asm_align.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/16/asm_align.png
new file mode 100644
index 00000000..4e05ea1a
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/16/asm_align.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/16/asm_constraint.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/16/asm_constraint.png
new file mode 100644
index 00000000..ecb87c3e
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/16/asm_constraint.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/16/asm_distance.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/16/asm_distance.png
new file mode 100644
index 00000000..afafa602
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/16/asm_distance.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/16/asm_mate.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/16/asm_mate.png
new file mode 100644
index 00000000..64908769
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/16/asm_mate.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/32/asm_align.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/32/asm_align.png
new file mode 100644
index 00000000..923d07ad
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/32/asm_align.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/32/asm_constraint.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/32/asm_constraint.png
new file mode 100644
index 00000000..bd6312e2
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/32/asm_constraint.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/32/asm_distance.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/32/asm_distance.png
new file mode 100644
index 00000000..6ede3de8
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/32/asm_distance.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/32/asm_mate.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/32/asm_mate.png
new file mode 100644
index 00000000..9b84dd94
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/32/asm_mate.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/48/asm_align.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/48/asm_align.png
new file mode 100644
index 00000000..e3e01e8a
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/48/asm_align.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/48/asm_constraint.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/48/asm_constraint.png
new file mode 100644
index 00000000..87478ccd
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/48/asm_constraint.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/48/asm_distance.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/48/asm_distance.png
new file mode 100644
index 00000000..2181ed20
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/48/asm_distance.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/48/asm_mate.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/48/asm_mate.png
new file mode 100644
index 00000000..8c6b25b9
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/48/asm_mate.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/64/asm_align.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/64/asm_align.png
new file mode 100644
index 00000000..f1526c57
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/64/asm_align.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/64/asm_constraint.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/64/asm_constraint.png
new file mode 100644
index 00000000..703dc958
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/64/asm_constraint.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/64/asm_distance.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/64/asm_distance.png
new file mode 100644
index 00000000..af44b263
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/64/asm_distance.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/64/asm_mate.png b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/64/asm_mate.png
new file mode 100644
index 00000000..86f31693
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_constraints/light/png/64/asm_mate.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/16/asm_explode.png b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/16/asm_explode.png
new file mode 100644
index 00000000..076f43ed
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/16/asm_explode.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/16/asm_unexplode.png b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/16/asm_unexplode.png
new file mode 100644
index 00000000..70dc9a81
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/16/asm_unexplode.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/32/asm_explode.png b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/32/asm_explode.png
new file mode 100644
index 00000000..1a7fee6d
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/32/asm_explode.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/32/asm_unexplode.png b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/32/asm_unexplode.png
new file mode 100644
index 00000000..7385209b
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/32/asm_unexplode.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/48/asm_explode.png b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/48/asm_explode.png
new file mode 100644
index 00000000..cf2acfe0
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/48/asm_explode.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/48/asm_unexplode.png b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/48/asm_unexplode.png
new file mode 100644
index 00000000..5f1a2e1d
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/48/asm_unexplode.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/64/asm_explode.png b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/64/asm_explode.png
new file mode 100644
index 00000000..4def9941
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/64/asm_explode.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/64/asm_unexplode.png b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/64/asm_unexplode.png
new file mode 100644
index 00000000..0a68a230
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/dark/png/64/asm_unexplode.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/16/asm_explode.png b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/16/asm_explode.png
new file mode 100644
index 00000000..2f549082
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/16/asm_explode.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/16/asm_unexplode.png b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/16/asm_unexplode.png
new file mode 100644
index 00000000..ef21682f
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/16/asm_unexplode.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/32/asm_explode.png b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/32/asm_explode.png
new file mode 100644
index 00000000..71e66664
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/32/asm_explode.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/32/asm_unexplode.png b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/32/asm_unexplode.png
new file mode 100644
index 00000000..6cd3f62b
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/32/asm_unexplode.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/48/asm_explode.png b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/48/asm_explode.png
new file mode 100644
index 00000000..e157f529
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/48/asm_explode.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/48/asm_unexplode.png b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/48/asm_unexplode.png
new file mode 100644
index 00000000..9fc34b12
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/48/asm_unexplode.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/64/asm_explode.png b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/64/asm_explode.png
new file mode 100644
index 00000000..273ac1fb
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/64/asm_explode.png differ
diff --git a/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/64/asm_unexplode.png b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/64/asm_unexplode.png
new file mode 100644
index 00000000..c53a852c
Binary files /dev/null and b/Designer/UIResource/Ribbon/assembly/grp_asm_explode/light/png/64/asm_unexplode.png differ
diff --git a/Designer/UIResource/Ribbon/common/analysis/dark/png/16/analysis_interference.png b/Designer/UIResource/Ribbon/common/analysis/dark/png/16/analysis_interference.png
new file mode 100644
index 00000000..b250c228
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/analysis/dark/png/16/analysis_interference.png differ
diff --git a/Designer/UIResource/Ribbon/common/analysis/dark/png/16/analysis_mass.png b/Designer/UIResource/Ribbon/common/analysis/dark/png/16/analysis_mass.png
new file mode 100644
index 00000000..445526c3
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/analysis/dark/png/16/analysis_mass.png differ
diff --git a/Designer/UIResource/Ribbon/common/analysis/dark/png/32/analysis_interference.png b/Designer/UIResource/Ribbon/common/analysis/dark/png/32/analysis_interference.png
new file mode 100644
index 00000000..a0fd6c68
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/analysis/dark/png/32/analysis_interference.png differ
diff --git a/Designer/UIResource/Ribbon/common/analysis/dark/png/32/analysis_mass.png b/Designer/UIResource/Ribbon/common/analysis/dark/png/32/analysis_mass.png
new file mode 100644
index 00000000..0067d12a
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/analysis/dark/png/32/analysis_mass.png differ
diff --git a/Designer/UIResource/Ribbon/common/analysis/dark/png/48/analysis_interference.png b/Designer/UIResource/Ribbon/common/analysis/dark/png/48/analysis_interference.png
new file mode 100644
index 00000000..b6ee3b22
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/analysis/dark/png/48/analysis_interference.png differ
diff --git a/Designer/UIResource/Ribbon/common/analysis/dark/png/48/analysis_mass.png b/Designer/UIResource/Ribbon/common/analysis/dark/png/48/analysis_mass.png
new file mode 100644
index 00000000..b5539268
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/analysis/dark/png/48/analysis_mass.png differ
diff --git a/Designer/UIResource/Ribbon/common/analysis/dark/png/64/analysis_interference.png b/Designer/UIResource/Ribbon/common/analysis/dark/png/64/analysis_interference.png
new file mode 100644
index 00000000..7501ddae
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/analysis/dark/png/64/analysis_interference.png differ
diff --git a/Designer/UIResource/Ribbon/common/analysis/dark/png/64/analysis_mass.png b/Designer/UIResource/Ribbon/common/analysis/dark/png/64/analysis_mass.png
new file mode 100644
index 00000000..0a9e1f07
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/analysis/dark/png/64/analysis_mass.png differ
diff --git a/Designer/UIResource/Ribbon/common/analysis/light/png/16/analysis_interference.png b/Designer/UIResource/Ribbon/common/analysis/light/png/16/analysis_interference.png
new file mode 100644
index 00000000..b250c228
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/analysis/light/png/16/analysis_interference.png differ
diff --git a/Designer/UIResource/Ribbon/common/analysis/light/png/16/analysis_mass.png b/Designer/UIResource/Ribbon/common/analysis/light/png/16/analysis_mass.png
new file mode 100644
index 00000000..445526c3
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/analysis/light/png/16/analysis_mass.png differ
diff --git a/Designer/UIResource/Ribbon/common/analysis/light/png/32/analysis_interference.png b/Designer/UIResource/Ribbon/common/analysis/light/png/32/analysis_interference.png
new file mode 100644
index 00000000..a0fd6c68
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/analysis/light/png/32/analysis_interference.png differ
diff --git a/Designer/UIResource/Ribbon/common/analysis/light/png/32/analysis_mass.png b/Designer/UIResource/Ribbon/common/analysis/light/png/32/analysis_mass.png
new file mode 100644
index 00000000..0067d12a
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/analysis/light/png/32/analysis_mass.png differ
diff --git a/Designer/UIResource/Ribbon/common/analysis/light/png/48/analysis_interference.png b/Designer/UIResource/Ribbon/common/analysis/light/png/48/analysis_interference.png
new file mode 100644
index 00000000..b6ee3b22
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/analysis/light/png/48/analysis_interference.png differ
diff --git a/Designer/UIResource/Ribbon/common/analysis/light/png/48/analysis_mass.png b/Designer/UIResource/Ribbon/common/analysis/light/png/48/analysis_mass.png
new file mode 100644
index 00000000..b5539268
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/analysis/light/png/48/analysis_mass.png differ
diff --git a/Designer/UIResource/Ribbon/common/analysis/light/png/64/analysis_interference.png b/Designer/UIResource/Ribbon/common/analysis/light/png/64/analysis_interference.png
new file mode 100644
index 00000000..7501ddae
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/analysis/light/png/64/analysis_interference.png differ
diff --git a/Designer/UIResource/Ribbon/common/analysis/light/png/64/analysis_mass.png b/Designer/UIResource/Ribbon/common/analysis/light/png/64/analysis_mass.png
new file mode 100644
index 00000000..0a9e1f07
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/analysis/light/png/64/analysis_mass.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/dark/png/16/app_assembly.png b/Designer/UIResource/Ribbon/common/app/dark/png/16/app_assembly.png
new file mode 100644
index 00000000..a0de0f3d
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/dark/png/16/app_assembly.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/dark/png/16/app_part_modeling.png b/Designer/UIResource/Ribbon/common/app/dark/png/16/app_part_modeling.png
new file mode 100644
index 00000000..5d7ec3d4
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/dark/png/16/app_part_modeling.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/dark/png/16/app_sheet_metal.png b/Designer/UIResource/Ribbon/common/app/dark/png/16/app_sheet_metal.png
new file mode 100644
index 00000000..d7ab3c29
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/dark/png/16/app_sheet_metal.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/dark/png/32/app_assembly.png b/Designer/UIResource/Ribbon/common/app/dark/png/32/app_assembly.png
new file mode 100644
index 00000000..20cadba6
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/dark/png/32/app_assembly.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/dark/png/32/app_part_modeling.png b/Designer/UIResource/Ribbon/common/app/dark/png/32/app_part_modeling.png
new file mode 100644
index 00000000..fea58294
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/dark/png/32/app_part_modeling.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/dark/png/32/app_sheet_metal.png b/Designer/UIResource/Ribbon/common/app/dark/png/32/app_sheet_metal.png
new file mode 100644
index 00000000..fef2ac22
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/dark/png/32/app_sheet_metal.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/dark/png/48/app_assembly.png b/Designer/UIResource/Ribbon/common/app/dark/png/48/app_assembly.png
new file mode 100644
index 00000000..521ab1c7
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/dark/png/48/app_assembly.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/dark/png/48/app_part_modeling.png b/Designer/UIResource/Ribbon/common/app/dark/png/48/app_part_modeling.png
new file mode 100644
index 00000000..d79b69bb
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/dark/png/48/app_part_modeling.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/dark/png/48/app_sheet_metal.png b/Designer/UIResource/Ribbon/common/app/dark/png/48/app_sheet_metal.png
new file mode 100644
index 00000000..4b3d1301
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/dark/png/48/app_sheet_metal.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/dark/png/64/app_assembly.png b/Designer/UIResource/Ribbon/common/app/dark/png/64/app_assembly.png
new file mode 100644
index 00000000..0629a579
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/dark/png/64/app_assembly.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/dark/png/64/app_part_modeling.png b/Designer/UIResource/Ribbon/common/app/dark/png/64/app_part_modeling.png
new file mode 100644
index 00000000..0cdc92bd
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/dark/png/64/app_part_modeling.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/dark/png/64/app_sheet_metal.png b/Designer/UIResource/Ribbon/common/app/dark/png/64/app_sheet_metal.png
new file mode 100644
index 00000000..7f0df205
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/dark/png/64/app_sheet_metal.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/light/png/16/app_assembly.png b/Designer/UIResource/Ribbon/common/app/light/png/16/app_assembly.png
new file mode 100644
index 00000000..a0de0f3d
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/light/png/16/app_assembly.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/light/png/16/app_part_modeling.png b/Designer/UIResource/Ribbon/common/app/light/png/16/app_part_modeling.png
new file mode 100644
index 00000000..5d7ec3d4
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/light/png/16/app_part_modeling.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/light/png/16/app_sheet_metal.png b/Designer/UIResource/Ribbon/common/app/light/png/16/app_sheet_metal.png
new file mode 100644
index 00000000..d7ab3c29
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/light/png/16/app_sheet_metal.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/light/png/32/app_assembly.png b/Designer/UIResource/Ribbon/common/app/light/png/32/app_assembly.png
new file mode 100644
index 00000000..20cadba6
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/light/png/32/app_assembly.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/light/png/32/app_part_modeling.png b/Designer/UIResource/Ribbon/common/app/light/png/32/app_part_modeling.png
new file mode 100644
index 00000000..fea58294
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/light/png/32/app_part_modeling.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/light/png/32/app_sheet_metal.png b/Designer/UIResource/Ribbon/common/app/light/png/32/app_sheet_metal.png
new file mode 100644
index 00000000..fef2ac22
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/light/png/32/app_sheet_metal.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/light/png/48/app_assembly.png b/Designer/UIResource/Ribbon/common/app/light/png/48/app_assembly.png
new file mode 100644
index 00000000..521ab1c7
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/light/png/48/app_assembly.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/light/png/48/app_part_modeling.png b/Designer/UIResource/Ribbon/common/app/light/png/48/app_part_modeling.png
new file mode 100644
index 00000000..d79b69bb
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/light/png/48/app_part_modeling.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/light/png/48/app_sheet_metal.png b/Designer/UIResource/Ribbon/common/app/light/png/48/app_sheet_metal.png
new file mode 100644
index 00000000..4b3d1301
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/light/png/48/app_sheet_metal.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/light/png/64/app_assembly.png b/Designer/UIResource/Ribbon/common/app/light/png/64/app_assembly.png
new file mode 100644
index 00000000..0629a579
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/light/png/64/app_assembly.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/light/png/64/app_part_modeling.png b/Designer/UIResource/Ribbon/common/app/light/png/64/app_part_modeling.png
new file mode 100644
index 00000000..0cdc92bd
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/light/png/64/app_part_modeling.png differ
diff --git a/Designer/UIResource/Ribbon/common/app/light/png/64/app_sheet_metal.png b/Designer/UIResource/Ribbon/common/app/light/png/64/app_sheet_metal.png
new file mode 100644
index 00000000..7f0df205
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/app/light/png/64/app_sheet_metal.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/16/display_hidden_line.png b/Designer/UIResource/Ribbon/common/display/dark/png/16/display_hidden_line.png
new file mode 100644
index 00000000..01d52561
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/16/display_hidden_line.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/16/display_hide.png b/Designer/UIResource/Ribbon/common/display/dark/png/16/display_hide.png
new file mode 100644
index 00000000..88f6062b
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/16/display_hide.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/16/display_isolate.png b/Designer/UIResource/Ribbon/common/display/dark/png/16/display_isolate.png
new file mode 100644
index 00000000..fee388a1
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/16/display_isolate.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/16/display_shaded.png b/Designer/UIResource/Ribbon/common/display/dark/png/16/display_shaded.png
new file mode 100644
index 00000000..5e8885d7
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/16/display_shaded.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/16/display_shaded_edges.png b/Designer/UIResource/Ribbon/common/display/dark/png/16/display_shaded_edges.png
new file mode 100644
index 00000000..c9a48768
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/16/display_shaded_edges.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/16/display_show.png b/Designer/UIResource/Ribbon/common/display/dark/png/16/display_show.png
new file mode 100644
index 00000000..acba9dc4
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/16/display_show.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/16/display_wireframe.png b/Designer/UIResource/Ribbon/common/display/dark/png/16/display_wireframe.png
new file mode 100644
index 00000000..9b53cd0e
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/16/display_wireframe.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/32/display_hidden_line.png b/Designer/UIResource/Ribbon/common/display/dark/png/32/display_hidden_line.png
new file mode 100644
index 00000000..e1bf0c80
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/32/display_hidden_line.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/32/display_hide.png b/Designer/UIResource/Ribbon/common/display/dark/png/32/display_hide.png
new file mode 100644
index 00000000..2a107f45
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/32/display_hide.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/32/display_isolate.png b/Designer/UIResource/Ribbon/common/display/dark/png/32/display_isolate.png
new file mode 100644
index 00000000..385bf7ac
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/32/display_isolate.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/32/display_shaded.png b/Designer/UIResource/Ribbon/common/display/dark/png/32/display_shaded.png
new file mode 100644
index 00000000..1d17300f
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/32/display_shaded.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/32/display_shaded_edges.png b/Designer/UIResource/Ribbon/common/display/dark/png/32/display_shaded_edges.png
new file mode 100644
index 00000000..54d16dae
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/32/display_shaded_edges.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/32/display_show.png b/Designer/UIResource/Ribbon/common/display/dark/png/32/display_show.png
new file mode 100644
index 00000000..66f3c16f
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/32/display_show.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/32/display_wireframe.png b/Designer/UIResource/Ribbon/common/display/dark/png/32/display_wireframe.png
new file mode 100644
index 00000000..f5ca80f8
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/32/display_wireframe.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/48/display_hidden_line.png b/Designer/UIResource/Ribbon/common/display/dark/png/48/display_hidden_line.png
new file mode 100644
index 00000000..a5aa9e83
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/48/display_hidden_line.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/48/display_hide.png b/Designer/UIResource/Ribbon/common/display/dark/png/48/display_hide.png
new file mode 100644
index 00000000..44cf6476
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/48/display_hide.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/48/display_isolate.png b/Designer/UIResource/Ribbon/common/display/dark/png/48/display_isolate.png
new file mode 100644
index 00000000..c745f808
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/48/display_isolate.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/48/display_shaded.png b/Designer/UIResource/Ribbon/common/display/dark/png/48/display_shaded.png
new file mode 100644
index 00000000..e746e812
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/48/display_shaded.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/48/display_shaded_edges.png b/Designer/UIResource/Ribbon/common/display/dark/png/48/display_shaded_edges.png
new file mode 100644
index 00000000..1e66c09a
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/48/display_shaded_edges.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/48/display_show.png b/Designer/UIResource/Ribbon/common/display/dark/png/48/display_show.png
new file mode 100644
index 00000000..6307ec39
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/48/display_show.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/48/display_wireframe.png b/Designer/UIResource/Ribbon/common/display/dark/png/48/display_wireframe.png
new file mode 100644
index 00000000..3be1b0eb
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/48/display_wireframe.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/64/display_hidden_line.png b/Designer/UIResource/Ribbon/common/display/dark/png/64/display_hidden_line.png
new file mode 100644
index 00000000..e19367c0
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/64/display_hidden_line.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/64/display_hide.png b/Designer/UIResource/Ribbon/common/display/dark/png/64/display_hide.png
new file mode 100644
index 00000000..79f38f48
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/64/display_hide.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/64/display_isolate.png b/Designer/UIResource/Ribbon/common/display/dark/png/64/display_isolate.png
new file mode 100644
index 00000000..738544cb
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/64/display_isolate.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/64/display_shaded.png b/Designer/UIResource/Ribbon/common/display/dark/png/64/display_shaded.png
new file mode 100644
index 00000000..4cecc1b2
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/64/display_shaded.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/64/display_shaded_edges.png b/Designer/UIResource/Ribbon/common/display/dark/png/64/display_shaded_edges.png
new file mode 100644
index 00000000..8d82d6ab
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/64/display_shaded_edges.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/64/display_show.png b/Designer/UIResource/Ribbon/common/display/dark/png/64/display_show.png
new file mode 100644
index 00000000..64fd3c4a
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/64/display_show.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/dark/png/64/display_wireframe.png b/Designer/UIResource/Ribbon/common/display/dark/png/64/display_wireframe.png
new file mode 100644
index 00000000..17eff000
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/dark/png/64/display_wireframe.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/16/display_hidden_line.png b/Designer/UIResource/Ribbon/common/display/light/png/16/display_hidden_line.png
new file mode 100644
index 00000000..01d52561
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/16/display_hidden_line.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/16/display_hide.png b/Designer/UIResource/Ribbon/common/display/light/png/16/display_hide.png
new file mode 100644
index 00000000..88f6062b
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/16/display_hide.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/16/display_isolate.png b/Designer/UIResource/Ribbon/common/display/light/png/16/display_isolate.png
new file mode 100644
index 00000000..fee388a1
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/16/display_isolate.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/16/display_shaded.png b/Designer/UIResource/Ribbon/common/display/light/png/16/display_shaded.png
new file mode 100644
index 00000000..5e8885d7
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/16/display_shaded.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/16/display_shaded_edges.png b/Designer/UIResource/Ribbon/common/display/light/png/16/display_shaded_edges.png
new file mode 100644
index 00000000..c9a48768
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/16/display_shaded_edges.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/16/display_show.png b/Designer/UIResource/Ribbon/common/display/light/png/16/display_show.png
new file mode 100644
index 00000000..acba9dc4
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/16/display_show.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/16/display_wireframe.png b/Designer/UIResource/Ribbon/common/display/light/png/16/display_wireframe.png
new file mode 100644
index 00000000..9b53cd0e
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/16/display_wireframe.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/32/display_hidden_line.png b/Designer/UIResource/Ribbon/common/display/light/png/32/display_hidden_line.png
new file mode 100644
index 00000000..e1bf0c80
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/32/display_hidden_line.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/32/display_hide.png b/Designer/UIResource/Ribbon/common/display/light/png/32/display_hide.png
new file mode 100644
index 00000000..2a107f45
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/32/display_hide.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/32/display_isolate.png b/Designer/UIResource/Ribbon/common/display/light/png/32/display_isolate.png
new file mode 100644
index 00000000..385bf7ac
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/32/display_isolate.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/32/display_shaded.png b/Designer/UIResource/Ribbon/common/display/light/png/32/display_shaded.png
new file mode 100644
index 00000000..1d17300f
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/32/display_shaded.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/32/display_shaded_edges.png b/Designer/UIResource/Ribbon/common/display/light/png/32/display_shaded_edges.png
new file mode 100644
index 00000000..54d16dae
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/32/display_shaded_edges.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/32/display_show.png b/Designer/UIResource/Ribbon/common/display/light/png/32/display_show.png
new file mode 100644
index 00000000..66f3c16f
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/32/display_show.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/32/display_wireframe.png b/Designer/UIResource/Ribbon/common/display/light/png/32/display_wireframe.png
new file mode 100644
index 00000000..f5ca80f8
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/32/display_wireframe.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/48/display_hidden_line.png b/Designer/UIResource/Ribbon/common/display/light/png/48/display_hidden_line.png
new file mode 100644
index 00000000..a5aa9e83
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/48/display_hidden_line.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/48/display_hide.png b/Designer/UIResource/Ribbon/common/display/light/png/48/display_hide.png
new file mode 100644
index 00000000..44cf6476
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/48/display_hide.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/48/display_isolate.png b/Designer/UIResource/Ribbon/common/display/light/png/48/display_isolate.png
new file mode 100644
index 00000000..c745f808
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/48/display_isolate.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/48/display_shaded.png b/Designer/UIResource/Ribbon/common/display/light/png/48/display_shaded.png
new file mode 100644
index 00000000..e746e812
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/48/display_shaded.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/48/display_shaded_edges.png b/Designer/UIResource/Ribbon/common/display/light/png/48/display_shaded_edges.png
new file mode 100644
index 00000000..1e66c09a
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/48/display_shaded_edges.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/48/display_show.png b/Designer/UIResource/Ribbon/common/display/light/png/48/display_show.png
new file mode 100644
index 00000000..6307ec39
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/48/display_show.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/48/display_wireframe.png b/Designer/UIResource/Ribbon/common/display/light/png/48/display_wireframe.png
new file mode 100644
index 00000000..3be1b0eb
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/48/display_wireframe.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/64/display_hidden_line.png b/Designer/UIResource/Ribbon/common/display/light/png/64/display_hidden_line.png
new file mode 100644
index 00000000..e19367c0
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/64/display_hidden_line.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/64/display_hide.png b/Designer/UIResource/Ribbon/common/display/light/png/64/display_hide.png
new file mode 100644
index 00000000..79f38f48
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/64/display_hide.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/64/display_isolate.png b/Designer/UIResource/Ribbon/common/display/light/png/64/display_isolate.png
new file mode 100644
index 00000000..738544cb
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/64/display_isolate.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/64/display_shaded.png b/Designer/UIResource/Ribbon/common/display/light/png/64/display_shaded.png
new file mode 100644
index 00000000..4cecc1b2
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/64/display_shaded.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/64/display_shaded_edges.png b/Designer/UIResource/Ribbon/common/display/light/png/64/display_shaded_edges.png
new file mode 100644
index 00000000..8d82d6ab
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/64/display_shaded_edges.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/64/display_show.png b/Designer/UIResource/Ribbon/common/display/light/png/64/display_show.png
new file mode 100644
index 00000000..64fd3c4a
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/64/display_show.png differ
diff --git a/Designer/UIResource/Ribbon/common/display/light/png/64/display_wireframe.png b/Designer/UIResource/Ribbon/common/display/light/png/64/display_wireframe.png
new file mode 100644
index 00000000..17eff000
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/display/light/png/64/display_wireframe.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/dark/png/16/gc_check_update.png b/Designer/UIResource/Ribbon/common/gc/dark/png/16/gc_check_update.png
new file mode 100644
index 00000000..ea8d51d9
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/dark/png/16/gc_check_update.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/dark/png/16/gc_settings.png b/Designer/UIResource/Ribbon/common/gc/dark/png/16/gc_settings.png
new file mode 100644
index 00000000..a4bf4b43
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/dark/png/16/gc_settings.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/dark/png/16/gc_std_part_library.png b/Designer/UIResource/Ribbon/common/gc/dark/png/16/gc_std_part_library.png
new file mode 100644
index 00000000..65bf6f2f
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/dark/png/16/gc_std_part_library.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/dark/png/32/gc_check_update.png b/Designer/UIResource/Ribbon/common/gc/dark/png/32/gc_check_update.png
new file mode 100644
index 00000000..583fffd2
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/dark/png/32/gc_check_update.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/dark/png/32/gc_settings.png b/Designer/UIResource/Ribbon/common/gc/dark/png/32/gc_settings.png
new file mode 100644
index 00000000..3c2f3fda
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/dark/png/32/gc_settings.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/dark/png/32/gc_std_part_library.png b/Designer/UIResource/Ribbon/common/gc/dark/png/32/gc_std_part_library.png
new file mode 100644
index 00000000..38e94d04
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/dark/png/32/gc_std_part_library.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/dark/png/48/gc_check_update.png b/Designer/UIResource/Ribbon/common/gc/dark/png/48/gc_check_update.png
new file mode 100644
index 00000000..c639d869
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/dark/png/48/gc_check_update.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/dark/png/48/gc_settings.png b/Designer/UIResource/Ribbon/common/gc/dark/png/48/gc_settings.png
new file mode 100644
index 00000000..c0e32078
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/dark/png/48/gc_settings.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/dark/png/48/gc_std_part_library.png b/Designer/UIResource/Ribbon/common/gc/dark/png/48/gc_std_part_library.png
new file mode 100644
index 00000000..f7fcfd59
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/dark/png/48/gc_std_part_library.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/dark/png/64/gc_check_update.png b/Designer/UIResource/Ribbon/common/gc/dark/png/64/gc_check_update.png
new file mode 100644
index 00000000..cd244c5e
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/dark/png/64/gc_check_update.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/dark/png/64/gc_settings.png b/Designer/UIResource/Ribbon/common/gc/dark/png/64/gc_settings.png
new file mode 100644
index 00000000..7f138323
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/dark/png/64/gc_settings.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/dark/png/64/gc_std_part_library.png b/Designer/UIResource/Ribbon/common/gc/dark/png/64/gc_std_part_library.png
new file mode 100644
index 00000000..426fdaf1
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/dark/png/64/gc_std_part_library.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/light/png/16/gc_check_update.png b/Designer/UIResource/Ribbon/common/gc/light/png/16/gc_check_update.png
new file mode 100644
index 00000000..ea8d51d9
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/light/png/16/gc_check_update.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/light/png/16/gc_settings.png b/Designer/UIResource/Ribbon/common/gc/light/png/16/gc_settings.png
new file mode 100644
index 00000000..a4bf4b43
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/light/png/16/gc_settings.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/light/png/16/gc_std_part_library.png b/Designer/UIResource/Ribbon/common/gc/light/png/16/gc_std_part_library.png
new file mode 100644
index 00000000..65bf6f2f
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/light/png/16/gc_std_part_library.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/light/png/32/gc_check_update.png b/Designer/UIResource/Ribbon/common/gc/light/png/32/gc_check_update.png
new file mode 100644
index 00000000..583fffd2
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/light/png/32/gc_check_update.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/light/png/32/gc_settings.png b/Designer/UIResource/Ribbon/common/gc/light/png/32/gc_settings.png
new file mode 100644
index 00000000..3c2f3fda
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/light/png/32/gc_settings.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/light/png/32/gc_std_part_library.png b/Designer/UIResource/Ribbon/common/gc/light/png/32/gc_std_part_library.png
new file mode 100644
index 00000000..38e94d04
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/light/png/32/gc_std_part_library.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/light/png/48/gc_check_update.png b/Designer/UIResource/Ribbon/common/gc/light/png/48/gc_check_update.png
new file mode 100644
index 00000000..c639d869
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/light/png/48/gc_check_update.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/light/png/48/gc_settings.png b/Designer/UIResource/Ribbon/common/gc/light/png/48/gc_settings.png
new file mode 100644
index 00000000..c0e32078
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/light/png/48/gc_settings.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/light/png/48/gc_std_part_library.png b/Designer/UIResource/Ribbon/common/gc/light/png/48/gc_std_part_library.png
new file mode 100644
index 00000000..f7fcfd59
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/light/png/48/gc_std_part_library.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/light/png/64/gc_check_update.png b/Designer/UIResource/Ribbon/common/gc/light/png/64/gc_check_update.png
new file mode 100644
index 00000000..cd244c5e
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/light/png/64/gc_check_update.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/light/png/64/gc_settings.png b/Designer/UIResource/Ribbon/common/gc/light/png/64/gc_settings.png
new file mode 100644
index 00000000..7f138323
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/light/png/64/gc_settings.png differ
diff --git a/Designer/UIResource/Ribbon/common/gc/light/png/64/gc_std_part_library.png b/Designer/UIResource/Ribbon/common/gc/light/png/64/gc_std_part_library.png
new file mode 100644
index 00000000..426fdaf1
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/gc/light/png/64/gc_std_part_library.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/dark/png/16/measure_angle.png b/Designer/UIResource/Ribbon/common/measure/dark/png/16/measure_angle.png
new file mode 100644
index 00000000..eec901be
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/dark/png/16/measure_angle.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/dark/png/16/measure_dialog.png b/Designer/UIResource/Ribbon/common/measure/dark/png/16/measure_dialog.png
new file mode 100644
index 00000000..5c6df9a1
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/dark/png/16/measure_dialog.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/dark/png/16/measure_distance.png b/Designer/UIResource/Ribbon/common/measure/dark/png/16/measure_distance.png
new file mode 100644
index 00000000..e3874b30
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/dark/png/16/measure_distance.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/dark/png/16/measure_mass_props.png b/Designer/UIResource/Ribbon/common/measure/dark/png/16/measure_mass_props.png
new file mode 100644
index 00000000..e197bc66
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/dark/png/16/measure_mass_props.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/dark/png/32/measure_angle.png b/Designer/UIResource/Ribbon/common/measure/dark/png/32/measure_angle.png
new file mode 100644
index 00000000..1ebbf922
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/dark/png/32/measure_angle.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/dark/png/32/measure_dialog.png b/Designer/UIResource/Ribbon/common/measure/dark/png/32/measure_dialog.png
new file mode 100644
index 00000000..24e33574
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/dark/png/32/measure_dialog.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/dark/png/32/measure_distance.png b/Designer/UIResource/Ribbon/common/measure/dark/png/32/measure_distance.png
new file mode 100644
index 00000000..88dfa8df
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/dark/png/32/measure_distance.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/dark/png/32/measure_mass_props.png b/Designer/UIResource/Ribbon/common/measure/dark/png/32/measure_mass_props.png
new file mode 100644
index 00000000..f57c6ef7
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/dark/png/32/measure_mass_props.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/dark/png/48/measure_angle.png b/Designer/UIResource/Ribbon/common/measure/dark/png/48/measure_angle.png
new file mode 100644
index 00000000..140d487d
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/dark/png/48/measure_angle.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/dark/png/48/measure_dialog.png b/Designer/UIResource/Ribbon/common/measure/dark/png/48/measure_dialog.png
new file mode 100644
index 00000000..b998d4f7
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/dark/png/48/measure_dialog.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/dark/png/48/measure_distance.png b/Designer/UIResource/Ribbon/common/measure/dark/png/48/measure_distance.png
new file mode 100644
index 00000000..54a2d6f7
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/dark/png/48/measure_distance.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/dark/png/48/measure_mass_props.png b/Designer/UIResource/Ribbon/common/measure/dark/png/48/measure_mass_props.png
new file mode 100644
index 00000000..b7e19cdc
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/dark/png/48/measure_mass_props.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/dark/png/64/measure_angle.png b/Designer/UIResource/Ribbon/common/measure/dark/png/64/measure_angle.png
new file mode 100644
index 00000000..25715b8a
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/dark/png/64/measure_angle.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/dark/png/64/measure_dialog.png b/Designer/UIResource/Ribbon/common/measure/dark/png/64/measure_dialog.png
new file mode 100644
index 00000000..95be0110
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/dark/png/64/measure_dialog.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/dark/png/64/measure_distance.png b/Designer/UIResource/Ribbon/common/measure/dark/png/64/measure_distance.png
new file mode 100644
index 00000000..3073716d
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/dark/png/64/measure_distance.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/dark/png/64/measure_mass_props.png b/Designer/UIResource/Ribbon/common/measure/dark/png/64/measure_mass_props.png
new file mode 100644
index 00000000..8ef7290d
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/dark/png/64/measure_mass_props.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/light/png/16/measure_angle.png b/Designer/UIResource/Ribbon/common/measure/light/png/16/measure_angle.png
new file mode 100644
index 00000000..eec901be
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/light/png/16/measure_angle.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/light/png/16/measure_dialog.png b/Designer/UIResource/Ribbon/common/measure/light/png/16/measure_dialog.png
new file mode 100644
index 00000000..5c6df9a1
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/light/png/16/measure_dialog.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/light/png/16/measure_distance.png b/Designer/UIResource/Ribbon/common/measure/light/png/16/measure_distance.png
new file mode 100644
index 00000000..e3874b30
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/light/png/16/measure_distance.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/light/png/16/measure_mass_props.png b/Designer/UIResource/Ribbon/common/measure/light/png/16/measure_mass_props.png
new file mode 100644
index 00000000..e197bc66
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/light/png/16/measure_mass_props.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/light/png/32/measure_angle.png b/Designer/UIResource/Ribbon/common/measure/light/png/32/measure_angle.png
new file mode 100644
index 00000000..1ebbf922
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/light/png/32/measure_angle.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/light/png/32/measure_dialog.png b/Designer/UIResource/Ribbon/common/measure/light/png/32/measure_dialog.png
new file mode 100644
index 00000000..24e33574
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/light/png/32/measure_dialog.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/light/png/32/measure_distance.png b/Designer/UIResource/Ribbon/common/measure/light/png/32/measure_distance.png
new file mode 100644
index 00000000..88dfa8df
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/light/png/32/measure_distance.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/light/png/32/measure_mass_props.png b/Designer/UIResource/Ribbon/common/measure/light/png/32/measure_mass_props.png
new file mode 100644
index 00000000..f57c6ef7
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/light/png/32/measure_mass_props.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/light/png/48/measure_angle.png b/Designer/UIResource/Ribbon/common/measure/light/png/48/measure_angle.png
new file mode 100644
index 00000000..140d487d
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/light/png/48/measure_angle.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/light/png/48/measure_dialog.png b/Designer/UIResource/Ribbon/common/measure/light/png/48/measure_dialog.png
new file mode 100644
index 00000000..b998d4f7
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/light/png/48/measure_dialog.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/light/png/48/measure_distance.png b/Designer/UIResource/Ribbon/common/measure/light/png/48/measure_distance.png
new file mode 100644
index 00000000..54a2d6f7
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/light/png/48/measure_distance.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/light/png/48/measure_mass_props.png b/Designer/UIResource/Ribbon/common/measure/light/png/48/measure_mass_props.png
new file mode 100644
index 00000000..b7e19cdc
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/light/png/48/measure_mass_props.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/light/png/64/measure_angle.png b/Designer/UIResource/Ribbon/common/measure/light/png/64/measure_angle.png
new file mode 100644
index 00000000..25715b8a
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/light/png/64/measure_angle.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/light/png/64/measure_dialog.png b/Designer/UIResource/Ribbon/common/measure/light/png/64/measure_dialog.png
new file mode 100644
index 00000000..95be0110
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/light/png/64/measure_dialog.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/light/png/64/measure_distance.png b/Designer/UIResource/Ribbon/common/measure/light/png/64/measure_distance.png
new file mode 100644
index 00000000..3073716d
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/light/png/64/measure_distance.png differ
diff --git a/Designer/UIResource/Ribbon/common/measure/light/png/64/measure_mass_props.png b/Designer/UIResource/Ribbon/common/measure/light/png/64/measure_mass_props.png
new file mode 100644
index 00000000..8ef7290d
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/measure/light/png/64/measure_mass_props.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/dark/png/16/select_filter.png b/Designer/UIResource/Ribbon/common/select/dark/png/16/select_filter.png
new file mode 100644
index 00000000..426f59ae
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/dark/png/16/select_filter.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/dark/png/16/select_lasso.png b/Designer/UIResource/Ribbon/common/select/dark/png/16/select_lasso.png
new file mode 100644
index 00000000..90e3ca39
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/dark/png/16/select_lasso.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/dark/png/16/select_rectangle.png b/Designer/UIResource/Ribbon/common/select/dark/png/16/select_rectangle.png
new file mode 100644
index 00000000..28e6296b
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/dark/png/16/select_rectangle.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/dark/png/16/select_single.png b/Designer/UIResource/Ribbon/common/select/dark/png/16/select_single.png
new file mode 100644
index 00000000..6f65dc89
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/dark/png/16/select_single.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/dark/png/32/select_filter.png b/Designer/UIResource/Ribbon/common/select/dark/png/32/select_filter.png
new file mode 100644
index 00000000..30c79cfd
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/dark/png/32/select_filter.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/dark/png/32/select_lasso.png b/Designer/UIResource/Ribbon/common/select/dark/png/32/select_lasso.png
new file mode 100644
index 00000000..c1fc73a4
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/dark/png/32/select_lasso.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/dark/png/32/select_rectangle.png b/Designer/UIResource/Ribbon/common/select/dark/png/32/select_rectangle.png
new file mode 100644
index 00000000..e63a88c8
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/dark/png/32/select_rectangle.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/dark/png/32/select_single.png b/Designer/UIResource/Ribbon/common/select/dark/png/32/select_single.png
new file mode 100644
index 00000000..7952b97e
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/dark/png/32/select_single.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/dark/png/48/select_filter.png b/Designer/UIResource/Ribbon/common/select/dark/png/48/select_filter.png
new file mode 100644
index 00000000..aca749bd
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/dark/png/48/select_filter.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/dark/png/48/select_lasso.png b/Designer/UIResource/Ribbon/common/select/dark/png/48/select_lasso.png
new file mode 100644
index 00000000..533d9428
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/dark/png/48/select_lasso.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/dark/png/48/select_rectangle.png b/Designer/UIResource/Ribbon/common/select/dark/png/48/select_rectangle.png
new file mode 100644
index 00000000..3509b5e5
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/dark/png/48/select_rectangle.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/dark/png/48/select_single.png b/Designer/UIResource/Ribbon/common/select/dark/png/48/select_single.png
new file mode 100644
index 00000000..b3cb1cd2
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/dark/png/48/select_single.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/dark/png/64/select_filter.png b/Designer/UIResource/Ribbon/common/select/dark/png/64/select_filter.png
new file mode 100644
index 00000000..ee6421a0
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/dark/png/64/select_filter.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/dark/png/64/select_lasso.png b/Designer/UIResource/Ribbon/common/select/dark/png/64/select_lasso.png
new file mode 100644
index 00000000..1163bc1f
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/dark/png/64/select_lasso.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/dark/png/64/select_rectangle.png b/Designer/UIResource/Ribbon/common/select/dark/png/64/select_rectangle.png
new file mode 100644
index 00000000..7b5d5247
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/dark/png/64/select_rectangle.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/dark/png/64/select_single.png b/Designer/UIResource/Ribbon/common/select/dark/png/64/select_single.png
new file mode 100644
index 00000000..f0ac98bd
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/dark/png/64/select_single.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/light/png/16/select_filter.png b/Designer/UIResource/Ribbon/common/select/light/png/16/select_filter.png
new file mode 100644
index 00000000..426f59ae
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/light/png/16/select_filter.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/light/png/16/select_lasso.png b/Designer/UIResource/Ribbon/common/select/light/png/16/select_lasso.png
new file mode 100644
index 00000000..90e3ca39
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/light/png/16/select_lasso.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/light/png/16/select_rectangle.png b/Designer/UIResource/Ribbon/common/select/light/png/16/select_rectangle.png
new file mode 100644
index 00000000..28e6296b
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/light/png/16/select_rectangle.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/light/png/16/select_single.png b/Designer/UIResource/Ribbon/common/select/light/png/16/select_single.png
new file mode 100644
index 00000000..6f65dc89
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/light/png/16/select_single.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/light/png/32/select_filter.png b/Designer/UIResource/Ribbon/common/select/light/png/32/select_filter.png
new file mode 100644
index 00000000..30c79cfd
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/light/png/32/select_filter.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/light/png/32/select_lasso.png b/Designer/UIResource/Ribbon/common/select/light/png/32/select_lasso.png
new file mode 100644
index 00000000..c1fc73a4
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/light/png/32/select_lasso.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/light/png/32/select_rectangle.png b/Designer/UIResource/Ribbon/common/select/light/png/32/select_rectangle.png
new file mode 100644
index 00000000..e63a88c8
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/light/png/32/select_rectangle.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/light/png/32/select_single.png b/Designer/UIResource/Ribbon/common/select/light/png/32/select_single.png
new file mode 100644
index 00000000..7952b97e
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/light/png/32/select_single.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/light/png/48/select_filter.png b/Designer/UIResource/Ribbon/common/select/light/png/48/select_filter.png
new file mode 100644
index 00000000..aca749bd
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/light/png/48/select_filter.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/light/png/48/select_lasso.png b/Designer/UIResource/Ribbon/common/select/light/png/48/select_lasso.png
new file mode 100644
index 00000000..533d9428
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/light/png/48/select_lasso.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/light/png/48/select_rectangle.png b/Designer/UIResource/Ribbon/common/select/light/png/48/select_rectangle.png
new file mode 100644
index 00000000..3509b5e5
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/light/png/48/select_rectangle.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/light/png/48/select_single.png b/Designer/UIResource/Ribbon/common/select/light/png/48/select_single.png
new file mode 100644
index 00000000..b3cb1cd2
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/light/png/48/select_single.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/light/png/64/select_filter.png b/Designer/UIResource/Ribbon/common/select/light/png/64/select_filter.png
new file mode 100644
index 00000000..ee6421a0
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/light/png/64/select_filter.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/light/png/64/select_lasso.png b/Designer/UIResource/Ribbon/common/select/light/png/64/select_lasso.png
new file mode 100644
index 00000000..1163bc1f
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/light/png/64/select_lasso.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/light/png/64/select_rectangle.png b/Designer/UIResource/Ribbon/common/select/light/png/64/select_rectangle.png
new file mode 100644
index 00000000..7b5d5247
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/light/png/64/select_rectangle.png differ
diff --git a/Designer/UIResource/Ribbon/common/select/light/png/64/select_single.png b/Designer/UIResource/Ribbon/common/select/light/png/64/select_single.png
new file mode 100644
index 00000000..f0ac98bd
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/select/light/png/64/select_single.png differ
diff --git a/Designer/UIResource/Ribbon/common/tools/dark/png/16/tools_expressions.png b/Designer/UIResource/Ribbon/common/tools/dark/png/16/tools_expressions.png
new file mode 100644
index 00000000..8afaca43
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/tools/dark/png/16/tools_expressions.png differ
diff --git a/Designer/UIResource/Ribbon/common/tools/dark/png/16/tools_python_console.png b/Designer/UIResource/Ribbon/common/tools/dark/png/16/tools_python_console.png
new file mode 100644
index 00000000..3b19e049
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/tools/dark/png/16/tools_python_console.png differ
diff --git a/Designer/UIResource/Ribbon/common/tools/dark/png/32/tools_expressions.png b/Designer/UIResource/Ribbon/common/tools/dark/png/32/tools_expressions.png
new file mode 100644
index 00000000..fd9e1733
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/tools/dark/png/32/tools_expressions.png differ
diff --git a/Designer/UIResource/Ribbon/common/tools/dark/png/32/tools_python_console.png b/Designer/UIResource/Ribbon/common/tools/dark/png/32/tools_python_console.png
new file mode 100644
index 00000000..6dce977a
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/tools/dark/png/32/tools_python_console.png differ
diff --git a/Designer/UIResource/Ribbon/common/tools/dark/png/48/tools_expressions.png b/Designer/UIResource/Ribbon/common/tools/dark/png/48/tools_expressions.png
new file mode 100644
index 00000000..f448f89a
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/tools/dark/png/48/tools_expressions.png differ
diff --git a/Designer/UIResource/Ribbon/common/tools/dark/png/48/tools_python_console.png b/Designer/UIResource/Ribbon/common/tools/dark/png/48/tools_python_console.png
new file mode 100644
index 00000000..e5a36309
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/tools/dark/png/48/tools_python_console.png differ
diff --git a/Designer/UIResource/Ribbon/common/tools/dark/png/64/tools_expressions.png b/Designer/UIResource/Ribbon/common/tools/dark/png/64/tools_expressions.png
new file mode 100644
index 00000000..37e4b8fc
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/tools/dark/png/64/tools_expressions.png differ
diff --git a/Designer/UIResource/Ribbon/common/tools/dark/png/64/tools_python_console.png b/Designer/UIResource/Ribbon/common/tools/dark/png/64/tools_python_console.png
new file mode 100644
index 00000000..bf53d7ff
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/tools/dark/png/64/tools_python_console.png differ
diff --git a/Designer/UIResource/Ribbon/common/tools/light/png/16/tools_expressions.png b/Designer/UIResource/Ribbon/common/tools/light/png/16/tools_expressions.png
new file mode 100644
index 00000000..8afaca43
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/tools/light/png/16/tools_expressions.png differ
diff --git a/Designer/UIResource/Ribbon/common/tools/light/png/16/tools_python_console.png b/Designer/UIResource/Ribbon/common/tools/light/png/16/tools_python_console.png
new file mode 100644
index 00000000..3b19e049
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/tools/light/png/16/tools_python_console.png differ
diff --git a/Designer/UIResource/Ribbon/common/tools/light/png/32/tools_expressions.png b/Designer/UIResource/Ribbon/common/tools/light/png/32/tools_expressions.png
new file mode 100644
index 00000000..fd9e1733
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/tools/light/png/32/tools_expressions.png differ
diff --git a/Designer/UIResource/Ribbon/common/tools/light/png/32/tools_python_console.png b/Designer/UIResource/Ribbon/common/tools/light/png/32/tools_python_console.png
new file mode 100644
index 00000000..6dce977a
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/tools/light/png/32/tools_python_console.png differ
diff --git a/Designer/UIResource/Ribbon/common/tools/light/png/48/tools_expressions.png b/Designer/UIResource/Ribbon/common/tools/light/png/48/tools_expressions.png
new file mode 100644
index 00000000..f448f89a
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/tools/light/png/48/tools_expressions.png differ
diff --git a/Designer/UIResource/Ribbon/common/tools/light/png/48/tools_python_console.png b/Designer/UIResource/Ribbon/common/tools/light/png/48/tools_python_console.png
new file mode 100644
index 00000000..e5a36309
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/tools/light/png/48/tools_python_console.png differ
diff --git a/Designer/UIResource/Ribbon/common/tools/light/png/64/tools_expressions.png b/Designer/UIResource/Ribbon/common/tools/light/png/64/tools_expressions.png
new file mode 100644
index 00000000..37e4b8fc
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/tools/light/png/64/tools_expressions.png differ
diff --git a/Designer/UIResource/Ribbon/common/tools/light/png/64/tools_python_console.png b/Designer/UIResource/Ribbon/common/tools/light/png/64/tools_python_console.png
new file mode 100644
index 00000000..bf53d7ff
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/tools/light/png/64/tools_python_console.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/16/view_clipping_plane.png b/Designer/UIResource/Ribbon/common/view/dark/png/16/view_clipping_plane.png
new file mode 100644
index 00000000..f71b6574
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/16/view_clipping_plane.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/16/view_dynamic_section.png b/Designer/UIResource/Ribbon/common/view/dark/png/16/view_dynamic_section.png
new file mode 100644
index 00000000..f024538c
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/16/view_dynamic_section.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/16/view_front.png b/Designer/UIResource/Ribbon/common/view/dark/png/16/view_front.png
new file mode 100644
index 00000000..a01fbb66
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/16/view_front.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/16/view_right.png b/Designer/UIResource/Ribbon/common/view/dark/png/16/view_right.png
new file mode 100644
index 00000000..6a8b56f8
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/16/view_right.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/16/view_top.png b/Designer/UIResource/Ribbon/common/view/dark/png/16/view_top.png
new file mode 100644
index 00000000..06aaef9c
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/16/view_top.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/16/view_trimetic.png b/Designer/UIResource/Ribbon/common/view/dark/png/16/view_trimetic.png
new file mode 100644
index 00000000..788e4862
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/16/view_trimetic.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/32/view_clipping_plane.png b/Designer/UIResource/Ribbon/common/view/dark/png/32/view_clipping_plane.png
new file mode 100644
index 00000000..02c591ca
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/32/view_clipping_plane.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/32/view_dynamic_section.png b/Designer/UIResource/Ribbon/common/view/dark/png/32/view_dynamic_section.png
new file mode 100644
index 00000000..9bc02ebd
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/32/view_dynamic_section.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/32/view_front.png b/Designer/UIResource/Ribbon/common/view/dark/png/32/view_front.png
new file mode 100644
index 00000000..c973a15b
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/32/view_front.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/32/view_right.png b/Designer/UIResource/Ribbon/common/view/dark/png/32/view_right.png
new file mode 100644
index 00000000..605f03ea
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/32/view_right.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/32/view_top.png b/Designer/UIResource/Ribbon/common/view/dark/png/32/view_top.png
new file mode 100644
index 00000000..02db3770
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/32/view_top.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/32/view_trimetic.png b/Designer/UIResource/Ribbon/common/view/dark/png/32/view_trimetic.png
new file mode 100644
index 00000000..0d722ff2
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/32/view_trimetic.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/48/view_clipping_plane.png b/Designer/UIResource/Ribbon/common/view/dark/png/48/view_clipping_plane.png
new file mode 100644
index 00000000..592f13f8
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/48/view_clipping_plane.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/48/view_dynamic_section.png b/Designer/UIResource/Ribbon/common/view/dark/png/48/view_dynamic_section.png
new file mode 100644
index 00000000..c38945ee
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/48/view_dynamic_section.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/48/view_front.png b/Designer/UIResource/Ribbon/common/view/dark/png/48/view_front.png
new file mode 100644
index 00000000..8d67a8c7
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/48/view_front.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/48/view_right.png b/Designer/UIResource/Ribbon/common/view/dark/png/48/view_right.png
new file mode 100644
index 00000000..d2c7aeeb
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/48/view_right.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/48/view_top.png b/Designer/UIResource/Ribbon/common/view/dark/png/48/view_top.png
new file mode 100644
index 00000000..30ada94e
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/48/view_top.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/48/view_trimetic.png b/Designer/UIResource/Ribbon/common/view/dark/png/48/view_trimetic.png
new file mode 100644
index 00000000..8dd15008
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/48/view_trimetic.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/64/view_clipping_plane.png b/Designer/UIResource/Ribbon/common/view/dark/png/64/view_clipping_plane.png
new file mode 100644
index 00000000..ee3fcc3d
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/64/view_clipping_plane.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/64/view_dynamic_section.png b/Designer/UIResource/Ribbon/common/view/dark/png/64/view_dynamic_section.png
new file mode 100644
index 00000000..092a5ad7
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/64/view_dynamic_section.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/64/view_front.png b/Designer/UIResource/Ribbon/common/view/dark/png/64/view_front.png
new file mode 100644
index 00000000..b1b5212d
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/64/view_front.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/64/view_right.png b/Designer/UIResource/Ribbon/common/view/dark/png/64/view_right.png
new file mode 100644
index 00000000..598347e0
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/64/view_right.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/64/view_top.png b/Designer/UIResource/Ribbon/common/view/dark/png/64/view_top.png
new file mode 100644
index 00000000..c9835372
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/64/view_top.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/dark/png/64/view_trimetic.png b/Designer/UIResource/Ribbon/common/view/dark/png/64/view_trimetic.png
new file mode 100644
index 00000000..1b60c899
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/dark/png/64/view_trimetic.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/16/view_clipping_plane.png b/Designer/UIResource/Ribbon/common/view/light/png/16/view_clipping_plane.png
new file mode 100644
index 00000000..f71b6574
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/16/view_clipping_plane.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/16/view_dynamic_section.png b/Designer/UIResource/Ribbon/common/view/light/png/16/view_dynamic_section.png
new file mode 100644
index 00000000..f024538c
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/16/view_dynamic_section.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/16/view_front.png b/Designer/UIResource/Ribbon/common/view/light/png/16/view_front.png
new file mode 100644
index 00000000..a01fbb66
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/16/view_front.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/16/view_right.png b/Designer/UIResource/Ribbon/common/view/light/png/16/view_right.png
new file mode 100644
index 00000000..6a8b56f8
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/16/view_right.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/16/view_top.png b/Designer/UIResource/Ribbon/common/view/light/png/16/view_top.png
new file mode 100644
index 00000000..06aaef9c
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/16/view_top.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/16/view_trimetic.png b/Designer/UIResource/Ribbon/common/view/light/png/16/view_trimetic.png
new file mode 100644
index 00000000..788e4862
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/16/view_trimetic.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/32/view_clipping_plane.png b/Designer/UIResource/Ribbon/common/view/light/png/32/view_clipping_plane.png
new file mode 100644
index 00000000..02c591ca
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/32/view_clipping_plane.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/32/view_dynamic_section.png b/Designer/UIResource/Ribbon/common/view/light/png/32/view_dynamic_section.png
new file mode 100644
index 00000000..9bc02ebd
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/32/view_dynamic_section.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/32/view_front.png b/Designer/UIResource/Ribbon/common/view/light/png/32/view_front.png
new file mode 100644
index 00000000..c973a15b
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/32/view_front.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/32/view_right.png b/Designer/UIResource/Ribbon/common/view/light/png/32/view_right.png
new file mode 100644
index 00000000..605f03ea
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/32/view_right.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/32/view_top.png b/Designer/UIResource/Ribbon/common/view/light/png/32/view_top.png
new file mode 100644
index 00000000..02db3770
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/32/view_top.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/32/view_trimetic.png b/Designer/UIResource/Ribbon/common/view/light/png/32/view_trimetic.png
new file mode 100644
index 00000000..0d722ff2
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/32/view_trimetic.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/48/view_clipping_plane.png b/Designer/UIResource/Ribbon/common/view/light/png/48/view_clipping_plane.png
new file mode 100644
index 00000000..592f13f8
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/48/view_clipping_plane.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/48/view_dynamic_section.png b/Designer/UIResource/Ribbon/common/view/light/png/48/view_dynamic_section.png
new file mode 100644
index 00000000..c38945ee
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/48/view_dynamic_section.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/48/view_front.png b/Designer/UIResource/Ribbon/common/view/light/png/48/view_front.png
new file mode 100644
index 00000000..8d67a8c7
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/48/view_front.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/48/view_right.png b/Designer/UIResource/Ribbon/common/view/light/png/48/view_right.png
new file mode 100644
index 00000000..d2c7aeeb
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/48/view_right.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/48/view_top.png b/Designer/UIResource/Ribbon/common/view/light/png/48/view_top.png
new file mode 100644
index 00000000..30ada94e
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/48/view_top.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/48/view_trimetic.png b/Designer/UIResource/Ribbon/common/view/light/png/48/view_trimetic.png
new file mode 100644
index 00000000..8dd15008
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/48/view_trimetic.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/64/view_clipping_plane.png b/Designer/UIResource/Ribbon/common/view/light/png/64/view_clipping_plane.png
new file mode 100644
index 00000000..ee3fcc3d
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/64/view_clipping_plane.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/64/view_dynamic_section.png b/Designer/UIResource/Ribbon/common/view/light/png/64/view_dynamic_section.png
new file mode 100644
index 00000000..092a5ad7
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/64/view_dynamic_section.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/64/view_front.png b/Designer/UIResource/Ribbon/common/view/light/png/64/view_front.png
new file mode 100644
index 00000000..b1b5212d
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/64/view_front.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/64/view_right.png b/Designer/UIResource/Ribbon/common/view/light/png/64/view_right.png
new file mode 100644
index 00000000..598347e0
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/64/view_right.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/64/view_top.png b/Designer/UIResource/Ribbon/common/view/light/png/64/view_top.png
new file mode 100644
index 00000000..c9835372
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/64/view_top.png differ
diff --git a/Designer/UIResource/Ribbon/common/view/light/png/64/view_trimetic.png b/Designer/UIResource/Ribbon/common/view/light/png/64/view_trimetic.png
new file mode 100644
index 00000000..1b60c899
Binary files /dev/null and b/Designer/UIResource/Ribbon/common/view/light/png/64/view_trimetic.png differ
diff --git a/Designer/UIResource/Ribbon/ribbon.qrc b/Designer/UIResource/Ribbon/ribbon.qrc
index b384d469..788d63de 100644
--- a/Designer/UIResource/Ribbon/ribbon.qrc
+++ b/Designer/UIResource/Ribbon/ribbon.qrc
@@ -1612,7 +1612,334 @@
sketch/sketching/dark/png/48/sketch_studio_spline.png
sketch/sketching/dark/png/64/sketch_studio_spline.png
+ assembly/grp_asm_components/light/png/16/asm_add_component.png
+ assembly/grp_asm_components/dark/png/16/asm_add_component.png
+ assembly/grp_asm_components/light/png/32/asm_add_component.png
+ assembly/grp_asm_components/dark/png/32/asm_add_component.png
+ assembly/grp_asm_components/light/png/48/asm_add_component.png
+ assembly/grp_asm_components/dark/png/48/asm_add_component.png
+ assembly/grp_asm_components/light/png/64/asm_add_component.png
+ assembly/grp_asm_components/dark/png/64/asm_add_component.png
+ assembly/grp_asm_components/light/png/16/asm_new_component.png
+ assembly/grp_asm_components/dark/png/16/asm_new_component.png
+ assembly/grp_asm_components/light/png/32/asm_new_component.png
+ assembly/grp_asm_components/dark/png/32/asm_new_component.png
+ assembly/grp_asm_components/light/png/48/asm_new_component.png
+ assembly/grp_asm_components/dark/png/48/asm_new_component.png
+ assembly/grp_asm_components/light/png/64/asm_new_component.png
+ assembly/grp_asm_components/dark/png/64/asm_new_component.png
+ assembly/grp_asm_components/light/png/16/asm_replace_component.png
+ assembly/grp_asm_components/dark/png/16/asm_replace_component.png
+ assembly/grp_asm_components/light/png/32/asm_replace_component.png
+ assembly/grp_asm_components/dark/png/32/asm_replace_component.png
+ assembly/grp_asm_components/light/png/48/asm_replace_component.png
+ assembly/grp_asm_components/dark/png/48/asm_replace_component.png
+ assembly/grp_asm_components/light/png/64/asm_replace_component.png
+ assembly/grp_asm_components/dark/png/64/asm_replace_component.png
+ assembly/grp_asm_components/light/png/16/asm_arrange.png
+ assembly/grp_asm_components/dark/png/16/asm_arrange.png
+ assembly/grp_asm_components/light/png/32/asm_arrange.png
+ assembly/grp_asm_components/dark/png/32/asm_arrange.png
+ assembly/grp_asm_components/light/png/48/asm_arrange.png
+ assembly/grp_asm_components/dark/png/48/asm_arrange.png
+ assembly/grp_asm_components/light/png/64/asm_arrange.png
+ assembly/grp_asm_components/dark/png/64/asm_arrange.png
+ assembly/grp_asm_constraints/light/png/16/asm_align.png
+ assembly/grp_asm_constraints/dark/png/16/asm_align.png
+ assembly/grp_asm_constraints/light/png/32/asm_align.png
+ assembly/grp_asm_constraints/dark/png/32/asm_align.png
+ assembly/grp_asm_constraints/light/png/48/asm_align.png
+ assembly/grp_asm_constraints/dark/png/48/asm_align.png
+ assembly/grp_asm_constraints/light/png/64/asm_align.png
+ assembly/grp_asm_constraints/dark/png/64/asm_align.png
+ assembly/grp_asm_constraints/light/png/16/asm_constraint.png
+ assembly/grp_asm_constraints/dark/png/16/asm_constraint.png
+ assembly/grp_asm_constraints/light/png/32/asm_constraint.png
+ assembly/grp_asm_constraints/dark/png/32/asm_constraint.png
+ assembly/grp_asm_constraints/light/png/48/asm_constraint.png
+ assembly/grp_asm_constraints/dark/png/48/asm_constraint.png
+ assembly/grp_asm_constraints/light/png/64/asm_constraint.png
+ assembly/grp_asm_constraints/dark/png/64/asm_constraint.png
+ assembly/grp_asm_constraints/light/png/16/asm_mate.png
+ assembly/grp_asm_constraints/dark/png/16/asm_mate.png
+ assembly/grp_asm_constraints/light/png/32/asm_mate.png
+ assembly/grp_asm_constraints/dark/png/32/asm_mate.png
+ assembly/grp_asm_constraints/light/png/48/asm_mate.png
+ assembly/grp_asm_constraints/dark/png/48/asm_mate.png
+ assembly/grp_asm_constraints/light/png/64/asm_mate.png
+ assembly/grp_asm_constraints/dark/png/64/asm_mate.png
+ assembly/grp_asm_constraints/light/png/16/asm_distance.png
+ assembly/grp_asm_constraints/dark/png/16/asm_distance.png
+ assembly/grp_asm_constraints/light/png/32/asm_distance.png
+ assembly/grp_asm_constraints/dark/png/32/asm_distance.png
+ assembly/grp_asm_constraints/light/png/48/asm_distance.png
+ assembly/grp_asm_constraints/dark/png/48/asm_distance.png
+ assembly/grp_asm_constraints/light/png/64/asm_distance.png
+ assembly/grp_asm_constraints/dark/png/64/asm_distance.png
+ assembly/grp_asm_explode/light/png/16/asm_explode.png
+ assembly/grp_asm_explode/dark/png/16/asm_explode.png
+ assembly/grp_asm_explode/light/png/32/asm_explode.png
+ assembly/grp_asm_explode/dark/png/32/asm_explode.png
+ assembly/grp_asm_explode/light/png/48/asm_explode.png
+ assembly/grp_asm_explode/dark/png/48/asm_explode.png
+ assembly/grp_asm_explode/light/png/64/asm_explode.png
+ assembly/grp_asm_explode/dark/png/64/asm_explode.png
+ assembly/grp_asm_explode/light/png/16/asm_unexplode.png
+ assembly/grp_asm_explode/dark/png/16/asm_unexplode.png
+ assembly/grp_asm_explode/light/png/32/asm_unexplode.png
+ assembly/grp_asm_explode/dark/png/32/asm_unexplode.png
+ assembly/grp_asm_explode/light/png/48/asm_unexplode.png
+ assembly/grp_asm_explode/dark/png/48/asm_unexplode.png
+ assembly/grp_asm_explode/light/png/64/asm_unexplode.png
+ assembly/grp_asm_explode/dark/png/64/asm_unexplode.png
-
+ common/analysis/dark/png/16/analysis_interference.png
+ common/analysis/dark/png/16/analysis_mass.png
+ common/analysis/dark/png/32/analysis_interference.png
+ common/analysis/dark/png/32/analysis_mass.png
+ common/analysis/dark/png/48/analysis_interference.png
+ common/analysis/dark/png/48/analysis_mass.png
+ common/analysis/dark/png/64/analysis_interference.png
+ common/analysis/dark/png/64/analysis_mass.png
+ common/analysis/light/png/16/analysis_interference.png
+ common/analysis/light/png/16/analysis_mass.png
+ common/analysis/light/png/32/analysis_interference.png
+ common/analysis/light/png/32/analysis_mass.png
+ common/analysis/light/png/48/analysis_interference.png
+ common/analysis/light/png/48/analysis_mass.png
+ common/analysis/light/png/64/analysis_interference.png
+ common/analysis/light/png/64/analysis_mass.png
+ common/app/dark/png/16/app_assembly.png
+ common/app/dark/png/16/app_part_modeling.png
+ common/app/dark/png/16/app_sheet_metal.png
+ common/app/dark/png/32/app_assembly.png
+ common/app/dark/png/32/app_part_modeling.png
+ common/app/dark/png/32/app_sheet_metal.png
+ common/app/dark/png/48/app_assembly.png
+ common/app/dark/png/48/app_part_modeling.png
+ common/app/dark/png/48/app_sheet_metal.png
+ common/app/dark/png/64/app_assembly.png
+ common/app/dark/png/64/app_part_modeling.png
+ common/app/dark/png/64/app_sheet_metal.png
+ common/app/light/png/16/app_assembly.png
+ common/app/light/png/16/app_part_modeling.png
+ common/app/light/png/16/app_sheet_metal.png
+ common/app/light/png/32/app_assembly.png
+ common/app/light/png/32/app_part_modeling.png
+ common/app/light/png/32/app_sheet_metal.png
+ common/app/light/png/48/app_assembly.png
+ common/app/light/png/48/app_part_modeling.png
+ common/app/light/png/48/app_sheet_metal.png
+ common/app/light/png/64/app_assembly.png
+ common/app/light/png/64/app_part_modeling.png
+ common/app/light/png/64/app_sheet_metal.png
+ common/display/dark/png/16/display_hidden_line.png
+ common/display/dark/png/16/display_hide.png
+ common/display/dark/png/16/display_isolate.png
+ common/display/dark/png/16/display_shaded.png
+ common/display/dark/png/16/display_shaded_edges.png
+ common/display/dark/png/16/display_show.png
+ common/display/dark/png/16/display_wireframe.png
+ common/display/dark/png/32/display_hidden_line.png
+ common/display/dark/png/32/display_hide.png
+ common/display/dark/png/32/display_isolate.png
+ common/display/dark/png/32/display_shaded.png
+ common/display/dark/png/32/display_shaded_edges.png
+ common/display/dark/png/32/display_show.png
+ common/display/dark/png/32/display_wireframe.png
+ common/display/dark/png/48/display_hidden_line.png
+ common/display/dark/png/48/display_hide.png
+ common/display/dark/png/48/display_isolate.png
+ common/display/dark/png/48/display_shaded.png
+ common/display/dark/png/48/display_shaded_edges.png
+ common/display/dark/png/48/display_show.png
+ common/display/dark/png/48/display_wireframe.png
+ common/display/dark/png/64/display_hidden_line.png
+ common/display/dark/png/64/display_hide.png
+ common/display/dark/png/64/display_isolate.png
+ common/display/dark/png/64/display_shaded.png
+ common/display/dark/png/64/display_shaded_edges.png
+ common/display/dark/png/64/display_show.png
+ common/display/dark/png/64/display_wireframe.png
+ common/display/light/png/16/display_hidden_line.png
+ common/display/light/png/16/display_hide.png
+ common/display/light/png/16/display_isolate.png
+ common/display/light/png/16/display_shaded.png
+ common/display/light/png/16/display_shaded_edges.png
+ common/display/light/png/16/display_show.png
+ common/display/light/png/16/display_wireframe.png
+ common/display/light/png/32/display_hidden_line.png
+ common/display/light/png/32/display_hide.png
+ common/display/light/png/32/display_isolate.png
+ common/display/light/png/32/display_shaded.png
+ common/display/light/png/32/display_shaded_edges.png
+ common/display/light/png/32/display_show.png
+ common/display/light/png/32/display_wireframe.png
+ common/display/light/png/48/display_hidden_line.png
+ common/display/light/png/48/display_hide.png
+ common/display/light/png/48/display_isolate.png
+ common/display/light/png/48/display_shaded.png
+ common/display/light/png/48/display_shaded_edges.png
+ common/display/light/png/48/display_show.png
+ common/display/light/png/48/display_wireframe.png
+ common/display/light/png/64/display_hidden_line.png
+ common/display/light/png/64/display_hide.png
+ common/display/light/png/64/display_isolate.png
+ common/display/light/png/64/display_shaded.png
+ common/display/light/png/64/display_shaded_edges.png
+ common/display/light/png/64/display_show.png
+ common/display/light/png/64/display_wireframe.png
+ common/gc/dark/png/16/gc_check_update.png
+ common/gc/dark/png/16/gc_settings.png
+ common/gc/dark/png/16/gc_std_part_library.png
+ common/gc/dark/png/32/gc_check_update.png
+ common/gc/dark/png/32/gc_settings.png
+ common/gc/dark/png/32/gc_std_part_library.png
+ common/gc/dark/png/48/gc_check_update.png
+ common/gc/dark/png/48/gc_settings.png
+ common/gc/dark/png/48/gc_std_part_library.png
+ common/gc/dark/png/64/gc_check_update.png
+ common/gc/dark/png/64/gc_settings.png
+ common/gc/dark/png/64/gc_std_part_library.png
+ common/gc/light/png/16/gc_check_update.png
+ common/gc/light/png/16/gc_settings.png
+ common/gc/light/png/16/gc_std_part_library.png
+ common/gc/light/png/32/gc_check_update.png
+ common/gc/light/png/32/gc_settings.png
+ common/gc/light/png/32/gc_std_part_library.png
+ common/gc/light/png/48/gc_check_update.png
+ common/gc/light/png/48/gc_settings.png
+ common/gc/light/png/48/gc_std_part_library.png
+ common/gc/light/png/64/gc_check_update.png
+ common/gc/light/png/64/gc_settings.png
+ common/gc/light/png/64/gc_std_part_library.png
+ common/measure/dark/png/16/measure_angle.png
+ common/measure/dark/png/16/measure_dialog.png
+ common/measure/dark/png/16/measure_distance.png
+ common/measure/dark/png/16/measure_mass_props.png
+ common/measure/dark/png/32/measure_angle.png
+ common/measure/dark/png/32/measure_dialog.png
+ common/measure/dark/png/32/measure_distance.png
+ common/measure/dark/png/32/measure_mass_props.png
+ common/measure/dark/png/48/measure_angle.png
+ common/measure/dark/png/48/measure_dialog.png
+ common/measure/dark/png/48/measure_distance.png
+ common/measure/dark/png/48/measure_mass_props.png
+ common/measure/dark/png/64/measure_angle.png
+ common/measure/dark/png/64/measure_dialog.png
+ common/measure/dark/png/64/measure_distance.png
+ common/measure/dark/png/64/measure_mass_props.png
+ common/measure/light/png/16/measure_angle.png
+ common/measure/light/png/16/measure_dialog.png
+ common/measure/light/png/16/measure_distance.png
+ common/measure/light/png/16/measure_mass_props.png
+ common/measure/light/png/32/measure_angle.png
+ common/measure/light/png/32/measure_dialog.png
+ common/measure/light/png/32/measure_distance.png
+ common/measure/light/png/32/measure_mass_props.png
+ common/measure/light/png/48/measure_angle.png
+ common/measure/light/png/48/measure_dialog.png
+ common/measure/light/png/48/measure_distance.png
+ common/measure/light/png/48/measure_mass_props.png
+ common/measure/light/png/64/measure_angle.png
+ common/measure/light/png/64/measure_dialog.png
+ common/measure/light/png/64/measure_distance.png
+ common/measure/light/png/64/measure_mass_props.png
+ common/select/dark/png/16/select_filter.png
+ common/select/dark/png/16/select_lasso.png
+ common/select/dark/png/16/select_rectangle.png
+ common/select/dark/png/16/select_single.png
+ common/select/dark/png/32/select_filter.png
+ common/select/dark/png/32/select_lasso.png
+ common/select/dark/png/32/select_rectangle.png
+ common/select/dark/png/32/select_single.png
+ common/select/dark/png/48/select_filter.png
+ common/select/dark/png/48/select_lasso.png
+ common/select/dark/png/48/select_rectangle.png
+ common/select/dark/png/48/select_single.png
+ common/select/dark/png/64/select_filter.png
+ common/select/dark/png/64/select_lasso.png
+ common/select/dark/png/64/select_rectangle.png
+ common/select/dark/png/64/select_single.png
+ common/select/light/png/16/select_filter.png
+ common/select/light/png/16/select_lasso.png
+ common/select/light/png/16/select_rectangle.png
+ common/select/light/png/16/select_single.png
+ common/select/light/png/32/select_filter.png
+ common/select/light/png/32/select_lasso.png
+ common/select/light/png/32/select_rectangle.png
+ common/select/light/png/32/select_single.png
+ common/select/light/png/48/select_filter.png
+ common/select/light/png/48/select_lasso.png
+ common/select/light/png/48/select_rectangle.png
+ common/select/light/png/48/select_single.png
+ common/select/light/png/64/select_filter.png
+ common/select/light/png/64/select_lasso.png
+ common/select/light/png/64/select_rectangle.png
+ common/select/light/png/64/select_single.png
+ common/tools/dark/png/16/tools_expressions.png
+ common/tools/dark/png/16/tools_python_console.png
+ common/tools/dark/png/32/tools_expressions.png
+ common/tools/dark/png/32/tools_python_console.png
+ common/tools/dark/png/48/tools_expressions.png
+ common/tools/dark/png/48/tools_python_console.png
+ common/tools/dark/png/64/tools_expressions.png
+ common/tools/dark/png/64/tools_python_console.png
+ common/tools/light/png/16/tools_expressions.png
+ common/tools/light/png/16/tools_python_console.png
+ common/tools/light/png/32/tools_expressions.png
+ common/tools/light/png/32/tools_python_console.png
+ common/tools/light/png/48/tools_expressions.png
+ common/tools/light/png/48/tools_python_console.png
+ common/tools/light/png/64/tools_expressions.png
+ common/tools/light/png/64/tools_python_console.png
+ common/view/dark/png/16/view_clipping_plane.png
+ common/view/dark/png/16/view_dynamic_section.png
+ common/view/dark/png/16/view_front.png
+ common/view/dark/png/16/view_right.png
+ common/view/dark/png/16/view_top.png
+ common/view/dark/png/16/view_trimetic.png
+ common/view/dark/png/32/view_clipping_plane.png
+ common/view/dark/png/32/view_dynamic_section.png
+ common/view/dark/png/32/view_front.png
+ common/view/dark/png/32/view_right.png
+ common/view/dark/png/32/view_top.png
+ common/view/dark/png/32/view_trimetic.png
+ common/view/dark/png/48/view_clipping_plane.png
+ common/view/dark/png/48/view_dynamic_section.png
+ common/view/dark/png/48/view_front.png
+ common/view/dark/png/48/view_right.png
+ common/view/dark/png/48/view_top.png
+ common/view/dark/png/48/view_trimetic.png
+ common/view/dark/png/64/view_clipping_plane.png
+ common/view/dark/png/64/view_dynamic_section.png
+ common/view/dark/png/64/view_front.png
+ common/view/dark/png/64/view_right.png
+ common/view/dark/png/64/view_top.png
+ common/view/dark/png/64/view_trimetic.png
+ common/view/light/png/16/view_clipping_plane.png
+ common/view/light/png/16/view_dynamic_section.png
+ common/view/light/png/16/view_front.png
+ common/view/light/png/16/view_right.png
+ common/view/light/png/16/view_top.png
+ common/view/light/png/16/view_trimetic.png
+ common/view/light/png/32/view_clipping_plane.png
+ common/view/light/png/32/view_dynamic_section.png
+ common/view/light/png/32/view_front.png
+ common/view/light/png/32/view_right.png
+ common/view/light/png/32/view_top.png
+ common/view/light/png/32/view_trimetic.png
+ common/view/light/png/48/view_clipping_plane.png
+ common/view/light/png/48/view_dynamic_section.png
+ common/view/light/png/48/view_front.png
+ common/view/light/png/48/view_right.png
+ common/view/light/png/48/view_top.png
+ common/view/light/png/48/view_trimetic.png
+ common/view/light/png/64/view_clipping_plane.png
+ common/view/light/png/64/view_dynamic_section.png
+ common/view/light/png/64/view_front.png
+ common/view/light/png/64/view_right.png
+ common/view/light/png/64/view_top.png
+ common/view/light/png/64/view_trimetic.png
\ No newline at end of file
diff --git a/Designer/UIResource/TitleBar/brand/dark/png/100x28/app_wordmark.png b/Designer/UIResource/TitleBar/brand/dark/png/100x28/app_wordmark.png
new file mode 100644
index 00000000..3740d6b2
Binary files /dev/null and b/Designer/UIResource/TitleBar/brand/dark/png/100x28/app_wordmark.png differ
diff --git a/Designer/UIResource/TitleBar/brand/dark/png/16/app.png b/Designer/UIResource/TitleBar/brand/dark/png/16/app.png
index cfee844e..8abf99e6 100644
Binary files a/Designer/UIResource/TitleBar/brand/dark/png/16/app.png and b/Designer/UIResource/TitleBar/brand/dark/png/16/app.png differ
diff --git a/Designer/UIResource/TitleBar/brand/dark/png/200x56/app_wordmark.png b/Designer/UIResource/TitleBar/brand/dark/png/200x56/app_wordmark.png
new file mode 100644
index 00000000..f74548fa
Binary files /dev/null and b/Designer/UIResource/TitleBar/brand/dark/png/200x56/app_wordmark.png differ
diff --git a/Designer/UIResource/TitleBar/brand/dark/png/32/app.png b/Designer/UIResource/TitleBar/brand/dark/png/32/app.png
index 2afb2a5d..fc804fbc 100644
Binary files a/Designer/UIResource/TitleBar/brand/dark/png/32/app.png and b/Designer/UIResource/TitleBar/brand/dark/png/32/app.png differ
diff --git a/Designer/UIResource/TitleBar/brand/dark/png/48/app.png b/Designer/UIResource/TitleBar/brand/dark/png/48/app.png
index 0c965880..bef36b88 100644
Binary files a/Designer/UIResource/TitleBar/brand/dark/png/48/app.png and b/Designer/UIResource/TitleBar/brand/dark/png/48/app.png differ
diff --git a/Designer/UIResource/TitleBar/brand/dark/png/64/app.png b/Designer/UIResource/TitleBar/brand/dark/png/64/app.png
index 39a7dae6..b86bf3f7 100644
Binary files a/Designer/UIResource/TitleBar/brand/dark/png/64/app.png and b/Designer/UIResource/TitleBar/brand/dark/png/64/app.png differ
diff --git a/Designer/UIResource/TitleBar/brand/light/png/100x28/app_wordmark.png b/Designer/UIResource/TitleBar/brand/light/png/100x28/app_wordmark.png
new file mode 100644
index 00000000..b2aecea9
Binary files /dev/null and b/Designer/UIResource/TitleBar/brand/light/png/100x28/app_wordmark.png differ
diff --git a/Designer/UIResource/TitleBar/brand/light/png/16/app.png b/Designer/UIResource/TitleBar/brand/light/png/16/app.png
index 4041cb8c..8abf99e6 100644
Binary files a/Designer/UIResource/TitleBar/brand/light/png/16/app.png and b/Designer/UIResource/TitleBar/brand/light/png/16/app.png differ
diff --git a/Designer/UIResource/TitleBar/brand/light/png/200x56/app_wordmark.png b/Designer/UIResource/TitleBar/brand/light/png/200x56/app_wordmark.png
new file mode 100644
index 00000000..4ee9e419
Binary files /dev/null and b/Designer/UIResource/TitleBar/brand/light/png/200x56/app_wordmark.png differ
diff --git a/Designer/UIResource/TitleBar/brand/light/png/32/app.png b/Designer/UIResource/TitleBar/brand/light/png/32/app.png
index 5554ae70..fc804fbc 100644
Binary files a/Designer/UIResource/TitleBar/brand/light/png/32/app.png and b/Designer/UIResource/TitleBar/brand/light/png/32/app.png differ
diff --git a/Designer/UIResource/TitleBar/brand/light/png/48/app.png b/Designer/UIResource/TitleBar/brand/light/png/48/app.png
index c87daa0f..bef36b88 100644
Binary files a/Designer/UIResource/TitleBar/brand/light/png/48/app.png and b/Designer/UIResource/TitleBar/brand/light/png/48/app.png differ
diff --git a/Designer/UIResource/TitleBar/brand/light/png/64/app.png b/Designer/UIResource/TitleBar/brand/light/png/64/app.png
index 9935c212..b86bf3f7 100644
Binary files a/Designer/UIResource/TitleBar/brand/light/png/64/app.png and b/Designer/UIResource/TitleBar/brand/light/png/64/app.png differ
diff --git a/Designer/UIResource/TitleBar/titlebar.qrc b/Designer/UIResource/TitleBar/titlebar.qrc
index 4bef34e0..e2c60ede 100644
--- a/Designer/UIResource/TitleBar/titlebar.qrc
+++ b/Designer/UIResource/TitleBar/titlebar.qrc
@@ -8,6 +8,11 @@
brand/dark/png/32/app.png
brand/dark/png/48/app.png
brand/dark/png/64/app.png
+ brand/light/png/100x28/app_wordmark.png
+ brand/light/png/200x56/app_wordmark.png
+ brand/dark/png/100x28/app_wordmark.png
+ brand/dark/png/200x56/app_wordmark.png
+
quick/light/png/16/new.png
quick/light/png/32/new.png