Komponens keretrendszer

Nézetek és szerkesztők (másnéven részek) számára egyszerű API biztosításával a Komponens keretrendszer engedélyezi a részek egymásba ágyazását és összeállítását. A Komponens keretrendszer API lehetővé teszi a részek példányosítását tetszőleges SWT összetételekben, növeli a teljesítményt és a szivárgásvédelmet egy rész használatával, amely a globális objektumok elérése helyett a helyi felületekkel kommunikál az oldalon, lehetővé teszi egy helyről elérhető felületek kiterjesztését, valamint keretrendszert biztosít az ügyfelek számára a nézetekhez és szerkesztőkhöz elérhető API használatával saját újra felhasználható komponensek létrehozásához. A Komponens keretrendszer lehetővé teszi atomi műveletek összeállítását és megsemmisítését, valamint a meglévő részek számára új helyfelületek használatát is.

NameViewNew nézet képe

Ez az egyszerű példa egy nézetet mutat be, amely beállítja a nevét, címét, előugró leírását és képét, valamint bemutatja, hogy hogyan lehet egy szerkesztőt vagy nézetet megírni a komponens keretrendszer használatával. Megjeleníti a komponens API-t használó forrást is. Az új részek a konstruktorukban argumentumokat fogadhatnak, nem kell megvalósítaniuk konkrét felületet és nem kell konkrét alaposztályból származniuk.

/**
 * Példa nézet, amely beállítja a nevét, előugró leírását, képét és tartalomleírását. A nézet
 * A bedolgozójában lévő egyéni képet használ.
 *
 * A 3.1 változat óta
 */
public class NameViewNew {
    /**
     * A komponens konstruktora. Ne hívja meg közvetlenül.
     */
    public NameViewNew(Composite parent, INameable name, IPluginImages images) {
        name.setName("Name View (New)");
        name.setContentDescription("tartalomleírás");
        name.setTooltip("Ez egy előugró leírás");
        name.setImage(images.getImage("icons/sample.gif"));
       
        // Példa nézettartalom létrehozása
        Label content = new Label(parent, SWT.NONE);
        content.setText("Ide jön a nézettartalom");
    }
}

Ne feledje, hogy a nézet konstruktorához adott argumentumok már ismerik a környezetüket. Például az IPluginImages felület számára nem kell megmondani, hogy melyik bedolgozóhoz tartozik a nézet. Ehhez hasonlóan a felületek szivárgásállóak. Ebben a példában a nézet képének lefoglalása és a lefoglalás feloldása automatikusan kerül végrehajtásra az INameable megvalósítás által, így magának a nézetnek nem kell megvalósítania az ezt szabályzó metódust.

Fontos megjegyezni, hogy a nézetek és a szerkesztők API felülete pontosan ugyanaz. Más szavakkal, ha a NameViewNew osztály org.eclipse.ui.editors kiterjesztési ponttal bejegyzése mellett döntünk, akkor ez szerkesztőként is használható minden további módosítás nélkül.