Skip to main content

Widgets & Modules

A reference of every public header under include/toolkit/ (plus db/ and i18n/), grouped by area. All widget classes live in the toolkit namespace unless noted otherwise.

Linked class names have their own API reference page. Most widgets derive from Widget and share a common base API: set_enabled()/is_enabled(), set_visible()/is_visible()/show()/hide(), set_focusable()/ is_focusable(), set_tooltip(), set_background_color(), rect(), size_hint(), set_min_size()/set_max_size().

Core & application​

HeaderProvides
application.hppApplication — event loop, window creation, run()
window.hppWindow — widget tree root, events, timers, tooltips
widget.hppWidget — base class all widgets derive from
platform.hppPlatformApplication / PlatformWindow backend interfaces
painter.hppCairo-based Painter drawing API
pixel_format.hppPixel format / surface format definitions
clipboard.hppSystem clipboard access (copy/paste)
events.hppMouseEvent, KeyEvent types
types.hppPoint, Size, Rect, Color, CursorShape, Key
window_title_bar.hppClient-side decoration title bar

Layouts​

HeaderProvides
layout.hppLayouts — VBoxLayout, HBoxLayout, GridLayout, StackedLayout, FormLayout

Widgets​

HeaderProvides
button.hppButton
button_group.hppButtonGroup — exclusive/grouped button behavior
label.hppLabel — multi-line, shrinkable
checkbox.hppCheckbox
radio_button.hppRadioButton + RadioGroup
combobox.hppCombobox — dropdown selection
line_input.hppLineInput — single-line text input with selection
text_edit.hppTextEdit — multi-line text editor
spin_box.hppSpinBox — numeric input
slider.hppSlider
progress_bar.hppProgressBar
icon_grid.hppIconGrid — grid-of-icons widget
html_view.hppHtmlView — Markdown/HTML rendering via litehtml
rich_label.hppRichLabel — inline rich text label
image_widget.hppImageWidget — display a bitmap with zoom/pan
toast_widget.hppToastWidget — transient notification popup

Containers & navigation​

HeaderProvides
tab_widget.hppTabWidget — tabbed container
splitter.hppSplitter — resizable split panes
scroll_area.hppScrollArea
scrollable_widget.hppScrollableWidget base for scrollable content
scrollbar.hppScrollbar
dock_area.hppDockArea — dockable panel layout
status_bar.hppStatusBar

Data & views​

HeaderProvides
item_model.hppItemModel — base data model for views
list_view.hppListView — scrollable list with filterable adapters and async progress
tree_view.hppTreeView
table_view.hppTableView
file_tree_model.hppFileTreeModel — filesystem-backed tree model
file_browser_widget.hppFileBrowserWidget
HeaderProvides
menubar.hppMenuBar
menu.hppMenu
context_menu.hppContextMenu — popup context menu
toolbar.hppToolbar
command.hppCommand — keyboard shortcut / action commands

Dialogs & system integration​

HeaderProvides
file_dialog.hppFileDialog — native or toolkit file picker
directory_dialog.hppDirectoryDialog
message_box.hppMessageBox
tray_icon.hppTrayIcon — system tray integration

Charts (toolkit/charts/)​

See the charts overview for the shared data and interaction model.

HeaderProvides
line_chart.hppLineChart
bar_chart.hppBarChart
stacked_bar_chart.hppStackedBarChart
area_chart.hppAreaChart
pie_chart.hppPieChart
scatter_plot.hppScatterPlot
histogram.hppHistogram
candlestick_chart.hppCandlestickChart
chart_defaults.hppShared default styling/config for charts
chart_interaction.hppZoom/pan/hover interaction helpers

Text & rendering​

HeaderProvides
text_rasterizer.hppTextRasterizer interface (platform-specific glyph rasterization)
text/text_layout.hppText shaping and line-layout
text/bidi.hppBidirectional (RTL/LTR) text support
utf8.hppUTF-8 string helpers

html_view.hpp (HtmlView) is listed under Widgets above, since it's a widget you place directly in a UI.

Theming​

HeaderProvides
theme.hppTheme — active theme access
theme_base.hppThemeBase — base class for theme implementations
theme_factory.hppRuntime theme selection
theme_macos.hppmacOS-style theme
theme_win11.hppWindows 11-style theme
theme_win95.hppWindows 95-style theme
theme_plasma.hppLinux/Plasma-style theme

Each theme supports both light and dark color schemes.

Images & icons​

HeaderProvides
image.hppImage — decoded image data
stb_image_loader.hppImage loading via STB
xdg_image_loader.hppXDG-themed image loading
lunasvg_image_loader.hppSVG image loading via lunasvg
xdg_icons.hppXDG icon theme lookup (works on Windows/macOS too)
xdg_icon_names.hppStandard XDG icon name constants

Data & networking​

HeaderProvides
db/connection.hppSQLite-backed Connection (API designed to support other DBMS)
toolkit/net/http.hppHttp client

Internationalization​

HeaderProvides
i18n/catalog.hppCatalog — gettext-style translation lookup
i18n/builtin.hppBuilt-in translation catalogs

Utilities​

HeaderProvides
stopwatch.hppStopwatch — high-resolution timer
undo_stack.hppUndoStack
undo_command.hppUndoCommand base class
widget_loader.hppDump/reload widget-tree state to and from JSON

Header paths are relative to include/toolkit/ unless prefixed otherwise. For platform-backend internals (X11, Win32, Wayland, macOS), see the src/toolkit/platform/ implementation directories in the repository.