ExtJS 4 Ventana "siempre visible"

Necesito implementar Window, que puede estar siempre en la parte superior. ¿Cómo puedo hacerlo? Todos mis intentos con WindowManager no me dan resultados :(

preguntado el 03 de mayo de 12 a las 15:05

Echa un vistazo a esto: stackoverflow.com/questions/6053847/… -

Echa un vistazo a Ext.ZIndexManager.bringToFront() método -

1 Respuestas

En Ext.window.Window, hay una propiedad llamada 'modal': establecerlo en verdadero.

De lo contrario, utilice el WindowManager para gestionar tus ventanas: en este caso tienes que seguir los siguientes pasos:

  1. registrarse sus ventanas al WindowManager (Ext.WindowManager.registro (winId))
  2. utilizado Traer al frente método para configurar su ventana en la parte superior (Ext.WindowManager.bringToFront (winId))
  3. finalmente, verifique el elemento en la parte superior con el ponerse activo método (Ext.WindowManager.getActive ())

P.ej:

Ext.create ('Ext.window.Window', {
  title: 'Your window' ,
  width: 300 ,
  height: 300 ,
  html: 'ciao ciao' ,
  modal: true
}).show ();

o:

var win1 = Ext.create ('Ext.window.Window', {
  title: 'Your window' ,
  id: 'firstWin' ,
  width: 300 ,
  height: 300 ,
  html: 'ciao ciao' ,
});
win1.showAt (50, 50);

var win2 = Ext.create ('Ext.window.Window', {
  title: 'Your window' ,
  id: 'secondWin' ,
  width: 300 ,
  height: 300 ,
  html: 'I love pizza' ,
});
win2.showAt (60, 60);

// Register your floating objects (window in this case) to the WindowManager
Ext.WindowManager.register (win1);
Ext.WindowManager.register (win2);

// Bring 'firstWin' on top
Ext.WindowManager.bringToFront ('firstWin');

// Then, check the zIndexStack
alert (Ext.WindowManager.getActive().getId ()); // this is firstWin, the window with the highest zIndex

Espero que esto te ayude

Cyaz

contestado el 11 de mayo de 12 a las 11:05

Eso es bueno, y el pregunta principal es: COMO LAS para detectar que se muestra una nueva ventana sobre mi ventana? - Guy Fawkes

Ah, ahora lo tengo ;) Bueno, primero tienes que registrar tus ventanas en WindowManager. Luego, verifique el zIndexStack del WindowManager;) El primer elemento de la pila es el que tiene el zIndex más alto. Ext.WindowManager.zIndexStack[0] es su solución, pero creo que Ext.WindowManager.getActive() debería hacer lo mismo pero en mis experimentos no funciona... Ahora mire mi primera respuesta con la solución completa : está recién editado ;) - Wilk

Ok, acabo de entender cómo obtener la ventana con el zIndex más alto a través de Ext.WindowManager.getActive(): en lugar de usar el método toFront() de cada ventana, debe usar Ext.WindowManager.bringToFront(id/object) y luego verifíquelo con Ext.WindowManager.getActive() ;) Busque la solución editada. ¡Ciao! - Wilk

Ext.WindowManager.zIndexStack[0] es el componente más bajo. Es el último elemento del arreglo, el cual viene dado por getActive(). - kirilloide

esto es malo onTop no es lo mismo que modal :D - rchavz

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.