Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
why3
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
119
Issues
119
List
Boards
Labels
Service Desk
Milestones
Merge Requests
16
Merge Requests
16
Operations
Operations
Incidents
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Why3
why3
Commits
a93bf9ba
Commit
a93bf9ba
authored
Mar 29, 2012
by
MARCHE Claude
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
preference dialog allows to select which prover button to show
parent
f2a8e7f1
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
65 additions
and
15 deletions
+65
-15
ROADMAP
ROADMAP
+1
-1
src/ide/gconfig.ml
src/ide/gconfig.ml
+46
-9
src/ide/gconfig.mli
src/ide/gconfig.mli
+1
-0
src/ide/gmain.ml
src/ide/gmain.ml
+17
-5
No files found.
ROADMAP
View file @
a93bf9ba
...
...
@@ -94,7 +94,7 @@ https://gforge.inria.fr/tracker/index.php?func=detail&aid=13736&group_id=2990
* tool why3doc
* Support for several versions of the same prover
* Improved IDE:
- left scrollbar
- left scrollbar
+ selection of shown or hidden provers
- font enlargement
- what else ?
* what else ?
...
...
src/ide/gconfig.ml
View file @
a93bf9ba
...
...
@@ -58,6 +58,8 @@ type t =
original_config
:
Whyconf
.
config
;
mutable
altern_provers
:
altern_provers
;
mutable
replace_prover
:
conf_replace_prover
;
(* hidden prover buttons *)
mutable
hidden_provers
:
string
list
;
}
...
...
@@ -77,6 +79,7 @@ type ide = {
ide_error_color
:
string
;
ide_default_editor
:
string
;
ide_replace_prover
:
conf_replace_prover
;
ide_hidden_provers
:
string
list
;
}
let
default_ide
=
...
...
@@ -95,8 +98,9 @@ let default_ide =
ide_error_color
=
"orange"
;
ide_replace_prover
=
CRP_Ask
;
ide_default_editor
=
try
Sys
.
getenv
"EDITOR"
^
" %f"
with
Not_found
->
"editor %f"
(
try
Sys
.
getenv
"EDITOR"
^
" %f"
with
Not_found
->
"editor %f"
);
ide_hidden_provers
=
[]
;
}
let
load_ide
section
=
...
...
@@ -135,11 +139,13 @@ let load_ide section =
get_string
section
~
default
:
default_ide
.
ide_default_editor
"default_editor"
;
ide_replace_prover
=
match
get_stringo
section
"replace_prover"
with
begin
match
get_stringo
section
"replace_prover"
with
|
None
->
default_ide
.
ide_replace_prover
|
Some
"never not obsolete"
->
CRP_Not_Obsolete
|
Some
"ask"
|
Some
_
->
CRP_Ask
end
;
ide_hidden_provers
=
get_stringl
~
default
:
default_ide
.
ide_hidden_provers
section
"hidden_prover"
;
}
...
...
@@ -174,7 +180,11 @@ let load_config config original_config =
let
main
=
get_main
config
in
let
ide
=
match
get_section
config
"ide"
with
|
None
->
default_ide
|
Some
s
->
load_ide
s
in
|
Some
s
->
load_ide
s
in
Format
.
eprintf
"hidden provers : "
;
List
.
iter
(
fun
p
->
Format
.
eprintf
"%s"
p
)
ide
.
ide_hidden_provers
;
Format
.
eprintf
"@."
;
let
alterns
=
List
.
fold_left
load_altern
Mprover
.
empty
(
get_family
config
"alternative_prover"
)
in
...
...
@@ -204,8 +214,10 @@ let load_config config original_config =
env
=
env
;
altern_provers
=
alterns
;
replace_prover
=
ide
.
ide_replace_prover
;
hidden_provers
=
ide
.
ide_hidden_provers
;
}
let
save_altern
unknown
known
(
id
,
family
)
=
let
alt
=
empty_section
in
let
alt
=
set_string
alt
"unknown_name"
unknown
.
prover_name
in
...
...
@@ -247,6 +259,7 @@ let save_config t =
(
match
t
.
replace_prover
with
|
CRP_Ask
->
"ask"
|
CRP_Not_Obsolete
->
"never not obsolete"
)
in
let
ide
=
set_stringl
ide
"hidden_prover"
t
.
hidden_provers
in
let
config
=
set_section
config
"ide"
ide
in
(* TODO: store newly detected provers !
let config = set_provers config
...
...
@@ -493,7 +506,7 @@ let alternatives_frame c (notebook:GPack.notebook) =
in
()
in
Mprover
.
iter
iter
c
.
altern_provers
let
preferences
c
=
let
preferences
(
c
:
t
)
=
let
dialog
=
GWindow
.
dialog
~
title
:
"Why3: preferences"
()
in
let
vbox
=
dialog
#
vbox
in
let
notebook
=
GPack
.
notebook
~
packing
:
vbox
#
add
()
in
...
...
@@ -573,10 +586,34 @@ let preferences c =
*)
(** page 3 **)
let
label3
=
GMisc
.
label
~
text
:
"Provers"
()
in
let
_page3
=
GMisc
.
label
~
text
:
"This page should display detected provers"
~
packing
:
(
fun
w
->
ignore
(
notebook
#
append_page
~
tab_label
:
label3
#
coerce
w
))
()
let
page3
=
GPack
.
vbox
~
homogeneous
:
false
~
packing
:
(
fun
w
->
ignore
(
notebook
#
append_page
~
tab_label
:
label3
#
coerce
w
))
()
in
let
provers_box
=
GPack
.
button_box
`VERTICAL
~
border_width
:
5
~
spacing
:
5
~
packing
:
page3
#
add
()
in
let
hidden_provers
=
Hashtbl
.
create
7
in
Mprover
.
iter
(
fun
_
p
->
let
p
=
p
.
prover
in
let
label
=
p
.
prover_name
^
" "
^
p
.
prover_version
in
let
hidden
=
ref
(
List
.
mem
label
c
.
hidden_provers
)
in
Hashtbl
.
add
hidden_provers
label
hidden
;
let
b
=
GButton
.
check_button
~
label
~
packing
:
provers_box
#
add
()
~
active
:
(
not
!
hidden
)
in
let
(
_
:
GtkSignal
.
id
)
=
b
#
connect
#
toggled
~
callback
:
(
fun
()
->
hidden
:=
not
!
hidden
;
c
.
hidden_provers
<-
Hashtbl
.
fold
(
fun
l
h
acc
->
if
!
h
then
l
::
acc
else
acc
)
hidden_provers
[]
)
in
()
)
(
Whyconf
.
get_provers
c
.
config
);
(** page 1 **)
let
display_options_frame
=
GBin
.
frame
~
label
:
"Display options"
...
...
src/ide/gconfig.mli
View file @
a93bf9ba
...
...
@@ -48,6 +48,7 @@ type t =
original_config
:
Whyconf
.
config
;
mutable
altern_provers
:
prover
option
Mprover
.
t
;
mutable
replace_prover
:
conf_replace_prover
;
mutable
hidden_provers
:
string
list
;
}
val
read_config
:
string
option
->
string
list
->
unit
...
...
src/ide/gmain.ml
View file @
a93bf9ba
...
...
@@ -921,15 +921,16 @@ let (_ : GMenu.image_menu_item) =
~
label
:
"_Add file"
~
callback
:
select_file
()
let
refresh_provers
=
ref
(
fun
()
->
()
)
let
(
_
:
GMenu
.
image_menu_item
)
=
file_factory
#
add_image_item
~
label
:
"_Preferences"
~
callback
:
(
fun
()
->
Gconfig
.
preferences
gconfig
;
M
.
set_maximum_running_proofs
gconfig
.
max_running_processes
sched
)
Gconfig
.
preferences
gconfig
;
!
refresh_provers
()
;
M
.
set_maximum_running_proofs
gconfig
.
max_running_processes
sched
)
()
let
refresh_provers
=
ref
(
fun
()
->
()
)
let
add_refresh_provers
f
_msg
=
(*
eprintf "[Info] recording '%s' for refresh provers@." msg;
...
...
@@ -1170,6 +1171,17 @@ let () = add_refresh_provers (fun () ->
let
()
=
let
add_item_provers
()
=
let
provers
=
C
.
get_provers
gconfig
.
Gconfig
.
config
in
let
provers
=
C
.
Mprover
.
fold
(
fun
k
p
acc
->
let
pr
=
p
.
prover
in
if
List
.
mem
(
pr
.
prover_name
^
" "
^
pr
.
prover_version
)
gconfig
.
hidden_provers
then
acc
else
C
.
Mprover
.
add
k
p
acc
)
provers
C
.
Mprover
.
empty
in
C
.
Mprover
.
iter
(
fun
p
_
->
let
n
=
Pp
.
string_of_wnl
C
.
print_prover
p
in
...
...
@@ -1191,7 +1203,7 @@ let () =
b
#
connect
#
pressed
~
callback
:
(
fun
()
->
prover_on_selected_goals
p
)
in
()
)
(
C
.
get_provers
gconfig
.
Gconfig
.
config
)
provers
in
add_refresh_provers
add_item_provers
"Add in tools menu and provers box"
;
add_item_provers
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment