Developer

API Reference

IConstraintContainer_SetConstraint()

Brew Release
Brew MP 1.0.2
See Also
- IConstraintContainer_GetConstraint()
- IConstraintContainer
- IWidget
- WidgetConstraint
Description
This function will change the constraint values or visible attributes of a given widget, and will optionally relocate that widget to a different location in the constraint container's widget stack. The new constraint and visibility values are passed to the function in a WidgetConstraint structure, pointed to by the 'pwc' parameter. The widget to receive the new values may be specified explicitly, by its widget pointer, or implicitly by a constant that identifies the widget's relative position within the container's widget stack. The 'pb' parameter controls whether or not the widget's location in the stack will move. Passing the constant WIDGET_ZNORMAL leaves the widget where it currently stands, without altering the order of the stack. Passing WIDGET_ZTOPMOST or WIDGET_ZBOTTOMMOST will move the widget to the top or bottom of the stack, while passing an explicit widget pointer will move the target widget to the stack location before the widget passed in 'pb'.
Parameters
  • p
    []:
    [in] A pointer to an IConstraintContainer object.
  • pw
    []:
    [in] Identifies the widget in the constraint container's widget stack that will be the target of the constraint change and (optionally) relocation. This widget may be expressed explicitly as a widget pointer, or implicitly as a constant that identifies a relative position within the widget stack, as follows - WIDGET_ZNORMAL - The target widget is the default widget, which BREW interprets to be the widget at the top of the widget stack. WIDGET_ZTOPMOST - The target widget is the widget at the top of the widget stack. WIDGET_ZBOTTOMMOST - The target widget is the widget at the bottom of the widget stack.
  • pb
    []:
    [in] Identifies a widget in the constraint container's widget stack that will serve as the relocation spot for the target widget. When this parameter is passed as an explicit pointer to a widget in the container's widget stack, the target widget will be moved to the stack location that is _before_ this widget. The new location for the target widget may be passed implicitly as a relative location in the stack by passing any of the following constants - WIDGET_ZNORMAL - Specifies that the target widget should NOT be moved and should instead remain at its current location in the widget stack. WIDGET_ZTOPMOST - The target widget should be moved to the top of the widget stack. WIDGET_ZBOTTOMMOST - The target widget should be moved to the bottom of the widget stack.
  • pwc
    []:
    [in] Pointer to a WidgetConstraint data structure, containing the new constraint value for the target widget, as well as its visibility attribute.

Prototype
   int IConstraintContainer_SetConstraint(IConstraintContainer *p, IWidget *pw, IWidget *pb, const WidgetConstraint *pwc);
Return
   
   AEE_SUCCESS   --  The constraint attributes of the widget were successfully changed.
   AEE_EBADPARM  --  The widget pointers passed in 'pw' and/or 'pb' either do not exist, or
                 refer to widgets that are not in the constraint container's widget
                 stack.

Side Effect
Calling IConstraintContainer_SetConstraint() will cause the constraint container to adjust the object layout to accommodate the altered constraints or reordering of the objects in the container's widget stack.
Comment
If IConstraintContainer_SetConstraint() is being called to change the location of the widget within the constraint container's widget stack without changing the constraint attributes of the widget, the caller MUST still pass in a pointer to the correct constraint attributes in the 'pwc' parameter. In such cases, the application should first call IConstraintContainer_GetConstraint() to retrieve the current constraint attributes, then call IConstraintContainer_SetConstraint() passing back the results received from IConstraintContainer_GetConstraint().
  • Follow