refactor: add a dialog for choosing export encoding

This commit is contained in:
2024-08-03 17:11:34 +08:00
parent 4ee11c29c9
commit f179907a3a
13 changed files with 602 additions and 42 deletions

View File

@@ -1,5 +1,6 @@
#include "PluginMain.hpp"
#include "ExportCore.hpp"
#include "ExportDialog.hpp"
namespace VSW::Materializer::PluginMain {
@@ -11,21 +12,34 @@ namespace VSW::Materializer::PluginMain {
static void PluginMenuCallback(int command_id) {
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CKContext* ctx = g_Plugininterface->GetCKContext();
switch (command_id) {
case 0:
{
MessageBoxW(nullptr, L"Work in Progress", L"WIP", MB_ICONINFORMATION + MB_OK);
ExportDialog dialog;
dialog.SetInitialDatabaseType(ExportDialog::InitialDatabaseType::Script);
if (dialog.DoModal() == IDOK) {
ExportScript::Export(ctx, dialog.GetDatabaseFileResult(), dialog.GetEncodingResult());
}
break;
}
case 1:
{
MessageBoxW(nullptr, L"Work in Progress", L"WIP", MB_ICONINFORMATION + MB_OK);
ExportDialog dialog;
dialog.SetInitialDatabaseType(ExportDialog::InitialDatabaseType::Document);
if (dialog.DoModal() == IDOK) {
ExportDocument::Export(ctx, dialog.GetDatabaseFileResult(), dialog.GetEncodingResult());
}
break;
}
case 2:
{
MessageBoxW(nullptr, L"Work in Progress", L"WIP", MB_ICONINFORMATION + MB_OK);
ExportDialog dialog;
dialog.SetInitialDatabaseType(ExportDialog::InitialDatabaseType::Environment);
if (dialog.DoModal() == IDOK) {
ExportEnvironment::Export(ctx, dialog.GetDatabaseFileResult(), dialog.GetEncodingResult());
}
break;
}
case 3: