Estados de las vistas (I)


Como he explicado en un post anterior, el shell de la aplicación va a tener una barra de herramientas común a todas las vistas de la aplicación, con botones para dar dar de alta, editar, borrar, guardar o descartar los cambios, etc, … eso implica que las vistas deberá actualizar su estado convenientemente dependiendo de lo que haga el usuario, los estados de las vistas van a ser los siguientes:

  • None, es el que tendrán las vistas antes de inicializarse.
  • Default, es el estado que permitirá la consulta datos, es el estado en el que quedarán las vistas una vez inicializadas, además volverá a este estado después de guardar o descartar los cambios realizados en los datos.
  • Busy, se establecerá de forma autómatica por el sistema, cuando se esté realizando una operación que pueda llevar tiempo ( por ejemplo consultando datos, guardando los cambios, etc, … ) y los controles de la vista activa deberán deshabilitarse, todos, mientras la operación no haya acabado, además, ese tipo de operaciones se realizarán en 2 plano ( mediante un thread, será algo similar sino lo mismo a lo que ya habia expuesto en este post, siempre y cuando sea posible hacer lo mismo en WPF que supongo que sí🙂 ) de forma que el usuario pueda seguir trabajando sin necesidad de esperar a que la operación termine.
  • AddingNew, se establecerá cuando el usuario haga click en el botón de nuevo de la barra de herramientas o en la opción equivalente del menú.
  • Editing, se establecerá cuando el usuario haga click en el botón de editar de la barra de herramientas o en la opción equivalente del menú, ese botón deberá estar desactivado mientras no haya datos para editar.

La enumeración con los estados queda así:

   1: namespace Framework.Interface.Infrastructure
   2: {
   3:     [Serializable]
   4:     public enum ViewStateType
   5:     {
   6:         None        = 1,
   7:         AddingNew   = 2,
   8:         Busy        = 4,
   9:         Default     = 8,
  10:         Editing     = 16,
  11:     }
  12: }

Los controles de la vista activa deberán actualizarse ( habilitarse/deshabilitarse ) dependiendo del estado en el que quede la vista tras una acción del usuario sobre la barra de herramientas ( o las opciones equivalentes del menú ), además los botones ( y las opciones del menú ) deberán actualizarse para reflejar las operaciones disponibles sobre la vista en el nuevo estado, las cuales además podrán depender de los datos de la vista activa, por ejemplo, el botón de guardar debería estar desactivado si la vista tiene errores en los datos introducidos. Bonito, no ??


Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s