JVCL Help:IJvDataItemsRenderer

From Project JEDI Wiki
Jump to navigationJump to search
JEDI Visual Component Library Help

Search in JVCL Help

 
Search in all projects
 

Class Hierarchy

IJvDataItemsRenderer
TJvBaseDataItemsRenderer
run\JvDataProviderIntf.pas


Summary

Support interface for IJvDataItems that handles rendering and measuring of its items and their sub items.

run\JvDataProviderIntf.pas


Pascal

 run\JvDataProviderIntf.pas
 IJvDataItemsRenderer = interface;


Description

IJvDataItemsRenderer is an optional supporting interface for IJvDataItems that can handle the rendering and measuring of the items in the list.
The interface provides methods to:

  • Draw an item given its index.
  • Measure an item given its index.
  • Draw the specified IJvDataItem instance.
  • Measure the specified IJvDataItem instance.
  • Determine the average item size.

Some implementations of this interface will first check if the item to render or measure supports the IJvDataItemRenderer interface; if it does, it will redirect the operation to that implementation instead of handling it itself.
Consumers generally handle rendering/measuring in the following way:

  • Check if the item supports the IJvDataItemRenderer interface. If it does use it to perform the rendering/measuring.
  • Check for the closest IJvDataItemsRenderer interface (the direct owning IJvDataItems list or anyof the lists in its parent chain). If it finds one use it to perform the rendering/measuring.
  • Handle the rendering at the consumer side. This means all items are considered equal and usually only IJvDataItemText and optionally IJvDataItemImage (and the corresponding IJvDataItemsImages) are used. The entire rendering/measuring is then consumer (control) dependent and the provider tree may no longer look uniform in different consumers/clients.

run\JvDataProviderIntf.pas


See Also

IJvDataItemRenderer, IJvDataItems

run\JvDataProviderIntf.pas


About

Navigation

run\JvDataProviderIntf.pas



Contribute to this help topic

This documentation wiki is based on the collaborative effort of Project JEDI users. Your edits are welcome in order to improve documentation quality: edit this page