Tramite View Provider è possibile stabilire in quali aree del TIA Portal deve essere visualizzato il menu di scelta rapida con l'Add-In. Definire una propria classe per ciascun tipo di provider e creare il codice per la vista corrispondente. È possibile programmare i seguenti View Provider:
-
"ProjectTreeAddInProvider":
Visualizza il menu di scelta rapida nella navigazione del progetto.
-
"GlobalLibraryTreeAddInProvider":
Visualizza il menu di scelta rapida nelle biblioteche globali.
-
"ProjectLibraryTreeAddInProvider":
Visualizza il menu di scelta rapida nella biblioteca del progetto.
-
"DevicesAndNetworksAddInProvider":
Visualizza il menu di scelta rapida nell'Editor hardware e di rete. Il menu di scelta rapida non può essere visualizzato nelle seguenti aree nell'Editor hardware e di rete:
-
Tabella "Comunicazione I/O" nella vista di rete
-
Tabella "Collegamenti" nella vista di rete
-
-
"VciAddInProvider":
Visualizza il menu di scelta rapida in un Workspace Version Control Interface.
Presupposti
Un progetto C# esistente per la creazione di una biblioteca di classi.
Procedura
Per programmare un View Provider procedere nel seguente modo:
-
Creare una nuova classe nel progetto e assegnarle un nome significativo, ad es. "ProjectTreeProvider.cs", quando si crea un menu di scelta rapida per la navigazione di progetto.
-
Aggiungere nella classe entrambe le direttive using seguenti:
-
using Siemens.Engineering.AddIn.Base; -
using Siemens.Engineering.AddIn.Base.Menu;
-
-
Dichiarare la classe come "public" e impostarla come sottoclasse del tipo di provider desiderato, ad es. per "ProjectTreeAddInProvider":
public class ProjectTreeProvider : ProjectTreeAddInProvider -
Inserire come testo "override" nella nuova classe, quindi selezionare la voce "GetContextMenuAddIns" nel menu a discesa visualizzato.
Il metodo verrà integrato con tutti i componenti rilevanti.
-
Rimuovere la riga "return base.GetContextMenuAddIns();" e al suo posto digitare il seguente codice:
yield return new<Il proprio_ContextMenuName_Nome della classe>("<Testo del menu di scelta rapida>");Quando viene programmato un menu di scelta rapida in una classe "AddInContexMenu" e la voce nel menu di scelta rapida deve avere il nome "My AddIn", la riga avrà pressappoco questo aspetto:
yield return new AddInContexMenu("My AddIn");
Esempio: "ProjectTreeAddinProvider"
L’esempio seguente mostra l’intero codice di programma di un View Provider per un menu di scelta rapida nella navigazione di progetto:
|
using Siemens.Engineering.AddIn.Base; using Siemens.Engineering.AddIn.Base.Menu; namespace Addin_Test { public class ProjectTreeProvider: ProjectTreeAddInProvider { protected override IEnumerable<ContextMenuAddIn> GetContextMenuAddIns() { yield return new TestContextMenu("Test"); } } } |
"ProjectTreeProvider" è il nome della classe.