Domino 9 und frühere Versionen > ND8: Entwicklung

Composite Application: aus Notes Application 8.5 SWT-GUI aufrufen

<< < (4/4)

Ahuga:
Guten Morgen Ralf

Ich möchte an einem einfachen Beispiel die Grundlagen für spätere Applikationen erarbeiten.

Das ist eine gute Idee, meine Dateien reinzustellen, es handelt sich um folgende Dateien:

* Composite Application „Sample_Plugin_AC“
* NotesKomponente mit View „Sample_Plugin“
* Plugin „DataView Plugin“
Ich glaube es fehlt dank Deiner Unterstützung nur noch wenig:

Im ACE kann ich das Wiring nicht machen, Ich sehe die Aktion von „DataView Plugin“ nicht (Screenshot Wiring). Da ist noch irgendwo ein Fehler.

Ralf_M_Petter:
So ich habe dass mal schnell durchgeschaut. 2 Probleme fallen einmal auf:

Erstens in deinem Plugin.xml ist der Eintrag owner falsch. Der Ownereintrag bewirkt, dass das hier beschriebene WSDL nur bei einem bestimmten ViewPart zieht. Stell dir vor, du hast in deinem Plugin mehrere ViewParts und mehrere WSDL, da ja jeder Viewpart andere Aktionen hat. MIt dem Owner steuerst du welches WSDL zu welchem Viewpart gehört.

Deine Plugin.xml sollte also so aussehen:


--- Code: ---<?xml version="1.0" encoding="UTF-8"?>

<?eclipse version="3.2"?>

<plugin>



<extension
id="DataView"
name="DataView"
point="org.eclipse.ui.views">
<view
allowMultiple="true"
class="sampleplugin.views.DataView"
id="DataView Plug-in.view1"
name="DataView"/>
</extension>
<extension
      point="com.ibm.rcp.propertybroker.PropertyBrokerDefinitions">
   <handler
         class="sampleplugin.actions.ActionHandle"
         file="WSDL/DataView.wsdl"
         owner="DataView Plug-in.view1"
         type="SWT_ACTION">
   </handler>
</extension>
</plugin>

--- Ende Code ---

Mit dieser Änderung sollten eigentlich dann die Aktion beim Viewpart angezeigt werden. Probier es am besten gleich aus.

Dann ist aber auf jeden Fall noch ein Fehler in der AktionenHandleKlasse.

Du hast das offensichtlich ein zu eines kopiert, aber natürlich gehört es an dein Beispiel angepasst.


--- Code: ---public Object execute(ExecutionEvent arg0) throws ExecutionException {

final PropertyChangeEvent propertyChangeEvent = (PropertyChangeEvent) arg0.getTrigger();

Display.getDefault().asyncExec(new Runnable() {

public void run() {

String targetViewId = propertyChangeEvent.getWireDefinition().getTargetEntityId();

IViewPart dataView = SWTHelper.locateView(targetViewId);

if (dataView instanceof DataView){

if(propertyChangeEvent.getPropertyValue().getProperty().getName().equals("SampleNsfProperty")){

((DataView)dataView).showAktionen((String)propertyChangeEvent.getPropertyValue().getValue());

}

}

}

});

return null;

}

--- Ende Code ---


Ich habe Name1 durch SampleNsfProperty ersetzt.

Ich hoffe, dass du damit einen Schritt weiter bist.

Grüße

Ralf

Ahuga:
Seeeeeennnnnnssssaaaaatiiioooonneeeellll!!!!!! Es funktioniert! Gewaltig. Gerettet!  :love:

Herzlichen Dank für Deine Unterstützung.


Für alle, die eine Beispielanwendung brauchen füge ich die funktionierende Applikation als ZIP bei.

Ralf_M_Petter:
Freut mich, dass es funktioniert.

Grüße

Ralf

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln