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

InformationModel.MakeAlias(browseName)

Accedere al nodo a cui punta un alias noto

LogicObject.GetAlias(string)

Impostare il nodo a cui deve puntare un alias noto

LogicObject.SetAlias(string, IUANode)

Accedere a un nodo di tipo Pannello dinamico noto

LogicObject.GetPanelLoader(string)

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

Alias

Procedure correlate

Usare gli alias

Esempi applicativi

Progettare un widget per visualizzare valori di più motori