From 4e701e71f42356ec9eb579ebb87913d1a49fa634 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Loi=CC=88c=20Correnson?= <loic.correnson@cea.fr>
Date: Wed, 27 Oct 2021 13:05:10 +0200
Subject: [PATCH] [ivette] fix small issues on sidebars

---
 ivette/src/dome/renderer/dome.tsx           |  6 +-----
 ivette/src/dome/renderer/frame/sidebars.tsx |  4 +++-
 ivette/src/frama-c/kernel/ASTinfo.tsx       | 15 ++++++++-------
 ivette/src/frama-c/kernel/Globals.tsx       |  1 +
 ivette/src/frama-c/kernel/style.css         |  2 +-
 5 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/ivette/src/dome/renderer/dome.tsx b/ivette/src/dome/renderer/dome.tsx
index 2a5eb0f3261..3026409568a 100644
--- a/ivette/src/dome/renderer/dome.tsx
+++ b/ivette/src/dome/renderer/dome.tsx
@@ -663,11 +663,7 @@ export function useFlipSettings(
   const [state, setState] = Settings.useWindowSettings(
     key, Json.jBoolean, defaultValue,
   );
-  const flipState = React.useCallback(
-    () => setState(!state),
-    [state, setState],
-  );
-  return [state, flipState];
+  return [state, () => setState(!state)];
 }
 
 /** Number window settings helper. Default is `0` unless specified. */
diff --git a/ivette/src/dome/renderer/frame/sidebars.tsx b/ivette/src/dome/renderer/frame/sidebars.tsx
index 7cbe2a4c747..bd10e828f05 100644
--- a/ivette/src/dome/renderer/frame/sidebars.tsx
+++ b/ivette/src/dome/renderer/frame/sidebars.tsx
@@ -151,6 +151,8 @@ export function Section(props: SectionProps) {
   const foldable = unfold === undefined;
   const visible = unfold ?? state;
   const maxHeight = visible ? 'max-content' : 0;
+  const label =
+    (visible || !!props.summary) ? props.label : `${props.label}…`;
 
   return (
     <div className="dome-xSideBarSection">
@@ -159,7 +161,7 @@ export function Section(props: SectionProps) {
         title={props.title}
         onContextMenu={props.onContextMenu}
       >
-        <Label label={props.label} />
+        <Label label={label} />
         {!visible && makeBadge(props.summary)}
         {foldable && <HideShow visible={visible} onClick={flipState} />}
       </div>
diff --git a/ivette/src/frama-c/kernel/ASTinfo.tsx b/ivette/src/frama-c/kernel/ASTinfo.tsx
index 8da5fa944e5..76ebbfa13d7 100644
--- a/ivette/src/frama-c/kernel/ASTinfo.tsx
+++ b/ivette/src/frama-c/kernel/ASTinfo.tsx
@@ -132,7 +132,7 @@ interface InfoSectionProps {
   onRemove: () => void;
 }
 
-function MarkerInfoSection(props: InfoSectionProps) {
+function MarkInfos(props: InfoSectionProps) {
   Dome.useUpdate(reloadASTinfo);
   const [unfold, setUnfold] = React.useState(true);
   const { marker, markerInfo } = props;
@@ -263,7 +263,7 @@ class InfoMarkers {
     reloadASTinfo.emit();
   }
 
-  renderSection(mark: Mark) {
+  renderMark(mark: Mark) {
     const { marker } = mark;
     const info = this.model.getData(marker);
     if (!info) return null;
@@ -275,7 +275,7 @@ class InfoMarkers {
     const onHover = (h: boolean) => States.setHovered(h ? mark : undefined);
     const onSelect = () => States.setSelection(mark);
     return (
-      <MarkerInfoSection
+      <MarkInfos
         key={marker}
         marker={marker}
         markerInfo={info}
@@ -290,8 +290,8 @@ class InfoMarkers {
     );
   }
 
-  renderSections(): React.ReactNode {
-    return this.selection.map((m) => this.renderSection(m));
+  renderMarks(): React.ReactNode {
+    return this.selection.map((m) => this.renderMark(m));
   }
 
 }
@@ -314,11 +314,12 @@ export default function ASTinfo() {
   Dome.useEvent(States.MetaSelection, (loc) => markers.setSelected(loc, true));
   return (
     <Section
-      settings="frama-c.astinfo.informations"
+      defaultUnfold
+      settings="frama-c.sidebar.astinfo"
       label="Informations"
       title="Contextual informations on current selection"
     >
-      {markers.renderSections()}
+      {markers.renderMarks()}
     </Section>
   );
 }
diff --git a/ivette/src/frama-c/kernel/Globals.tsx b/ivette/src/frama-c/kernel/Globals.tsx
index 6c94aedd859..9944e4d14ab 100644
--- a/ivette/src/frama-c/kernel/Globals.tsx
+++ b/ivette/src/frama-c/kernel/Globals.tsx
@@ -185,6 +185,7 @@ export default () => {
       label="Functions"
       title={title}
       onContextMenu={onContextMenu}
+      settings='frama-c.sidebar.globals'
       defaultUnfold
     >
       {filtered.map((fct) => (
diff --git a/ivette/src/frama-c/kernel/style.css b/ivette/src/frama-c/kernel/style.css
index d49716f52d0..8ad258ad99f 100644
--- a/ivette/src/frama-c/kernel/style.css
+++ b/ivette/src/frama-c/kernel/style.css
@@ -106,7 +106,7 @@
 }
 
 .astinfo-markerkind {
-    background: lightslategray;
+    background: #b1c6dc;
     position: relative;
     top: -1px;
     border-radius: 2px;
-- 
GitLab