220.127.116.11.1. Base Exploration Dashboard Properties
The following base objects and properties are common across all objects and accessible using set_property and get_property.
|Property Name||Property Type||Property Description||Default Value||Read-Only||Comments|
|type||Either: project, group, or workspace||Type of the object||N/A (must be specified)||True|
|id||string||Identifier associated with the object||Automatically generated based on the type (for example, project_1)||All IDs must be globally unique within a Workspace. Constructing an object causes an error if you specify an ID that is already allocated to another object.|
|user_data||string||Arbitrary data you want to store||N/A||You can optionally access user_data using methods described below.|
::qed::set_user_data and ::qed::get_user_data Specializations
In addition to set_property and get_property user_data also supports the set_user_data and get_user_data specializations for access. These specializations allow for more convenience when using the recommended (but unrequired) method of managing user_data like a Tcl dictionary.
For example, you can use the qed::get_property command to retrieve the value of the user_data property. You could then treat it as a dict and use dict get or dict set commands to manipulate the value, and optionally store any changes with the qed::set_property command.
The following shows equivalent examples using the two methods discussed:
::qed::get_user_data <object> -key <key>
is equivalent to:
set tmp [::qed::get_property <object> -property user_data] dict get $tmp <key>
::qed::set_user_data <object> -key <key> -value <value>
is equivalent to:
set tmp [qed::get_property <object> -property user_data] dict set tmp <key> <value> ::qed::set_property <object> -property user_data -value $tmp