Middleware, development tools, realtime operating system
software and services for superior embedded design


Home
QNX Community Resources
QNX Documentation Library
PtValidParent

PtValidParent

QNX Software Systems
Developer Resources
Blogs
Board support packages
Foundry27 projects
Forums
Hardware support listing
Online video tutorials
Product documentation
Technical Articles

PtValidParent()

Identify a valid parent for the specified widget

Synopsis:

PtWidget_t * PtValidParent( 
                 PtWidget_t *widget_parent, 
                 PtWidgetClassRef_t *class_ref );

Library:

ph

Description:

This function determines the real parent widget for widgets of type class_ref, given that its parent is specified as widget_parent when created or reparented. Examples of a class_ref include PtWidget, PtBasic, PtLabel, PtMeter, and so on.

The real parent of a widget might not be the specified widget_parent in special circumstances where the specified parent widget redirects the child to an alternate parent. Some examples:

Returns:

A pointer to the widget that will be the real parent of any widgets of type class_ref created in or reparented to widget_parent.

Examples:

PtWidget_t *
MyRedirector( PtWidget_t *widget )
{
   MyWidget_t *my = (MyWidget_t * ) widget;

   PtWidget_t *parent;
   if( ( parent = 
           PtValidParent( my->scroll_area,
                          widget->class_ref ) ) == widget )
         return PtWidgetParent( widget );

   return( parent );

  /* 
   * Returning my->scroll_area would allow the child
   * to be created as a direct child of my->scroll_area.
   * This would be undesirable because scroll_area is a 
   * compound widget, which also needs to redirect its
   * children to work correctly.
   */
}

Classification:

Photon

Safety:
Interrupt handler No
Signal handler No
Thread No

See also:

PtFindGuardian(), PtGetParent(), PtGetParentWidget(), PtReparentWidget(), PtSetParentWidget(), PtWidgetParent()

"Ordering widgets" in the Managing Widgets in Application Code chapter of the Photon Programmer's Guide