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