Use when a GUI widget (e.g., isotopes display, compound list, or metabolite
Scanned 9/12/2026
Install to Claude Code
npx -y skills add HolobiomicsLab/asb-skill-collections --skill gui-widget-filtering-implementation --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Gui Widget Filtering Implementation?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/holobiomicslab-gui-widget-filtering-implementation)More formats (shields.io, HTML) on the badges page.
---
name: gui-widget-filtering-implementation
description: Use when a GUI widget (e.g., isotopes display, compound list, or metabolite
selector) should honor user preferences to show only a subset of available items,
and the filtering logic must read from application preferences and apply it during
widget rendering or refresh cycles.
license: CC-BY-4.0
metadata:
edam_topics: []
tools:
- git
- qmake
- make
- Maven GUI
- Qt5
license_tier: open
provenance_tier: literature
derived_from:
- doi: 10.3390/metabo12080684
title: MAVEN2
evidence_spans:
- git clone --recursive [redacted-email]:eugenemel/maven.git maven
- qmake -r build.pro
- make -j4
- 'Maven GUI: Metabolomics Analysis and Visualization Engine'
- Install the qt5 package
claims: []
provenance:
collection: https://w3id.org/holobiomicslab/asb-skill/collection/metabolomics/v2
assembled_by: scripts/collect_metabolomics_collection.py
sources:
- build: coll_maven2_cq
doi: 10.3390/metabo12080684
title: MAVEN2
dedup_kept_from: coll_maven2_cq
schema_version: 0.2.0
attribution:
generator: AgenticScienceBuilder
original_doi: 10.3390/metabo12080684
all_source_dois:
- 10.3390/metabo12080684
zenodo_doi: 10.5281/zenodo.20794027
curators: []
promoter: Louis-Félix Nothias
sponsor: CNRS & Université Côte d'Azur
---
# GUI widget filtering implementation
## Summary
Implement a preference-driven filter for GUI widgets that restricts display to user-selected items by reading application preferences and conditionally suppressing rendering of non-selected entities. This skill applies preference-selection logic to widget rendering loops in Qt-based applications.
## When to use
Use this skill when a GUI widget (e.g., isotopes display, compound list, or metabolite selector) should honor user preferences to show only a subset of available items, and the filtering logic must read from application preferences and apply it during widget rendering or refresh cycles.
## When NOT to use
- The filtering logic is already implemented in the widget or a parent container.
- The application uses a declarative UI framework (e.g., QML) rather than imperative C++ rendering loops, requiring different implementation strategies.
- Preferences are not yet defined or accessible in the codebase; preference schema must be designed first.
## Inputs
- Application preference file or store (containing selected item identifiers)
- Widget source code (Qt C++ files)
- Widget data source or model (list of all available items)
## Outputs
- Modified widget source code with preference-reading and rendering filter logic
- Compiled and relinked executable (via qmake/make)
- Widget display showing only selected items
## How to apply
Locate the widget's source code and its rendering loop (typically in the Maven GUI src/ directory tree). Identify where application preferences store the active/selected items (e.g., a preference key listing selected isotopes). Implement a filter that reads the active set from preferences before or during the widget's display rendering phase. For each item in the widget's data source, check membership in the active set; suppress rendering (skip or hide) any item not in that set. Recompile using qmake -r build.pro and make -j4, then manually test the widget to verify that visibility matches the preference selection. The rationale is that preference-driven filtering centralizes user intent in a single source of truth (application preferences) rather than distributing filter state across multiple UI elements.
## Related tools
- **git** (Clone the Maven repository and manage feature branches for the filtering implementation) — https://github.com/eugenemel/maven
- **qmake** (Generate build configuration from Qt project files before compilation)
- **make** (Compile and link the modified widget source code with parallel jobs)
- **Maven GUI** (Host application containing the widget to be filtered) — https://github.com/eugenemel/maven
- **Qt5** (GUI framework providing widget rendering, preference storage, and signal/slot mechanisms)
## Evaluation signals
- Widget rendering loop successfully reads application preferences without errors or undefined-reference exceptions.
- Manual testing confirms that only items present in the active preference set are visible in the widget; items not in the set are absent from display.
- Compilation completes with no errors using 'qmake -r build.pro && make -j4'.
- Preference changes (e.g., selecting/deselecting an isotope in preferences) cause the widget display to update on next refresh or application restart.
- Code review confirms that the filter logic is applied before or at the rendering stage, not after all items are already drawn.
## Limitations
- The article provides only a README with build instructions and retirement notice; no actual source code or preference-storage mechanism is documented, so the exact location and structure of preference keys must be discovered by code inspection.
- If preferences are not persisted across sessions or do not support the item identifiers used by the widget, the filter will fail silently or render all items.
- Performance implications are not discussed; if the data source is very large, reading preferences and filtering during every render cycle may cause lag.
## Evidence
- [other] How does the isotopes widget restrict its display to only those isotopes that have been selected in the application preferences?: "How does the isotopes widget restrict its display to only those isotopes that have been selected in the application preferences?"
- [other] Identify the preference-selection mechanism and the isotopes display rendering logic. 4. Implement a filter that reads the active isotopes from application preferences and applies it to the isotopes widget display loop, suppressing rendering of any isotope not in the selected set.: "Identify the preference-selection mechanism and the isotopes display rendering logic. 4. Implement a filter that reads the active isotopes from application preferences and applies it to the isotopes"
- [other] Recompile the project using qmake -r build.pro and make -j4 to verify no compilation errors.: "Recompile the project using qmake -r build.pro and make -j4 to verify no compilation errors."
- [other] Test the widget manually to confirm that isotope visibility now matches the preference selection.: "Test the widget manually to confirm that isotope visibility now matches the preference selection."
- [other] Locate the isotopes widget source code in the Maven GUI codebase (typically in the src/ directory tree).: "Locate the isotopes widget source code in the Maven GUI codebase (typically in the src/ directory tree)."
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!