Part I. Tutorial


1. LibCXX overview
2. Hello world!
Building example programs
Basic concepts
Application identifiers and version
Widgets are reference-counted objects with smart pointers
Containers own references to the widgets in the container
Proper reference-counting is critical
Connection threads and callbacks
Creator lambdas
Layout managers
3. Text labels
Bi-directional labels
4. Word-wrapping labels
Using font literals
Customizing visual appearance of widgets
Modifying an appearance object
Caching appearance objects
Using an XML stylesheet to create an appearance object
5. Input fields and buttons
Input fields
Using x::w::input_field
Password input fields
Turning on an input field's password mode
Bi-directional input fields
Shortcut activation
Element activation
Attaching application data to widgets
6. Date input fields
7. Validating input fields
Using on_validate()
Understanding references between input field-related objects and avoiding circular references
8. Filtered input fields
The on_filter() callback
Filtering cursor movements
Using on_default_filter()
on_default_filter() requirements
9. Static tooltips
Creating and destroying static tooltips
10. The item layout manager
Using singleton objects
11. Input field spinners
Implementing spin buttons
12. Disabling input processing
13. Using focusable widgets
14. Checkboxes and radio buttons
Creating checkboxes and radio buttons
Radio group identifiers
Button labels
Customizing x::w::image_button labels
Setting checkbox and radio button state
Getting checkbox and radio button state
15. The grid layout manager
Nested containers
Setting the size of grid rows and columns
Callbacks and captures
16. The border layout manager
Creating a border with an optional title
Border title and background
Background colors and titles
17. The page layout manager
18. The book layout manager
The book page factory
The on_opened callback
An appdata example
19. Selection lists
Creating a list layout manager
Selecting multiple items in a list, and callbacks
Enabling and disabling list items
Modifying the contents of a list
List locks
Lists with multiple columns
20. Tables
Creating a table layout manager
Adjustable tables
Adjusting table column widths using the keyboard
Preserving table columns' widths
21. Hierarchical lists
Creating a hierarchical list
List item hierarchical indentation
Image icons in selection lists
22. Standard and editable combo-boxes
Creating a standard combo-box layout manager
Retrieving the standard combo-box's current selection
Using the standard combo-box with a pointer or a keyboard
Locking the combo-box
Editable combo-boxes
23. Search fields
Creating a search field
The search callback thread
Aborting searches
Processing search results
24. Menus
The menu bar layout manager
Retrieving the existing menus.
Using the list layout manager with menus
Menu item attributes
Using the mouse pointer or the keyboard with menus
25. Context popup menus
Creating the contents of the context popup menu
Creating new context popup menus on demand
Keyboard shortcuts for context popup menus
26. Copy/Cut/Paste menu items
Application menus with copy, cut, and paste items
Context menu popups with copy, cut, and paste items
27. The pane layout manager
Pane container's size
Creating new panes
Removing panes
Input focus and selection lists or tables
Configuring lists and tables in panes
Panes with synchronized lists
Preserving and restoring pane sizes
28. The peephole layout manager
Creating a peephole
Specifying the peephole's size
Ensuring visibility of widgets in a peephole
29. Dialogs
Dialog identifiers and configuration settings
Other dialog creation parameters
Standard dialog callbacks
File dialogs
Showing and hiding dialogs
Modal dialogs
x::w::main_windows own references on their dialogs
Custom dialogs
Ad-hoc error message dialogs
30. Print Dialog
Using the print dialog
Another singleton example
31. Progress bars
32. Scroll-bars
Creating and configuring scroll-bars
Scroll-bar's current value
33. Font and color pickers
Creating font and color pickers
Using the font picker
Using the color picker
34. Toolbox Dialogs
Creating a toolbox layout manager
Initial dialog position
The on_stabilized() callback
Custom images for checkbox and radio buttons
35. Splash windows
Creating splash windows
Using the standard HTML 3.2 color palette
36. Generating widgets from an XML theme file
37. Bi-directional text
Bi-directional text input