Startposition einer Anwendung (SWT) bzw RCP

Weiß jemand wo ich die Startposition festlegen kann? Also dass die Anwendung im Vollbild starten kann oder mit "normaler" Größe, dafür aber zentriert ab Bildschirm (screencenter oder so ähnlich)

Viele Grüße Stephan
 
Ob Vollbild oder nicht, kannst du ueber ein Property festlegen. Ich hab den Code jetzt nicht im Kopf, aber ich schau heute Abend mal schnell nach (hab das in einem Projekt vor einem Jahr mal gemacht und is eigentlich ganz einfach wenn man einmal raugefunden hat wo...ich glaub das war im ApplicationWorkbenchAdvisor)
 
Hallo,

es wäre schön, wenn man die WorkbenchWindow Bounds / Location standardmäßig mit einem property angeben könnte aber ich hab das bisher noch nicht finden können. Deshalb hier eine Alternative bei der man die verschiedenen Parameter in der plugin_customization.ini einstellen kann:

Java:
package mail;

import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.application.ActionBarAdvisor;
import org.eclipse.ui.application.IActionBarConfigurer;
import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
import org.eclipse.ui.application.WorkbenchWindowAdvisor;

public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {

	public ApplicationWorkbenchWindowAdvisor(
			IWorkbenchWindowConfigurer configurer) {
		super(configurer);
	}

	public ActionBarAdvisor createActionBarAdvisor(
			IActionBarConfigurer configurer) {
		return new ApplicationActionBarAdvisor(configurer);
	}

	public void preWindowOpen() {
		IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
		configurer
				.setInitialSize(new Point(PlatformUI.getPreferenceStore()
						.getInt("INITIAL_WORKBENCH_WINDOW_WIDTH"), PlatformUI
						.getPreferenceStore().getInt(
								"INITIAL_WORKBENCH_WINDOW_HEIGHT")));
		configurer.setShowCoolBar(true);
		configurer.setShowStatusLine(false);

	}

	@Override
	public void postWindowOpen() {
		if (PlatformUI.getPreferenceStore().getBoolean(
				"INITIAL_WORKBENCH_WINDOW_MAXIMIZED")) {
			getWindowConfigurer().getWindow().getShell().setMaximized(true);
		} else if (PlatformUI.getPreferenceStore().getBoolean(
				"INITIAL_WORKBENCH_WINDOW_CENTERED")) {
			center(getWindowConfigurer().getWindow());
		}
	}

	private void center(IWorkbenchWindow window) {
		Rectangle primaryMonitorBounds = Display.getDefault()
				.getPrimaryMonitor().getBounds();
		Rectangle windowBounds = window.getShell().getBounds();
		window.getShell().setLocation(
				(primaryMonitorBounds.width - windowBounds.width) / 2,
				(primaryMonitorBounds.height - windowBounds.height) / 2);
	}
}

Code:
org.eclipse.ui/INITIAL_WORKBENCH_WINDOW_WIDTH=1024
org.eclipse.ui/INITIAL_WORKBENCH_WINDOW_HEIGHT=768
org.eclipse.ui/INITIAL_WORKBENCH_WINDOW_MAXIMIZED=false
org.eclipse.ui/INITIAL_WORKBENCH_WINDOW_CENTERED=true

Gruß Tom
 
Vielen Dank für die Antwort, deine Lösung würde bestimmt funktionieren... aber:

ich hab da ein Problem :)

Ich habe die "plugin_customization.ini" schonmal gebraucht und zwar wollte ich bei den Views oben die abgerundeten Tabs haben. Eigentlich würde das mit org.eclipse.ui/SHOW_TRADITIONAL_STYLE_TABS=false funktionieren. Es hat auch mal funktioniert, aber im Laufe der Entwicklung hat es irgendwann mal nicht mehr funktioniert. Und ich weiß nicht warum. Selbst der Titel der Anwendung (steht ja eigentlich in der Plugin.xml) wird nicht mehr angezeigt. Hattest du das Phänomen vielleicht auch mal und weißt ne Lösung. Der Splashscreen kommt auch nicht mehr...

ich weiß nicht wo ich noch schauen soll. Irgendiwe glaube ich, dass er die plugin_customization.ini nicht her nimmt, aber sie steht in der plugin.xml drin. Naja und der Splashscreen hängt ja nicht an der customization.ini?

Jemand ne Lösung?

Viele Grüße Stephan

PS: Hier der ausschnitt der ppluginxml
<extension
id="product"
point="org.eclipse.core.runtime.products">
<product
application="de.company.tools.testtool.application"
name="Testtool"> <!--wird aber nicht mehr angezeigt
<property
name="aboutText"
value="RCP Mail template created by PDE"> <!--wird aber nicht mehr angezeigt
</property>

<property
name="windowImages"
value="icons/sample2.gif"> <!--wird aber nicht mehr angezeigt
</property>
<property
name="aboutImage"
value="product_lg.gif"> <!--wird aber nicht mehr angezeigt
</property>
<property
name="preferenceCustomization"
value="plugin_customization.ini"> <!--wird irgendwie nicht verwendet
</property>

</product>

</extension>
 
Hallo,

geh doch mal in deine .product Config rein und klick mal für den Spaß im Overview im Bereich Testing -> Launch an Eclipse application. Dann sollte deine Product-Einstellungen wieder gezogen werden.

Gruß Tom
 
Zurück