run session from command line

This commit is contained in:
Pascal Brisset
2008-02-06 03:35:21 +00:00
parent e9db49603f
commit 23e4ad7b95
2 changed files with 12 additions and 4 deletions
+10 -2
View File
@@ -132,8 +132,10 @@ let quit_button_callback = fun gui ac_combo session_combo target_combo () ->
let () =
let session = ref "" in
Arg.parse
["-fullscreen", Arg.Set fullscreen, "Fullscreen window"]
["-fullscreen", Arg.Set fullscreen, "Fullscreen window";
"-session", Arg.Set_string session, "<session name> Run a custom session"]
(fun x -> fprintf stderr "Warning: Don't do anything with '%s'\n%!" x)
"Usage: ";
let file = Env.paparazzi_src // "sw" // "supervision" // "paparazzicenter.glade" in
@@ -211,7 +213,7 @@ let () =
AC.build_handler ~file gui ac_combo target_combo log;
let session_combo = CP.supervision ~file gui log ac_combo in
let session_combo, execute_session = CP.supervision ~file gui log ac_combo in
(* Quit button *)
ignore (gui#menu_item_quit#connect#activate ~callback:(quit_button_callback gui ac_combo session_combo target_combo));
@@ -231,4 +233,10 @@ let () =
read_preferences Env.gconf_file ac_combo session_combo target_combo
end;
(* Run the command line session *)
if !session <> "" then begin
Utils.select_in_combo session_combo !session;
execute_session !session
end;
GMain.Main.main ();;
+2 -2
View File
@@ -175,7 +175,7 @@ let supervision = fun ?file gui log (ac_combo : Utils.combo) ->
Utils.select_in_combo session_combo "Simulation";
let execute_custom = fun session_name ->
let session = Hashtbl.find sessions session_name in
let session = try Hashtbl.find sessions session_name with Not_found -> failwith (sprintf "Unknown session: %s" session_name) in
List.iter
(fun program ->
let name = ExtXml.attrib program "name" in
@@ -264,5 +264,5 @@ let supervision = fun ?file gui log (ac_combo : Utils.combo) ->
| _ -> ()
in
ignore (gui#menu_item_delete_session#connect#activate ~callback);
session_combo
session_combo, execute_custom