mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-12 21:47:00 -04:00
command line argument support
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@167 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
@@ -26,8 +26,11 @@ SymbolWindow::SymbolWindow(Window* parent) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
SymbolWindow::SymbolWindow(Window* parent, const String& filename) {
|
SymbolWindow::SymbolWindow(Window* parent, const String& filename) {
|
||||||
// TODO : open file
|
// open file
|
||||||
init(parent, default_symbol());
|
Reader reader(filename);
|
||||||
|
SymbolP symbol;
|
||||||
|
reader.handle(symbol);
|
||||||
|
init(parent, symbol);
|
||||||
}
|
}
|
||||||
|
|
||||||
SymbolWindow::SymbolWindow(Window* parent, const SymbolValueP& value, const SetP& set)
|
SymbolWindow::SymbolWindow(Window* parent, const SymbolValueP& value, const SetP& set)
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ class SymbolWindow : public Frame {
|
|||||||
SymbolWindow(Window* parent);
|
SymbolWindow(Window* parent);
|
||||||
/// Construct a SymbolWindow showing a symbol from a file
|
/// Construct a SymbolWindow showing a symbol from a file
|
||||||
SymbolWindow(Window* parent, const String& filename);
|
SymbolWindow(Window* parent, const String& filename);
|
||||||
// /// Construct a SymbolWindow showing a symbol value in a set
|
/// Construct a SymbolWindow showing a symbol value in a set
|
||||||
SymbolWindow(Window* parent, const SymbolValueP& value, const SetP& set);
|
SymbolWindow(Window* parent, const SymbolValueP& value, const SetP& set);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
+28
-10
@@ -48,17 +48,35 @@ bool MSE::OnInit() {
|
|||||||
packages.init();
|
packages.init();
|
||||||
settings.read();
|
settings.read();
|
||||||
the_locale = Locale::byName(settings.locale);
|
the_locale = Locale::byName(settings.locale);
|
||||||
// check for updates
|
|
||||||
check_updates();
|
check_updates();
|
||||||
//Window* wnd = new SymbolWindow(nullptr);
|
|
||||||
//GameP g = Game::byName(_("magic"))
|
// interpret command line
|
||||||
SetP s = new_shared<Set>();
|
if (argc > 1) {
|
||||||
s->open(_("test.mse-set"));
|
try {
|
||||||
Window* wnd = new SetWindow(nullptr, s);
|
// Command line argument, find its extension
|
||||||
//Window* wnd = new WelcomeWindow();
|
wxFileName f(argv[1]);
|
||||||
wnd->Show();
|
if (f.GetExt() == _("mse-symbol")) {
|
||||||
|
// Show the symbol editor
|
||||||
|
Window* wnd = new SymbolWindow(nullptr, argv[1]);
|
||||||
|
wnd->Show();
|
||||||
|
return true;
|
||||||
|
} else if (f.GetExt() == _("mse-set") || f.GetExt() == _("mse") || f.GetExt() == _("set")) {
|
||||||
|
// Show the set window
|
||||||
|
Window* wnd = new SetWindow(nullptr, import_set(argv[1]));
|
||||||
|
wnd->Show();
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
handle_error(_("Invalid command line argument:\n") + String(argv[1]));
|
||||||
|
}
|
||||||
|
} catch (const Error& e) {
|
||||||
|
handle_error(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// no command line arguments, or error, show welcome window
|
||||||
|
(new WelcomeWindow())->Show();
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
} catch (Error e) {
|
} catch (Error e) {
|
||||||
handle_error(e, false);
|
handle_error(e, false);
|
||||||
} catch (std::exception e) {
|
} catch (std::exception e) {
|
||||||
@@ -67,7 +85,7 @@ bool MSE::OnInit() {
|
|||||||
} catch (...) {
|
} catch (...) {
|
||||||
handle_error(InternalError(_("An unexpected exception occurred!")), false);
|
handle_error(InternalError(_("An unexpected exception occurred!")), false);
|
||||||
}
|
}
|
||||||
packages.destroy();
|
OnExit();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user