Bonjour,
J'aurais aimé faire un menu avec une liste déroulante. Cependant, je n'arrive pas à obtenir ce que je souhaite.
Voici ce que j'aimerais :
J'ai une fenêtre de taille fixe :
dans cette fenêtre, j'active ou désactive différents contenu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 value main_window = do { GMain.init (); let wnd = GWindow.window ~title:("GUI - " ^ Version.txt) ~position:`CENTER ~resizable:True ~width:640 ~height:480 () in wnd#connect#destroy ~callback:GMain.quit; wnd };
Mon contenu principal est :
Ce que je voudrais faire, c'est à la place du List.iter, avoir un menu déroulant de ma liste databases. Je ne voudrais pas mettre ce menu dans une toolbar, et les exemples que j'ai trouvé ajouter un menu à un fenêtre et pas un GPack (d'où un certain nombre d'erreur à la compilation).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 value rec show_main state = do { clean_waiting_pids state; let databases = List.sort compare (List.filter (fun fn -> Filename.check_suffix fn ".d") (Array.to_list (Sys.readdir state.bases_dir))) in let vbox = GPack.vbox ~spacing:5 ~packing:main_window#add () in GMisc.label ~text:(transl "Server is running...") ~packing:vbox#pack (); if databases = [] then ignore (GMisc.label ~text:(transl "No databases.") ~packing:vbox#pack () ) else do { GMisc.label ~text:(transl "Available databases:") ~packing:vbox#pack (); List.iter (fun dbn -> let bn = Filename.chop_extension dbn in let hbox = GPack.hbox ~spacing:5 ~packing:vbox#pack () in let blab = GMisc.label ~text:("- " ^ bn ^ " -") ~packing:hbox#pack () in let bbut = GButton.button ~label:(transl "Browse") ~packing:hbox#pack () in ignore (bbut#connect#clicked (fun () -> ignore (browse state state.browser state.port bn) ) ) ) databases;
Si quelqu'un a une solution a me proposer, ce serait avec plaisir.
Merci
Partager