Added a few new startup options to make testing and command line execution easier

This commit is contained in:
Andras Fuchs 2020-02-04 17:24:10 +01:00
parent f3d43a8eba
commit 903433a1e8
2 changed files with 37 additions and 14 deletions

View File

@ -76,17 +76,17 @@ public class MainApplication extends javax.swing.JFrame
board_option = BoardFrame.Option.SINGLE_FRAME;
}
FRLogger.logger.info("Opening '"+startupOptions.design_file_name+"'...");
DesignFile design_file = DesignFile.get_instance(startupOptions.design_file_name, false);
FRLogger.logger.info("Opening '"+startupOptions.design_input_filename +"'...");
DesignFile design_file = DesignFile.get_instance(startupOptions.design_input_filename, false);
if (design_file == null)
{
System.out.print(resources.getString("message_6") + " ");
System.out.print(startupOptions.design_file_name);
System.out.print(startupOptions.design_input_filename);
System.out.println(" " + resources.getString("message_7"));
return;
}
String message = resources.getString("loading_design") + " "
+ startupOptions.design_file_name;
+ startupOptions.design_input_filename;
WindowMessage welcome_window = WindowMessage.show(message);
final BoardFrame new_frame =
create_board_frame(design_file, null, board_option,

View File

@ -11,8 +11,11 @@ public class StartupOptions {
boolean test_version_option = false;
boolean session_file_option = false;
boolean webstart_option = false;
String design_file_name = null;
String design_dir_name = null;
String design_input_filename = null;
String design_output_filename = null;
String design_input_directory_name = null;
int pass_number_first = 1;
int pass_number_last = Integer.MAX_VALUE;
java.util.Locale current_locale = java.util.Locale.ENGLISH;
private StartupOptions() {
@ -30,22 +33,42 @@ public class StartupOptions {
private void process(String[] p_args) {
for (int i = 0; i < p_args.length; ++i) {
if (p_args[i].startsWith("-de"))
// the design file is provided
{
// the design file is provided
if (p_args.length > i + 1 && !p_args[i + 1].startsWith("-")) {
single_design_option = true;
design_file_name = p_args[i + 1];
design_input_filename = p_args[i + 1];
}
} else if (p_args[i].startsWith("-di"))
// the design directory is provided
}
else if (p_args[i].startsWith("-di")) {
// the design directory is provided
if (p_args.length > i + 1 && !p_args[i + 1].startsWith("-")) {
design_input_directory_name = p_args[i + 1];
}
}
else if (p_args[i].startsWith("-do"))
{
if (p_args.length > i + 1 && !p_args[i + 1].startsWith("-")) {
design_dir_name = p_args[i + 1];
design_output_filename = p_args[i + 1];
}
} else if (p_args[i].startsWith("-l"))
// the locale is provided
}
else if (p_args[i].startsWith("-pf"))
{
if (p_args.length > i + 1 && !p_args[i + 1].startsWith("-")) {
pass_number_first = p_args[i + 1];
}
}
else if (p_args[i].startsWith("-pl")) {
// the design directory is provided
if (p_args.length > i + 1 && !p_args[i + 1].startsWith("-")) {
pass_number_last = p_args[i + 1];
}
}
else if (p_args[i].startsWith("-l"))
{
// the locale is provided
if (p_args.length > i + 1 && p_args[i + 1].startsWith("d")) {
current_locale = java.util.Locale.GERMAN;
}
@ -68,6 +91,6 @@ public class StartupOptions {
}
public String getDesignDir() {
return design_dir_name;
return design_input_directory_name;
}
}