agentsclimarketplace

Gui widget filtering implementation

Skill HolobiomicsLab/asb-skill-collections/collections/metabolomics/v2/skills/gui-widget-filtering-implementation

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.From its SKILL.md

Install
npx -y skills add HolobiomicsLab/asb-skill-collections --skill gui-widget-filtering-implementation

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 15 stars15 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as CC-BY-4.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

6.6 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

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)."

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.