mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-25 06:15:43 +08:00
run session from command line
This commit is contained in:
@@ -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 ();;
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user