LibCXX Windows Library


LibCXX Windows Library
Installation, and requirements
I. Tutorial
1. LibCXX overview
2. Hello world!
Building example programs
Basic concepts
Display elements are reference-counted objects with smart pointers
Containers own references to the elements in the container
Connection threads and callbacks
Creator lambdas
Layout managers
3. Text labels
4. Word-wrapping labels
Preserving window positions
5. Input fields and buttons
Input fields
Using x::w::input_field
Password input fields
Shortcut activation
Element activation
Attaching application data to display elements
6. Date input fields
7. Validating input fields
8. Input field spinners
Implementing spin buttons
9. Disabling input processing
10. Using focusable display elements
11. Checkboxes and radio buttons
Creating checkboxes and radio buttons
Button labels
Customizing x::w::image_button labels
Setting checkbox and radio button state
Getting checkbox and radio button state
12. The grid layout manager
Nested containers
Setting the size of grid rows and columns
Callbacks and captures
13. The page layout manager
14. The book layout manager
The book page factory
The on_opened callback
An appdata example
15. 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
16. 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
17. Menus
The menu bar layout manager
Using the list layout manager with menus
Menu item attributes
Using the mouse pointer or the keyboard with menus
18. Context popup menus
Creating the contents of the context popup menu
Creating new context popup menus on demand
Keyboard shortcuts for context popup menus
19. The pane layout manager
Creating new panes
Input focus and selection lists
Panes with synchronized lists
20. Dialogs
Dialog identifiers
Other dialog creation parameters
File dialogs
Showing and hiding dialogs
Modal dialogs
x::w::main_windows own references on their dialogs
Custom dialogs
Ad-hoc error message dialogs
21. Print Dialog
Using the print dialog
Using singleton objects
22. Progress bars
23. Scroll-bars
Creating and configuring scroll-bars
Scroll-bar's current value
24. Font and color pickers
Creating font and color pickers
Using the font picker
Using the color picker
II. Custom display elements
25. Introduction
Public and implementation objects
Implementing a custom display element
26. Custom x::w::canvas
Horizontal and vertical metrics
Mixin templates
Drawing custom display elements
Scratch buffers
Overriding process_button_event()
27. Custom x::w::element
Resizing a custom display element
28. Custom focusable x::w::element
Overriding keyboard_focus() and process_key_event()
Overriding elementObj::implObj's basic do_draw() method
Drawing the updated contents of a custom display element
Creating the standard input focus frame display element
Creating the standard input focus frame implementation object
The x::w::nonrecursive_visibilityObj template mixin
The x::w::always_visibleObj template mixin
The x::w::container_visibleObj template mixin
Creating the standard input focus frame public object
29. Custom x::w::container
The x::w::container_elementObj template mixin
Overriding pointer_focus()
30. Custom font rendering
Font collections
Theme font rendering
The x::themedim_elementObj template mixin.
Typical implementation of custom theme-aware custom display elements
III. Miscellaneous topics
31. Singleton windows
32. Connections and screens
Connection mcguffins
33. Connection threads and callbacks
Callback calling conventions
Callback invocations
Flushing the display buffers
34. Properties and debugging
Setting properties
Locked display when setting breakpoints in callbacks
Lockups at program startup
Lockups at program terminations
Windows no longer getting updated
A. Scalable X Graphics
Structure of an SXG file
Scaling and round-off errors
Scaling algorithm
Specifying fonts
Creating pictures
Creating solid color pictures
Defining a background color
Using theme colors
Using predefined locations and dimensions
Creating text pictures
Creating pixmaps
Graphic context commands
fill and clear
Picture render commands
tristrip and trifan
Example SXG file
Using XInclude with SXG files
B. Manual pages
cxxwtheme — Set default display theme for LibCXXW-based applications