Eclipse RCP, SWT, JFace: ¿Cómo crear un diálogo que sea modal solo para una vista (no para todo el shell)?

StackOverflow https://stackoverflow.com/questions/800321

Pregunta

¿Hay alguna forma de crear un cuadro de diálogo que sea modal para una vista y no todo el shell (aplicación)? Entonces, si, por ejemplo, tengo una vista llamada A que se superpone a otra vista llamada B, quiero abrir un cuadro de diálogo que solo es modal para ver A, así que cuando cambie a la vista B, el cuadro de diálogo y la vista A serán cubiertos por vista B. ¿Hay alguna forma de hacer esto, incluso si no es la práctica normal?

¡Gracias!

¿Fue útil?

Solución

Creo que no será tan fácil de implementar. Una posibilidad es que, en lugar de usar un diálogo modal en la Vista A, use una TabFolder. Luego, puede abrir el contenido del cuadro de diálogo en una nueva pestaña y forzar a esta pestaña a permanecer en la parte superior hasta que la cierre. Este es un comportamiento similar al que necesitas.

Esto también te permitirá arrastrar y soltar algo de la Vista B a la Vista A.

Otros consejos

La idea general de la restauración del entorno de trabajo es volver a colocar el entorno de trabajo en el estado en que se encontraba antes. No tiene que restaurar cada pequeño detalle, pero si no desea dejar la vista en blanco, debe restaurarla a su estado original. Eso significa que la vista B debe restaurarse con la misma entrada que tenía cuando cerró la mesa de trabajo. Si la vista B y su entrada continúan existiendo después de que se cierre la vista A, la vista B y su entrada se pueden restaurar, independientemente de si la vista A existe o no. Ciertamente, no debe abrir cuadros de diálogo durante la restauración del entorno de trabajo. Eso no sería un buen diseño de interfaz de usuario. Eclipse proporciona un marco de recuerdo muy fácil de usar que puede guardar la entrada de una vista. Úsalo.

Si no está familiarizado con los recuerdos, vea, por ejemplo, http://wiki.eclipse.org/ FAQ_How_does_a_view_persist_its_state_between_sessions% 3F .

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