for connected embedded systems
About This Manual
![]() |
For an overview of the changes to the software and docs, see "What's new in Photon 1.14 (as of June 01, 2000)." |
The Building Custom Widgets manual accompanies the Photon Developer's Toolkit and is intended for Photon programmers who want to create custom widgets. This manual contains everything you need to know about building your own Photon widgets. Sample code is used throughout this manual to demonstrate new concepts.
| When you want to: | Go to: |
|---|---|
| Learn about widget concepts, attributes, and behavior | Overview |
| Initialize a widget class, set up a widget instance structure, or set application resources | Life Cycle of a Widget |
| Define a widget class, its resources, methods, or actions | Anatomy of a Widget |
| Choose a widget superclass to base your custom widget on | Using Widget Superclasses |
| Customize a list widget | Creating a List Widget |
| Customize a tree widget | Creating a Tree Widget |
| Add a custom widget to the PhAB widget palette | Binding Widgets into PhAB |
| Manage widgets using the supplied convenience functions | Widget Building Library API |
| Read widget-building tips | Miscellaneous Widget-Building Tips |
| Look up Photon terms | Glossary |
What's new in Photon 1.14 (as of June 01, 2000)
- Overview
- The source for the ShadowedBox widget has been updated.
- Anatomy of a Widget
- The Pt_ARG_IS_STRUCT resource type handles widget members
that are of a fixed size, including data of type
float or double. See
"PtResourceRec_t
resource records."
As discussed in "Container widget anatomy," you can enable or disable all the container's child-constraint methods at once by setting or clearing Pt_IGNORE_CONSTRAINTS.
The section on the Defaults method for Compound widgets discusses setting the Pt_ARG_DATA resource. Your custom widget shouldn't set its own Pt_ARG_DATA resource because this resource is used internally by the Photon libraries. It is safe to set it in your widget's subordinate children.
The discussion of the Draw method now includes a section on using the Pg library safely.
- Using Widget Superclasses
- In the
discussion of PtWidget,
Pt_ETCHED_HIGHLIGHT is correctly named
Pt_ETCH_HIGHLIGHT, and
Pt_SET_CHILD_UNREALIZING_F should be
Pt_SET_CHILD_UNREALIZED_F.
PtBasic's Pt_ARG_BASIC_FLAGS resource isn't used and has been removed from the discussion of PtBasic.
- Creating a List Widget
- In the discussion of PtGenList,
Pt_GEN_LIST_BALLOONS_IN_COLUMNS should be
Pt_LIST_BALLOONS_IN_COLUMNS.
PtGenList's Pt_ARG_SCROLLBAR resource has been deprecated.
The following prototypes have changed:
- Creating a Tree Widget
- The following prototypes have changed:
- Widget Building Library API
- The following prototypes have changed:
- Miscellaneous Widget-Building Tips
- New appendix.

