# IRsPanelObjContainer Interface Reference

Inherits IUnknown.

List of all members.

## Public Member Functions
HRESULT | Add ([in] IRsPanelObj *pPanelObj)
HRESULT | InsertAt ([in] RtUlong pos,[in] IRsPanelObj *pPanelObj)
HRESULT | SetAt ([in] RtUlong pos,[in] IRsPanelObj *pPanelObj)
HRESULT | GetAt ([in] RtUlong pos,[out, retval] IRsPanelObj **ppPanelObj)
HRESULT | ReCreateAll ([in] IRsPanelOwner *pPanelOwner)
HRESULT | UpdateAll (void)
HRESULT | RemoveAll (void)
HRESULT | RemoveType (RtPanelViewType uType)
HRESULT | RemoveAt ([in] RtUlong pos)
HRESULT | Move ([in] RtUlong from,[in] RtUlong to)
HRESULT | RecountPositionsByOrder (void)
HRESULT | GetTopPos ([out, retval] POINT *pVal)
HRESULT | GetBottomPos ([out, retval] POINT *pVal)
HRESULT | MoveAll ([in] POINT ptDifference)
HRESULT | MoveAllAbove ([in] POINT ptPoint,[in] POINT ptDifference)
HRESULT | MoveAllUnder ([in] POINT ptPoint,[in] POINT ptDifference)
HRESULT | OnResizeView ([in] LPCRECT pNewRect)
HRESULT | GetBoundingRect ([out, retval] LPRECT prcBounding)
HRESULT | FindByRoot ([in] BSTR bsRoot,[out, retval] RtUlong *pIndex)
HRESULT | FindByRootAspect ([in] BSTR bsRoot,[in] RtUlong uAspect,[out, retval] RtUlong *pIndex)
HRESULT | FindByPosition ([in] POINT ptPosition,[out, retval] RtUlong *pIndex)
HRESULT | FindByScreenPos ([in] POINT ptScreenPos,[out, retval] RtUlong *pIndex)
HRESULT | FindByViewType ([in] RtPanelViewType uType,[out, retval] RtUlong *pIndex)
## Properties
RtUlong * | Count`[get]`
RtUlong | Count`[set]`

## Detailed Description

The IRsPanelObjContainer interface provides methods for panel object container.

- Container contains array of panel objects.
- This contains methods that should simplify work with this type of array.

## Member Function Documentation

HRESULT IRsPanelObjContainer::Add | ( | [in] IRsPanelObj * | pPanelObj | ) |

Call this method to add a panel object to the array of panel objects.

Parameters:

  | pPanelObj | [in] The panel object to be added to the array.

HRESULT IRsPanelObjContainer::InsertAt | ( | [in] RtUlong | pos,
|  | [in] IRsPanelObj * | pPanelObj |
| ) |  |  |

Call this method to insert a new panel object into the container's array object.

Parameters:

  | pos | [in] The index where the panel is to be inserted.
  | pPanelObj | [in] New panel object.

HRESULT IRsPanelObjContainer::SetAt | ( | [in] RtUlong | pos,
|  | [in] IRsPanelObj * | pPanelObj |
| ) |  |  |

Set single element - panel object at specified position.

Parameters:

  | pos | [in] The index pointing to the array element to set.
  | pPanelObj | [in] The new value of the specified panel object.

HRESULT IRsPanelObjContainer::GetAt | ( | [in] RtUlong | pos,
|  | [out, retval] IRsPanelObj ** | ppPanelObj |
| ) |  |  |

Get a single element - panel object at specified position.

Parameters:

  | pos | [in] The index value of the array element to return.

Returns:
  ppPanelObj [out, retval] The reference the required array element.

HRESULT IRsPanelObjContainer::ReCreateAll | ( | [in] IRsPanelOwner * | pPanelOwner | ) |

Recreate all panel objects that panel container contains, useful when stack view aspect is switched.

Parameters:

  | pPanelOwner | [in] The panel owner that will contain window controls of all panel objects.

HRESULT IRsPanelObjContainer::UpdateAll | ( | void |  | ) |

Update all panel objects that panel container contains.

HRESULT IRsPanelObjContainer::RemoveAll | ( | void |  | ) |

Remove all panels.

HRESULT IRsPanelObjContainer::RemoveType | ( | RtPanelViewType | uType | ) |

Remove all panels of specified type.

Parameters:

  | uType | [in] The type of panel view, that will be removed.

HRESULT IRsPanelObjContainer::RemoveAt | ( | [in] RtUlong | pos | ) |

Remove panel object at specified position.

Parameters:

  | pos | [in] The index of the panel object to remove.

HRESULT IRsPanelObjContainer::Move | ( | [in] RtUlong | from,
|  | [in] RtUlong | to |
| ) |  |  |

Move panel object from position specified by parameter "from" to the position specified by parameter "to".

Parameters:

  | from | [in] The index of the panel object to remove.
  | to | [in] The index where the panel object is to be inserted.

HRESULT IRsPanelObjContainer::RecountPositionsByOrder | ( | void |  | ) |

Recount positions of panels by order in panel object container.

- First in array, will be have top position.

HRESULT IRsPanelObjContainer::GetTopPos | ( | [out, retval] POINT * | pVal | ) |

Get position of top panel object.

Returns:
  pVal [out, retval] Pointer to a variable that retrieves top-left corner coordinates of top panel object window, in pixels (stack view coordinates).

HRESULT IRsPanelObjContainer::GetBottomPos | ( | [out, retval] POINT * | pVal | ) |

Get position of bottom panel object.

Returns:
  pVal [out, retval] Pointer to a variable that retrieves bottom-left corner coordinates of top panel object window, in pixels (stack view coordinates).

HRESULT IRsPanelObjContainer::MoveAll | ( | [in] POINT | ptDifference | ) |

Move all panels in direction specified by parameter.

Parameters:

  | ptDifference | [in] The vector of move.

HRESULT IRsPanelObjContainer::MoveAllAbove | ( | [in] POINT | ptPoint,
|  | [in] POINT | ptDifference |
| ) |  |  |

Move all panels above position selected by parameter pt Point in direction specified by parameter.

Parameters:

  | ptPoint | [in] The reference point, all panels that will be moved are above this point.
  | ptDifference | [in] The vector of move.

HRESULT IRsPanelObjContainer::MoveAllUnder | ( | [in] POINT | ptPoint,
|  | [in] POINT | ptDifference |
| ) |  |  |

Move all panels under position selected by parameter pt Point in direction specified by parameter.

Parameters:

  | ptPoint | [in] The reference point, all panels that will be moved are under this point.
  | ptDifference | [in] The vector of move.

HRESULT IRsPanelObjContainer::OnResizeView | ( | [in] LPCRECT | pNewRect | ) |

Handles resize of view, which contains panels.

Parameters:

  | pNewRect | [in] Parameter is not used.

HRESULT IRsPanelObjContainer::GetBoundingRect | ( | [out, retval] LPRECT | prcBounding | ) |

Get bounding rectangle of all panels in container, in stack view coordinates.

Returns:
  prcBounding [out, retval] Variable retrieves bounding rectangle of all panels in container, in stack view coordinates.

HRESULT IRsPanelObjContainer::FindByRoot | ( | [in] BSTR | bsRoot,
|  | [out, retval] RtUlong * | pIndex |
| ) |  |  |

Find index of first panel object in container by panel root.

Parameters:

  | bsRoot | [in] The required root of panel object.

Returns:
  pIndex [out, retval] Pointer to a variable of type RtUlong that retrieves index of first suitable element in conainer array object.

HRESULT IRsPanelObjContainer::FindByRootAspect | ( | [in] BSTR | bsRoot,
|  | [in] RtUlong | uAspect,
|  | [out, retval] RtUlong * | pIndex |
| ) |  |  |

Find index of first panel object in container by panel root, and aspect index.

- There can be more panels with same root but different active aspect in container.

Parameters:

  | bsRoot | [in] The required root of panel object.
  | uAspect | [in] The required active aspect index of panel object.

Returns:
  pIndex [out, retval] Pointer to a variable of type RtUlong that retrieves index of first suitable element in conainer array object.

HRESULT IRsPanelObjContainer::FindByPosition | ( | [in] POINT | ptPosition,
|  | [out, retval] RtUlong * | pIndex |
| ) |  |  |

Find index of panel object in container by position in stack view coordinates.

Parameters:

  | ptPosition | [in] The required position of panel in stack view coordinates.

Returns:
  pIndex [out, retval] Pointer to a variable of type RtUlong that retrieves index of first suitable element in conainer array object.

HRESULT IRsPanelObjContainer::FindByScreenPos | ( | [in] POINT | ptScreenPos,
|  | [out, retval] RtUlong * | pIndex |
| ) |  |  |

Find index of panel object in container by position in screen coordinates.

Parameters:

  | ptScreenPos | [in] The required position in screen coordinates.

Returns:
  pIndex [out, retval] Pointer to a variable of type RtUlong that retrieves index of first suitable element in conainer array object.

HRESULT IRsPanelObjContainer::FindByViewType | ( | [in] RtPanelViewType | uType,
|  | [out, retval] RtUlong * | pIndex |
| ) |  |  |

Find index of first panel object in container by panel view type.

Parameters:

  | uType | [in] The required panel view type.

Returns:
  pIndex [out, retval] Pointer to a variable of type RtUlong that retrieves index of first suitable element in conainer array object.

## Property Documentation

RtUlong* IRsPanelObjContainer::Count`[get]`

Call this method to return the number of panels stored in the panel object container.

Returns:
  pVal [out, retval] Pointer to a variable of type RtUlong, that retrieves the number of panels stored in the container.

RtUlong IRsPanelObjContainer::Count`[set]`

Call this method to set the size of the array object, that contains panel objects.

Parameters:

  | newVal | [in] The required size of the container's array.