Composite genies "Trigger" functionality

Hi,

In composite genies Triggers can be used to change the "Margin"property of Content or Containers depending on a condition.  Is there a way to use a Trigger to change other Content/Container properties such as HorizontalAlignment, ItemId, etc?

Thanks,

Jhon

  • Hi Jhon,

    It is currently limited to the margin property only.

    Can you define some examples of what you would like to do?

    regards,

    bradley
  • Hi Bradley,

    I can think of many examples where triggers (other than Margin) could be used to improve composite genies. For instance, instead of...

    <Content VisibleWhen="DriveIsPump" ItemId="101">
    <Parameters>
    <Parameter Name="CL" TemplateParameter="Cluster" />
    <Parameter Name="Path" TemplateParameter="Path" />
    <Parameter Name="Name" TemplateParameter="Name" />
    </Parameters>
    </Content>
    <Content VisibleWhen="DriveIsMotor" ItemId="102">
    <Parameters>
    <Parameter Name="CL" TemplateParameter="Cluster" />
    <Parameter Name="Path" TemplateParameter="Path" />
    <Parameter Name="Name" TemplateParameter="Name" />
    </Parameters>
    </Content>

    ...we could have something like...

    <Content>
    <Triggers>
    <Trigger When="DriveIsPump" ItemId="101" />
    <Trigger When="DriveIsMotor" ItemId="102" />
    </Triggers>
    <Parameters>
    <Parameter Name="CL" TemplateParameter="Cluster" />
    <Parameter Name="Path" TemplateParameter="Path" />
    <Parameter Name="Name" TemplateParameter="Name" />
    </Parameters>
    </Content>

    Thank you.

    Jhon
  • Hi Bradley and Jhon,

    The trigger functionality of composites could be incredibly useful with some expansion.

    I have some additional suggestions to what Jhon has said; Triggered Layouts, Alignments and ItemId would be awesome!

    Triggered Alarm Equipment Link and Border Style:
    <Content/Container ...>
    <AlarmIndicator>
    <Triggers>
    <Trigger When="IsEquipAndChildRef" EquipmentLink="EquipAndChild" />
    ...

    Triggered Parameters
    <Content>
    <Parameters>
    <Parameter Name="Equipment">
    <Triggers>
    <Trigger When="IsNoMeo" TemplateParameter="Equipment">
    <Trigger When="IsMEO1" TemplateParameter="MEO_Equip1">
    ...

    An example of where triggered content Items would be extremely useful is things like the drive composite... All your drive's have identical parameters so instead of repeating the content expression 20+ times it could be condensed to:

    <Content>
    <Triggers>
    <Trigger When="IsPump" ItemId="101" />
    <Trigger When="IsMotor" ItemId="102" />
    <Trigger When="IsFan" ItemId="103" />
    ....
    </Triggers>
    <Parameters>
    <Parameter Name="Equipment" TemplateParameter="Equipment" />
    </Parameters>
    </Content>

    I hope this is useful.

    Kind regards,

    Connor
  • Hi Bradley,

    Are there any plans to extend the Triggers functionality as described above in new Citect versions? I have been using Composite genies extensively and it is one of my favourites new features, but certainly making composite genies would be much easier if we could use Triggers as described above.

    Regards,

    Jhon
  • Hi Jhon,

    There are currently no new triggers. We are very interested in extending the trigger set and agree with this thread on the benefits they provide. You won't see any improvement in this area this year I'm afraid. I can assure you, this request is being strongly considered.

    bradley
  • Hi Bradley,

    I understand, but at least it is reassuring to know that you guys are considering this new functionality for future versions. Please keep us posted on how this progresses.

    Regards,

    Jhon