mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-02 21:37:24 +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 () =
|
||||||
|
let session = ref "" in
|
||||||
Arg.parse
|
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)
|
(fun x -> fprintf stderr "Warning: Don't do anything with '%s'\n%!" x)
|
||||||
"Usage: ";
|
"Usage: ";
|
||||||
let file = Env.paparazzi_src // "sw" // "supervision" // "paparazzicenter.glade" in
|
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;
|
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 *)
|
(* Quit button *)
|
||||||
ignore (gui#menu_item_quit#connect#activate ~callback:(quit_button_callback gui ac_combo session_combo target_combo));
|
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
|
read_preferences Env.gconf_file ac_combo session_combo target_combo
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
(* Run the command line session *)
|
||||||
|
if !session <> "" then begin
|
||||||
|
Utils.select_in_combo session_combo !session;
|
||||||
|
execute_session !session
|
||||||
|
end;
|
||||||
|
|
||||||
GMain.Main.main ();;
|
GMain.Main.main ();;
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ let supervision = fun ?file gui log (ac_combo : Utils.combo) ->
|
|||||||
Utils.select_in_combo session_combo "Simulation";
|
Utils.select_in_combo session_combo "Simulation";
|
||||||
|
|
||||||
let execute_custom = fun session_name ->
|
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
|
List.iter
|
||||||
(fun program ->
|
(fun program ->
|
||||||
let name = ExtXml.attrib program "name" in
|
let name = ExtXml.attrib program "name" in
|
||||||
@@ -264,5 +264,5 @@ let supervision = fun ?file gui log (ac_combo : Utils.combo) ->
|
|||||||
| _ -> ()
|
| _ -> ()
|
||||||
in
|
in
|
||||||
ignore (gui#menu_item_delete_session#connect#activate ~callback);
|
ignore (gui#menu_item_delete_session#connect#activate ~callback);
|
||||||
session_combo
|
session_combo, execute_custom
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user