Pregunta

Pregunta sobre Eclipse RCP y la vista de diseño toda perspectiva / / editor - ¿cuál es la mejor manera de crear la aplicación que mostrará varias ventanas en varios monitores? Tutoriales y libros que he visto siempre el paquete de diseño de RCP / SWT en puntos de vista dentro de la perspectiva dentro de la ventana de aplicación individual.

¿Debería una regla ventana de todos los demás o que todos deben ser iguales (cerrando último sale de la aplicación)? ¿Cómo hacer frente a las perspectivas y puntos de vista? ¿Hay otras cosas que debemos saber?

Medio ambiente:. Eclipse Ganimedes, Windows XP

¿Fue útil?

Solución

Un único banco de trabajo Eclipse puede crear varias ventanas. Cada ventana se presenta el uso de una perspectiva, por lo que diferentes ventanas podrían establecerse a diferentes perspectivas, o el mismo punto de vista, y es posible cambiar las perspectivas en cada ventana independientemente de las otras ventanas.

También puede establecer de entrada para cada ventana. Esto es útil si cada ventana está trabajando en diferentes datos (por ejemplo, cada ventana se podría conectar a un servidor diferente o podría estar mostrando datos de diferentes bases de datos que tienen todos el mismo esquema, pero los datos diferente).

Puede ser que está utilizando ventanas sólo por lo que se puede ver diferentes perspectivas de los mismos datos en diferentes monitores. En ese caso, no es necesario para crear programáticamente las ventanas, pero sólo necesitamos agregar la acción proporcionada por el banco de trabajo. Esto se puede hacer mediante la modificación de su clase ActionBarAdvisor:

añadir a las declaraciones de campos:

private IWorkbenchAction newWindowAction;

añadir al código en el que hacer las acciones (por lo general un método llamado makeActions):

    newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window);
    register(newWindowAction);

añadir al código donde se crean los menús:

    menu.add(newWindowAction);

donde el menú es típicamente el menú Ventana. Si usted no tiene un menú Ventana ya en su aplicación y desea crear uno, la siguiente línea funcionará:

    MenuManager menu = new MenuManager(
      "&Window", 
      IWorkbenchActionConstants.M_WINDOW);

Esto le dará una opción de menú que va a crear una nueva ventana en la misma forma que el elemento de menú Ventana-> Nueva ventana en el IDE de Eclipse.

Si, por el contrario, desea que cada ventana para mostrar datos distintos, tendrá que abrir las nuevas ventanas de programación. Esto le permite establecer de entrada diferente para cada ventana. Necesitará una línea de código algo como:

IWorkbenchPage newPage = window.openPage(inputObject);

donde InputObject contiene información que identifica los datos que se muestran en la ventana. Si desea establecer la perspectiva inicial que esto puede ser hecho llamando setPerspective en la página.

Usted tendrá que establecer el título de cada ventana:

newPage.getWorkbenchWindow().getShell().setText(windowTitle);

donde windowTitle es una cadena que describe la entrada a la ventana.

Puede buscar la entrada de una ventana de la siguiente manera:

window.getActivePage().getInput()

A continuación, puede jugar esta carta a cualquier clase que está utilizando como entrada ventana.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top