Object Container

Not supported by TWC

Object Container icon The Object Container is a CygNet-aware control that dynamically populates itself using Canvas object files (.cob) and passed-in facilities. The control determines how many Canvas objects to draw based on facility inheritance, and then fills itself in with an object for each child of the parent facility. The Object Container allows the creation of sophisticated, easy-to-maintain Canvas screens, it:

For example, imagine you have a well-pad facility and want to compare wells on each well pad, but each well pad has a different number of wells. By creating a single Canvas object that represents a child well with common data (UDCs), adding the Canvas object to the Object Container, linking the container to a Tag Chooser, the Object Container will instantiate an object for each well on the selected well pad and then pass in the facility for it. One well pad might contain four wells, while another might contain seven wells. The Object Container control determines the number of child wells for each parent, and draws the objects accordingly as the facility is passed in from the Tag Chooser. If the number of wells exceeds to set limit per page, you can page through the remaining wells via the pagination toolbar at the bottom of the container, before switching to another well pad.

Note: Each object created by an Object Container is effectively a full screen. If the source object includes scripting support, the overhead associated with initializing and running the object is increased. The cost can be incremental with only a few objects, but care should be taken to avoid a high volume of scripted objects, especially on 32-bit clients with a more limited memory footprint.

Object Container Example

The following image shows a Tag Chooser and Object Container.

Object Container Control

A sample Object Container linked to a Tag Chooser,
which drives the display for the number of wells (child facilities) in each well pad (parent facility).
The Object limit is eight per container, but this production field contains 37 wells
so you can use the pagination toolbar to page through all the wells,
before switching to another well pad.

Property Inheritance

Property Inheritance

Property inheritance, or sending and receiving, is a widely used concept in Canvas. The application supports an explicit relationship between screens, objects, and controls, where certain property values, such as facilities and SiteService details, are passed from one element to another via an inheritance framework. Screens, objects, and controls can be configured as property senders or property receivers and provide configuration options where you can explicitly define the source of the facility and SiteService. Depending on how you have your screens, objects, and controls configured, the facility and SiteService may be received from any one of the following sources:

Broadcasting

Screens and objects support an additional notification option to broadcast their facility and SiteService selection changes to other open screens. If configured, a <Broadcast> option is available to source the screen's facility and SiteService properties from another open screen.

For example, a Text Tool can be configured to get its facility from the screen and the screen can be configured to get its facility from a Tag Chooser. Or Screen_A might source its facility from Screen_B, which gets its facility from a Tag Chooser.

Receiver or Sender

The Object Container control supports property inheritance as a receiver of its SiteService and facility:

Receive from Send to
SiteService Facility SiteService Facility
self
screen
self
screen
other controls
none none

The Object Container does not send its SiteService or facility to other controls.

Related Topics