MXPA04004405A - Sistema para hospedar objetos de diseno/presentacion grafica. - Google Patents

Sistema para hospedar objetos de diseno/presentacion grafica.

Info

Publication number
MXPA04004405A
MXPA04004405A MXPA04004405A MXPA04004405A MXPA04004405A MX PA04004405 A MXPA04004405 A MX PA04004405A MX PA04004405 A MXPA04004405 A MX PA04004405A MX PA04004405 A MXPA04004405 A MX PA04004405A MX PA04004405 A MXPA04004405 A MX PA04004405A
Authority
MX
Mexico
Prior art keywords
presenter
presenters
design
graphic
view
Prior art date
Application number
MXPA04004405A
Other languages
English (en)
Inventor
A Newman Debbie
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MXPA04004405A publication Critical patent/MXPA04004405A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/30Control of display attribute

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Digital Computer Display Output (AREA)

Abstract

Se describen un esquema del sistema presentador y metodos realizados a traves de dicho esquema para hospedar un grupo de presentadores que facilitan la manutencion de disenos para vistas de aplicacion asignadas a un grupo de elementos graficos. El sistema presentador proporciona una clase de presentador base y un grupo de metodos de interfase, realizados a traves de un procesador de presentacion, para crear e integrar un grupo extensible de clases de presentador para manejar varios tipos de datos del elemento grafico durante una operacion de diseno dentro de una vista especificada. El sistema presentador habilita a los desarrolladores de la interfase de usuario de aplicacion a implementar operaciones de diseno de despliegue complejas a traves de llamadas al procesador de presentacion. Ejemplos de dichas operaciones de diseno de despliegue complejas incluyen: paginacion, calculo parcial, calculo incremental, multiples intentos, encadenamiento de caracteristicas/operaciones de diseno.

Description

SISTEMA PARA HOSPEDAR OBJETOS DE DISEÑO/PRESENTACION GRAFICA CAMPO DE LA INVENCION La presente invención se refiere en general a dispositivos de computación Más particularmente, la presente invención se refiere a componentes de computación para la adaptación de elementos gráficos desplegados a través de una interfase de documento/usuario gráfica ANTECEDENTES DE LA INVENCION El despliegue y/o representación de una salida gráfica para una aplicación que se está ejecutando en un sistema de computación incluye muchas tareas Una de dichas tareas es la administración del diseño/presentación La administración del diseño/presentación concierne a la representación y decoración de un grupo de elementos desplegados dentro de sus espacios de despliegue asignados (por ejemplo, rectángulos) Mientras el "diseño" y la "presentación" pueden se distinguibles en otros contextos, la presentación y el diseño, como se utilizan aquí, deben ser tratados como términos intercambiables y equivalentes Los elementos desplegados procesados por el sistema de diseño/presentación proporcionan datos de salida gráficos a los componentes de representación de un sistema de salida de gráficos y controladores de la presentación gráfica Dichos componentes de representación conducen el hardware de presentación gráfica tales como monitores e impresoras Las operaciones de diseño/prese'ntación ejecutados a través de sistemas de computación comprenden una amplia variedad de funciones realizadas sobre los elementos gráficos desplegados Un ejemplo de dichas operaciones es la adaptación del texto dentro de las dimensiones asignadas de una inferíase de usuario de despliegue gráfico de la aplicación del editor La operación de diseño determina el contenido y colocación de las líneas del texto dentro de un espacio rectangular designado Otro ejemplo es el encuadre de un elemento (por ejemplo, una caja de diálogo, una barra de herramientas, una barra de control, etc ) con un borde estandarizado Las operaciones también se denominan como "características" Los componentes de representación de un sistema de computadora producen datos de salida gráficos con base en el estado de los elementos de despliegue que son potencialmente modificados a través de características de diseños/presentaciones previamente ejecutadas Se conocen varios procesadores de presentación Por ejemplo, el "módulo de usuario" de MICROSOFT WINDOWS puede realizar operaciones de diseño con respecto al Windows de nivel superior sobre una mterfase de usuario gráfica El administrador de la caja de diálogo de MICROSOFT WINDOWS coloca objetos en posiciones predefinidas y permite la agrupación de objetos El posicionamiento objetos ocurre en una manera lógica y es independiente de un dispositivo físico JAVA SWING permite operaciones de colocación básicas con respecto a objetos dentro de una vista con base en las propiedades especificadas de los objetos Las operaciones de diseño/presentación han sido realizadas en un número de formas Una aplicación por si misma puede completamente llevar a cabo su operación de diseño de elemento de despliegue La operación de diseño (o "presentación") esta encapsulada dentro de la aplicación La aplicación adorna/adapta los elementos de despliegue para una vista o vista(s) asociada con un estado actual de la aplicación La aplicación adapta los elementos dentro de una región de despliegue asignada a la aplicación La aplicación posteriormente crea la salida de despliegue, correspondiente a los elementos de despliegue adaptados, al sistema/controladores gráficos Otra adaptación de procesamiento de diseño, incorporada en el sistema operativo MICROSOFT WINDOWS XP, proporciona un grupo predefinido de características de diseño que son llamadas por las aplicaciones El grupo de características de diseño comprende operaciones de diseño/presentación especializadas para los elementos de despliegue gráficos de la interfase de usuario de las aplicaciones El grupo de características de diseño/presentación predefinidas, tales como, por ejemplo, un generador de bordes para rectángulos suministrados, reduce la carga de programación de los desarrolladores de la aplicación con respecto a aspectos específicos de elementos de organización y presentación de un despliegue gráfico El grupo de características predefinidas también facilita la consistencia con respecto a la ejecución de ciertas características/funciones básicas tales como los bordes anteriormente mencionados Las aplicaciones suplementan las funcionalidades del diseño predefinidas con operaciones de diseño adicionales embebidas dentro de las aplicaciones mismas La arquitectura de procesamiento de diseño conocida, incluyendo características de diseño predefinidas por una aplicación, simplifica la programación de las tareas de diseño encontradas por las aplicaciones durante el curso de la adaptación de una vista antes de representar los datos gráficos y comandos para representar los componentes de un sistema de computadora Sin embargo, la arquitectura de procesamiento de diseño conocida no soporta fácilmente los mejoramientos o modificaciones con respecto al grupo de características predefinidas llamadas por las aplicaciones De esta manera, por ejemplo, se colocan directamente nuevas características de diseño en el código de aplicación en vez de colocar las características en las características de diseño predefinidas provistas por la arquitectura de la presentación/diseño Posteriormente, durante la ejecución, la aplicación calcula el diseño utilizando una combinación de funcionalidades de diseño predefinida y las operaciones de diseño/presentación internamente ejecutadas COMPENDIO DE LA INVENCION La presente invención comprende un sistema presentador para la incorporación dentro de un sistema de administración de diseño de salida gráfica Dicha administración de diseño está dirigida a la forma en la cual los objetos son adaptados, dimensionados, y colocados en un espacio de despliegue Dichos sistemas procesan un diseño, en beneficio de un programa proporcionando elementos gráficos conteniendo datos que representan contenido desplegable del programa (por ejemplo, un bloque de texto que necesita ser adaptado en un página desplegable o impresa) Los presentadores realizan un papel complementario a los elementos gráficos (esos datos especificados) definiendo estados de despliegue para presentar el contenido de los elementos gráficos Como tal, los presentadores mantienen una descripción del diseño para un elemento gráfico correspondiente De acuerdo con la presente invención, el sistema presentador hospeda y adapta los presentadores asociados con elementos gráficos dentro de una vista El sistema presentador, en su papel de soportar la derivación de presentadores de muchos tipos, incluye una clase base de presentador a partir de la cual se derivan las clases de presentador Posteriormente, los presentadores son especificados a partir de las clases de presentadores derivadas El sistema presentador también incluye una interfase huésped de presentador La interfase huésped comprende un método para diseñar elementos gráficos en una vista de acuerdo con los presentadores asociados con los elementos gráficos Como tal, el diseño de los elementos gráficos dentro de una vista es especificado a través de los presentadores asociados BREVE DESCRIPCION DE LOS DIBUJOS Ya que las reivindicaciones anexas establecen las características de la presente invención con particularidad, la invención y sus ventajas se entienden mejor a partir de la siguiente descripción detallada tomada en conjunción con los dibujos que la acompañan, en los cuales La Figura 1 es un diagrama de bloque describiendo un sistema de computadora ilustrativo para llevar a cabo una modalidad de la invención, La Figura 2 es un diagrama esquemático de alto nivel que describe los componentes primarios de una arquitectura de administración de diseño incluyendo un sistema presentador para llevar a cabo el mantenimiento del diseño gráfico en un sistema de computación modahzando la presente invención, La Figura 3 es un dibujo esquemático de las relaciones entre los elementos gráficos y los presentadores definiendo un documento/interfase de usuario gráfica en un sistema modahzando la presente invención, Las Figuras 4a y 4b resumen la estructura de una clase base de presentador a partir del cual las clases de objeto presentador personalizadas son derivadas para llevar a cabo tareas de diseño/presentación particulares en un sistema modahzando la presente invención, La Figura 5 resume la estructura de una clase proxy infantil, La Figura 6 resume la estructura de una interfase de clase de manipulador de notificación, La Figura 7 resume la estructura de una inferíase de clase de sitio de manipulador de notificación, La Figura 8 resume la estructura de una clase de vista, La Figura 9 resume las partes de una estructura I nfoTamañoCaja (BoxSizelnfo), La Figura 10 resume la estructura de una estructura del descriptor de página, La Figura 11 resume la estructura de una clase de procesador de presentación, La Figura 12 es una gráfica de flujo que resume los pasos ilustrativos para el procesamiento con base el en manipulador de notificación de un cambio a un elemento gráfico, La Figura 13 es una gráfica de flujo resumiendo los pasos ilustrativos para recalcular y representar una vista que comprende un grupo de presentadores de acuerdo con una modalidad de la presente invención, y La Figura 14 es una gráfica de flujo describiendo de manera ilustrativa los pasos para ejecutar una actualización de un presentador (y hijos afectados asociados) en respuesta a un cambio de un elemento gráfico relacionado DESCRIPCION DETALLADA DE LOS DIBUJOS Una interfase de usuario y arquitectura del diseño/presentación del documento de describen aquí La arquitectura del diseño/presentación descrita incluye componentes de procesamiento de diseño/representación gráficos (presentadores) que llevan a cabo la vista de los aspectos de datos subyacentes asociados (elementos gráficos) para un documento/interfase de usuario Un sistema presentador hospeda los presentadores En su papel de huésped, el sistema presentador orquestra y coordina la actualización de una vista, comprendiendo un grupo de presentadores, en respuesta a cambios a los elementos gráficos correspondientes De esta manera, el sistema presentador proporciona un mecanismo que enlaza el estado (por ejemplo, estado de datos) de los elementos gráficos para ver los estados actualizados, guardados en la memoria caché, y representados a través de los objetos presentadores correspondientes Un aspecto de la arquitectura del diseño/presentación basada en el sistema presentador modalizando la presente invención es su alto grado de extensibilidad con respecto a los tipos de presentadores que hospeda Una clase base de presentador provista por el sistema presentador facilita la extensión de un grupo de tipos de presentador (clases de objeto) disponibles para diseñar y representar la información provista por un elemento gráfico correspondiente Los varios tipos de presentadores a partir de la clase base de presentadores incorporan métodos de diseño/presentación particulares que sobrescriben métodos defectuosos especificados por la clase de presentador base Los objetos del presentador demostrados a partir del grupo de clases de objeto del presentador implementan características de diseño/presentación de acuerdo con el estado de los datos de un elemento gráfico correspondiente El sistema presentador hospeda los objetos del presentador demostrados a partir de las clases de objeto del presentador El sistema presentador realiza la administración de por vida (es decir, creación, eliminación, etc ) de los objetos del presentador El sistema presentador maneja el rastreo sucio para selectivamente actualizar solamente los presentadores cambiados El sistema presentador soporta el encadenamiento de presentadores juntos para proporcionar adornos a los presentadores principales El sistema presentador también coordina la actualización y representación de presentadores La notificación de los cambios a elementos gráficos potencialmente produciendo los estados de la vista se facilitan, en una modalidad de la invención, a través de manipuladores de notificación Los manipuladores de notificación permiten cambiar el manejo de la notificación para que esté separada del procesamiento de notificación realizado por el presentador Cada tipo de elemento del presentador está asociado con un tipo de manipulador de notificación Cada proceso de manipulador de notificación cambia a un elemento gráfico correspondiente Si es necesaria la actualización, entonces el manipulador de notificación inicia la configuración de una propiedad de impureza sobre un objeto del presentador asociado La propiedad de impureza configurada origina el recalculo de un objeto del presentador a los cambios del elemento gráfico correspondiente La arquitectura de diseño/presentación de la interfase de usuario, descrita a manera de ejemplo aquí, se incorpora en un sistema operativo que hospeda aplicaciones que tienen interfases de usuario/documento gráfico Las aplicaciones, presentadores y componentes de representación específicos del dispositivo del sistema operativo y controladores específicos del dispositivo, el dispositivo de salida gráfica de la inferíase de representación/documento controlan los comandos/datos del hardware del dispositivo de despliegue (por ejemplo, monitores, impresoras, etc ) Las características del diseño de la salida representada se basan en por lo menos parte de un procesamiento de diseño/presentación y la representación realizada a través de los presentadores hospedados por el sistema presentador La arquitectura de presentación permite la disociación del estado de los datos del elemento desplegado a partir de su estado de vista Dicha disociación proporciona una plataforma extensible y altamente personalizada para crear nuevas y ricas personalidades de despliegue para un elemento gráfico subyacente En una modalidad de la invención, un elemento de despliegue se representa por un objeto de elemento gráfico (representando el estado de los datos del elemento) y por lo menos un objeto presentador asociado (representando un estado de vista) para diseñar el elemento en una vista particular El presentador realizar la actualización personalizada de un diseño para un elemento relacionado El presentador también crea la vista del elemento después de actualizar el diseño La utilizar objetos del presentador se desasocia el estado de los datos de un elemento desplegado y su despliegue en la vista Como una consecuencia, cada elemento gráfico (fuente de datos de despliegue) es potencialmente capaz de tener múltiples presentadores proporcionando distintas vistas del elemento gráfico (por ejemplo, una escala completa y vista en miniaturas de un elemento de fotografía) La habilidad para asociar múltiples presentadores con un elemento gráfico individual también habilita a un elemento individual ser asociado con múltiples ubicaciones dentro de un campo (por ejemplo, dividiendo un elemento gráfico individual entre múltiples columnas) También, el sistema presentador soporta encadenar múltiples presentadores distintos de tipos diferentes a un elemento individual por lo tanto soportando la conexión a una variedad de adornos personalizados a una vista básica para un elemento Estos y otros aspectos de una arquitectura de diseño/presentación de despliegue ilustrativa se describen aquí más adelante con referencia a los dibujos La Figura 1 describe de manera ilustrativa un ejemplo de un ambiente operativo adecuado 100 para llevar a cabo la arquitectura de diseño/presentación de despliegue en base a un sistema presentador modahzando la presente invención El ambiente operativo 100 es solamente un ejemplo de un ambiente operativo adecuado y no pretende sugerir ninguna limitación al alcance del uso o funcionalidad de la invención Otros sistemas de computación, ambientes, y/o configuraciones bien conocidos que pueden ser adecuados para uso con la invención incluyen, pero no se limitan a, computadoras personales, computadoras servidor, dispositivos de computación portátiles, dispositivos de computación portables, sistemas multiprocesador, sistemas en base a microprocesador, PCs en red, minicomputadoras, computadoras de marco principal, ambientes de computación distribuidos que incluyen cualquiera de los sistemas o dispositivos anteriores, y similares La arquitectura de administración de diseño descrita incluyendo un sistema presentador sirve un número de diversos intereses incluyendo extensibihdad, integración y uniformidad con respeto a la funcionalidad de despliegue de un sistema de computación, tal como el descrito en la Figura 1 La invención se describe en el contexto general de un grupo de pasos y procesos llevados a cabo por instrucciones ejecutables por computadora, tales como módulos de programa, siendo ejecutados por una computadora En general, los módulos de programa incluyen rutinas, programas, objetos, estructuras de datos, etc que realizan tareas particulares o implementan tipos de datos abstractos particulares Aunque la modalidad ilustrativa se describe con referencia a procesos ejecutados localmente en un sistema de computadora individual, la invención está potencialmente incorporada dentro de los nodos de red operando en ambiente de computación distribuidos en donde las tareas son realizadas por dispositivos de procesamiento remotos que están enlazados a través de una red de comunicaciones En un ambiente de computación distribuido, los módulos de programa están generalmente localizados en ambos medios de almacenamiento local y remoto incluyendo dispositivos de almacenamiento de memoria Con una referencia continua a la Figura 1, un sistema ilustrativo para implementar la invención incluye un dispositivo de computación de propósito general en la forma de una computadora 110 Los componentes de la computadora 110 pueden incluir, pero no se limitan a, una unidad de procesamiento 120, una memoria del sistema 130, y un conductor común del sistema 121 que acopla varios componentes del sistema incluyendo la memoria del sistema a la unidad de procesamiento 120 El conductor común del sistema 121 puede ser cualquiera de varios tipos de estructuras de conductor común incluyendo un conductor común de memoria o controlador de memoria, un conductor común periférico, y un conductor común local utilizando cualquiera de una variedad de estructuras de conductores comunes A manera de ejemplo, y no limitación, dichas arquitecturas incluyen el conductor común de Arquitectura Estándar de la Industria (ISA), el conductor común de la Arquitectura del Canal Micro (MCA), el conductor común Mejorado ISA (EISA), el conductor común local de la Asociación de Estándares Electrónicos de Video (VESA), y el conductor común de Interconexión del Componente Periférico (PCI) también conocido como conductor común Mézanme La computadora 110 típicamente incluye una variedad de medios legibles por computadora Los medios legibles por computadora pueden ser cualquier medio disponible que pueda ser accedido por la computadora 110 e incluye medios volátiles y no volátiles, medios removibles y no removibles A manera de ejemplo, y no limitación, los medios legibles por computadora pueden comprender medios de almacenamiento por computadora y medios de comunicación Los medios de almacenamiento por computadora incluyen ambos medios volátiles y no volátiles, removibles y no removibles, en cualquier método o tecnología para el almacenamiento de información, tal como instrucciones ejecutables por computadora, estructuras de datos, módulos de programa u otros datos Los medios de almacenamiento por computadora incluyen, pero no se limitan a, RAM, ROM, EEPROM, memoria no volátil, u otra tecnología de memoria, CDROM, discos versátiles digitales (DVD) u otro almacenamiento en disco óptico, casetes magnéticos, cinta magnética, almacenamiento en disco magnético y otros dispositivos de almacenamiento magnético, o cualquier otro medio que puede ser utilizado para almacenar la información deseada y que puede ser accedida por la computadora 110 Los medios de comunicación típicamente modahzan las instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos en una señal de datos modulada tal como una onda portadora, u otro tipo de mecanismo de transporte e incluye cualquier medio de distribución de información El término "señal de datos modulada" significa una señal que tiene una o más de sus características fijadas o cambiadas en tal forma que codifica la información en la señal A manera de ejemplo, y no limitación, los medios de comunicación incluyen medios por cable tal como una red cableada o conexión directa-cableada, y medios inalámbricos tal como medios inalámbricos acústicos, RF, infrarrojos y otros medios inalámbricos Las combinaciones de cualquiera de los anteriores también se pueden incluir dentro del alcance de los medios legibles por computadora La memoria del sistema 130 incluye medios de almacenamiento por computadora en la forma de memoria volátil y/o no volátil tales como memoria de solo lectura (ROM) 131 y memoria de acceso aleatorio (RAM) 132 Un sistema de entrada/salida básico 133 (BIOS), conteniendo las rutinas básicas que ayudan a la transferencia de información entre elementos dentro de la computadora 110, tales como durante el arranque, se almacenan tópicamente en ROM 131 RAM 132 típicamente contiene datos y/o módulos de programa que son inmediatamente accesibles para y/o actualmente siendo operados por la unidad de procesamiento 120 A manera de ejemplo, y no limitación, La Figura 1 ilustra el sistema operativo 134, programas de aplicación 135, otros módulos de programa 136, y datos de programa 137 La computadora 110 también puede incluir otros medios de almacenamiento removibles/no removibles, volatiles/p? volátiles A manera de ejemplo solamente, la Figura 1 ilustra una unidad de disco duro 140 que lee de o escribe en el medio no removible, no volátil magnético, una unidad de disco duro magnética 151 que lee de o escribe en un disco magnético removible, no volátil 152, y una unidad de disco óptico 155 que lee de o escribe en una disco óptico no volátil 156, tal como un CD ROM u otro medio óptico Otros medios de almacenamiento por computadora removibles/no removibles, volátiles/no volátiles que pueden ser utilizados en el ambiente de operación ilustrativo incluyen, pero no se limitan a, casetes de cinta magnética, tarjetas de memoria no volátil, discos versátiles digitales, cintas de video digitales, RAM de estado solido, ROM de estado sólido, y similares La unidad de disco duro 141 esta típicamente conectada al conductor común del sistema 121 a través de la interfase de memoria no removible tal como la interfase 140, una unidad de disco magnético 151 y una unidad de disco óptico 155 están típicamente conectados al conductor común del sistema 121 a través de la interfase de memoria removible, tal como la interfase 150 Las unidades y sus medios de almacenamiento por computadora asociados discutidos anteriormente e ilustrados en la Figura 1, proporcionan almacenamiento de instrucciones legibles por computadora, estructuras de datos, módulos de programa y otros datos para la computadora 110 En la Figura 1, por ejemplo, la unidad de disco duro 141 está ilustrada como almacenando el sistema operativo 144, los programas de aplicación 145, otros módulos de programa 146, y los datos de programa 147 Observar que estos componentes pueden ya sea ser el mismo o diferentes del sistema operativo 134, programas de aplicación 135, oros módulos de programa 136 y datos de programa 137 Al sistema operativo 144, programas de aplicación 145, otros módulos de programa 146, y datos de programa 147 se les han dado números diferentes aquí para ilustrar que, al mínimo, son diferentes copias Un usuario puede capturar comandos e información en la computadora 20 a través de los dispositivos de entrada tales como un teclado 162 y un dispositivo de apuntamiento 161, comúnmente referido como un ratón, seguibola o almohadilla sensible al tacto Otros dispositivos de entrada (no mostrados) pueden incluir un micrófono, palanca de mandos, almohadillas de juegos, antena parabólica, escáner o similar Estos y otros dispositivos de entrada por lo general están conectados a la unidad de procesamiento 120 a través de una inferíase de usuario 160 que está acoplada al conductor común del sistema, pero pueden estar conectados a través de otras interfases y estructuras de conductores comunes, tales como un puerto paralelo, un puerto de juego o conductor común serial universal (USB) Un monitor 191 u otro tipo de dispositivo de pantalla también está conectado al conductor común del sistema 121 a través de una interfase, tal como una mterfase de video 190 Además del monitor, las computadoras también pueden incluir otros dispositivos de salida periféricos tales como bocinas 197 y la impresora 196, los cuales pueden conectarse a través de una mterfase periférica de salida 195 La computadora 110 puede operar en un ambiente conectado en red utilizando conexiones lógicas a una o más computadoras remotas, tales como la computadora remota 180 La computadora remota 180 puede ser una computadora personal, un servidor, un direccionador, una PC en red, un dispositivo par u otro nodo de red común, y típicamente incluye muchos o todos los elementos descritos anteriormente con relación a la computadora 110, aunque solamente un dispositivo de almacenamiento de memoria 181 ha sido ilustrado en la Figura 1 Las conexiones lógicas descritas en la Figura 1 incluyen una red de área local (LAN) 171 y una red de área amplia (WAN) 173, pero también pueden incluir otras redes Dichos ambientes conectados en red son lugares comunes de oficinas, redes de computadora a nivel empresa, intranets y el Internet Cuando se utiliza en un ambiente conectado en LAN, la computadora 110 está conectada a la otra LAN 171 a través de una mterfase de red o adaptador 170 Cuando se utiliza en un ambiente conectado en WAN, la computadora 110 típicamente incluye un módem 172 u otros medios para establecer comunicaciones a través de la WAN 173, tal como el Internet El módem 172, el cual puede ser interno o externo, puede estar conectado al conductor común del sistema 121 a través de una interfase de entrada de usuario 160, u otro mecanismo apropiado En un ambiente conectado en red, los módulos de programa descritos con relación a la computadora 110, o porciones de los mismos, pueden almacenarse en el dispositivo de almacenamiento de memoria remoto A manera de ejemplo, y no limitación, la Figura 1 ilustra programas de aplicación remotos 185 como residentes en el dispositivo de memoria 181 Se apreciara que las conexiones en red mostradas son ilustrativas y que otros medios para establecer enlaces de comunicaciones entre las computadoras pueden utilizarse La Figura 2 es un diagrama esquemático de alto nivel identificando módulos de software y programas así como objetos demostrados y componentes de datos de una arquitectura del sistema de administración de diseño/presentación modalizando la presente invención La arquitectura del sistema de administración de diseño/presentación representada en la Figura 2 incluye un sistema presentador 200 que soporta el diseño/presentación de objetos desplegables con base en un grupo de objetos presentadores jerárquicamente adaptados asociados con una vista 202 creada, a partir de una clase de objetos de vista (ver, Figura 8 descrita aquí más adelante) a la solicitud de una aplicación 204 ejecutándose en un sistema operativo 205 En una modalidad de la invención, cada vista (por ejemplo, vista 202) tiene un sistema presentador correspondiente (por ejemplo, el sistema presentador 200) que es responsable por la manutención de los objetos desplegables dentro de la vista En una modalidad de la invención la vista 202 es la raíz visual de todos los visuales que se crean a través del sistema presentador 200 El contenido desplegado dentro de la vista 202 se basa en los elementos gráficos 206 dentro de una memoria de almacenamiento 208 La aplicación 204 es una fuente de los elementos gráficos 206 dentro de una memoria de almacenamiento Un ejemplo ilustrativo describiendo las relaciones entre las vistas, el sistema presentador, los árboles presentadores para las vistas, y los árboles del elemento gráfico asociados con una aplicación se describen en la Figura 3 aquí más adelante La arquitectura del sistema de administración del diseño/presentación descrito en la Figura 2 se divide en un grupo de componentes funcionales Las líneas entre los componentes descritos representan las trayectorias de interacción entre los componentes La presente invención no está limitada a la adaptación particular de los componentes y sus interacciones ilustrativas indicadas en la modalidad descrita en la Figura 2 En su lugar, la funcionalidad de los componentes descritos aquí está agrupada en diferentes formar de acuerdo con modalidades alternativas de la invención En una modalidad de la invención, la aplicación 204 llama a un método constructor sobre una interfase de programa de aplicación de clase de objeto de vista (Ver estructura de clase de vista en la Figura 8 descrita aquí más adelante) para crear un objeto raíz para la vista 202 de la instancia del objeto El método llama para crear que la vista 202 aprueba una referencia a un elemento gráfico raíz de los elementos gráficos 206 contenidos en la memoria de almacenamiento 208 Después de crear la vista 202, una llamada al método HacerDiseño (DoLayout) en la vista 202 crea un árbol presentador para la vista 202 con un objeto presentador raíz que corresponde al elemento gráfico raíz que aprueba inicialmente al método constructor que crea la vista 202 El árbol presentador (no mostrado en la Figura 2) para la vista 202 comprende un grupo de presentadores que son responsables de organizar y presentar la salida visual para la vista 202 En una modalidad de la invención cada vista (por ejemplo, la vista 202) posee un sistema presentador (por, el sistema presentador 200) De esta manera, en respuesta al método de HacerDiseño, la vista 202 inicia la creación de un nuevo árbol presentador y lo devuelve al llamador (por ejemplo, aplicación 204) Inicialmente, la vista 202 llama un método constructor en la clase de objeto del procesador de presentación para crear una instancia 212 del procesador de presentación incluyendo una inferíase del programa de aplicación huésped del presentador (API de huésped del presentador) El procesador de la presentación 212 incluye un código ejecutable para coordinar y orquestar la ejecución de las operaciones de diseño/presentación en el sistema de computación que soporta la salida gráfica Las funciones realizadas/coordinadas por el procesador de presentación 212 incluyen crear objetos de presentador (ambas versiones, hijo y raíz), coordinar el recalculo de los estados del despliegue del presentador, la representación, la administración de por vida de los presentadores, el rastreo de impurezas, encadenamiento de múltiples presentadores a un elemento individual, la realización de diseño incremental Ejemplos de los métodos que se pueden llamar a través de la API del huésped del presentador 212 del procesador de presentación se describen aquí más adelante con referencia a la Figura 12 Estos métodos son solicitudes de alto nivel que crean y mantienen el árbol el objeto de presentador para una vista 202 Las tareas identificadas realizadas por el procesador de la presentación 212 son ilustrativas, y aquellos con experiencia en la técnica apreciarán que tareas adicionales/alternativas pueden llevarse a cavo a través del procesador de presentación 212 en modalidades alternativas de la invención El procesador de presentación 212 construye el sistema presentador 200 para manipular los objetos del presentador asociados con la vista 202 En una modalidad de la invención, el sistema presentador incluye una clase base de presentador 216 La clase base de presentador 216 es una clase base de características completas para crear subclases de presentador y objetos de presentador capaces de explotar la funcionalidad de la administración del diseño del sistema descrito aquí La case base de presentador 216 comprende una plantilla, incluyendo código de programa virtual (sobrescribible) y estructuras de datos, a partir de los cuales se deriva un grupo de clases de presentadores 214 Las clases de presentador 214 comprenden un grupo de tipos de presentador especializados correspondientes a vistas, de elementos gráficos, que tienen propiedades/comportamientos particulares de despliegue Las clases de presentador personalizables 214 derivadas de la clase base de presentador 216, a manera de ejemplo, diseñan el contenido, adaptan los hijos, crean visuales para elementos conectados, paginan el contenido para documentos tipográficos, y actualizar visuales de manera incrementante incluyendo los elementos gráficos 206 La funcionalidad especializada de cada clase de presentador dentro del grupo de clases de presentador 214 se establece sobrescribiendo y suplementando los métodos virtuales definidos por la clase base de presentador 216 Los objetos del presentador demostrados a partir del grupo de clases de presentador 214 representan y manipulan aspectos del despliegue de los elementos gráficos 206 En una modalidad de la invención el grupo de clases de objeto del presentador 214, incluyendo ambas, las clases del presentador predefinidas 218 y las clases del presentador externas 220, es extensible El grupo de cales del presentador predefinidas 218 se proveen con el sistema presentador 200 Las clases de objeto del presentador externas 202 son por lo general instaladas independientemente del sistema del presentador 200 Sin embargo, la integración apropiada de las clases de objeto del presentador externo 210 con el sistema presentador 200 se facilita a través de una especificación de interfase publicada para la clase base del presentador 216 (descrita aquí más adelante con referencia a las Figuras 4a, y 4b) Un desarrollador de clases de presentador externas 220 el código del programa sobrescribe/modifica el código del programa y las estructuras de datos con los métodos de diseño/presentación personalizabas de la clase base del presentador 216 para lograr el dimensionamiento normal, posicionamiento del hijo, y funciones de presentación Después, la nueva clase de presentador se instala en el grupo de clases de objeto del presentador externas 220, a manera de ejemplo, al instalar un archivo que contiene los nuevos objetos en un directorio designado dentro del sistema de archivos de la computadora En una modalidad de la invención, las clases del presentador 214 incluyen clases de presentador para llevar a cabo características incluyendo, a manera de ejemplo el contenido del diseño, adaptación de objeto hijo, creación visual, paginación del contenido del documento, y actualizaciones increméntales de los visuales (por ejemplo, páginas HTML que se extienden sobre múltiples pantallas de despliegue) Ejemplos de tipos de presentador específicos incluyen un presentador de texto que mide y despliega texto formateado en varias formas (por ejemplo, negritas, itálica, etc ), un presentador de imágenes que mide y despliega una imagen especificada, y un presentador de plataforma que divide un espacio entre múltiples presentadores hijo Después de crear el sistema presentador 200 y las clases de presentador 214, un grupo de objetos del presentador asociados con la vista 202 y el sistema presentador 200 son demostradas para la vista, empezando con un objeto presentador raíz Se observa que el método constructor llama a la clase de objeto del procesador de presentación para crear el procesador de presentación 212 que identifica el elemento gráfico raíz para la vista 202 Después de la demostración, el procesador de presentación 212 llama a los elementos gráficos 206 para determinar un tipo de objeto presentador asociado con el elemento gráfico raíz para la vista 202 Después de determinar el tipo de presentador de los elementos gráficos, el procesador de presentación 212 llama un método, en una de las clases de objeto del presentador 214 correspondiente al tipo de objeto del presentador identificado a través de los elementos gráficos 206, para demostrar el objeto del presentador raíz para la vista 202 Como se indicó a través de la trayectoria entre las clases de presentador 214 y el almacenamiento de memoria, los objetos del presentador, incluyendo el presentador raíz, acceden los elementos gráficos 206 del almacenamiento de memoria 208 para determinar las propiedades de los elementos gráficos particulares A manera de ejemplo, un objeto de presentador para un elemento gráfico particular es capaz de identificar cualquier elemento gráfico hijo del elemento gráfico particular y el tipo de presentador para cada elemento gráfico hijo Posteriormente, el objeto del presentador llama, para cada elemento gráfico hijo, un método en si mismo (por ejemplo, ObtenerElementoParaProxyHijo 486) para demostrar un objeto proxy hijo de una clase proxy hijo 222 del sistema presentador 200 Los objetos proxy hijos son objetos envueltos para objetos del presentador (demostrados a partir de las clases del objeto del presentador 214) que están anidados dentro del espacio de despliegue asignado para un objeto de presentador padre La clase proxy hijo 222 logra la encapsulación y las necesidades de seguridad (por ejemplo, un objeto presentador hijo limita el acceso a través de un objeto presentador padre, o la aplicación 204, a los contenidos de un presentador contenido dentro del presentador hijo) Alternativamente, la capa de encapsulación provista por los objetos proxy hijos se sobrepasan y los presentadores padres directamente acceden sus presentadores hijo El método del objeto del presentador para crear un objeto proxy hijo para un elemento, en una modalidad de la invención, llama un método constructor en la clase proxy hijo 222 y aprueba la identidad del elemento gráfico hijo para demostrar un nuevo objeto proxy hijo y objeto presentador para el elemento gráfico del presentador Una vez demostrado, el nuevo objeto proxy de hijo crea un objeto presentador para el elemento gráfico hijo a través de un constructor de presentador correspondiente al tipo de presentador especificado en el elemento gráfico hijo identificado El objeto proxy hijo, a su vez, devuelve su propia referencia al objeto presentador padre El objeto del presentador padre mantiene el objeto proxy hijo devuelto en una adaptación de referencias a los objetos proxy hijos Como tal la adaptación del objeto proxy hijo entra para un objeto presentador al hijo del elemento gráfico para un elemento gráfico padre con el cual el presentador padre está asociado Otro aspecto de la arquitectura de la adaptación/presentación del elemento gráfico descrito en la Figura 2 es la notificación de cambio En una modalidad de la presente invención, un grupo de clases de manipulación de notificación 224 se proporcionan para los objetos del presentador demostrados a partir de las clases de presentador 214 Las clases de manipulación de notificación 224 se definen de acuerdo con la clase base del manipulador de notificación 225 La clase base del manipulador de notificación 225 es una clase abstracta que define una interfase para las clases del manipulador de notificación 224 La clase base del manipulador de notificación 225 proporciona la definición de la inferíase de dos métodos virtuales (ver Figura 6), la implementación del cual se proporciona en las clases del manipulador de notificación 224 de acuerdo con sus clases de presentador correspondientes 214 Las clases del manipulador de notificación 224 ayudan a la actualización del diseño incrementado, recalculando solamente los objetos del presentador que producidos por cambios a un grupo de elementos gráficos correspondientes En una modalidad de la invención, un manipulador de notificación se especifica para el elemento gráfico y combinaciones de vistas En casos en donde los presentadores múltiples son creados como la fuente individual para rastrear cambios al elemento para propósitos de actualizar los presentadores múltiples para el elemento en una vista Cada tipo de presentador especifica un tipo de manipulador de notificación correspondiente particular Cuando un objeto de presentador para un elemento demuestra que requiere un manipulador de notificación, el sistema de presentador crea un manipulador de notificación correspondiente al tipo especificado y enlaza el manipulador de notificación al objeto del presentador Las instancias de las clases de manipulador de notificación 224 determinan que porciones de los objetos del presentador son impuros y por lo tanto requieren de actualización Inicialmente, una relación de notificación se establece entre un elemento gráfico y un manipulador de notificación creado para un presentador en una vista (por ejemplo, la vista 202 para la aplicación 204) El manipulador de notificación recibe notificaciones de cambio asociadas con el elemento gráfico en el almacenamiento de memoria 208 a través del procesador de presentación 212 del sistema presentador 200 El manipulador de notificación determina una porción, si hay alguna, del presentador que ha sido afectado por el cambio al elemento El manipulador de notificación devuelve la información de la porción afectada al sistema presentador 200 El presentador se marca como "impuro" a través del procesador de presentación 212 El sistema presentador 200 acumula la información de presentador "impuro" para todos los presentadores en la estructura de datos mantenida para una vista (por ejemplo, la vista 202) Tiempo después, en respuesta a una llamada para recalcular el diseño para una vista, el procesador de presentación 212 del sistema presentador 200 invoca una método/operación de actualización solamente sobre los presentadores impuros De esta manera, las clases de manipulador de notificación 224 habilitan la limitación de las actualizaciones de diseño a los afectados de los objetos presentadores creados a partir de las clases de presentador 214 La arquitectura del sistema de administración de diseño modalizando la presente invención opera independientemente de cualesquiera dispositivos de hardware de salida particulares a partir de los cuales los elementos diseñados son finalmente desplegados de acuerdo con sus vistas definidas La arquitectura del sistema de administración de diseño/presentación descrita en la Figura 2, realiza un paso de reprocesamiento con respecto a la salida de despliegue gráfica En una modalidad de la invención, la salida adaptada asociada con la arquitectura del sistema de administración de diseño/presentación es un dispositivo independiente Por lo tanto, durante la etapa de representación los objetos presentadores representan la vista recalculada para los componentes de salida gráficos de un sistema de computación Sin embargo, en otras modalidades de la invención, la salida del sistema de diseño/presentación es devuelta ya sea a través de los objetos del presentador 214 o del sistema presentador 200 a la aplicación que se llamó 204, y la aplicación 204 realiza la tarea de interpretación En una modalidad de la invención, los comandos de interpretación, si son emitidos por los objetos del presentador derivados de las clases de presentador 214, la vista 202, o la aplicación 204, se aprueban a un subsistema gráfico y las unidades de los dispositivos gráficos 234 en la computadora del usuario El subsistema gráfico y las unidades del dispositivo gráfico 234 transforman las instrucciones de interpretación y los datos a un dispositivo de salida seleccionado particular tal como un monitor 236 o una impresora 238 En resumen la arquitectura del sistema de administración de diseño/presentación descrita anteriormente, un sistema presentador 200 proporciona una plataforma de procesamiento de diseño independiente del dispositivo para aplicaciones tales como la aplicación 204 El procesamiento del diseño se realiza a través de objetos del presentador a partir de un grupo de clases de presentador 214 hospedado por el sistema presentador 200 El sistema presentador 200 lo posee la vista 202 Los objetos del presentador corresponden a estados/interpretaciones de la vista particular de los elementos gráficos 206 Al separar los estados de las vistas (objetos del presentador) de los estados de los elementos (elementos gráficos 206) habilitan múltiples estados/presentadores de vistas para que sean independientemente diseñados para un estado de elemento individual El diseño se separa en vistas, tal como la vista 202, en donde cada vista corresponde a una región de despliegue tal como un rectángulo particular sobre una pantalla de salida asignada a la aplicación 204 o una página de documento en una salida de impresora gráfica La separación de los datos y los estados de las vistas permiten a un elemento individual manejar vanas vistas de ese elemento gráfico y de esta manera permite a un elemento gráfico individual ser desplegado en una variedad de vistas/formas Otro aspecto de la arquitectura del sistema de administración de diseño descrita es su algo grado de extensibilidad La extensión del grupo de clases de presentador 214 se facilita a través de la clase base de presentador 216 provista por el sistema presentador 200 y la API del huésped del presentador del procesador de presentación 212 La arquitectura del sistema de administración de diseño anteriormente descrita soporta una variedad de características para el procesamiento del diseño avanzadas para aplicaciones que interpretan salidas gráficas a interfases de usuario gráficas e impresoras La habilidad para separar un elemento individual (elemento gráfico) en múltiples estados de vistas (presentadores) ayuda a la paginación y división de elementos en múltiples columnas (una forma de paginación) en aplicaciones cuando se interpreta la salida de la impresora o la vista de la salida de la impresora de un documento en una pantalla de despliegue Dichas aplicaciones incluyen navegadores web y programas de procesamiento de palabras Otro beneficio de los presentadores múltiples es la habilidad de las aplicaciones de realizar múltiples intentos para ajustar el contenido dentro de un espacio de despliegue dado Las aplicaciones pueden demostrar múltiples intentos sobre objetos de presentador diferentes, para un elemento individual, con diferentes parámetros de entrada, y después permitir a un usuario seleccionar la mejor de las vistas desplegadas del elemento(s) gráfico Aún otro beneficio que surge de la arquitectura del sistema de administración de diseño anteriormente mencionada es la habilidad de realizar actualizaciones increméntales sobre una vista que comprende un grupo de presentadores para un grupo de elementos correspondientes Los cambios se implementan sobre bases elemento por elemento en el almacenamiento de memoria (Ver, por ejemplo, almacenamiento de memoria 308 en la Figura 3) Los manipuladores de notificación y el sistema presentador 200 proporcionan una infraestructura para limitar la actualización de una vista correspondiente a los presentadores que han sido afectados por los cambios a los elementos correspondientes en el almacenamiento de memoria Aún otro beneficio de la arquitectura de administración de diseño es la habilidad de adornar los estados de las vistas de elementos modalizados en presentadores creados previamente Esto se logra encadenando presentadores adicionales en un presentador de un tipo especificado para un tipo de elemento particular El encadenamiento permite a los desarrolladores mejorar las interfases de usuario y la salida de documento agregando bordes, fondos, etc , a un estado de vista especificado por un tipo de presentador particular para un elemento Habiendo descrito la arquitectura general del sistema de administración de diseño modahzando la presente invención, la atención se dirige a la Figura 3 que describe las relaciones entre las vistas, procesadores de presentación, objetos del presentador dentro de las vistas, elementos gráficos, y manipuladores de notificación para una vista ilustrativa particular Conceptualmente, una vista define una manera particular para diseñar un grupo de elementos gráficos representados en un almacenamiento de memoria 208 de acuerdo con presentadores especificados En una modalidad de la invención, una vista se define por un rectángulo en un campo de salida (por ejemplo, una pantalla de despliegue) Además, de un rectángulo y su posición, una vista también especifica elementos gráficos y presentadores asociados contenidos en las vistas Además, se observa que en una modalidad de la invención cada vista se asocia con su propia instancia de sistema presentador (por ejemplo, el sistema presentador 200a y el sistema presentador 202a para la vista 202b) Con referencia continua a la Figura 3, el almacenamiento de memoria 308 comprende una colección organizada de elementos gráficos (Ex) asociados con las vistas 202a y 202b Los elementos gráficos (Ex) son entidades de contenido de usuario organizado Ejemplos de los elementos incluyen un botón de la interfase de usuario gráfica (GUI) o panel de texto, una ventana del editor de texto, un mapa de bits, etc En una modalidad de la invención, los elementos gráficos (Ex) en el almacenamiento de memoria 208 están adaptados en la forma de un árbol Cada elemento (Ex) en el grupo de elementos gráficos 206 mantenido dentro del almacenamiento de memoria 208 está asociado con un grupo de propiedades/marcadores de posición (los cuales pueden ser ya sea explícitos o implicados a partir de otras propiedades/marcadores de posición explícitos) Una o más de dichas propiedades/marcadores de posición en los elementos gráficos especifican un tipo de presentador que se utiliza para diseñar e interpretar el contenido de los elementos gráficos en cooperación con otros componentes del sistema de computadora En las modalidades de la invención, los presentadores encadenados están explícitamente definidos, o alternativamente, están implicados a partir de otras propiedades especificadas en un elemento (por ejemplo, una propiedad de "borde" de dos pixeles implica un presentador encadenado de borde) Los tipos de propiedad especificados por los elementos gráficos dependen del elemento gráfico particular e incluyen color, tipo de letra, nombre, altura, ancho, etc El almacenamiento de memoria 208 está asociado con vistas potencialmente múltiples (por ejemplo, vistas 202a y 202b) Cada una de la pluralidad de vistas múltiples posee un grupo de instancias de objeto del presentador correspondientes al grupo de elementos gráficos dentro del almacenamiento de memoria 208 De esta forma, en el caso de un elemento gráfico que está presente en vistas múltiples, un objeto del presentador se crea para el elemento dentro de cada vista (por ejemplo, el presentador P2 y presentador P2' para el elemento E2) El elemento gráfico con el cual el presentador esta asociado se especifica en un campo propietario del elemento y corresponde a las líneas punteadas a partir de los presentadores a sus elementos gráficos correspondientes Esto es solo un ejemplo de la arquitectura de presentación representada en las Figuras 2 y 3 soportando la operación de presentadores múltiples una vez que la información es recibida a través de un elemento gráfico individual Como una consecuencia de la arquitectura de la presentación modahzando la habilidad anteriormente descrita para conectar vistas múltiples (y presentadores) a una misma colección de elementos gráficos en el almacenamiento de memoria 208, una inferíase de usuario gráfica es capaz de desplegar vistas múltiples de un mismo grupo de información provista por los elementos gráficos Por ejemplo, en la aplicación tal como POWERPOINT de MICROSOFT, dos vistas simultáneas de una diapositiva son soportadas, la vista principal y la vista previa (o boceto), para el mismo elemento gráfico de diapositiva La habilidad para crear instancias de objeto del presentador múltiples para un elemento gráfico individual también facilita la paginación de un elemento gráfico individual (por ejemplo, texto del documento) a través de múltiples páginas/columnas (es decir, en donde un elemento gráfico se divide en dos páginas, dos objetos del presentador se crean para el elemento, uno para cada página) Con referencia a la Figura 3, un objeto de presentador padre (por ejemplo, P5) recibe una propiedad que pasó a partir del elemento gráfico (por ejemplo, E5) indicando que el contenido dentro del elemento (por ejemplo, elemento de texto E8), es presentable a través de dos columnas Dos objetos de presentador hijos P8a y P8b, correspondientes a dos rectángulos de columna/página separados y distintos en el documento, con demostrados bajo el presentador P5 para desplegar el texto provisto por el elemento gráfico E8 Aún otro caso de demostración de presentadores múltiples para un elemento gráfico individual surge en el caso de adornos (por ejemplo, bordes, fondos, marcos, etc ) asignados a un elemento gráfico Un ejemplo de un presentador encadenado se proporciona a través del presentador encadenado Q4 para el elemento E4 que proporciona un borde alrededor de un rectángulo definido por el presentador P4 para mantener el texto suministrado por un campo de datos dentro de elemento E4 Ambos, el presentador Q4 y el presentador P4 están enlazados a/asociados con un elemento gráfico E4 especificando el elemento gráfico E4 en sus campos propietarios del elemento En una modalidad de la invención, un presentador padre detecta a partir de un elemento correspondiente a uno de sus hijos que un presentador encadenado es necesario (por ejemplo, un borde de dos píxeles está especificado en el elemento) En el caso de presentador encadenado Q4, cuando el presentador P1 llama un método por sí mismo para crear un presentador (proxy) hijo para un elemento hijo E4, reconoce a partir de las propiedades en E4 que un presentador encadenado (Q4) es necesario El primer proxy/presentador hijo Q4 se crea y se identifica como un presentador hijo del presentador P1 Q4, a su vez, crea el proxy/presentador hijo P4 P4 es de esta manera un presentador hijo del presentador Q4 La información se almacena en el proxy hijo para el presentador encadenado Q4 identificando el siguiente presentador (P4) en la cadena Habiendo descrito casos ilustrativos particulares involucrando presentadores múltiples que están enlazados a un mismo elemento gráfico y creando vistas múltiples (y sistemas presentador) para un grupo de elementos gráficos en un almacenamiento de memoria 208, ahora se describirán las relaciones entre las entidades desplegadas en la Figura 3 Como se mencionó anteriormente, las vistas 202a y 202b poseen los sistemas presentador 200a y 200b, respectivamente El sistema presentador 200a crea y soporta un grupo de presentadores 302 para la vista 202a a través de código y una clase base incluyendo una API en la cual las clases de presentador están escritas El sistema presentador 200b crea y soporta un grupo de presentadores 303 para la vista 202b Como se indica a través de las lineas entre los presentadores (Px) y los elementos gráficos (Ex) en el almacenamiento de memoria 208, los presentadores (Px) están asociados con los elementos gráficos (Ex) correspondientes Los presentadores (Px) representan estados de vistas para los elementos gráficos correspondientes (Ex) Los elementos gráficos (Ex) en el almacenamiento de memoria 304 se mantienen, a manera de ejemplo, en una estructura de árbol construida a través de una aplicación en una de muchas posibles formas Ejemplos de dichas formas incluyen correr un archivo de marcación de testo a través de un analizador, utilizando el código para demostrar los elementos gráficos, etc El grupo de la estructura del árbol de presentadores 302 se construye a través del sistema presentador 200a en respuesta a una llamada a un método particular en la interfase (por ejemplo, HacerDiseño) provisto por su procesador de presentación Como se explicó previamente aquí anteriormente con referencia a la Figura 2, los nodos del árbol del objeto del presentador se determinan a través de nodos del árbol del elemento gráfico asociado con una vista particular Los elementos gráficos dentro de una vista se determinan a través del elemento gráfico raíz especificado para la vista, sus hijos, nietos, etc El grupo de presentadores 302 en la vista 1 se adaptan jerárquicamente, Un presentador de raíz P1 tiene dos presentadores hijos P2 y P4 (Q4 es un presentador de adornos del presentador P4) El presentador P2 no tiene hijos El presentador P4 sin embargo tiene dos presentadores hijos P5 y P7 El presentador P5, a su vez, tiene presentadores hijos P8a y P8b que están asociados con un elemento gráfico individual E8 Dicha forma de compartir/dividir un presentador gráfico individual entre dos objetos del presentador surgen, a manera de ejemplo, cuando un elemento gráfico de texto E8 se divide entre dos columnas de un elemento gráfico de texto padre E5, el cual tiene un presentador (P5) del tipo PresentadorTexto El presentador P5 inicia un proceso de división de columna cuando el presentador P5 nota una propiedad en E5 solicitando el contenido de E5 (E8) que va a ser dividido a través de dos columnas Los presentadores P8a y P8b corresponden a la existencia gráfica de partes del elemento gráfico E8 en dos columnas Se ha observado previamente que un elemento gráfico individual puede tener múltiples objetos de presentador asociados Se han identificado tres casos ilustrativos En un primer escenario, descrito a través de las vistas múltiples 202a y 202b y sistemas de presentador correspondientes 200a y 200b en la Figura 3, un elemento gráfico individual (por ejemplo, E2) tiene presentadores P2 y P2' correspondientes asociados con las vistas 202a y 202b, respectivamente Dichas vistas corresponden, a manera de ejemplo, a una vista en miniatura y una vista en tamaño completo de una imagen de fotografía (E2) desplegada en diferentes regiones de una inferíase de usuario generada a través de una aplicación de procesamiento de imágenes fotográficas En este caso, los presentadores P2 y P2' se crean para el elemento E2 en cada vista 202a y 202b conteniendo el elemento En un segundo escenario involucrando presentadores múltiples para un elemento individual (por ejemplo, el elemento de texto E8), los elementos del presentador P8a y P8b corresponden a dos columnas dentro de un rectángulo definido por un elemento del presentador individual P5 Alternativamente, dichos casos de presentadores múltiples en una vista referenciando un elemento gráfico individual surge, por ejemplo, cuando un padre realiza múltiples intentos en el diseño de una vista y guarda los intentos En un tercer escenario, un presentador (por ejemplo, Q4) que es dependiente de otro presentador (por ejemplo, P4), según opuesto al estado de los datos de un elemento gráfico (por ejemplo, E4), está encadenado al otro presentador por lo tanto enriqueciendo las características de despliegue provistas por el presentador original Un ejemplo del encadenamiento del presentador es un presentador de bordes proporcionando un adorno de bordes a un presentador principal Se ha observado previamente anteriormente, con referencia a la Figura 2, que los objetos proxy hijos demostrados a partir de la clase proxy hija 222 son envolturas para cada objeto del presentador hijo de un objeto de presentador padre En la descripción gráfica de la estructura del árbol presentador para la vista 202a, los objetos proxy hijos se representan a través de cabezas de flecha en las líneas que conectan un presentador padre a sus objetos de presentador hijo Los manipuladores de notificación (Nx) son responsables de notificar a los presentadores correspondientes (Px) los cambios de estado de los datos a sus elementos gráficos particulares (Ex) Los manipuladores de notificación Nx no son esenciales para la operación del sistema de administración/diseño En su lugar, facilitan las actualizaciones increméntales a menos de todos los presentadores cuando ocurre un cambio en un elemento dentro de una vista Con referencia a las Figuras 4a y 4b, la clase base de presentador incluye un grupo de métodos, propiedades y campos En una modalidad de la invención, las propiedades se acceden sobre un objeto del presentador referenciado particular invocando operaciones de obtener/configurar el objeto Una propiedad de fondo 400 especifica un valor de pintura para el fondo del presentador Una propiedad de opacidad de fondo 402 almacena un valor especificando una opacidad para el fondo Una propiedad de borde 404 almacena un valor especificando el grosor de borde dibujado alrededor de la orilla del espacio de diseño del presentador La propiedad de borde 404 almacena, por ejemplo, cuatro valores indicando los anchos de los bordes para la parte superior, la parte inferior, los lados derecho e izquierdo de un rectángulo asignado a un presentador Una propiedad de color de borde 406 especifica un valor designando el color del borde alrededor del presentador Una propiedad de estilo de borde 408 almacena un valor indicando uno de un grupo de estilos de despliegue de borde Ejemplos de estilos de borde incluyen sólido, surco, cresta, intercalado y al principio Una propiedad de la caja del contorno 410 especifica el área (por ejemplo, rectángulo) en la cual las gráficas del presentador (o hijos) se dibujan El tamaño por omisión de la propiedad del contorno de la caja 410 es la misma que el tamaño especificado por un campo de tamaño de diseño 460 Sin embargo, el tamaño de la caja de contorno puede exceder el tamaño del diseño por lo tanto habilitando al presentador dibujar fuera del tamaño del diseño Por el otro lado, si una propiedad de recorte 414 es establecida como verdadera, entonces el presentador (y sus presentadores hijos) no pueden ser dibujados fuera de un rectángulo especificado a través de un campo de tamaño de diseño 460 Si la propiedad de recorte 414 se establece como verdadera, entonces la propiedad de caja de contorno 410 no es más grande que el tamaño del diseño Esto asegura que el presentador dibujado no interpreta gráficas fuera de su espacio de diseño asignado Una propiedad de hijo 412 es una adaptación, o alternativamente cualquier otra estructura de datos de multielemento adecuado, que almacena referencias (por ejemplo, manipuladores, apuntadores, directo/indirecto, etc ) para presentadores hijo anidados dentro de un presentador padre y sus ubicaciones transformadas dentro del espacio de diseño del presentador padre La propiedad de hijo 412 se habilita sobre un primer uso en el contexto de una llamada del método ActivarActualización (discutido aquí más adelante) en el presentador "Sobre el primer uso" se refiere a cuando un presentador padre secuencialmente solicita la colección de hijos y la colección de hijos es habilitada con presentadores correspondientes a elementos gráficos hijo, del elemento gráfico correspondiente al presentador padre, a partir del árbol de elementos gráficos en el almacenamiento de memoria (por ejemplo, almacenamiento de memoria 208) La propiedad de hijo 412 facilita el establecimiento/mantenimiento de relaciones anidadas reflejando la jerarquía con respecto a los presentadores en una vista En una modalidad de la invención, la adaptación entra objetos proxy hijo de referencia Los objetos proxy hijos son objetos envueltos para objetos de presentador padre que están anidados dentro del espacio de despliegue asignado a un objeto del presentador padre La envoltura del objeto proxy hijo logra la encapsulación y necesidades de seguridad (por ejemplo, acceso limitado del presentador hijo a través de un presentador padre a sus contenidos) La propiedad de recorte 414, como se explicó anteriormente, controla si el contenido de un presentador será confinado, a través de recorte al tamaño del diseño de un presentador según especificado a través del campo de tamaño del diseño 460 Un grupo de propiedades designan el espacio asignado para el contenido dentro del espacio de un presentador Ademas de la propiedad de borde 404, una propiedad de relleno 416 especifica una cantidad de espacio dentro del borde que se dejo sin ocupar por contenido Una propiedad de altura de contenido 418 especifica un valor indicando la altura del contenido dentro de un presentador, la altura de la porción del presentador que permanece después de contabilizar los valores especificados en la propiedad de borde 404 y la propiedad de relleno 416 Una propiedad de ancho de contenido 420 especifica un valor indicando el ancho designado para el contenido dentro de presentador después de contabilizar las dimensiones para la propiedad de borde 404 y propiedad de relleno 416 La propiedad de altura del contenido 418 y la propiedad de anchura de contenido 420, en combinación, especifican el área de un presentador que está potencialmente ocupada en un presentador mediante contenido Una propiedad de altura 422 y una propiedad de anchura 424 especifica la altura actual y ancho de un presentador, y esto dos valores incluyen las dimensiones de contenido, relleno y borde Una propiedad de altura por omisión 422 y una propiedad de anchura por omisión 424 especifican los valores por omisión asignables al presentador cuando la propiedad de altura 422 y la propiedad de anchura 424 no son provistas por un objeto del presentador específico Una propiedad de anchura máxima 430 y una propiedad de anchura mínima 432 especifican los límites para el valor asignado a la propiedad de anchura 424 Aún otra propiedad dimensional para presentadores es una propiedad de margen 434 La propiedad de margen 434 especifica un espacio de memoria temporal fuera del borde del presentador La propiedad de margen 434 se especifica a través de un presentador hijo y se accede a través de su presentador padre cuando se adapta un diseño comprendiendo una jerarquía de presentadores anidados Una propiedad de visibilidad 436 especifica es estado de visibilidad del presentador La propiedad de visibilidad 436 se menciona para determinar cómo (o si) una imagen gráfica correspondiente al presentador y sus hijos es interpretada En una modalidad de la invención, los estados de visibilidad potenciales incluyen visible, colapsado y oculto Un número de propiedades de presentador se utilizan para enlazar presentadores a otras entidades en el sistema de administración de diseño/presentación Una propiedad de presentador 438 especifica el tipo de presentador que se utiliza para diseñar e interpretar el elemento gráfico El tipo de presentador es inicialmente establecido en un elemento gráfico, y el sistema presentador 200 lee la propiedad del presentador 438 a partir del elemento gráfico y demuestra un objeto de presentador correspondiente al tipo presente identificado por la propiedad del presentador 438 La propiedad del presentador 438 se aprueba a un demostrador que, a su vez, crea una instancia del tipo de presentador identificado Una propiedad de EsPresentadorPnncipal 440 especifica si el presentador es el único presentador o el presentador principal (por ejemplo, último) en un grupo de presentadores encadenados asociados con un objeto del elemento gráfico Haciendo referencia ahora a la Figura 3, el presentador P4 es el presentador principal para la cadena incluyendo B4 y P4 En una modalidad de la invención, la propiedad EsPresentadorPnncipal 440 es una propiedad de tipo Buhano Una propiedad del propietario del elemento 442 identifica el elemento gráfico para el cual el presentador fue demostrado Haciendo referencia de nuevo a la Figura 3, las líneas fantasma conectando los presentadores (Px) a los elementos gráficos (Ex) correspondientes representan las asociaciones designadas por el contenido de la propiedad del propietario del elemento 442 Una propiedad del contexto del diseño 444 especifica un contexto global que facilitar la transmisión de mensajes entre presentadores durante el procesamiento del diseño Los valores almacenados en la propiedad del contexto de diseño 444 permiten a los presentadores aprobar mensajes independientemente el sistema presentador 200 Una propiedad del manipulador de notificación 446 especifica una referencia a un manipulador de notificación para el presentador Una propiedad de tipo de manipulador de notificación 448 especifica un tipo de manipulador de notificación referenciado por la propiedad de manipulador de notificación 446 Una propiedad de impureza 450 especifica si un presentador particular ha sido cambiado y por lo tanto requiere de procesamiento de actualización El sistema presentador 200 y componentes asociados de la arquitectura de administración del diseño soporta el procesamiento incremental de un diseño La propiedad de impureza 450 mantenida por cada presentador indica sobre bases de presentador por presentador si un presentador necesita ser actualizado Con referencia continua a la Figura 4a, se resume un grupo ilustrativo de campos de la clase base del presentador En una modalidad de la invención, los campos son campos de Tiempo de Ejecución del Lenguaje Común (CLR) (similares a variables de miembros bien conocidas en las clases C + + ) En una modalidad de la invención, las propiedades descritas anteriormente son similares a los campos Sin embargo, las propiedades en los elementos gráficos (por ejemplo, los elementos gráficos 206) son poseídos y administrados por el almacenamiento de memoria (por ejemplo, almacenamiento de memoria 208) Cuando una propiedad cambia, el almacenamiento de memoria notifica al procesador de presentación del cambio El procesador de presentación (por ejemplo, procesador de presentación 212 para el sistema presentador 200) a su vez notifica a los manipuladores de notificación apropiados 224 De esta manera, en el caso de una propiedad, se recibe una notificación de cambio a través de uno de los manipuladores de notificación anteriormente mencionados Los campos, por el otro lado, no son administrados por el almacenamiento de memoria 208 (y son en lugar de administrados por ejemplo por el CLR) Por lo tanto, cuando no hay cambio en las notificaciones son despedidos al procesador de presentación cuando un campo cambia El campo de tamaño del diseño 460 mantiene dimensiones de un espacio de diseño asignado del presentador El campo de tamaño del diseño 460 se utiliza para adaptar presentadores vecinos en un diseño de interfase página/usuario Un campo de diseño de influencia 462 es una colección de propiedades (por ejemplo, borde, relleno, etc ) de un presentador que, cuando cambia, afecta el diseño del presentador Un campo de diseño padre de influencia 464 es una colección de propiedades (por ejemplo, margen visibilidad, etc ) de un presentador que, cuando cambia para un elemento (por ejemplo, Elemento A), ensucia (es decir, potencialmente afecta) el diseño de un primer padre del elemento (Elemento A) teniendo un presentador especificado Un campo de interpretación de influencia 466 es un mecanismo de notificación que activa la invalidación y re- interpretación del presentador Haciendo referencia ahora a los métodos de la clase base del presentador 206 listada en la Figura 4, un método de ActivarActualización 470 realiza las tareas de medición y posicionamiento en un presentador para un elemento Los autores del presentador sobrescriben una versión de clase base del método ActivarActualización 470 para crear/proveer un comportamiento de dimensionamiento/posicionamiento del diseño personalizado para una vista correspondiente del elemento Una primera acción por omisión del método ActivarActualización 470 es el dimensionamiento del presentador El método ActivarActualización 470 recibe las dimensiones del tamaño del presentador en un parámetro de InfoTamañoCaja aprobado El método ActivarActualización 470 fija las dimensiones especificadas en el campo de tamaño del diseño 460 de acuerdo con la InfoTamañoCaja especificada y lo valores de la propiedad de anchura por omisión 428 y de la propiedad de altura por omisión 426 Las fuentes adicionales para la información de posicionamiento/dimensionamiento para un presentador se incorporan en la arquitectura del procesamiento del diseño/presentación en base al presentador descrito, y dichas fuentes se utilizan en modalidades alternativas de la invención Una segunda tarea por omisión del método ActivarActualización 470 es el posicionamiento de presentadores hijos dentro del espacio de dimensión local del presentador La versión de clase base del método ActivarActuahzación 470 repetidamente llama al método ActivarActualización 470 en los presentadores hijos identificados en la propiedad de hijos 412 para descubrir sus dimensiones e hijos Una vez descubiertos y medidos los presentadores hijos, los hijos se colocan dentro de presentador padre a través de la invocación de un método de transformación (discutido aquí más adelante) en el hijo individual Las llamadas repetidas al método ActivarActualización 470 en los presentadores hijos finalizan cuando ya no hay presentadores hijos especificados en un presentador Además, del registro de su tamaño en el campo de tamaño de diseño 460 y repetidamente llamar/posicionar presentadores hijos, el método ActivarActualización 470 regresa un valor al llamador indicando si se desea una reinterpretación en vista de la llamada de método Acti varActualización 470 Un método de átomo registrado 471 registra un nombre de cadena para el presentador del contexto del diseño 444 así como cualesquiera otras listas apropiadas de presentadores incluyendo aquellos mantenidos por extensiones a los presentadores El método de átomo registrado 471 es llamado, por ejemplo, para comunicarse con oro objeto de presentador en una forma no estándar (por ejemplo, una forma no soportada actualmente por la mterfase del programa de aplicación) Los presentadores registran un átomo y después fijan el objeto con el cual desean comunicarse utilizando el átomo Por ejemplo, un presentador hijo desea comunicarse con un texto descendente a un presentador padre El presentador hijo registra un átomo etiquetado/marcado "Descendencia" y recibe una notificación del átomo El hijo calcula la descendencia y fija el valor en el átomo utilizando la identificación El presentador padre entonces utiliza la identificación (que también se recibe registrando "Descendencia") para recuperar la información almacenada Un método CajaActivarActualización 472 produce una propiedad de caja de contorno actualizada 410 para el presentador El método CajaActivarActuahzación 472 es llamado si el método ActivarActuahzación 470 devuelve un valor (por ejemplo, "verdadero") indicando que se requiere de una reinterpretación La implementación por omisión del método CajaActivarActual ización 472, provista en la clase base del presentador, escanea los presentadores hijos identificados en la propiedad de hijo 412 para el presentador y combina (es decir, realiza una unión matemática de rectángulos) las propiedades de la Caja de Contornos de los hijos con las dimensiones del presentador almacenado dentro del campo de tamaño de diseño 460 La implementación de la clase base del método CajaActivarActuahzación 472 también tiene acceso a la propiedad de recorte 414, y si es "verdadera" ignora las cajas de contorno de los hijos En su lugar, los presentadores hijos serán recortados a las dimensiones campo de tamaño del diseño 460 de sus presentadores padres Los presentadores que se dibujaron fuera de las dimensiones de su campo de tamaño de diseño 460 sobrescriben este método Dichas clases de presentadores personalizados llaman a la clase de presentador base y agregan una "área de tinta" adicional en su código de sobrescritura En una modalidad de la invención, los presentadores tienen permiso de estimar el "área de tinta" para que sea más grande que la actualmente requerida Si el área de la propiedad de caja de contorno 410 es más pequeña que el área necesaria para dibujar el presentador, entonces el dibujo es recortado con base en las dimensiones de la propiedad de la caja de contorno 410 especificadas para el presentador Un método de Activarlnterpretación 474 se invoca dependiendo de los presentadores que solicitan/requieren interpretación El método Activarlnterpretación 474 es la llamada principal en un presentador para reinterpretar el presentador y cualquiera de sus presentadores hijos El método Acti vari nterpretación 474 es preferiblemente invocado después de que el método ActivarActualización 470 es invocado en todos los presentadores "impuros" en un diseño (por ejemplo, una escena) En una modalidad de la invención, el método Activarlnterpretación 474 es invocado en los objetos del presentador basado en si el método ActivarActuahzación 470 llama a un objeto de presentador que devuelve una indicación de que el presentador solicita una reinterpretación En una modalidad de la invención, el método Activarlnterpretación 474 en la clase base realiza operaciones de adaptación de presentación/diseño independientes del dispositivo en un presentador Otros componentes, incluyendo el subsistema de gráficas y las unidades de dispositivos gráficos 234, interpretan la vista del presentador en un formato específico del dispositivo Las derivaciones personalizadas del método Activarlnterpretacion 474 incluyen llamadas a componentes de generación de gráficas del sistema de computadora para interpretar salidas del documento gráfico/interfase de usuario En una modalidad de la invención, una versión de clase base del método Activarlnterpretación 474 interpreta el contenido de un presentador incluyendo cualquier hijo en las tres etapas del procesamiento del diseño Durante una etapa de ActivarlnterpretaciónAntesHijos, el objeto del presentador invoca las operaciones designadas para procesamiento antes de procesar cualquiera de sus presentadores hijos En una modalidad de la invención, la implementación de la clase base del método Activarlnterpretación 474 proporciona un gancho para la personalización y no especifica ninguna operación de pre-procesamiento durante la etapa de ActivarlnterpretaciónAntesHijos Sin embargo, un reemplazo personalizado ilustrativo para este comportamiento por omisión es establecer/dibujar un fondo común para el área de despliegue del presentador La versión de clase base del método Activarlnterpretación 474, durante una etapa de interpretación de hijo, accede a los presentadores hijos del presentador identificados en la propiedad de hijos 412 El método Activarlnterpretación 474, es invocado a su vez en cada uno de los presentadores hijos (a la extensión solicitada por el hijo cuando se realiza en método ActivarActualización 470) De esta manera, un nivel superior llama al método Activarl nterpretación 474 en cascada descendente a los presentadores hijo, y sus hijos, hasta que el fondo del árbol es alcanzado (es decir, el presentador no tiene hijos) Cuando la llamada de nivel superior se completa, todos los presentadores hijos en un árbol que solicita la interpretación han sido reinterpretados Durante la etapa de ActivarlnterpretaciónDespuesHijos, el objeto del presentador invoca operaciones que van a ser ejecutadas después de llamar el método Activarlnterpretación 474 en los presentadores hijos identificados en la propiedad de hijos 412 La versión de clase de base del método Activarlnterpretacion 474 proporciona un gancho para la personalización y no especifica ninguna operación de re-procesamiento durante la etapa de ActivarlnterpretaciónDespuesHijos Sin embargo, los ejemplos de personalización incluyen anotaciones, adornos, etc Si un presentador no reinterpreta nada aparte de sus hijos, entonces no hay necesidad de sobrescribir la versión de clase base en el método Activarlnterpretación 474 Sin embargo, si no se va a dibujar nada a través del presentador mismo, entonces la clase base para el método Activarlnterpretación 474 es sobrescrita para interpretar los datos gráficos dentro del espacio asignado al presentador El código de reemplazo incluye, a manera de ejemplo, llamadas a las aplicaciones 230 y/o el subsistema de gráficas y unidades del dispositivo gráfico Un presentador encadenado está en el árbol de presentadores para una vista particular Si el presentador encadenado requiere reinterpretación, entonces el método Activarlnterpretación será invocado por el sistema presentador en una forma similar al Activarlnterpretación para un presentador principal En el contexto de esta aplicación una "prueba-aciertos'' se refiere a un proceso para identificar que presentador cae bajo un punto de la rejilla en particular de un espacio de rejilla de la interfase de usuario gráfica Por ejemplo, se utiliza una prueba-aciertos para localizar en donde el apuntador del ratón es localizado (por ejemplo, sobre que presentador se apoya) cuando un usuario selecciona uno de los botones del ratón Un método de ActivarDetallePruebaAcierto 476 devuelve los datos almacenados dentro de una estructura DetallePruebaAcierto para un presentador Una clase de presentador personalizado sobrescribe la implementación de la clase base del método ActivarDetallePruebaAcierto 476 para llenar la estructura DetallePruebaAcierto para habilitar que el presentador devuelva los datos diferentes del elemento y presentador que se activó, por lo tanto proporcionando, por ejemplo, información más detallada con respecto al presentador tal como una parte del presentador que fue actualmente activado (por ejemplo, una posición del carácter para el texto) Un método de ActivarResultadoVistaCreada 478 expone parámetros describiendo el estado calculado de un presentador en un objeto del resultado de la vista La solicitan el objeto del resultado de la vista para cualquier elemento en el contexto de una vista designada La versión de clase base del método ActivarResultadoVistaCreada 478 proporciona, a través de un objeto del resultado de la vista, la altura, achura, y posición de la esquina superior izquierda de un presentador Si además/alternativamente se desea la información con respecto al estado del presentador, tal como cuantas líneas de texto están contenidas el presentador, entonces la versión de la clase base del método ActivarResultadoVistaCreada 478 es sobrescrito para proporcionar la información deseada a través del objeto del resultado de la vista Un método de prueba de acierto 480 inicia una prueba de acierto dependiendo de la raíz del sub-árbol en un presentador especificado Las coordenadas de un punto (en las coordenadas locales del presentador) se aprueban al método de prueba de acierto 480 a partir del cual la prueba de acierto se lleva a cabo El método de prueba de acierto 480 devuelve los datos de la prueba de acierto conteniendo los resultados de la prueba de aciertos para el punto y presentador designados Los resultados contienen todos los aciertos visuales mediante el punto Un visual es un objeto base (por ejemplo, una línea) a partir de la cual un presentador deriva una imagen de despliegue Un visual es un objeto gráfico que tiene la capacidad de actualmente dibujar sobre la salida de despliegue gráfica En una llamada al Activarlnterpretación del presentador, se emiten varias llamadas a una API del visual para la interpretación, por ejemplo, texto, imágenes, etc Un método ActivarObtenerListaBordeada 482 provee una lista de presentadores hijos previamente calculada para el presentador identificado La lista de presentadores hijos facilita bordear los presentadores hijos durante el cálculo del diseño (por ejemplo, comparando un nuevo hijo de diseño con presentadores hijos previamente calculados y re u 111 izar uno previamente calculado si existe una coincidencia a uno en la lista) Si un presentador describe sus hijos referenciando la colección de la propiedad de hijo 412, no tiene que sobrescribir este método Sin embargo, si el presentador utiliza un método ObtenerProxyHijoParaElemento 486 (descrito mas adelante), el método ActivarObtenerListaBordeada 482 es generalmente sobrescrito En una aplicación de un sistema de diseño modalizando la presente invención, en el caso en donde el método ObtenerProxyHijoParaElemento 486 se llama, el método Acti varObtenerListaBordeada 482 se llama antes del método ActivarActuahzación 470, y el objeto el presentador crea y habilita una lista de adaptación con objetos proxy hijos (descritos aquí más adelante con referencia a la Figura 5) que es guardado en la memoria temporal a partir de un cálculo de diseño previo Si un objeto de presentador no tiene una copia en la memoria temporal para almacenar los objetos proxy hijos recalculados, todos los presentadores hijos del objeto del presentador son recalculados en cada llamada del método Acti varActualización 470 en el presentador Un método de límites calculado 484, calcula y regresa los límites para una sub-gráfica enraizada en un visual identificado Un objeto proxy hijo, como se explicó anteriormente, es un objeto envuelto que actúa como un intermediario entre un presentador padre y un presentador hijo para un elemento gráfico particular Los objetos proxy hijos para el presentador hijo de un objeto del presentador particular se referencia como una colección dentro de la propiedad hijo 412 del objeto del presentador El método ObtenerProxyHijoParaElemento 486 es un método en el objeto del presentador padre que crea un objeto proxy hijo y el objeto del presentador para un elemento especificado El método, regresa "nulo" si el elemento especificado no tiene un presentador Un método ActivarBordearAntes 488 es Mamado cuando un sistema presentador 200 quiere "bordear" un presentador particular (es decir, saltar una llamada al método ActivarActualización 470 del presentador) Dicho método de bordear ocurre, por ejemplo, cuando el presentador no está impuro y el método ActivarActuahzación 470 llama los parámetros de dimensión del presentador de entrada (InfoTamañoCaja) no han cambiado a partir del último método ActivarActualización 470 llama al presentador El método ActivarBordearAntes 488 se realiza mejorando el mecanismo para habilitar presentadores, que tiene su propia colección común de objetos proxy hijo (aquellos que utilizan el método ObtenerProxyHijoParaElemento 486), para reutilizar los objetos proxy de sus hijos cuando se realiza una actualización en un diseño (por ejemplo, cuando solo una pequeña porción de un diseño se ve afectada por un cambio) Un método ActivarHijoDesconectado 490 remueve todos los objetos del presentador hijo a partir de un grupo de presentadores hijo en la propiedad hijo 412 para un presentador especificado Si la propiedad de hijo por omisión 412 está sobrescrita para una clase de presentador derivado de la clase base de presentador 216, entonces el método ActivarHijoDesconectado 490 también se sobrescribe para asegura la disposición apropiadas de los presentadores hijos Una aprobación Min/Max es una aprobación de dimensionamiento especial utilizado por las divisiones de los presentadores (por ejemplo, PresentadorPlataforma) cuando se dimensionan hijos al contenido Al conocer las anchuras máximas y mínimas de los hijos se habilita a un padre para inteligentemente distribuir espacio entre múltiples hijos que comparten una dimensión de anchura particular Sin la información min/máx provista por la función Aprobación MinMax, un presentador de división podría requerir múltiples aprobaciones para inteligentemente dimensionar el contenido Un método ActivarAnchuraMínima 492 se llama después de la aprobación ??p/ áx El método ActivarAnchuraMínima 492 recolecta un valor AnchuraMin que es un subproducto de un cálculo AnchuraMáx La versión de la clase base del método ActivarMínAnchura 492, emite un mensaje "No me importa" el cual invoca una aprobación de cálculo con un TamañoPropuesto = (0, infinito) y ambas direcciones "NoFijas" Un método presente 494 es un método constructor para una instancia del presentador El método del presentador 494 no tiene parámetros El método presentador 494 es invocado cuando el presentador es demostrado a través del sistema de presentador 200 El método del presentador 494 fija la instancia del presentador hasta habilitar la invocación de otros métodos (por ejemplo, ActivarActualización) en el presentador Un método de ColaEsperaTareaDiseño 496 agrega una tarea de diseño especificada, para ser realizada con respecto al objeto del presentador, a una cola de espera de tareas de diseño que van a ser ejecutadas por el sistema presentador 200 Cunado la tarea de diseño especificada alcanza el frente la cola de espera, el sistema presentador 200 llama un método de TareaActivarActuahzación 604 (descrita aquí más adelante) en el manipulador de notificación para el presentador Un método de ValorColaEspera 498 devuelve un valor correspondiente a un valor calculado especificado para el presentador Habiendo descrito la clase base del presentador 216, la atención se dirige a la Figura 5 que proporciona un resumen de las propiedades y métodos de una modalidad ilustrativa de la clase proxy hijo 222 Como se explicó previamente, en una modalidad de la invención, los objetos proxy hijos son envolturas para objetos de presentador que son hijos de un objeto de presentador padre, y soportan el acceso limitado por el padre a los recursos de los objetos presentador hijos Todas las comunicaciones (solicitudes/respuestas) entre un objeto de presentador padre y un objeto de presentador hijo son dirigidas a través del proxy hijo para el presentador hijo Los objetos proxy hijos mantienen una referencia al presentador hijo y dirigen las llamadas/solicitudes a través del presentador padre al presentador hijo En una modalidad de la invención el sistema presentador 200, la clase proxy hijo 222 incluye un elemento poseedor de la propiedad 500 que especifica el elemento en los elementos gráficos 206 con el cual el presentador referenciado del proxy hijo está asociado Una propiedad de transformación 502 posiciona el objeto del presentador hijo (y sus visuales asociados) dentro de su objeto de presentador padre Una transformación es una matriz de transformación de 3x3 de gráficas estándares en una clase base de objeto visual Cuando la matriz de transformación se configura, un objeto visual, asociado con el elemento gráfico del presentador, coloca sus hijos en una compensación especificada por la matriz de transformación Una propiedad de caja de contorno 504 especifica los límites de interpretación de un presentador hijo Los límites de interpretación del presentador hijo pueden de esta manera diferir del tamaño del diseño del presentador hijo Una propiedad de impureza 506 especifica el estado de impureza del presentador proxy del hijo En una modalidad del sistema presentador 200, el estado de impureza es ya sea limpio, impuro no participante, o impuro Un estado limpio indica que no han ocurrido cambios en el presentador hijo desde la última actualización de la vista Un estado impuro indica que ha ocurrido un cambio en el presentador hijo desde la última actualización de la vista Un estado de impuro no participante indica que por lo menos uno de los presentadores hijos posee un hijo impuro, pero el presentador hijo por si mismo no es impuro Dichos estados permiten al presentador padre optimizar las operaciones de actualización Un método BúsquedalnfoTamañoPorOmisión 510 inicializa las dimensiones de un presentador hijo a partir de valores por omisión suministrados por el presentador padre del presentador hijo Un método de Actualización 520 solicita un proxy hijo para invocar el método ActivarActualización 470 en el objeto del presentador hijo El presentador padre llama al método Actualizar 520 en el proxy hijo cuando el presentador padre busca cálculos del diseño del presentador hijo La llamada del método de Actualización 520 incluye dos parámetros de aprobación La información del tamaño de la caja especifica las dimensiones de la caja dentro del hijo para calcular un diseño, y, si la paginación está activada, el presentador padre aprueba la información de la página en un parámetro descriptor de página (Ver Figura 10 descrita aquí más adelante) El método de Actualización 520 de esta manera provee una capa entre un llamador y un objeto de presentador hijo que habilita la clasificación/filtración de dichas solicitudes a un objeto del presentador hijo El método de Actualización 520 proporciona una forma de bordear llamadas normalmente dirigidas al método ActivarActualización en el presentador hijo Por ejemplo, la llamada del método de Actualización 520 es invocada en casos en donde un presentador hijo no ha cambiado y los parámetros de entrada (información de tamaño de caja y descripción de página) no cambiaron Un método de conexión 530, emitido por un presentador padre a un proxy hijo, invoca un comando Activarlnterpretación sobre un presentador hijo asociado con el proxy hijo Un método de valor de búsqueda 540 proporciona un valor de presentador correspondiente a un tipo de valor calculado (propiedad) identificado en la llamada del método La llamada de método del valor de búsqueda 540 es delegado al método ValorActivarBúsqueda 498 en el objeto del presentador hijo Un método de tamaño de diseño de búsqueda 550 proporciona parámetros de tamaño de diseño calculados La llamada del método de tamaño de diseño de búsqueda 550 es delegado al método ValorActivarBúsqueda 496 en le objeto del presentador hijo Un método de calcular MinMax 560 proporciona una anchura mínima y máxima de un presentador hijo Haciendo referencia a la Figura 6, el grupo de clases base asociadas con el sistema presentador 200 incluye una clase base de manipulador de notificación Como se explicó previamente aquí anteriormente, los objetos del manipulador de notificación reciben todas las notificaciones con respecto a cambios potencialmente afectando un presentador asociado con una vista particular, información de impureza acumulada, y facilita la determinación de si un objeto del presentador asociado requiere de actualización Ambos métodos en la clase base de manipulador de notificación reciben, como un parámetro, un objeto incluyendo un método que proporciona información relevante del elemento en los elementos gráficos (por ejemplo, elementos gráficos 206) con la cual el manipulador de notificación está asociado La clase base del manipulador de notificación incluye un método ActivarNotificación 600 que proporciona notificaciones de impureza a un objeto del presentador asociado particular El método ActivarNotificación 600 potencialmente incluye tareas de notificación derivadas personalizadas, adicionales (sobrescribiendo la acción por omisión de proporcionar un valor de propiedad de impureza) que son ejecutadas en respuesta a recibir una notificación El método ActivarNotificación 600 recibe como una entrada información de parámetro acerca de un cambio que resultó en una notificación El método ActivarNotif icación devuelve un valor Buliano indicando si o no el manipulador de notificación puede procesar el cambio por si mismo (o si es necesario notificar al manipulador de notificación de un presentador ancestro en el árbol del presentador para una vista) El método también devuelve un valor de impureza indicando si el presentador está "limpio", "impuro", o "impuro no participante" Un método de ActivarTareaDiseño 602 ejecuta cualesquiera tareas previamente puestas en cola por un presentador asociado a través de ColaEsperaTareaDiseño 496 Haciendo referencia ahora a la Figura 7, el grupo de clases base asociadas con el sistema presentador 200 además incluye una clase de sitio de manipulador de notificación La clase de sitio de manipulador de notificación es un objeto de sitio que paso a un objeto de manipulador de notificación que permite al manipulador de notificación invocar servicios de notificación soportados por el sistema presentador 200 La clase de sitio del manipulador de notificación incluye una propiedad de propiedad de diseño 700 especificando el objeto del elemento gráfico con el cual el objeto del sitio de manipulador de notificación está asociado Un método de átomo de registro 702 registra un nombre de cadena provisto dentro del contexto del diseño 444 para un manipulador de notificación La funcionalidad del método de átomo de registro 702 es similar al método de átomo de registro 471 descrito aquí anteriormente con referencia a la clase base del presentador El método de átomo de registro 702 es de esta manera un medio para comunicar solicitudes a través del manipulador de notificación a otros objetos (por ejemplo, objetos del presentador) Un método de crear notificación 704 crea un nuevo objeto de notificación de presentador e inicial iza sus campos con base en los parámetros aprobados Los parámetros aprobados incluyen una identificación de un tipo de átomo (indicando el tipo de objeto de notificación del presentador) y datos de notificación Un método de notificar descendientes 706 invoca el método ActivarNotificación 600 en los manipuladores de notificación asociados con los descendientes de un presentador, con los cuales el sitio de manipulador de notificación está asociado, para aprobar una notificación del presentador especificada El método de notificar descendentes 706 realiza la función de notificar a los presentadores descendentes de cualesquiera cambios a un presentador padre (por ejemplo, redimensionamiento) Similarmente, un método de notificar ancestros 708 invoca el método de ActivarNotificación 600 en el manipulador de notificación asociado con los ancestros de un presentador, con el cual el sitio del manipulador de notificación esta asociado, para aprobar una notificación al presentador especificada Los ancestros se determinan atravesando el árbol del elemento gráfico (ver, Figura 3) en el almacenamiento de memoria 208 Los elementos gráficos representados en el almacenamiento de memoria incluyen una propiedad que especifica el padre (ancestro inmediato) del elemento gráfico Un método de notificar a todos 710 invoca al método ActivarNotificación 600 en los objetos del manipulador de notificación para todos los presentadores en un árbol presentador poseído por una vista para aprobar una notificación especificada Finalmente, un método de autonotif icar 712 provee medios a un presentador para que invoque el método Acti varNotificar 600 para marcarse el mismo como impuro Cambiando ahora a la Figura 8, se describe una clase de objeto de vista ilustrativo a partir del cual la vista 202 se demuestra Los objetos de vistas poseen una instancia del sistema presentador (por ejemplo, sistema presentador 200) y son la raíz visual de todos los visuales creados dentro de la instancia del sistema presentador El objeto de la vista inicia todos los cálculos en los presentadores dentro de la vista Un método de vista 800 es un método constructor que se usa para crear un nuevo objeto de vista La vista recibe como un parámetro aprobado una referencia a un elemento que es el elemento gráfico raíz de la vista Una propiedad ElementoRaíz 802 devuelve una referencia a un elemento gráfico raíz para la vista (que fue establecido a través del método de vista anteriormente descrito 800) Un método de HacerDiseño 804 crea un nuevo árbol de presentador para la vista y devuelve una referencia al nuevo árbol El método de HacerDiseño 804 recibe como entrada parámetros una altura y anchura propuestas para el rectángulo de la vista así como dos valores Búhanos (anchofijo y alturafija) que establecen si las dimensiones propuestas pueden ser alteradas durante la ejecución del método de HacerDiseño 804 Una propiedad de TamañoVista 806 fija las dimensiones de la vista La propiedad de TamañoVista 806, una propiedad de solo escritura, se utiliza cuando el objeto de la vista está hospedado dentro de una ventana, y la propiedad de TamañoVista 806 representa un tamaño inicial a partir del cual una operación de diseño se realiza Un método de ObtenerResultadoVista 808 recibe un elemento gráfico referenciado como una entrada, y el método ObtenerResultadoVista 808 devuelve la vista resultante para el elemento gráfico Un valor de nulo es devuelto en el caso en el que el elemento gráfico no esté localizado dentro del grupo de elementos gráficos para la vista Un método de PruebaAciertos 810 realiza una prueba de aciertos en un punto aprobado dentro de un sistema de coordenadas de la vista El método de PruebaAciertos 810 devuelve un primer objetivo de prueba de aciertos no transparentes Si no se activa ningún elemento gráfico, entonces el método regresa "falso" Un método de CrearPágina 812 recibe como parámetros de entrada InfoTamañoCaja (ver, Figura 9 descrita aquí más adelante) y DescriptorPágina (ver, Figura 10 descrita aquí más adelante) El método CrearPágina 812 crea una nueva página, con base en los parámetros de entrada, y devuelve un objeto proxy hijo correspondiente al elemento gráfico raíz para la página Cambiando ahora a la Figura 9, se describe una estructura de InfoTamañoCaja ilustrativa La estructura de InfoTamañoCaja especifica un grupo de dimensiones para los presentadores y sus presentadores hijos dentro de una vista, y cómo esas dimensiones deben ser tratadas por el receptor Una propiedad de tamaño propuesto 900 establece el tamaño propuesto para un presentador hijo dentro de la vista Inicialmente, el valor de la propiedad de tamaño propuesto 900 viene de las propiedades para un elemento gráfico hijo en el almacenamiento de memoria Se puede modificar a través de un presentador padre antes de pasar al hijo Una propiedad de tamaño de padre 902 es un tamaño propuesto para un presentador padre La propiedad de tamaño de padre 902 se utiliza, a manera de ejemplo, para calcular las dimensiones, a partir de los valores porcentuales del padre, para los presentadores hijo La estructura de InfoTamañoCaja también incluye dos propiedades de valores Búhanos, AnchuraFija 904 y AlturaFija 906 que instruyen al presentador del receptor si la dimensión suministrada como un valor impuesto (fijo) o si el valor de la dimensión es meramente una altura o anchura sugerida Cambiando ahora a la Figura 10, se describen las partes de una estructura del descriptor de página ilustrativa Un descriptor de página incluye una propiedad de TamañoPropiedad 1000 La propiedad de TamañoPropiedad 1000 en una propiedad de solo lectura especificando el tamaño de una página Se inicializa cuando la estructura del descriptor de página se crea Una propiedad de registro de ruptura 1002 es una estructura que incluye un inicio de posición de carácter que identifica el primer carácter del presentador actual que está en una siguiente página (con respecto al elemento gráfico que es la raíz de la vista que está siendo paginada), un número de caracteres (contando de regreso a partir del inicio de la posición del carácter) que puede invalidar una página previa, y un valor Buliano Está Impuro que indica si un registro de ruptura (cubriendo un rango de carácter particular dentro de un elemento gráfico paginado) es invalidado por un cambio en el almacenamiento de memoria La estructura del descriptor de página también incluye una propiedad de TamañoDisponible 1004 La página completa no puede estar disponible para un presentador dependiendo del comienzo de un método ActivarActuahzación en el presentador La propiedad de TamañoDisponible 1004 indica el espacio remanente en la página para el presentador La propiedad de TamañoDisponible 1004 es inicializa a un valor para un tamaño de página Cambiando ahora a la Figura 11, un grupo de métodos están identificados como que se realizan a través del procesador de presentación 212 del sistema presentador 200 creado por la vista 202 (ver Figura 2) Un método constructor 1100 en el procesador de presentación 212 tiene acceso a la vista 202 que contiene una referencia al elemento gráfico raíz para la vista (provista por el árbol de los elementos gráficos 206) Un método HacerDiseño 1102 recibe una altura y anchura como parámetros aprobados representando las dimensiones de la vista 202 y, en respuesta, comienza la ejecución del proceso de diseño con respecto al contenido de los elementos gráficos 206 Un método de ActuahzarDiseño 1104, ejecutado después de la ejecución de HacerDiseño por lo menos una vez, comienza la aplicación de cambios increméntales a un diseño previamente calculado para la vista 202 Un método de CrearPágma 1106 recibe, como un parámetro de entrada, información del tamaño de la caja (I nfoTamañoCaja) que contiene las dimensiones de la página que se va a diseñar, y un descriptor de página que contiene información con respecto a cómo iniciar la página particular En lugar de diseñar el contenido bajo una raíz de los elementos gráficos 206 para la vista 202, el método de CrearPágina 1106 diseña solamente una página individual de interés Una arquitectura de procesamiento de diseño ilustrativa ha sido descrita con referencia a las Figuras 1-11 La arquitectura ilustrativa incluye estados de vistas separados (objetos del presentador) enlazados a los estados de datos del elemento (objetos del elemento gráfico) La arquitectura ilustrativa incluye un sistema presentador 200 que facilita extender las capacidades del diseño/presentación de la vista a través de una clase base del presentador 216 a partir de la cual las nuevas clases de objeto del presentador, modalizando la funcionalidad del diseño/presentación se derivan El sistema y la arquitectura descrita aquí también incluyen elementos de enlace del mecanismo de notificación a sus objetos de presentador correspondientes para selectivamente recalcular las porciones de una visa en respuesta a los cambios Las clases base del objeto ilustrativas son ilustrativas en muchas formas alternativas potenciales para llevar a cabo la arquitectura extensible modalizando la presente invención y no debe ser vista como un limitante del alcance de la invención Habiendo descrito un grupo de componentes que componen una arquitectura del procesamiento de la presentación/diseño ilustrativa modalizando la presente invención la atención se dirige a la Figura 12 que describe la progresión general de los cambios en el procesamiento a un elemento desplegado gráficamente Inicialmente, en 1200 el almacenamiento de memoria 208 cambia Por ejemplo, la aplicación 204 ejecuta una operación que da como resultado un cambio de estado y/o contenido a uno o más de los componentes desplegados de una interfase de usuario gráfica para la aplicación En respuesta, en el paso 1202 una notificación de cambio, que surge de un cambio al elemento gráfico en el almacenamiento de memoria, es recibido por el procesador de presentación 212 del sistema presentador 200 A manera de antecedente, con respecto al paso 1204, el sistema presentador 200 mantiene asociaciones entre elementos y presentadores en información elemento a presentador (EPI) Siempre que se crea un presentador para un elemento gráfico, se crea una referencia a ese presentador en el elemento y se almacena en EPI mantenido por el sistema presentador Si un elemento gráfico tiene más de un presentador, entonces habrá múltiples referencias (una por presentador) en el EPI del elemento gráfico Cuando una propiedad cambia en el elemento gráfico, ocurren los siguientes pasos (a) El almacenamiento de memoria 208 se da cuenta del cambio en el elemento gráfico, (b) El almacenamiento de memoria 208 notifica al procesador de presentación 212 del cambio, con referencia al elemento gráfico que ha experimentado un cambio en sus propiedades, (c) El procesador de presentación 212 pasa a través de EPI del elemento gráfico que cambió y determina los presentadores que han sido creados para el elemento gráfico, y (d) Una vez que el presentador es determinado, el procesador de presentación 212 obtiene una referencia al manipulador de notificación correspondiente del presentador (a través de la propiedad de manipulador de notificación 446 en el presentador) De esta manera, en vista de lo anterior, en el paso 1204, el procesador de presentación 212 del sistema presentador 200 determina la identidad de un presentador al cual se aplica la notificación de cambio Como se explicó anteriormente, el sistema presentador mantiene una lista de presentadores que fueron demostrados para elemento en su EPI Después de determinar un presentador al cual se aplica la notificación de cambio (asumiendo para este ejemplo que solamente existe un presentador individual para el elemento), el procesador de presentación 212 del sistema presentador obtiene una referencia a un manipulador de notificación para el presentador a través de la propiedad de manipulador de notificación 446 en el presentador identificado Posteriormente, durante el paso 1206 el procesador de presentación 212 del sistema presentador 200 envía la notificación de cambio al manipulador de notificación utilizando la referencia obtenida en el paso 1204 En una modalidad de la invención, el paso 1206 se lleva a cabo invocando el método ActivarNotificación 602 en un objeto de manipulador de notificación particular Después de recibir la notificación de cambio desde el sistema presentador, durante el paso 1208 (por ejemplo, durante la ejecución del método ActivarNotificación 602) el manipulador de notificación determina las acciones, si hay alguna, requeridas por el presentador en respuesta a los cambios, durante el paso 1200, a un elemento gráfico en el almacenamiento de memoria 208 En una modalidad de la invención, el manipulador de notificación determina qué porción, si hay alguna, de un presentador correspondiente requiere de actualización en la vista de la notificación de cambio recibida Dichas porciones incluyen, a manera de ejemplo, los hijos del presentador y el presentador mismo Posteriormente, durante el paso 1210 el manipulador de notificación (por ejemplo, método ActivarNotificación 602) regresa un resultado que habilita al presentador correspondiente para determinar y ejecutar acciones en vista de la notificación de cambio recibida por el sistema presentador 200 durante el paso 1202 En una modalidad de la invención, la forma del resultado devuelto es específica del manipulador de notificación/presentación En algunos casos, el resultado devuelto simplemente etiqueta al presentador como "impuro", por lo tanto invocando un recálculo completo del presentador correspondiente En otros casos, la información es provista para selectivamente invocar solamente porciones de las capacidades de recálculo de la vista del presentador En una modalidad de la invención, el procesador de presentación 212 del sistema presentador 200 recibe el resultado devuelto del manipulador de notificación para un presentador durante el paso 1210 Posteriormente, en el paso 1212 si los cambios al almacenamiento de memoria no hacen surgir la necesidad de recalcular el presentador, entonces el control pasa al bloque de decisión 1216 Sin embargo, si en el paso 1212 el resultado devuelto indica que el presentador necesita ser recalculado, entonces el control pasa al paso 1214 en donde el sistema presentador 200 agrega el presentador al grupo de presentadores "impuros" que requieren de un recálculo En una modalidad ilustrativa de la invención, el sistema presentador fija la propiedad de impureza 450 en el presentador correspondiente (indicando una necesidad de recalcular el presentador) y agrega al presentador a un grupo de presentadores que necesita ser recalculados Los presentadores también especifican información describiendo la extensión de los cambios que dirigen hacia la configuración de la propiedad de impureza 450 El control entonces pasa al paso 1216 En el paso 1216, si un presentador padre no existe para el presentador asociado con el manipulador de notificación de ínteres actual, entonces el control pasa a Finalizar 1218 Si un presentador ciertamente existe, entonces el control para del paso 1216 al paso 1220 en donde se crea una notificación (aprobado para) el manipulador de notificación de presentador padre (resultando en el manipulador de notificación para el procesamiento padre la notificación) como se indica por la línea de regreso punteada al paso 1208 De esta manera, el grupo de pasos descritos en la Figura 12 habilitan al sistema presentador 200 para acumular una lista de presentadores que han sido "ensuciados" como un resultado de los cambios al almacenamiento de memoria 220 desde el último cálculo de un diseño para un documento/interfase de usuario Cambiando ahora a la Figura 13, una gráfica de flujo describe un proceso ilustrativo para recalcular/reinterpretar un documento/interfase de usuario de acuerdo con los cambios a los presentadores en una vista particular (ver, Figura 12, descrita aquí anteriormente) En una modalidad de la invención, la aplicación 204 controla las actualizaciones a su vista 202 e invoca procedimientos de actualización de vista, tales como el resumido en la Figura 13, en respuesta a los eventos tales como un período de vencimiento, un solicitud de impresión de documento, o un cambio en el estado de una inferíase de usuario gráfica Inicialmente, durante el paso 1300 el sistema presentador 200, y en particular el procesador de presentación 212 reciben una llamada del método HacerDiseño 1102 (descrito aquí anteriormente con referencia a la descripción de la API del procesador de presentación 212) En respuesta a la recepción de la llama del método HacerDiseño 1102 a través de la aplicación 204 del sistema presentador 200 recalcula los objetos del presentador contenidos dentro de la vista 294 para acomodar los cambios a los elementos en el almacenamiento de memoria 208 debido a una última llamada del método HacerDiseño 1102 En una modalidad de la presente invención en donde los presentadores para una vista están jerárquicamente adaptados (ver, Figura 3), el sistema presentador 200 imcialmente determina el presentador raíz para la vista en el paso 1302 En una modalidad de la invención, el presentador raíz se identifica a través de la propiedad de presentador en el elemento raíz que es sometido a la vista (por ejemplo, vista 204a) y por lo tanto el sistema presentador (por ejemplo, sistema presentador 200a) Después de determinar el presentador raíz, el control pasa al paso 1304 en donde el sistema presentador 200 comienza a atravesar el árbol de los presentadores para la vista y recálculo de cada presentador impuro Durante el paso 1304 el sistema presentador 200 invoca el método ActivarActuahzación 470 en cada presentador impuro en la vista El método ActivarActualización 470 llamado aprueba una altura y una anchura de un rectángulo dentro del cual el presentador recalcula su diseño Después de recalcular su diseño, el presentador guarda en memoria caché sus resultados De esta manera, una vez que se completa el paso 1304 los presentadores previamente impuros han sido recalculados y sus resultados guardados en memoria caché para fácil acceso durante la interpretación subsiguiente El bit impuro es limpiado sobre cada uno de los presentadores llamados Un grupo de pasos realizados durante una llamada al método ActivarActuahzación 470 ilustrativo se describen aquí más adelante con mayor detalle con referencia a la Figura 14 Existen un número de formas para limpiar los presentadores impuros durante el paso 1304 Sin embargo, en una modalidad de la invención, el sistema presentador 200 y en particular el método ActualizarDiseño 1104 del procesador de presentación 212, influencia las relaciones jerárquicas entre presentadores en una vista para simplificar su papel en la finalización del paso 1304 En particular, durante la ejecución del método ActivarActualización 470 cada presentador llamado repetidamente llama (o alternativamente solicita al sistema presentador 200 que llame) el método ActivarActualización 470 en todos los hijos del presentador llamado De esta manera, el sistema presentador 200 inicia el cruzamiento del árbol de presentador en el método ActivarActuahzación 470 del presentador raíz (por ejemplo, presentador P1 de la Figura 3) y soporta las llamadas subsiguientes a presentadores hijos según la llamada del método ActivarActualización 470 atraviesa las ramificaciones del árbol del presentador jerárquicas para recalcular los presentadores impuros Las llamadas repetidas al método ActivarActuahzación 470 en los presentadores hijos asegura que todos los presentadores en la vista sean atravesados, y si los presentadores son impuros, se recalculan Una vez que se completa, cada método ActivarActuahzación 470 llamado durante el paso 1304 reinicia su propiedad de impureza 450 indicando que ha sido recalculado o "limpiado" Cada método ActivarActualización 470 también devuelve un valor al llamador indicando si el presentador requiere de reinterpretación (es decir, volver a dibujar) En una modalidad de la invención el valor devuelto es un valor Buliano Si es "verdadero", entonces se requiere de reinterpretación Si se devuelve "falso" entonces la reinterpretación no es necesaria Después de procesar cada uno de los presentadores impuros para una vista durante el paso 1304, el control pasa al paso de interpretación 1306 en donde los presentadores identificados en la lista de presentadores que requieren de reinterpretacion son procesados Durante el paso 1306 el sistema presentador 200 invoca al método ActivarActuahzación 470 en cada presentador identificado en la lista de presentadores solicitando reinterpretación La operación de una modalidad ilustrativa del método ActivarActuahzación 470 se describe con referencia a la Figura 14 En la implementación de la clase base del método ActivarActualización 474, el presentador no dibuja nada, y en su lugar repetidamente llama al método ActivarActuahzación 474 en sus presentadores hijos y/o encadenados para llenar su espacio asignado (por ejemplo, rectángulo) Las versiones personalizadas del método ActivarActuahzación 474 interpretan mapas de bits a través de llamadas a la aplicación 204 y/o APIs del subsistema de gráficos y unidades de dispositivo gráficas 234 Después de procesar todos los procesadores solicitando reinterpretación durante el paso 1306, el control pasa a Finalizar 1308, y el control regresa al llamador del la llamada del método HacerDiseño 1102 en el procesador de presentación para la vista particular Cambiando ahora a la Figura 14, una gráfica de flujo resume los pasos del método ActivarActualización 470 realizado para recalcular un presentador de una vista En método ActivarActuahzación 470 calcula un nuevo diseño para un presentador, incluyendo cualesquiera presentadores hijos, y guarda en memoria caché los resultados para el acceso durante la etapa de reinterpretación En el ejemplo provisto aquí más adelante, al método ActivarActualización 470 llama a cada presentador para que apruebe un grupo de dimensiones especificando los límites del espacio de la vista (por ejemplo, rectángulo) que puede ser ocupado por el diseño del presentador El grupo de dimensiones específicas, por ejemplo, la altura y anchura y si esos valores pueden ser modificados durante la ejecución de la llamada del método ActivarActualización 470 Sin embargo, la invención contempla recalcular presentadores basados en cualquiera o más de una variedad de parámetros aprobados, incluyendo dimensiones de espacio, que afectan un diseño Durante el paso 1400, el presentador realiza cualesquiera operaciones de dimensionamiento, surgiendo de los parámetros aprobados, antes de llamar cualquier presentador hijo (a través de objetos proxy hijos) para realizar sus actualizaciones Posteriormente, el presentador llama bajo el sistema presentador 200 para localizar y actualizar cualesquiera presentadores hijos del presentador actual Durante la etapa de pre-procesamiento, el presentador potencialmente detecta la necesidad de crear una nueva página/columna y crea un nuevo proxy hijo/presentador para manejar la nueva página/columna para la vista Enseguida, durante el paso 1402, el método ActivarActuahzación 470 en el presentador padre actual determina llamar a un siguiente presentador hijo para actualizar su diseño Se observar que este paso, por lo menos en una primera instancia requiere que el presentador padre determine la existencia de un elemento hijo y crea un proxy/presentador hijo correspondiente En repeticiones posteriores, el presentador padre puede utilizar los proxies hijos correspondientes en su campo de hijos 412 para identificar un siguiente proxy/presentador hijo restante (no procesado), es decir, un presentador hijo que aún no ha sido llamado durante la repetición actual del método ActivarActuahzación en el presentador padre actual El presentador padre recibe una respuesta del almacenamiento de memoria o determina por cuenta propia de su propiedad de hijos 412 si un presentador hijo permanece sin procesar, y en el paso 1404, si no hay más procesadores hijos sin procesar remanentes para actualizar, entonces el control pasa al paso 1420 (descrito aquí más adelante) Por el contrario, si el presentador no tiene un presentador hijo sin procesar, dentro de propiedad de hijos 412, que no ha sido actualizado, entonces el control pasa al paso 1406 En el paso 1406, el presentador llama al método Actualizar 520 en el proxy hijo devuelto, que es interpuesto entre el presentador padre y un presentador hijo actual de interés, para obtener una altura y anchura de un presentador hijo con el cual el proxy hijo esta asociado El presentador hijo con un elemento gráfico particular (especificado en su campo de propietario de elemento 442) En el paso 1410 el proxy hijo llama al método ActivarActuahzación 470 en el presentador hijo con el cual el proxy hijo está asociado El método ActivarActualización 470 calcula una altura y anchura actualizada del presentador hijo (y si se requiere de reinterpretación) Se observa que durante el paso 1410 el método ActivarActuahzación 470 es repetitivamente invocado por los presentadores hijos hasta que un presentador hijo llamado determina, en el paso 1402 que no tiene hijos y regresa a su presentador padre que llama (a través de su proxy hijo) Después de invocar el método ActivarActualización 470 en el presentador hijo, el control pasa al paso 1414 De esta forma, en el paso 1414 el presentador padre que llama (del paso 1406) recibe una respuesta para llamar el método Actualizar 520 para el proxy hijo identificado La respuesta incluye la altura y anchura del presentador hijo según los parámetros devueltos La respuesta también indica si el presentador hijo llamado requiere de reinterpretación Enseguida, en el paso 1416 el presentador padre posiciona al presentador hijo llamado dentro del espacio de diseño asignado del presentador padre en base a un algoritmo/políticas de colocación En una modalidad de la invención durante el paso 1416 el presentador padre coloca al presentador hijo dentro su diseño dependiendo de los parámetros de altura y anchura del presentador hijo recibido por el presentador durante el paso 1414 Entonces el control regresa al paso 1402 en donde el método ActivarActualización 470 del presentador padre continua actualizando cualquier presentador hijo remanente (a través de objetos de envoltura proxy de hijo) Si en el paso 1422, ya no queda ningún hijo (elemento o proxy/presentadores) para ser procesados/actualizados, entonces el control pasa al paso 1420 En el paso 1420 el método ActivarActualización 470 del presentador que llama realiza funciones de diseño personalizadas incluyendo llamadas adicionales potencialmente al método ActivarActualización 470 en los presentadores hijos para sintonizar el diseño para el presentador En el paso 1422, o potencialmente cualquier punto en donde se deriva nueva información a través del método ActivarActualización 470, los resultados del procesamiento de diseño son guardados en la memoria caché para un uso posterior durante una etapa de reinterpretación del procesador de la vista gráfica Después de que se completa el procesamiento de actualización para el presentador, incluyendo todos los hijos para el presentador que llama, en el paso 1424 el presentador devuelve sus dimensiones al llamador (sistema presentador 200) así como un valor indicando si el presentador necesita ser reinterpretado Se apreciará por aquellos con experiencia en la técnica que una nueva plataforma ilustrativa y métodos ilustrativos han sido descritos para manejar el procesamiento de diseño/presentación de una salida de documento/interfase de usuario gráfica dentro de un ambiente de computación incluyendo dispositivos de salida gráfica tales como una pantalla o impresora de interfase de usuario gráfica En vista de los muchos posibles ambientes a los cuales los principio de esta invención pueden ser aplicados y la flexibilidad de la designación y ejecución de las utilidades y herramientas software, se debe reconocer que las modalidades descritas aquí dan a entender que son ilustrativas y no deben ser tomadas como limitantes al alcance de la invención Aquellos con experiencia en la técnica a los cuales se aplican la presente invención apreciaran que las modalidades ilustradas pueden ser modificadas en adaptación y detalle si apartarse del espíritu de la invención Por lo tanto, la invención como se describe aquí contempla todas dichas modalidades según caigan dentro del alcance de las siguientes reivindicaciones y equivalentes de la misma

Claims (1)

  1. REIVINDICACIONES 1 Un sistema de administración de diseño de salida gráfica para adaptar y mantener salidas desplegadas gráficamente de programas que se ejecutan en un sistema de computación, el sistema de administración de diseño de salida gráfica comprende elementos gráficos conteniendo datos representando contenido desplegable de un programa, presentadores definiendo estados de despliegue para los elementos gráficos, en donde un presentador de un tipo particular mantiene una descripción del diseño para un elemento gráfico correspondiente, y un sistema presentador, incluyendo la interfase huésped del presentador que comprende un método para preparar un diseño para una vista, de acuerdo con un grupo de presentadores asociados con elementos gráficos contenidos dentro de la vista 2 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 1, en donde el sistema presentador además comprende una clase base de presentador, y en donde el grupo de presentadores son demostrados a partir de las clases de presentador derivadas de la clase base de presentador 3 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 2, en donde los presentadores incluyen un método de actualización para calcular las propiedades del diseño para el presentador 4 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 3, en donde los presentadores incluyen un método de interpretación para generar instrucciones emitidas a un subsistema de salida gráfica de un sistema de computadora 5 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 2, en donde las clases de presentador incluyen clases de presentador predefinidas y clases de presentador externas 6 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 1, en donde cada uno de los presentadores calcula un estado del diseño para un elemento gráfico correspondiente con base en valores de parámetro de diseño especificados en el presentador 7 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 1, que comprende además un grupo de manipuladores de notificación, cada manipulador de notificación estando asociado con uno en particular del grupo de presentadores en la vista, y en donde un manipulador de notificación procesa un cambio a un elemento gráfico para determinar si actualizar un presentador correspondiente 8 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 7, en donde cada presentador especifica un tipo de manipulador de notificación que proporciona notificaciones de cambio al presentador particular con respecto a un elemento gráfico asociado 9 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 8, en donde un manipulador de notificación determina una parte de un presentador correspondiente que requiere de actualización en vista de los cambios a un elemento gráfico asociado 10 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 7, en donde el sistema presentador registra, a través de los manipuladores de notificación, presentadores que requieren de actualización en base a los cambios de los elementos gráficos correspondientes 11 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 1, en donde una instancia de elemento gráfico de los elementos gráficos está asociada con múltiples presentadores 12 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 11, en donde los presentadores múltiples con los cuales la instancia del elemento gráfico esta asociado son del mismo tipo 13 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 12, en donde los presentadores múltiples corresponden a columnas distintas dentro de una misma vista 14 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 12, en donde los presentadores múltiples corresponden a distintas páginas en una vista del documento de un elemento gráfico individual 15 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 11, en donde un primer presentador y un segundo presentador, de los presentadores múltiples asociados con la instancia del elemento gráfico, están asociados con la primera y segunda vistas distintas respectivas 16 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 15, en donde la primera y segunda vistas distintas respectivas están hospedadas por el primer y segundo sistemas de presentador respectivos 17 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 1, en donde la vista corresponde a una región rectangular dentro de un espacio de despliegue gráfico 18 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 11, en donde los presentadores múltiples asociados con la instancia del elemento gráfico son de tipos diferentes 19 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 18, en donde uno de los presentadores múltiples comprende un presentador de adornos para un presentador principal 20 El sistema de administración de diseño de salida gráfica de acuerdo con la reivindicación 1, en donde los presentadores dentro de una vista están jerárquicamente adaptados de tal manera que los presentadores hijos están contenidos dentro de una región especificada por un presentador padre correspondiente 21 Un sistema presentador para la incorporación dentro de un sistema de administración de diseño de salida gráfica para el procesamiento de un diseño, en beneficio de un programa que proporciona elementos gráficos conteniendo datos representando contenido desplegable del programa, a través de presentadores que definen estados de despliegue para los elementos gráficos, y en donde un presentador mantiene una descripción del diseño para un elemento gráfico correspondiente, y en donde el sistema presentador hospeda y adapta los presentadores asociados con los elementos gráficos dentro de una vista, el sistema presentador comprende una clase base de presentador a partir de la cual las clases de presentador se derivan, y en donde los presentadores son demostrados a partir de las clases de presentador, y una interfase huésped del presentador comprendiendo un grupo de métodos incluyendo por lo menos un método para preparar un diseño modalizado en el grupo de presentadores asociados con los elementos gráficos dentro de la vista 22 El sistema presentador de acuerdo con la reivindicación 21, en donde la clase base del presentador especifica un método de actualización personalizable, sobrescribiendo mediante clases de presentador derivadas, para calcular las propiedades del diseño para un presentador 23 El sistema presentador de acuerdo con la reivindicación 22, en donde la clase base del presentador especifica un método de interpretación personalizare, sobrescribiendo mediante clases de presentador derivadas, para generar instrucciones emitidas a un subsistema de salida gráfica del sistema de computadora 24 El sistema presentador de acuerdo con la reivindicación 21, en donde el sistema presentador soporta un grupo de clases de presentador que incluye clases de presentador predefinidas y clases de presentador externas 25 El sistema presentador de acuerdo con la reivindicación 21, en donde la clase base de presentador especifica un método para calcular un estado de diseño para un elemento gráfico en base a los valores de parámetro del diseño especificados en un presentador asociado 26 El sistema presentador de acuerdo con la reivindicación 21, que comprende además una clase base de manipulador de notificación a partir de la cual las clases de manipulador de notificación se derivan, y en donde cada manipulador de notificación demostrado de una clase de manipulador de notificación está asociado con un presentador particular en una vista, y en donde un manipulador de notificación procesa un cambio a un elemento gráfico para determinar si actualizar un presentador correspondiente 27 El sistema presentador de acuerdo con la reivindicación 26, en donde la clase base de presentador incluye un marcador de posición para un presentador para especificar un tipo de manipulador de notificación que proporcione notificaciones de cambio al presentador particular con respecto a un elemento gráfico asociado 28 El sistema presentador de acuerdo con la reivindicación 26, en donde el sistema presentador registra a través de manipuladores de notificación, presentadores que requieren de actualización con base en los cambios a los elementos gráficos correspondientes 29 El sistema presentador de acuerdo con la reivindicación 21, en donde el sistema presentador está asociado con una vista caracterizadas por un elemento gráfico raíz y un área asignada dentro de la cual se despliega el elemento gráfico raíz y elementos gráficos hijos 30 El sistema presentador de acuerdo con la reivindicación 29, en donde la vista corresponde a una región rectangular dentro del espacio de despliegue gráfico 31 El sistema presentador de acuerdo con la reivindicación 21, en donde la interfase huésped del presentador incluye un constructor para mantener el sistema presentador para diseñar un despliegue para una vista comprendiendo un grupo de elementos gráficos 32 El sistema presentador de acuerdo con la reivindicación 31, en donde la vista se especifica por lo menos en una parte a través de elemento gráfico raíz aprobado por el constructor 33 El sistema presentador de acuerdo con la reivindicación 21, en donde el sistema presentador soporta el encadenamiento de procesadores múltiples de tal forma que un primer presentador proporciona y adorna un segundo presentador asociado con un elemento gráfico 34 El sistema presentador de acuerdo con la reivindicación 21, en donde la clase base de presentador incluye un marcador de posición para especificar presentadores hijos, por lo tanto soportando la creación de una estructura de árbol jerárquico de presentadores dentro de una vista de tal manera que los presentadores hijos están contenidos dentro de una región especificada por un presentador padre correspondiente 35 Un método para procesar un diseño, en beneficio de un programa que proporciona elementos gráficos conteniendo datos que representan contenido desplegable de un programa, a través de presentadores que definen estados de despliegue para los elementos gráficos, y en donde un presentador mantiene una descripción del diseño para un elemento gráfico correspondiente, y en donde el sistema presentador hospeda y adapta los presentadores asociados con los elementos gráficos dentro de una vista, el método comprende proporcionar un sistema presentador que comprende una clase base de presentador y una interfase de usuario huésped del presentador comprendiendo un método para crear un diseño modalizado en un grupo de presentadores asociados con elementos gráficos dentro de una vista, recibir una solicitud, por la interfase huésped del presentador, para generar un diseño para un grupo de elementos gráficos dentro de una vista, y demostrar, para el grupo de elementos gráficos, presentadores correspondientes a partir de un grupo de clases de presentadores derivadas de la clase base de presentador e invocar un método en cada presentador demostrado para calcular un estado de diseño para un elemento gráfico correspondiente al presentador 36 El método de acuerdo con la reivindicación 35, que comprende además el paso de proporcionar una clase base de manipulador de notificación especificando una interfase para un grupo de manipuladores de notificación que facilitan la actualización incremental de un diseño con base en los cambios a los elementos gráficos correspondientes 37 El método de acuerdo con la reivindicación 35, que comprende además organizar los presentadores para la vista en la forma de un árbol jerárquico 38 El método de acuerdo con la reivindicación 35, en donde se crea una instancia del sistema presentador en respuesta a una llamada para crear un diseño para una vista, por lo tanto creando un sistema presentador distinto y presentadores correspondientes para cada vista 39 El método de acuerdo con la rei indicación 35, en donde la clase de presentador especifica un método de actualización para calcular las propiedades de diseño para una instancia de presentador asociado con un elemento gráfico particular 40 El método de acuerdo con la reivindicación 35, en donde la clase base de presentador especifica un método de interpretación para generar instrucciones emitidas a un subsistema de salida gráfica 41 El método de acuerdo con la reivindicación 35, en donde el sistema presentador soporta la derivación de clases de presentador predefinidas y clases de presentador externas 42 El método de acuerdo con la reivindicación 35, en donde las clases de presentador corresponden a diferentes tipos de presentadores que diseñan diferentes tipos de contenido de elemento gráfico 43 El método de acuerdo con la reivindicación 35, en donde los presentadores dentro de una vista están jerárquicamente adaptados tales como los presentadores hijos están contenidos dentro de una región especificada por un presentador padre correspondiente 44 Un medio legible por computadora incluyendo instrucciones ejecutables por computadora para facilitar el procesamiento de un diseño, en beneficio de un programa que proporciona elementos gráficos conteniendo datos que representan contenido desplegable de un programa, a través de presentadores que definen estados de despliegue para los elementos gráficos, y en donde un presentador mantiene una descripción de diseño para un elemento gráfico correspondiente, y en donde el sistema presentador hospeda y adapta los presentadores asociados con elementos gráficos dentro de una vista, las instrucciones ejecutables por computadora facilitando la ejecución de un método que comprende proporcionar un sistema presentador comprendiendo una clase base de presentador y una interfase huésped de presentador que comprende un método para crear un diseño modalizado en un grupo de presentadores asociados con elementos gráficos dentro de una vista, recibir una solicitud, a través de la interfase huésped de presentador, para generar un diseño para un grupo de elementos gráficos dentro de una vista, y demostrar, para el grupo de elementos gráficos, los presentadores correspondientes de un grupo de clases de presentador derivadas de la clase base de presentador e invocando un método en cada presentador demostrado para calcular un estado de diseño para un elemento gráfico correspondiente al presentador 45 El medio legible por computadora de acuerdo con la reivindicación 44, que comprende además instrucciones ejecutables por computadora para organizar los presentadores para una vista en la forma de un árbol jerárquico 46 El medio legible por computadora de acuerdo con la reivindicación 44, en donde las instrucciones ejecutables por computadora facilitan la creación de una instancia del sistema presentador en respuesta a una llamada para crear un diseño para una vista, por lo tanto creando un sistema presentador distinto, y presentadores correspondientes, para cada vista 47 El medio legible por computadora de acuerdo con la reivindicación 44, en donde la clase base de presentador especifica un método de actualización para calcular las propiedades del diseño para una instancia del presentador asociada con un elemento grafi particular
MXPA04004405A 2003-05-09 2003-05-15 Sistema para hospedar objetos de diseno/presentacion grafica. MXPA04004405A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/434,850 US20040225960A1 (en) 2003-05-09 2003-05-09 System for hosting graphical layout/presentation objects
PCT/US2003/015379 WO2004107308A1 (en) 2003-05-09 2003-05-15 System for hosting graphical layout/presentation objects

Publications (1)

Publication Number Publication Date
MXPA04004405A true MXPA04004405A (es) 2005-02-17

Family

ID=33416813

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA04004405A MXPA04004405A (es) 2003-05-09 2003-05-15 Sistema para hospedar objetos de diseno/presentacion grafica.

Country Status (14)

Country Link
US (1) US20040225960A1 (es)
EP (1) EP1627376A4 (es)
JP (1) JP4277002B2 (es)
KR (1) KR100969720B1 (es)
CN (1) CN100442265C (es)
AU (1) AU2003237867B8 (es)
BR (1) BR0306159A (es)
CA (1) CA2462172A1 (es)
IL (1) IL161285A (es)
MX (1) MXPA04004405A (es)
NO (1) NO20041880L (es)
RU (1) RU2305860C2 (es)
WO (1) WO2004107308A1 (es)
ZA (1) ZA200403495B (es)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4411922B2 (ja) * 2003-10-06 2010-02-10 セイコーエプソン株式会社 構造化文書表示処理装置、構造化文書表示処理方法、構造化文書表示処理プログラム
JP4413629B2 (ja) * 2004-01-09 2010-02-10 パイオニア株式会社 情報表示方法、情報表示装置および情報配信表示システム
US7383500B2 (en) 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US7359902B2 (en) * 2004-04-30 2008-04-15 Microsoft Corporation Method and apparatus for maintaining relationships between parts in a package
US8363232B2 (en) 2004-05-03 2013-01-29 Microsoft Corporation Strategies for simultaneous peripheral operations on-line using hierarchically structured job information
US8243317B2 (en) 2004-05-03 2012-08-14 Microsoft Corporation Hierarchical arrangement for spooling job data
US7580948B2 (en) 2004-05-03 2009-08-25 Microsoft Corporation Spooling strategies using structured job information
US7519899B2 (en) * 2004-05-03 2009-04-14 Microsoft Corporation Planar mapping of graphical elements
US7755786B2 (en) 2004-05-03 2010-07-13 Microsoft Corporation Systems and methods for support of various processing capabilities
US7565619B2 (en) * 2004-08-26 2009-07-21 Microsoft Corporation System and method for automatic item relocating in a user interface layout
US20070006095A1 (en) * 2005-07-01 2007-01-04 Liangkui Feng Auto layout of user interface elements in a window
CN100395751C (zh) * 2005-10-14 2008-06-18 华为技术有限公司 实现页面灵活布局的装置和方法
US20070113189A1 (en) * 2005-11-15 2007-05-17 Microsoft Corporation Specifying per theme styles for custom graphical elements
US7941749B2 (en) * 2007-05-15 2011-05-10 Microsoft Corporation Composition of electronic document layout
US20080295019A1 (en) * 2007-05-21 2008-11-27 Microsoft Corporation Document with Sidebars
US8095865B2 (en) * 2007-11-21 2012-01-10 Microsoft Corporation Layout manager
US8010886B2 (en) * 2008-01-04 2011-08-30 Microsoft Corporation Intelligently representing files in a view
US8004541B2 (en) * 2008-01-28 2011-08-23 Hewlett-Packard Development Company, L.P. Structured display system with system defined transitions
US20090193067A1 (en) * 2008-01-30 2009-07-30 Microsoft Corporation Server-based recalculation of vector graphics
US20100073160A1 (en) * 2008-09-25 2010-03-25 Microsoft Corporation Alerting users using a multiple state status icon
AU2009319665B2 (en) 2008-11-26 2015-08-20 Calgary Scientific Inc. Method and system for providing remote access to a state of an application program
US8230357B2 (en) * 2008-12-18 2012-07-24 Microsoft Corporation Visually processing instance data
US8091016B2 (en) * 2008-12-18 2012-01-03 Microsoft Corporation Visually manipulating instance collections
CA2751059A1 (en) * 2009-02-03 2010-08-12 Calgary Scientific Inc. Method and system for enabling interaction with a plurality of applications using a single user interface
US10055105B2 (en) 2009-02-03 2018-08-21 Calgary Scientific Inc. Method and system for enabling interaction with a plurality of applications using a single user interface
US8402379B2 (en) * 2009-09-30 2013-03-19 SAP Portals Israel Limited Dynamic content layout for a user interface display
KR101452713B1 (ko) * 2009-10-30 2014-10-21 삼성전자주식회사 픽처 경계의 부호화 단위를 부호화, 복호화 하는 방법 및 장치
US20110271184A1 (en) * 2010-04-28 2011-11-03 Microsoft Corporation Client application and web page integration
US9741084B2 (en) 2011-01-04 2017-08-22 Calgary Scientific Inc. Method and system for providing remote access to data for display on a mobile device
CA2734860A1 (en) 2011-03-21 2012-09-21 Calgary Scientific Inc. Method and system for providing a state model of an application program
JP6164747B2 (ja) 2011-08-15 2017-07-19 カルガリー サイエンティフィック インコーポレイテッド 協働環境におけるフロー制御のためのおよび信頼性のある通信のための方法
SG2014011506A (en) 2011-08-15 2014-05-29 Calgary Scient Inc Non-invasive remote access to an application program
JP6322140B2 (ja) 2011-09-30 2018-05-09 カルガリー サイエンティフィック インコーポレイテッド 協働遠隔アプリケーションの共用および注釈のための双方向デジタル表層を含む非連結アプリケーション拡張
WO2013076554A1 (en) 2011-11-23 2013-05-30 Calgary Scientific Inc. Methods ans systems for collaborative remote application sharing and conferencing
US8959431B2 (en) * 2012-01-16 2015-02-17 Microsoft Corporation Low resolution placeholder content for document navigation
US9602581B2 (en) 2012-03-02 2017-03-21 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (DLL) injection
US9293008B2 (en) * 2012-03-16 2016-03-22 Bally Gaming, Inc. Layout elements as rendering placeholders for native wagering game applications
US9729673B2 (en) 2012-06-21 2017-08-08 Calgary Scientific Inc. Method and system for providing synchronized views of multiple applications for display on a remote computing device
US20140026039A1 (en) * 2012-07-19 2014-01-23 Jostens, Inc. Foundational tool for template creation
US20140258003A1 (en) * 2013-03-07 2014-09-11 Microsoft Corporation Online advertising with integrated interfaces
US20150113507A1 (en) * 2013-10-18 2015-04-23 Distech Controls Inc. Method for automatic grouping of interlinked graphical configuration elements and computer program product
WO2015080845A1 (en) 2013-11-29 2015-06-04 Calgary Scientific Inc. Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US10015264B2 (en) 2015-01-30 2018-07-03 Calgary Scientific Inc. Generalized proxy architecture to provide remote access to an application framework
AU2016210974A1 (en) 2015-01-30 2017-07-27 Calgary Scientific Inc. Highly scalable, fault tolerant remote access architecture and method of connecting thereto
US10445391B2 (en) 2015-03-27 2019-10-15 Jostens, Inc. Yearbook publishing system
CN107239268A (zh) 2016-03-29 2017-10-10 阿里巴巴集团控股有限公司 一种业务处理方法、装置和智能终端
DE102017000569A1 (de) * 2017-01-23 2018-07-26 e.solutions GmbH Verfahren, Computerprogrammprodukt und Vorrichtung zum Ermitteln von Eingabebereichen an einer grafischen Benutzeroberfläche
WO2019081574A1 (en) * 2017-10-26 2019-05-02 Siemens Aktiengesellschaft CONSTRUCTION AND FOLLOW-UP OF AN AUTOMATION TECHNOLOGY ENVIRONMENT
CN108388462B (zh) * 2018-02-28 2021-04-27 武汉斗鱼网络科技有限公司 元素变更通知方法、装置及终端设备
CN112463272A (zh) * 2020-11-13 2021-03-09 广州市百果园网络科技有限公司 一种界面布局加载显示方法、系统、电子设备及存储介质
CN112764729B (zh) * 2021-01-08 2024-02-06 深圳依时货拉拉科技有限公司 应用软件开发方法、装置、计算机设备及可读存储介质
CN114090172A (zh) * 2021-11-10 2022-02-25 北京鲸鲮信息系统技术有限公司 跨系统的小部件复用方法及装置
US20230169138A1 (en) * 2021-12-01 2023-06-01 Salesforce.Com, Inc. Rendering primitive child elements corresponding to child components of a user interface without instantiating the child components

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259446B1 (en) 1992-12-23 2001-07-10 Object Technology Licensing Corporation Menu state system
US6243102B1 (en) * 1994-05-16 2001-06-05 Apple Computer, Inc. Data-driven layout engine
US5838317A (en) * 1995-06-30 1998-11-17 Microsoft Corporation Method and apparatus for arranging displayed graphical representations on a computer interface
US5873106A (en) * 1995-09-18 1999-02-16 Oracle Corporation Geometry management for displaying objects on a computer
US5815415A (en) * 1996-01-19 1998-09-29 Bentley Systems, Incorporated Computer system for portable persistent modeling
US6141007A (en) 1997-04-04 2000-10-31 Avid Technology, Inc. Newsroom user interface including multiple panel workspaces
US6038573A (en) 1997-04-04 2000-03-14 Avid Technology, Inc. News story markup language and system and process for editing and processing documents
US6496202B1 (en) * 1997-06-30 2002-12-17 Sun Microsystems, Inc. Method and apparatus for generating a graphical user interface
US5886694A (en) * 1997-07-14 1999-03-23 Microsoft Corporation Method for automatically laying out controls in a dialog window
US6769124B1 (en) * 1998-07-22 2004-07-27 Cisco Technology, Inc. Persistent storage of information objects
CA2256931A1 (en) * 1998-12-23 2000-06-23 Robert Weisz Source editing in a graphical hierarchical environment
US6636242B2 (en) * 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6721950B1 (en) * 2000-04-06 2004-04-13 Microsoft Corporation Input redirection
US7051276B1 (en) * 2000-09-27 2006-05-23 Microsoft Corporation View templates for HTML source documents
AUPR464601A0 (en) * 2001-04-30 2001-05-24 Commonwealth Of Australia, The Shapes vector
US20040006765A1 (en) * 2002-04-16 2004-01-08 Goldman Kenneth J. Live software construction with dynamic classes
US7299409B2 (en) * 2003-03-07 2007-11-20 International Business Machines Corporation Dynamically updating rendered content

Also Published As

Publication number Publication date
CA2462172A1 (en) 2004-11-09
RU2004114219A (ru) 2005-09-20
CN100442265C (zh) 2008-12-10
WO2004107308A1 (en) 2004-12-09
AU2003237867B2 (en) 2009-09-17
KR100969720B1 (ko) 2010-07-12
BR0306159A (pt) 2005-02-09
NO20041880D0 (no) 2004-05-07
IL161285A (en) 2009-02-11
JP4277002B2 (ja) 2009-06-10
US20040225960A1 (en) 2004-11-11
NO20041880L (no) 2004-06-28
KR20060006989A (ko) 2006-01-23
AU2003237867A1 (en) 2005-01-21
JP2006526179A (ja) 2006-11-16
EP1627376A4 (en) 2010-05-12
RU2305860C2 (ru) 2007-09-10
ZA200403495B (en) 2006-05-31
CN1615507A (zh) 2005-05-11
EP1627376A1 (en) 2006-02-22
AU2003237867B8 (en) 2009-10-15

Similar Documents

Publication Publication Date Title
MXPA04004405A (es) Sistema para hospedar objetos de diseno/presentacion grafica.
US10497086B2 (en) Methods and apparatuses for providing a hardware accelerated web engine
KR100996738B1 (ko) 벡터 그래픽을 위한 마크업 언어 및 오브젝트 모델
US20020156815A1 (en) Method and apparatus for the separation of web layout, logic, and data when used in server-side scripting languages
US5062060A (en) Computer human interface comprising user-adjustable window for displaying or printing information
US8711148B2 (en) Method and system for generating and displaying an interactive dynamic selective view of multiply connected objects
US20030174165A1 (en) System and method for rendering a directed graph
JP4166376B2 (ja) ディジタル・ビデオ信号処理装置及び方法
JP2004005568A (ja) レガシー・アプリケーションの高速gui体裁更新
KR20040086043A (ko) 비주얼 및 장면 그래프 인터페이스
JPH076015A (ja) 大きさを調整できるウインドウエレメント
US20050289450A1 (en) User interface virtualization
CN112364496B (zh) 基于html5和vue技术的航电仿真面板生成系统
CN117055987A (zh) 网页显示方法、装置、电子设备及计算机可读存储介质
CN116010736A (zh) 矢量图标的处理方法、装置、设备以及存储介质
US7478340B2 (en) Systems and methods for managing preparation of graphical elements for presentation
CN114924712A (zh) 一种基于域控制器平台的aui模块化实现方法及系统
JPH10312407A (ja) 図面表示装置
US20050091594A1 (en) Systems and methods for preparing graphical elements for presentation
JPH11338456A (ja) 地図表示システム及びそれにおける画像スクロール処理方法
JPH11296463A (ja) フレームを使用しているホームページのマーキング・再表示方式
NZ532169A (en) System for hosting graphical layout/presentation objects on behalf of applications
CN116860224A (zh) 无代码开发环境下的二维码组件与对象生成方法和系统
JP2973906B2 (ja) キャラクタ・ユーザ・インタフェース装置
CN117197289A (zh) 一种基于模板的图形渲染方法及系统

Legal Events

Date Code Title Description
FC Refusal