Source file help_manager.ml
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
let show main_ui =
let authors = [
"Michele Alberti";
"Thibaud Antignac";
"Gergö Barany";
"Patrick Baudin";
"Thibaut Benjamin";
"Allan Blanchard";
"Lionel Blatter";
"François Bobot";
"Richard Bonichon";
"Quentin Bouillaguet";
"David Bühler";
"Zakaria Chihani";
"Loïc Correnson";
"Julien Crétin";
"Pascal Cuoq";
"Zaynah Dargaye";
"Basile Desloges";
"Jean-Christophe Filliâtre";
"Philippe Herrmann";
"Maxime Jacquemin";
"Florent Kirchner";
"Alexander Kogtenkov";
"Tristan Le Gall";
"Jean-Christophe Léchenet";
"Matthieu Lemerre";
"Dara Ly";
"David Maison";
"Claude Marché";
"André Maroneze";
"Thibault Martin";
"Fonenantsoa Maurica";
"Melody Méaulle";
"Benjamin Monate";
"Yannick Moy";
"Pierre Nigron";
"Anne Pacalet";
"Valentin Perrelle";
"Guillaume Petiot";
"Dario Pinto";
"Virgile Prevosto";
"Armand Puccetti";
"Félix Ridoux";
"Virgile Robles";
"Jan Rochel";
"Muriel Roger";
"Julien Signoles";
"Nicolas Stouls";
"Kostyantyn Vorobyov";
"Boris Yakobowski"
]
in
let copyright =
"\t © CEA and INRIA for the Frama-C kernel\n\
\t © CEA for the GUI and plug-ins constant propagation, from, inout, impact, \
metrics, occurrence pdg, postdominators, scope, security_slicing, \
semantic callgraph, slicing, sparecode, syntactic callgraph, users and value.\n\
\n\
See the particular header of each source file for details."
in
let license =
"Licenses of the Frama-C kernel and plug-ins are either under LGPL v2.1, \
or BSD.\n\
See the particular header of each source file for details."
in
let dialog =
GWindow.about_dialog
~parent:main_ui#main_window
?icon:Gtk_helper.framac_icon
?logo:Gtk_helper.framac_logo
~name:"Frama-C"
~authors
~copyright
~license
~website:"http://frama-c.com"
~website_label:"Questions and support"
~version:Fc_config.version_and_codename
~comments:"Frama-C is a suite of tools dedicated to the analysis of the \
source code of software written in C."
()
in
ignore
(dialog#connect#response
~callback:(fun _ -> try
dialog#coerce#destroy ()
with Not_found -> ()));
try
ignore (dialog#run ())
with
| Not_found -> ()
| Failure msg as e ->
if msg = "dialog destroyed" then
()
else raise e
(** Register this dialog in main window menu bar *)
let () =
Design.register_extension
(fun window ->
let = window#menu_manager () in
let _helpitem, =
menu_manager#add_menu "_Help"
~pos:(List.length menu_manager#factory#menu#children)
in
ignore
(menu_manager#add_entries
helpmenu
[ Menu_manager.menubar ~icon:`ABOUT "About"
(Menu_manager.Unit_callback (fun () -> show window));
]);
)