API per gli alias¶
Introduzione
Le API descritte di seguito servono a creare, leggere o impostare alias di progetto.
Nella tabella seguente sono indicate le API da usare per i diversi scopi:
Scopo |
API |
---|---|
Creare un alias |
|
Accedere al nodo a cui punta un alias noto |
|
Impostare il nodo a cui deve puntare un alias noto |
|
Accedere a un nodo di tipo Pannello dinamico noto |
InformationModel.MakeAlias(browseName)¶
Crea un alias e restituisce un oggetto C# corrispondente di tipo IUAVariable
.
static IUAVariable MakeAlias(QualifiedName browseName);
Argomenti
browseName
QualifiedName
BrowseName del nuovo alias.
Restituisce
IUAVariable
Oggetto C# corrispondente all’oggetto di progetto creato.
Esempio
Di seguito un esempio in cui si crea un alias nell’oggetto Panel1 del progetto Q Studio:
var modelFolder = Project.Current.Get("Model");
var alias = InformationModel.MakeAlias("CurrentMotor");
modelFolder.Add(alias);
modelFolder.SetAlias("Model", Project.Current.Find("Motor1"));
LogicObject.GetAlias(string)¶
Restituisce un oggetto C# di tipo IUANode
corrispondente al nodo puntato dall’alias indicato come argomento.
static IUANode GetAlias(string aliasName);
Argomenti
aliasName
string
BrowseName dell’alias.
Restituisce
IUANode
Oggetto C# corrispondente al nodo puntato dall’alias.
Esempio
Di seguito un esempio in cui l’API restituisce un oggetto C# corrispondente al nodo puntato dall’alias Motor, di cui si legge il valore della proprietà Speed, che si assegna alla variabile myMotorSpeed
.
Nota
l’operatore di cast (MotorType)
cambia il tipo dell’oggettorestituito dall’API, da IUANode
a MotorType
. Questo è utile per accedere direttamente alla proprietà Speed
di refMotor
.
var refMotor = (MotorType)LogicObject.GetAlias("Motor");
var myMotorSpeed = refMotor.Speed;
LogicObject.SetAlias(string, IUANode)¶
Imposta il valore di un alias, ovvero il nodo a cui punta.
void SetAlias(string aliasName, IUANode pointedNode);
Argomenti
aliasName
string
BrowseName dell’alias da impostare.
pointedNode
IUANode
Nodo a cui deve puntare l’alias.
Esempio
Di seguito un esempio in cui si punta l’alias MotorInstance al nodo Motor1.
var myMotorInstance = Project.Current.FindObject("Motor1");
LogicObject.SetAlias("MotorInstance"), myMotorInstance);
LogicObject.GetPanelLoader(string)¶
Restituisce un oggetto C# di tipo PanelLoader
corrispondente all’oggetto di tipo Pannello dinamico indicato nell’argomento.
Nota
l’API sfrutta l’alias che il Presentation Engine genera automaticamente a runtime per il pannello (vedere Alias generati automaticamente da UNIQO).
PanelLoader GetPanelLoader(string panelLoaderName);
Argomenti
panelLoaderName
string
BrowseName dell’oggetto Pannello dinamico.
Restituisce
PanelLoader
Oggetto C# corrispondente all’oggetto Pannello dinamico.
Esempio
Di seguito un esempio in cui l’API restituisce un oggetto C# corrispondente all’oggetto PanelLoader1, in cui si vuole creare un oggetto Motor.
var myPanel = LogicObject.GetPanelLoader("PanelLoader1");
var motor = InformationModel.MakeObject("Motor");
myPanel.ChangePanel("Panel1");
Vedi anche
Concetti correlati
Procedure correlate
Esempi applicativi