24 Repos
The process of defining custom layout, event, and rendering logic for specialized UI components.
Distinct from Custom Widget Frameworks: Focuses on the implementation of the widget itself rather than the framework for managing a collection of dashboard widgets
Explore 24 awesome GitHub repositories matching user interface & experience · Custom Widget Implementation. Refine with filters or upvote what's useful.
Grist is a relational spreadsheet platform that combines the flexibility of a spreadsheet with the power of a relational database. At its core, it manages structured data across multiple linked tables, using a relational database engine to organize information while providing a familiar grid interface. The platform supports Python-based formulas for complex calculations and data transformations, with automatic recalculation when referenced cells change. The system is designed for self-hosted deployment, storing data in either portable SQLite files or enterprise-grade PostgreSQL databases. It
Packages visual plugins to serve directly from the application without requiring external dependencies.
EmDash is an open-source content management system built on Astro that combines a visual admin panel with a plugin-driven architecture and server-side rendering. It provides a complete content management system with structured content modeling, a rich text editor using Portable Text format, and a TypeScript API for type-safe content queries. The system supports authentication through passkeys, OAuth 2.1, and external providers, with role-based access control and fine-grained permission scopes. What distinguishes EmDash is its plugin development framework, which supports both native plugins ru
Inserts pre-built content blocks into documents via a slash command for reusable patterns.
Druid is a native user interface toolkit and 2D graphics engine for the Rust programming language. It functions as a retained-mode, data-driven framework for building graphical user interfaces that run across Linux, macOS, and web browsers via WebAssembly. The toolkit distinguishes itself through a data-first approach to UI design, utilizing lenses to isolate subsets of global application state and synchronize them with specific widgets. This allows the visual layout to update automatically when the underlying data model changes. Its capability surface includes a constraint-based box layout
Allows for the design of specialized interface components by implementing custom logic for layout, events, and rendering.
CalendarView is a high-performance Android UI component designed for displaying dates and navigating chronological views. It functions as a canvas-based widget that utilizes direct drawing instead of standard list views to minimize memory usage and ensure fast rendering of complex date interfaces. The component provides a programmable interface for switching between month, week, year, and lunar views. It differentiates itself through a pluggable customization system that allows developers to override the drawing logic for dates, text, event markers, and selection layouts. The library support
Implements a canvas-based drawing system to ensure fast rendering and low memory overhead for complex date grids.
AndroidNote is a technical knowledge base and reference resource for Android development. It provides comprehensive guidance on application architecture, custom view development, and advanced graphics programming. The project is distinguished by its depth in visual implementation, covering pseudo-3D perspective projections via virtual cameras and complex 2D rendering using Bézier curves and PorterDuff color blending. It also provides detailed methodologies for app modularization and the management of internal libraries through private Maven repositories and JitPack. The reference surface ext
Implements specialized reusable widgets such as curved seek bars and rounded layouts.
litegraph.js is a JavaScript dataflow framework and visual node graph engine used to define programmable logic and data flow. It provides a node-based visual programming tool for designing complex logic through connected functional blocks. The library allows for the creation of hierarchical logic by nesting multiple nodes into recursive subgraphs. It also supports the development of custom node types with unique inputs and outputs, as well as custom widgets and live views that can hide the underlying graph structure to present a visual interface. The engine enables the execution of logic gra
Provides custom UI controls inside nodes for real-time parameter manipulation during graph execution.
PyQt-Fluent-Widgets is a Python GUI component library and framework extension that provides a set of pre-styled UI components following modern Fluent design standards. It replaces standard PyQt controls with a specialized widget set designed for building contemporary desktop applications. The library distinguishes itself by offering advanced layout patterns, such as waterfall grids, loading skeleton screens, and split-view application shells. It provides a comprehensive collection of high-level interface elements, including navigation menu systems, configuration setting cards, and complex vie
Offers a specialized set of interface elements that replace standard PyQt controls with modern styles.
Riverpod is a reactive state management framework for Dart that manages application state through providers which automatically track dependencies and rebuild dependents when values change. It functions as an asynchronous data caching library, caching results of async operations and exposing loading, error, and data states to widgets without manual future handling. The framework includes a provider composition system that combines multiple providers into derived values that recompute automatically when any dependency changes, along with code generation for state providers that reduces boilerpl
Extracts widget logic into reusable functions that can be shared across different widgets without code duplication.
Android-Bootstrap is a framework for Android application design that implements the Bootstrap design language and layout principles. It consists of a UI component library, a brand theme engine, and an icon integration toolkit to build mobile interfaces with a consistent visual theme. The framework utilizes a customizable interface to define global visual styles, colors, and typography across all application components. It includes a specialized system for mapping typeface files and unicode characters to scalable graphics within the interface. The project provides a collection of styled widge
Provides styled container widgets and selectable dropdown menus to wrap content consistently.
PyQt is a cross-platform GUI toolkit and desktop UI framework that provides Python bindings for the Qt framework. It serves as a widget library for creating graphical user interfaces that maintain consistent behavior and appearance across Windows, macOS, and Linux. The framework enables the development of desktop applications through a collection of pre-built interface components and layout managers. It supports the creation of specialized interface elements with custom styling, window animations, and the integration of web browser components to load and execute scripts alongside native eleme
Allows developers to define custom layout, event, and rendering logic for specialized UI components.
SQLiteStudio is an open-source graphical tool for browsing, editing, and managing SQLite database files. It combines a full-featured SQL editor with syntax highlighting, a visual database schema designer for creating entity-relationship diagrams, and a plugin-based extensibility platform that allows adding custom functionality through C/C++, JavaScript, Tcl, or Python. The application distinguishes itself through its multi-language scripting engine, which embeds JavaScript, Tcl, and Python interpreters to enable user-defined functions and scripts within SQL queries. It supports encrypted data
Ships a mechanism to register custom editors for specialized data types in the table grid.
Mixxx is a free, open-source DJ application that runs on Windows, macOS, and Linux, providing a complete platform for mixing audio tracks with beat detection, key analysis, and real-time effects during live performances. It functions as a digital mixer that supports MIDI controller mapping, timecode vinyl control, and custom skin layouts, while also serving as a live performance recording tool that can capture mixes to audio files and broadcast them to internet radio servers in real time. The application distinguishes itself through a comprehensive architecture that coordinates automated play
Instantiates complex widgets like the library only once and reparents them wherever they appear in the skin.
CKEditor 4 is a browser-based WYSIWYG rich text editor that enables users to create and format HTML content directly in the browser. It operates on a plugin-based architecture with a configurable toolbar system, DOM-based content editing, and an event-driven lifecycle, all delivered through a CDN-based distribution model. The editor supports skin-based theming and includes a legacy plugin compatibility layer for backward compatibility. The editor distinguishes itself as a cross-platform framework that integrates natively with Angular, React, Vue, Electron, Android, and iOS environments. It of
Provides a framework for creating reusable, self-contained content blocks within the editor.
SwitchButton ist ein anpassbares Toggle-Switch-Widget zum Erstellen animierter An/Aus-Schalter mit konfigurierbaren Labels und Farben. Es dient als interaktive Formulareingabe, die es Nutzern ermöglicht, zwischen zwei gegensätzlichen Optionen mittels einer zustandsgesteuerten Komponente zu wechseln. Das Widget ist gestenbewusst konzipiert und erfasst horizontale Wischbewegungen, um Zustandsänderungen auszulösen, während vertikale Scroll-Ereignisse an den übergeordneten Container weitergegeben werden. Die Komponente unterstützt die Definition benutzerdefinierter Farben, Abmessungen und Eckenradien sowohl für den Toggle-Thumb als auch für den Hintergrund-Track. Sie umfasst Funktionen zur Verwaltung von Toggle-Zuständen, zur Konfiguration von Label-Texten und zur Anpassung von Animationsgeschwindigkeiten.
Implements custom layout and rendering logic for a specialized animated toggle switch.
FUXA ist ein webbasiertes SCADA-System und eine industrielle HMI-Software zur Überwachung und Steuerung von industrieller Hardware. Es fungiert als Gateway für Industrieprotokolle und als Data Historian, der die Aufnahme von Telemetriedaten von speicherprogrammierbaren Steuerungen (SPS) und Sensoren über Standard-Kommunikationsprotokolle ermöglicht. Das Projekt bietet eine flussbasierte Automatisierungs-Engine, mit der komplexe operative Logik in einer visuellen Node-and-Edge-Umgebung erstellt werden kann. Es nutzt SVG-basiertes Rendering für seine grafischen Oberflächen, sodass Benutzer eigene HMI-Widgets und Dashboards entwickeln können, die mit Echtzeit-Gerätetelemetrie synchronisiert werden. Das System deckt ein breites Spektrum an operativen Funktionen ab, darunter Alarmmanagement mit schwellenwertbasierten Alerts, Zeitreihen-Datenarchivierung in relationalen oder Zeitreihen-Datenbanken sowie die Ausführung benutzerdefinierter Logik über eine integrierte JavaScript-Engine. Es bietet zudem Tools für die Konfiguration der Datenerfassung, den Export und Import von Projektstatus sowie rollenbasierte Zugriffskontrolle für die administrative Sicherheit. FUXA kann als Full-Stack-Anwendung auf verschiedenen Betriebssystemen oder als Headless-Binary auf Embedded-Geräten bereitgestellt werden.
Provides a system for implementing custom interactive HMI widgets with specific rendering and event logic using SVG and JavaScript.
Dieses Projekt ist eine Sammlung von Implementierungsmustern und Quellcodebeispielen für den Bau von Desktopanwendungen mit verschiedenen Python-Interface-Bibliotheken. Es bietet Referenzimplementierungen und Architekturmuster für mehrere Frameworks, darunter PyQt, PySide, Tkinter, Kivy und Streamlit. Das Repository zeichnet sich dadurch aus, dass es spezialisierte Beispiele für diverse Interface-Typen bietet, von professioneller Desktop-Software und nativen Fenstern bis hin zu reaktiven webbasierten Daten-Dashboards und Data-Science-Tools. Es enthält spezifisches Referenzmaterial für plattformübergreifende UI-Muster, wie Model-View-Layouts und asynchrone Hintergrundaufgaben-Ausführung. Das Projekt deckt ein breites Spektrum an Funktionen ab, einschließlich Layout-Management, Entwicklung benutzerdefinierter Widgets mit Animationen und GPU-beschleunigtem Rendering für Echtzeit-Visualisierungen. Es demonstriert zudem Datenmanagement-Techniken wie proxybasiertes Filtern und tabellarisches Datenstyling sowie Deployment-Workflows zum Verpacken von Quellcode in verteilbare Executables mit eingebetteten Assets. Die Beispiele adressieren zudem funktionale UI-Komponenten wie Eingabevalidierung, Navigationsmenüs und System-Tray-Integration sowie Sicherheitsimplementierungen für Benutzerauthentifizierung und rollenbasierte Zugriffskontrolle.
Demonstrates how to integrate custom-defined widgets into visual layout tools via widget promotion.
Apostrophe is an open-source Node.js headless content management system that delivers structured content through REST APIs while providing a visual in-context page editor for live editing. It is built on a module-based plugin architecture that extends CMS functionality through reusable modules, each encapsulating logic, configuration, and templates. The system uses schema-driven content modeling to define data structures and validation rules through configurable schemas and custom field types, with all content stored as flexible JSON-like documents in MongoDB. The platform distinguishes itsel
Builds reusable content blocks with custom schemas, templates, and player logic for page areas.
YASB is a customizable status bar framework and desktop shell component for Windows. It provides a toolkit for building personalized information bars using a modular class-based widget architecture and CSS-based styling. The framework distinguishes itself through deep integration with Windows tiling window managers, allowing users to display active workspaces, tiling layouts, and window focus states. It also features automated visual consistency by generating system color schemes based on the current desktop wallpaper. The project covers a wide range of capabilities, including real-time syst
Provides a class-based architecture for implementing personalized status bar elements with custom layout and rendering logic.
This project provides instructional and reference materials for C++ development, focusing on the Qt framework. It serves as a guide and example library for network programming, cross-platform builds, multithreaded execution, and GUI customization. The collection features specialized patterns for building user interfaces and customizing widgets through custom painting and styling. It also provides a reference for implementing client-server communication and managing concurrent tasks using synchronization primitives. The project covers a broad range of capabilities, including cross-platform ap
Provides specialized patterns for custom painting to create effects like acrylic blur and themed scrollbars.
toolong ist ein Terminal-Log-Viewer und TUI-Log-Manager, der für die Überwachung von Live-Log-Streams und die Navigation in großen Log-Dateien entwickelt wurde. Er fungiert als Log-Aggregator und JSONL-Formatter, der in der Lage ist, mehrere Log-Dateien zu einer einzigen chronologischen Ansicht zusammenzuführen, indem Zeitstempel automatisch erkannt werden. Die Anwendung unterstützt die Visualisierung strukturierter Daten durch Pretty-Printing von JSONL-Dateien und die Anwendung von Syntax-Highlighting auf gängige Webserver-Log-Muster. Sie verarbeitet große Datenmengen effizient durch scrollbare Ansichten mit virtueller Größe, was es Benutzern ermöglicht, komprimierte Logs oder Dateien beliebiger Größe zu öffnen, ohne das gesamte Dokument in den Arbeitsspeicher zu laden. Das System umfasst Funktionen für das Tailing von Log-Streams, das Fuzzy-Text-Matching und die Navigation über ein Stack-basiertes Screen-Modell. Es bietet zudem eine Befehlspalette zur Entdeckung von Anwendungsfunktionen und unterstützt interaktive Elemente wie anklickbare Links und Hover-Tooltips.
Provides a framework for creating custom UI elements by extending base classes and defining custom rendering logic.