ckVision

Documentation coverage

This matrix is deliberately checked by doc_widget_coverage. It maps every public widget header to the client guide, a real example, generated screenshot, and executable test family. Screenshots are generated, not committed artwork.

Most Screenshot entries now name a widget-* figure: a focused cut-out of the widget, written by tools/docgen/capture_widget_shots from a scene in tools/docgen/widget_shots_*.cpp. Those scenes are compiled examples in their own right — the widget gallery quotes each one as that widget's usage sample — which is why they appear in the Compiled example column as widget_shots.

Public headerClient guideCompiled exampleScreenshotTest family
include/cvision/widgets/application_shell.hppHellohellohello-initialtest_hello_golden
include/cvision/widgets/big_clock.hppGallerywidget_shotswidget-bigclockviewtest_big_clock
include/cvision/widgets/button.hppGalleryforms/widget_shotswidget-buttontest_widgets, test_forms_smoke
include/cvision/widgets/canvas.hppGraphicsgraphics/widget_shotswidget-canvas/widget-canvas-no-graphicstest_graphics_smoke
include/cvision/widgets/combo_box.hppGalleryforms/workbench/widget_shotswidget-combobox/widget-combobox-opentest_combo_box
include/cvision/widgets/command_presentation.hppCommandshello/widget_shotswidget-toolbar/hello-menu-opentest_command
include/cvision/widgets/common_components.hppGalleryforms/workbench/widget_shotswidget-calendarview/widget-clockview/widget-wizard/widget-notificationcenter/widget-tooltiptest_common_components, test_tooltip_controller
include/cvision/widgets/desktop.hppObject modelgallery/widget_shotswidget-desktoptest_desktop
include/cvision/widgets/dialog.hppDialogsforms/widget_shotswidget-dialogdescriptortest_dialog
include/cvision/widgets/dialog_presentation.hppDialogsforms/widget_shotswidget-messageboxtest_dialog_presentation
include/cvision/widgets/date_time_dialog.hppDialogswidget_shotswidget-datedialog/widget-timedialogtest_date_time_dialog
include/cvision/widgets/directory_picker.hppPlatform servicesforms/widget_shotswidget-directorypickertest_directory_picker
include/cvision/widgets/editor_document.hppEditoreditor/widget_shotswidget-texteditor/editor-initialtest_editor_document
include/cvision/widgets/editor_search.hppEditoreditor/widget_shotswidget-texteditor/editor-searchtest_editor_search
include/cvision/widgets/editor_window.hppEditoreditor/widget_shotswidget-editorwindow/editor-close-confirmtest_editor_window
include/cvision/widgets/file_editor_controller.hppEditoreditoreditor-initial/editor-close-confirmtest_file_editor_controller
include/cvision/widgets/file_dialog.hppPlatform servicesfilebrowser/widget_shotswidget-filedialogtest_file_dialog
include/cvision/widgets/flow_view.hppFlow contentworkbench/widget_shotswidget-flowviewtest_flow_view, test_workbench_smoke
include/cvision/widgets/help_viewer.hppDialogsforms/widget_shotswidget-helpviewertest_help_viewer
include/cvision/widgets/image_view.hppGraphicsgraphics/widget_shotswidget-imageview/graphics-no-graphics-imagetest_graphics_smoke
include/cvision/widgets/input_presentation.hppGalleryforms/widget_shotsInputLine/ComboBox/SearchBox appearance variantstest_widgets, test_combo_box, test_common_components
include/cvision/widgets/input_presentation_internal.hppinternal field paint supportforms/widget_shotsInputLine/ComboBox appearance variantstest_widgets, test_combo_box
include/cvision/widgets/input_line.hppGalleryforms/widget_shotswidget-inputlinetest_widgets
include/cvision/widgets/key_chord_capture.hppGalleryworkbench/widget_shotswidget-keychordcapturetest_key_chord_capture, test_workbench_smoke
include/cvision/widgets/frame_text.hppGallerywidget_shots, EditorWindowwidget-frametexttest_frame_text
include/cvision/widgets/label.hppGallerylayouts/widget_shotswidget-labeltest_widgets
include/cvision/widgets/list_view.hppData viewsfilebrowser/widget_shotswidget-listviewtest_list_view
include/cvision/widgets/memo.hppGalleryworkbench/widget_shotswidget-memotest_memo
include/cvision/widgets/menu.hppHellohello/widget_shotswidget-menubar/widget-menubar-overflow/widget-dropdownmenutest_menu
include/cvision/widgets/message_box.hppDialogshello/forms/widget_shotswidget-messageboxtest_message_box
include/cvision/widgets/mnemonic.hppGalleryforms/widget_shotswidget-label/widget-checkgroup/widget-radiogrouptest_mnemonic
include/cvision/widgets/mnemonic_internal.hppinternal mnemonic paint supportforms/hello/widget_shotswidget-dropdownmenu/widget-checkgroup/widget-radiogrouptest_mnemonic, test_menu
include/cvision/widgets/option_group.hppGalleryforms/widget_shotswidget-checkgroup/widget-radiogrouptest_option_group
include/cvision/widgets/paged_strip.hppGallerywidget_shotswidget-pagedstriptest_paged_strip
include/cvision/widgets/popup_list.hppGalleryforms/widget_shotswidget-popuplisttest_popup_list
include/cvision/widgets/orientation.hppGallerylayouts/widget_shotswidget-scrollbartest_scrollbar
include/cvision/widgets/progress_paint_internal.hppAdvanced progressshared internal drawingwidget-progresstest_progress
include/cvision/widgets/progress_tasks.hppAdvanced progressprogress_lab/appearance_progresswidget-progressview-normal, widget-activityindicator-normaltest_progress_tasks
include/cvision/widgets/progress.hppGalleryworkbench/widget_shotswidget-progresstest_progress
include/cvision/widgets/scroll_viewport.hppGallerygallery/widget_shotswidget-scrollviewporttest_scroll_viewport
include/cvision/widgets/scrollbar.hppGallerygallery/widget_shotswidget-scrollbartest_scrollbar
include/cvision/widgets/splitter.hppLayoutlayouts/filebrowser/widget_shotswidget-splittertest_splitter
include/cvision/widgets/standard_strings.hppDialogsforms/widget_shotswidget-filedialog/widget-helpviewertest_standard_strings
include/cvision/widgets/static_text.hppGallerylayouts/widget_shotswidget-statictexttest_widgets
include/cvision/widgets/status_line.hppHellohello/forms/widget_shotswidget-statuslinetest_status_line, test_hello_golden, test_forms_smoke
include/cvision/widgets/tab_control.hppGalleryworkbench/graphics/widget_shotswidget-tabcontroltest_tab_control
include/cvision/widgets/table.hppData viewsworkbench/widget_shotswidget-table/widget-table-editingtest_table
include/cvision/widgets/cell_grid.hppData viewswidget_shotswidget-cellgridtest_cell_grid
include/cvision/widgets/terminal_report_dialog.hppGalleryspin/widget_shotswidget-terminalreportdialogtest_terminal_report_dialog
include/cvision/widgets/terminal_scrollbar.hppEmbedded terminalckvision_terminalinteractive sessiontest_terminal_scrollbar
include/cvision/widgets/terminal_view.hppEmbedded terminalckvision_terminalterminal-initialtest_terminal_view, test_terminal_app, terminal_redraw_contract
include/cvision/widgets/text_layout.hppGalleryeditor/widget_shotswidget-textview/widget-memotest_text_layout
include/cvision/widgets/text_view.hppGalleryworkbench/widget_shotswidget-textviewtest_text_view
include/cvision/widgets/theme_editor.hppThemesworkbench/widget_shotswidget-themeeditortest_theme_editor, test_workbench_smoke
include/cvision/widgets/text_editor.hppEditor; TODOeditor/todo/widget_shotswidget-texteditor/todo-note-editortest_text_editor, test_todo_smoke
include/cvision/widgets/syntax_profile.hppEditoreditor/widget_shotswidget-texteditor/editor-jsontest_syntax_profile
include/cvision/widgets/syntax_cache.hppEditoreditor/widget_shotswidget-texteditortest_syntax_cache
include/cvision/widgets/tree_view.hppData viewsfilebrowser/widget_shotswidget-treeviewtest_tree_view
include/cvision/widgets/window.hppObject modelgallery/widget_shotswidget-windowtest_window
include/cvision/widgets/window_list_dialog.hppGallerygallery/widget_shotswidget-windowlistdialogtest_window_list_dialog
include/cvision/widgets/minimized_window_stub.hppGallerywidget_shotswidget-minimizedwindowstubtest_minimized_window_stub
include/cvision/widgets/window_switcher_bar.hppGallerywidget_shotswidget-windowswitcherbartest_window_switcher_bar

Interaction scripts

Every public view type is also driven by at least one Application-level interaction script, and interaction_script_coverage checks this table against the tests (tools/docgen/check_interaction_scripts.py, with a --self-test). A script is a CK_TEST that reaches the view in a real Application and sends it input the way a terminal does: through Application::dispatch, HeadlessTerminal::inject_event or Application::step. The gate requires, for each row:

  • the view type is one the documentation-coverage gate enumerates, and every such type has a row;
  • the named case exists in the named file under tests/;
  • the case calls dispatch, inject_event or step, directly or through a helper the same test file defines;
  • the case never calls a view's on_key, on_key_release, on_mouse, on_text or on_paste handler itself, directly or through such a helper;
  • the case names the "Reached through" identifier: the type itself, or the factory, example or fixture that builds it.
View typeScript test caseReached through
BigClockViewtest_big_clock.cpp any_key_or_a_click_on_a_focused_face_asks_for_it_to_be_dismissedBigClockView
BreadcrumbBartest_common_components.cpp a_scripted_breadcrumb_bar_walks_and_activates_its_segmentsBreadcrumbBar
Buttontest_disabled_state.cpp a_press_on_a_disabled_button_never_fires_it_and_reaches_its_enabled_containerButton
CalendarDropdowntest_common_components.cpp a_hosted_date_picker_opens_the_calendar_and_tracks_its_typed_selectionCalendarDropdown
CalendarViewtest_common_components.cpp a_scripted_calendar_view_moves_by_keys_and_selects_the_clicked_dayCalendarView
Canvastest_canvas.cpp a_scripted_canvas_redraws_at_its_new_pixel_size_and_forwards_both_coordinate_spacesCanvas
CellGridtest_cell_grid.cpp a_scripted_cell_grid_is_walked_selected_and_activated_through_dispatched_inputCellGrid
CheckGrouptest_option_group.cpp alt_and_the_caption_letter_focus_the_group_from_anywhere_in_its_windowCheckGroup
ClockViewtest_common_components.cpp a_clock_repaints_when_the_time_changes_and_not_on_every_tickClockView
ComboBoxtest_combo_box.cpp a_combo_drops_a_popup_list_and_takes_the_row_chosen_from_itComboOnDesktop
CommandPalettetest_common_components.cpp a_scripted_command_palette_filters_as_typed_and_runs_the_highlighted_commandCommandPalette
DatePickertest_common_components.cpp a_hosted_date_picker_opens_the_calendar_and_tracks_its_typed_selectionDatePicker
Desktoptest_m8_integration.cpp clicking_deep_content_in_a_background_window_raises_and_activates_it_through_dispatchDesktop
DropdownMenutest_menu.cpp the_whole_menu_system_is_operable_by_mouse_aloneMenuScript
EditorWindowtest_editor_window.cpp a_scripted_editor_window_marks_typed_changes_and_keeps_its_close_control_vetoedEditorWindow
FlowViewtest_flow_view.cpp a_scripted_flow_view_scrolls_and_activates_links_by_key_by_click_and_by_wheelFlowView
FrameTexttest_frame_text.cpp a_scripted_frame_text_follows_its_window_through_a_click_that_deactivates_itFrameText
ImageViewtest_application.cpp a_frame_carrying_a_picture_is_not_followed_by_another_until_the_host_is_readyImageView
InputLinetest_widgets.cpp a_scripted_input_line_edits_selects_copies_recalls_and_undoes_through_dispatched_keysInputLine
KeyChordCapturetest_key_chord_capture.cpp a_scripted_chord_capture_shadows_the_bound_command_only_while_it_capturesKeyChordCapture
Labeltest_widgets.cpp alt_mnemonic_on_a_window_focuses_the_labels_buddyLabel
ListViewtest_list_view.cpp a_scripted_list_view_searches_walks_and_activates_by_key_and_by_timed_double_clickListView
Memotest_memo.cpp a_scripted_memo_edits_scrolls_copies_and_undoes_through_dispatched_keysMemo
MenuBartest_menu.cpp the_whole_menu_system_is_operable_by_keyboard_aloneMenuScript
MinimizedWindowStubtest_minimized_window_stub.cpp a_parked_window_can_be_got_back_without_a_mouseMinimizedWindowStub
NotificationCentertest_common_components.cpp a_scripted_notification_center_expires_toasts_and_dismisses_by_escape_and_clickNotificationCenter
PagedStriptest_paged_strip.cpp a_scripted_paged_strip_pages_and_activates_items_through_dispatched_clicksPagedStrip
PopupListtest_popup_list.cpp a_popup_list_hangs_under_its_anchor_and_is_as_wide_as_its_longest_itemPopupList
ActivityIndicatortest_progress_lab.cpp progress_lab_variants_run_pause_reset_and_resizeProgressLabApp
ProgressViewtest_progress_lab.cpp progress_lab_variants_run_pause_reset_and_resizeProgressLabApp
Progresstest_progress.cpp a_scripted_progress_bar_shows_each_state_its_host_sets_between_stepsProgress
PropertyInspectortest_common_components.cpp a_scripted_property_inspector_edits_a_value_in_placePropertyInspector
RadioGrouptest_option_group.cpp alt_and_the_caption_letter_focus_the_group_from_anywhere_in_its_windowRadioGroup
ScrollViewporttest_scroll_viewport.cpp application_routes_wheel_events_over_descendant_content_to_the_scroll_viewportScrollViewport
Scrollbartest_scrollbar.cpp a_scripted_scrollbar_steps_pages_and_drags_through_dispatched_inputScrollbar
SearchBoxtest_help_viewer.cpp enter_in_the_search_box_does_not_dismiss_the_help_windowSearchBox
Slidertest_common_components.cpp a_scripted_slider_follows_keys_and_a_proportional_clickSlider
SpinBoxtest_common_components.cpp a_scripted_spin_box_steps_by_keys_by_explicit_steppers_and_by_the_wheelSpinBox
Splittertest_splitter.cpp a_scripted_splitter_moves_its_divider_by_keys_and_by_a_dispatched_dragSplitter
StaticTexttest_wp36.cpp wrapped_static_text_reallocates_height_through_a_hosted_dialog_content_treeStaticText
StatusLinetest_status_line.cpp a_scripted_status_line_runs_its_command_by_click_and_by_chord_in_an_application_shellApplicationShell
TabControltest_tab_control.cpp a_scripted_tab_control_switches_pages_by_arrows_mnemonics_and_clicksTabControl
Tabletest_table.cpp a_scripted_table_sorts_on_a_header_click_and_edits_a_typed_cell_from_the_keyboardTable
TerminalViewtest_terminal_view.cpp terminal_view_reencodes_private_child_sixel_only_through_the_outer_presenterTerminalView
TextEditortest_text_editor.cpp text_editor_paints_host_highlights_and_places_a_virtual_caret_past_the_textTextEditor
TextViewtest_text_view.cpp a_scripted_text_view_scrolls_and_follows_links_through_dispatched_inputTextView
TimePickertest_common_components.cpp a_scripted_time_picker_steps_its_fields_and_shows_either_clock_faceTimePicker
ToolBartest_common_components.cpp a_scripted_tool_bar_click_runs_its_command_only_while_it_is_enabledToolBar
Tooltiptest_common_components.cpp a_scripted_tooltip_appears_and_leaves_with_the_frames_its_host_stepsTooltip
TreeViewtest_tree_view.cpp a_scripted_tree_view_expands_walks_and_activates_through_dispatched_inputTreeView
Windowtest_m8_integration.cpp clicking_deep_content_in_a_background_window_raises_and_activates_it_through_dispatchWindow
WindowSwitcherBartest_window_switcher_bar.cpp a_lengthening_title_shows_at_once_but_its_button_waits_out_the_grow_delayWindowSwitcherBar
Wizardtest_common_components.cpp a_scripted_wizard_goes_forward_back_and_finishes_only_when_allowedWizard