Navigare un progetto Foundation da codice

Se vi occorre navigare l’albero del progetto di Instant Developer Foundation per recuperare informazioni sugli oggetti che ne compongono la struttura (per esempio per crearsi un sistema di traduzione delle label del progetto) è possibile utilizzare due particolari librerie che trovate nel progetto allegato.

Navigare Progetto InDe.zip (1,1 MB)

Le librerie da utilizzare sono:

  • INDE Extension (permette di interagire con INDE per manovrare i progetti)
  • INDE Tree Walker ( permette di percorrere gli oggetti di un progetto)

Questi oggetti esistono solo in C# e servono solamente per recuperare il GUID e le
descrizioni per un eventuale utilizzo di traduzione delle label. Occorre togliere la spunta al flag Mantieni compatibilità nelle proprietà dell’applicazione.

Nella videata Oggetti Instant Developer trovate la funzione carica (richiamata da omonimo bottone) che scansiona l’albero e si fa una lista di documenti Oggetto Inde.

Vengono caricati oggetti del tipo:

  • Videata
  • Pannello
  • CampoPannello
  • SottoVideata
  • BarraBottoni
  • Comando

È possibile aggiungere altri tipi guadando le possibilità offerte dalla lista valori corrispondente.

Le istruzioni per recuperare le parti che interessano di un progetto si possono includere in un gruppo di codice che viene compilato solo in C#.
Queste istruzioni non possono stare in un componente.

Pensate che possa essere utile?
Qualcuno le ha già utilizzate queste librerie?

3 Mi Piace

Ancora non ho un’idea di utilizzo, ma la considero molto interessante. Grazie della condivisione :slight_smile:

1 Mi Piace

Ho usato in passato queste librerie con inaspettate soddisfazioni.
All’epoca (non so adesso) la documentazione era inesistente. Parlo dell’accesso alle proprietà degli oggetti e al contenuto delle stesse.
Però con un po’ di sperimentazione si poteva fare veramente tutto.

2 Mi Piace

@r.bianco bene mi fa piacere che sia interessante.
Sto cercando di condividere tutto quello che i passa sotto che possa tornare utile.

Anche voi potete condividere cose, non temete di condividere cose ovvie che non è così per tutti.

2 Mi Piace

Un possibile utilizzo, per noi, riguarda il popolamento di una tabella db contenente la lista delle videate dell’applicazione. Tramite questa tabella gli utenti possono configurare una serie di funzionalità UI che abbiamo globalizzato e che, allo stato attuale, vengono salvate in file XML per videata/operatore, usando il class name della videata.
Inoltre, ampliandola, sarebbe possibile agganciare questa tabella alla funzionalità dei ruoli avanzati che abbiamo creato, in cui per ogni ruolo avanzato si possono definire i criteri CRUD videata per videata, e applicarlo poi agli utenti.

1 Mi Piace