aboutsummaryrefslogtreecommitdiff
path: root/ide/preferences.ml
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2015-08-21 18:09:48 +0200
committerPierre-Marie Pédrot2015-09-20 15:20:32 +0200
commit8b609e4e6df906dc16e8fa506a71046ab3b8f16c (patch)
tree409ea62c03af80528f99649fe694b1624fa38985 /ide/preferences.ml
parent05fc256eecfea634d8c726c5b7f81269a87eca18 (diff)
Pluging in tag preferences into buffer printing.
Diffstat (limited to 'ide/preferences.ml')
-rw-r--r--ide/preferences.ml38
1 files changed, 34 insertions, 4 deletions
diff --git a/ide/preferences.ml b/ide/preferences.ml
index 743f6e2a62..dedd62902c 100644
--- a/ide/preferences.ml
+++ b/ide/preferences.ml
@@ -398,11 +398,41 @@ let tags = ref Util.String.Map.empty
let list_tags () = !tags
-let () =
- let iter name =
- let pref = new preference ~name:[name] ~init:default_tag ~repr:Repr.(tag) in
- tags := Util.String.Map.add name pref !tags
+let create_tag name default =
+ let pref = new preference ~name:[name] ~init:default ~repr:Repr.(tag) in
+ let set_tag tag =
+ begin match pref#get.tag_bg_color with
+ | None -> ()
+ | Some c -> tag#set_property (`BACKGROUND c)
+ end;
+ begin match pref#get.tag_fg_color with
+ | None -> ()
+ | Some c -> tag#set_property (`FOREGROUND c)
+ end;
+ begin match pref#get.tag_bold with
+ | false -> ()
+ | true -> tag#set_property (`WEIGHT `BOLD)
+ end;
+ begin match pref#get.tag_italic with
+ | false -> ()
+ | true -> tag#set_property (`STYLE `ITALIC)
+ end;
+ begin match pref#get.tag_underline with
+ | false -> ()
+ | true -> tag#set_property (`UNDERLINE `SINGLE)
+ end;
+ in
+ let iter table =
+ let tag = GText.tag ~name () in
+ table#add tag#as_tag;
+ pref#connect#changed (fun _ -> set_tag tag);
+ set_tag tag;
in
+ List.iter iter [Tags.Script.table; Tags.Proof.table; Tags.Message.table];
+ tags := Util.String.Map.add name pref !tags
+
+let () =
+ let iter name = create_tag name default_tag in
List.iter iter [
"constr.evar";
"constr.keyword";