martedì 14 dicembre 2010

Nebula Table Combo

Usare il Table Combo di Nebula è un'operazione tutto sommato semplice, anche se manca un po' di documentazione a riguardo. Mostro di seguito i passi necessari all'utilizzo del widget, che nel caso della mia applicazione visualizzano una semplice tabella con ID/Descrizione di elementi.
Anzitutto occorre inizializzare il componento e definire le colonne (se si omette questo passo si avrà un combo che visualizza solo una delle colonne). Successivamente si decide se visualizzare o meno le intestazioni di colonna e infine si stabilisce quale colonna (con indice numerato partendo da zero) si deve rendere visibile nel combo quando questo è chiuso. Il seguente pezzo di codice illustra quanto appena descritto:

    // create the combo with the right style
    this.combo = new TableCombo( this ,  SWT.READ_ONLY );

    // say I want two columns
    this.combo.defineColumns( new String[]{ "ID", "Descrizione" }  );
    this.combo.setShowTableHeader( true );
    // the description is the column used for the selection
    this.combo.setDisplayColumnIndex( 1 );

Successivamente occorre inserire gli elementi nel combo, tenendo presente che occorrerà passare una coppia di stringhe in un unico oggetto array:


TableItem tableItem = new TableItem( this.combo.getTable(), SWT.NONE ); 
tableItem.setText( 
        new String[]{ newElement.getId(), newElement.getDescription() } );

Nessun commento: