Type: IResourceColor

Summary:

Represents a color

Remarks:

Methods:

CopyToClipboard

Summary:

Copies the object to clipboard

ToCSVString(System.Char)

Summary:

Returns the object in a CSV string.

Returns:

A string that contains properties of the object in a CSV format.

GetUserPropertyInstance(System.String)

Summary:

Gets the user property instance of the specified name

Parameters:

  1. userPropertyName: The user property name.

Returns:

Returns the user property instance object. If not found, the methods returns null.

Example:

This example shows how to set the value of a user property by using this method

            cc1 = Project.Equipment.Get("CC1");
            
            // get the value of a user property using the method
            userPropertyInstance = cc1.GetUserPropertyInstance("UserProperty1");
            if(userPropertyInstance != null) {
               userPropertyInstance.Value = 3;
            }
            

IsUserProperty(System.String)

Summary:

Indicates if the object contains a user property with the name you specify

Parameters:

  1. userPropertyName: user property name

Returns:

Returns true if the object contains a user property with the name you specified in parameter.

GetUserPropertyValue(System.String)

Summary:

Gets the value of a user property. A better way to get the value of a user property is to use the indexer operator [], see example. Instead of using the method 'GetUserPropertyInstance' and then access the 'Value' property of the returned value, this method simplifies the way we get the value of a user property.

Parameters:

  1. userPropertyName: The name of the user property to set.

Returns:

Returns null if user property is not found. Otherwise returns the value of the user property.

Example:

This example shows how to get the value of a user property using this method and also by using the indexer

            cc1 = Project.Equipment.Get("CC1");
            
            // get the value of a user property using the method
            val = cc1.GetUserPropertyValue("UserProperty1");
            
            // get the value of a user property using the indexer operator
            val = cc1["UserProperty1"];
            

SetUserPropertyValue(System.String,System.Object)

Summary:

Sets the value of a user property. A better way to set the value of a user property is to use the indexer operator [], see example. Instead of using the method 'GetUserPropertyInstance' and then access the 'Value' property of the returned value, this method simplifies the way we set the value of a user property.

Parameters:

  1. userPropertyName: The name of the user property to set.
  2. value: If the user property is not found, this methods does nothing.

Example:

This example shows how to set the value of a user property using this method and also by using the indexer

            cc1 = Project.Equipment.Get("CC1");
            
            // set the value of a user property using the method
            cc1.SetUserPropertyValue("UserProperty1", 3);
            
            // set the value of a user property using the indexer operator
            cc1["UserProperty1"] = 3;
            

ToXmlString

Summary:

Converts the object in an xml string

Returns:

the string that contains xml version of the object

FromXmlString(System.String)

Summary:

Init object from xml. All properties found in the xml will be set with the value in the xml file

Parameters:

  1. xmlText: Xml string

Properties

PrimaryColor

Summary:

Gets or sets the first color. This is the main color

Type:

System.Drawing.Color

Access:

Read and Write

Example:

This example shows how to get and set the color

            // display color values in the console
            c = Project.Colors["Sym3 Red"].PrimaryColor
            print("Alpha = " + c.A)
            print("Red = " + c.R)
            print("Green = " + c.G)
            print("Blue = " + c.B)
            
            // change color with predefined value
            Project.Colors["Sym3 Red"].PrimaryColor = System.Drawing.Color.Blue
            
            // change color with user defined color
            Project.Colors["Sym3 Red"].PrimaryColor = System.Drawing.Color.FromArgb(255, 200, 200, 10);
            

SecondaryColor

Summary:

Gets or sets the second color. This color is used only when the property 'Flash' is set to true

Type:

System.Drawing.Color

Access:

Read and Write

Example:

This example shows how to get and set the color

            // display color values in the console
            c = Project.Colors["Sym3 Red"].SecondaryColor
            print("Alpha = " + c.A)
            print("Red = " + c.R)
            print("Green = " + c.G)
            print("Blue = " + c.B)
            
            // change color with predefined value
            Project.Colors["Sym3 Red"].SecondaryColor = System.Drawing.Color.Blue
            
            // change color with user defined color
            Project.Colors["Sym3 Red"].SecondaryColor = System.Drawing.Color.FromArgb(255, 200, 200, 10);
            

Flash

Summary:

Gets or sets a boolean value to indicate if the color is a flashing color. If this is a flashing color 'SecondaryColor' will be used.

Type:

System.Boolean

Access:

Read and Write

FlashRate

Summary:

Gets or sets the flashing rate in ms. Will be applied only if 'Flash' is set to true

Type:

System.UInt32

Access:

Read and Write

Id

Summary:

Gets the globally unique identifier (GUID) id of the object. This unique identifier is generated once at the object creation. This id will be kept unique for the entire life of the object, event after saving/loading the project.

Type:

System.Guid

Access:

Read

Example:

This example shows how to get the id of an object in a string format. The following script will output a string like 'b3122ae0-dcf7-43b6-b17c-5381afaca5cb'

            strid = Project.Colors.Get("myColor").Id.ToString();
            print(strid)
            

Name

Summary:

Gets or sets the name of the object. All objects of the same type have a unique name.

Type:

System.String

Access:

Read and Write

Example:

This example shows how to get and set the name of an object.

            // get the color name
            colorname = Project.Colors.Get("myColor").Name;
            
            // set the color name
            Project.Colors.Get("myColor").Name = "myNewName";
            

TypeName

Summary:

Gets the typename of the object. A type name doesn't contain any space characters.

Type:

System.String

Access:

Read

DisplayTypeName

Summary:

Gets the display name of the type name of the object. It returns the english display name of the type name.

Type:

System.String

Access:

Read

BaseProject

Summary:

Gets the project

Type:

IBaseProject

Access:

Read

UserPropertyInstances

Summary:

Gets a list of all the instances of user properties.

Type:

System.Collections.ObjectModel.ObservableCollection`1[BCS.IUserPropertyInstance]

Access:

Read

Examples:

//******************************************************************************
// HOW TO : Colors
//******************************************************************************


//------------------------------------------------------------------------------
// How to create
//------------------------------------------------------------------------------

// create a new entity
var newEntity = Project.Colors.New()
print("A new entity has been created with default name: " + newEntity.Name)

// create a new entity with a specific name
var newEntity2 = Project.Colors.New("MyColor")
print("A new entity has been created: " + newEntity2.Name)



//------------------------------------------------------------------------------
// How to access entity
//------------------------------------------------------------------------------

// get by name using method 'Get'
var entity1 = Project.Colors.Get("Sym3 Red")
print("Get entity by name: " + entity1.Name)

// get by name using operator []
var entity2 = Project.Colors["Sym3 Red"]
print("Get entity by name: " + entity2.Name)

// get by index:
var entity3 = Project.Colors[1]
print("Get entity by index: " + entity3.Name)


//------------------------------------------------------------------------------
// How to loop
//------------------------------------------------------------------------------


var entities = Project.Colors.Objects;
for (var i = 0; i < Project.Colors.Count; i++) {
    
    print(entities[i].Name);
}


//------------------------------------------------------------------------------
// How to delete
//------------------------------------------------------------------------------

// remove entity
Project.Colors.Remove(newEntity)


//------------------------------------------------------------------------------
// How to edit
//------------------------------------------------------------------------------

var entityToEdit = Project.Colors.New("MyColorToEdit")

// change properties:
entityToEdit.Name = "MyColorToEditModified";

entityToEdit.PrimaryColor = System.Drawing.Color.FromArgb(255, 200, 200, 10);
entityToEdit.SecondaryColor = System.Drawing.Color.Green;
entityToEdit.Flash = true;
entityToEdit.FlashRate = 400; // in ms