A continuación se proporcionan las descripciones de algunos de los cambios de interés para los desarrolladores de plug-ins realizados en la Plataforma y el SWT de Eclipse para el release 3.2 de Eclipse.
También hay muchas características nuevas orientadas a los usuarios finales de la plataforma que pueden visualizarse en la sección Novedades de la guía del usuario del entorno de trabajo.
Cambios en la plataforma
|
|
Refactorización del entorno de ejecución |
A fin de hacer más flexible el entorno de ejecución de Eclipse y permitir el uso independiente de los componentes del entorno de ejecución, el plug-in org.eclipse.core.runtime se ha dividido en varios plug-ins:
Se han añadido API nuevas para facilitar el control de los componentes de entorno de ejecución divididos. La refactorización del entorno de ejecución debe ser transparente para los demás plug-ins. Para obtener más detalles, consulte la guía de migración de Eclipse 3.2. |
Navegador común |
A nuevo plug-in, org.eclipse.ui.navigator, presenta una
infraestructura destinada a construir visores que combinan contenido procedente de varios
modelos de dominio.
La infraestructura permite la contribución declarativa de contenido, etiquetas,
acciones filtros y otras prestaciones. El plug-in
org.eclipse.ui.navigator.resources ofrece un uso concreto de esta
infraestructura en forma de una vista Explorador de proyectos y extensiones de
visor declarativo para el modelo IResource.
|
Infraestructura de propiedades con pestañas |
Se ha añadido una infraestructura de propiedades con pestañas. La infraestructura
de propiedades con pestañas proporciona una página de hojas de propiedades de
sustitución, que permite visualizar las propiedades en la vista Propiedades mediante
controles arbitrarios, organizados por pestañas y secciones que se añaden por medio del
registro de extensiones.
Consulte el artículo La vista de propiedades con pestañas de Eclipse para obtener detalles. |
API de sistema de archivos |
Un nuevo plug-in, org.eclipse.core.filesystem, presenta una nueva API genérica para interactuar con sistemas de archivos. La plataforma se ha migrado para poder utilizar esta API de sistema de archivos en lugar de las API java.io. Esto significa que pueden crearse recursos en sistemas de archivos arbitrarios y que los plug-ins pueden suministrar soporte para nuevos tipos de sistemas de archivos. Se ha añadido soporte a los asistentes de proyecto y de recursos enlazados a fin de crear recursos que están enlazados a otros sistemas de archivos. Los plug-ins que definen sistemas de archivos alternativos pueden anclarse a este soporte de asistente mediante el punto de extensión org.eclipse.ui.ide.filesystemSupport. |
Categorización añadida a importación y exportación |
Ahora, los puntos de extensión |
Ayudas flotantes para anotaciones en editores de texto |
La ayuda flotante de anotaciones se ha desplazado del Texto de JDT al Texto de
plataforma. El soporte flotante de regla de texto, vertical y de visión general se
instala por medio de TextSourceViewerConfiguration , que los editores de
texto utilizan:
|
Navegación por anotaciones en editores de texto |
La navegación por anotaciones se ha desplazado del
Texto de JDT al Texto de
plataforma, y ahora está disponible en todos los editores de texto:
|
Ayuda para campos JFace |
JFace presenta soporte nuevo para ayudar al usuario a rellenar los campos de los diálogos y formularios. El paquete org.eclipse.jface.fieldassist suministra clases que permiten decorar controles arbitrarios con imágenes y el texto flotante correspondiente. Pueden utilizarse para finalidades tales como marcar los campos obligatorios de un diálogo, mostrar condiciones de error basadas en campos o mostrar solicitudes de asistencia de contenido. El paquete también permite instalar propuestas de contenido en un control, incluido un diálogo emergente con propuestas de contenido, ventanas emergentes secundarias para información más detallada y opciones para invocar propuestas explícitamente o de forma automática (tecleo anticipado).
|
Mejoras en el Visor de árbol (TreeViewer) de JFace |
AbstractTreeViewer da ahora soporte a varios elementos iguales en el árbol, cada uno con una cadena padre diferente. Este soporte requiere que los clientes habiliten la correlación de elementos llamando a setUseHashLookup(true). TreeViewer da soporta ahora a árboles SWT.VIRTUAL. Existe un proveedor de contenidos diferido correspondiente ILazyTreeContentProvider, que sólo devuelve contenido cuando es necesario. |
Soporte para contenido de ayuda dinámico |
El sistema de ayuda da ahora soporte a la composición dinámica de contenido de ayuda. Los temas de autor de XHMTL pueden contener código adicional específico de Eclipse para el filtrado dinámico de contenido en función de valores os/ws/arch, la presencia de plug-ins, las prestaciones habilitadas, etc. Puede incluirse contenido compartido en varios documentos. Finalmente, los plug-ins pueden añadir fragmentos de XHTML que se conecten a anclas de otros documentos. Todo esto permite que los desarrolladores de información suministren documentos dinámicos que se adaptan automáticamente al contexto en el momento de visualizarlos. |
Mejoras de la búsqueda de ayuda |
La indexación y búsqueda de la ayuda al usuario ha experimentado varias mejoras. Por medio de un punto de extensión, pueden registrarse participantes de búsqueda adicionales que pueden añadir contenido al índice Lucene. La ayuda añade ahora un participante de búsqueda XHTML que puede indexar documentos de ayuda dinámicos escritos en XHMTL (consulte la documentación anterior). Además, ahora aparecerán documentos que anteriormente no estaban el el índice (por ejemplo, hojas de apuntes y páginas de bienvenida). Las coincidencias de búsqueda pueden tener ahora iconos diferentes y la acción abrir ('open') puede delegarse en el motor de búsqueda. |
Los problemas pueden agruparse |
Los problemas de la vista Problemas pueden ahora agruparse. Existen agrupaciones predeterminadas por gravedad y tipo de problema, y pueden definirse grupos adicionales por medio del punto de extensión org.eclipse.ui.ide.markerSupport. |
Mejoras en la ayuda de los diálogos |
La mayoría de los diálogos de Eclipse contienen ahora un botón de ayuda estándar en la esquina inferior izquierda. Este botón ofrece la misma ayuda contextual que si se pulsara F1 (en Windows). Además, el contenido de la ayuda aparecerá ahora en la bandeja del diálogo lugar de hacerlo en una ventana independiente. Los diálogos personalizados pueden heredar esta función creando una subclase de la nueva clase TrayDialog en lugar de hacerlo de Dialog. Las hojas de apuntes también pueden abrirse en diálogos (en la bandeja) en aquellos pasos que implican la apertura de diálogos. |
Enlaces de mandatos incorporados al contenido de ayuda al usuario |
Los enlaces de la ayuda, hojas de apuntes y contenido de introducción pueden
ahora ejecutar mandatos cuando el usuario los activa. Los enlaces de mandatos pueden
utilizarse para abrir páginas de preferencias, lanzar asistentes, mostrar vistas, abrir
perspectivas y muchas otras finalidades. La infraestructura de mandatos es ampliable, por
lo que es posible utilizar muchas más veces los enlaces de mandatos. La
guía del usuario del entorno de trabajo se ha
mejorado con enlaces de mandatos en muchas ubicaciones. La imagen que figura a
continuación muestra dos enlaces de mandatos de un tema de la ayuda:
|
Soporte para lanzar mandatos desde hojas de apuntes |
Ahora pueden lanzarse mandatos desde hojas de apuntes. El archivo de contenido
que figura a continuación contiene mandatos para abrir la vista Búsqueda y el
Explorador de paquetes.
<?xml version="1.0" encoding="UTF-8" ?> <cheatsheet title="Ejemplo de mandatos en una hoja de apuntes"> <intro> <description>Una hoja de apuntes muestra el explorador de paquetes</description> </intro> <item title="Mostrar vista Búsqueda"> <description>Este es un paso con un mandato que muestra la vista de búsqueda.</description> <command serialization= "org.eclipse.search.ui.views.SearchView"/> </item> <item title="Paso 2"> <description>Este es un paso con un mandato y parámetros, que muestra el explorador de paquetes.</description> <command serialization="org.eclipse.ui.views.showView( org.eclipse.ui.views.showView.viewId= org.eclipse.jdt.ui.PackageExplorer)"/> <onCompletion> Ejemplo de mandato finalizado. </onCompletion> </item> </cheatsheet> |
Mensaje de finalización |
Puede añadirse un mensaje de finalización a un paso de una hoja de apuntes, que se visualizará cuando finalice dicho paso.
|
Hojas de apuntes compuestas |
Las hojas de apuntes compuestas son nuevas en Eclipse 3.2.
Una hoja de apuntes compuesta proporciona una guía para un problema de grandes dimensiones dividiéndolo en tareas más pequeñas, cada una de las cuales tiene su propia hoja de apuntes. Las tareas pueden organizarse en grupos. Las hojas de apuntes compuestas se abren en la vista de hojas de apuntes y se lanzan mediante el diálogo de selección de hojas de apuntes. Cada tarea tiene una descripción e hiperenlaces que dirigen al usuario a través de una secuencia de tareas.
Las hojas de apuntes compuestas contienen un árbol que muestra las tareas y su estado. El panel derecho/inferior contiene las tareas individuales. El contenido de una hoja de apuntes compuesta se define en un archivo XML. El archivo de contenido puede especificar las dependencias existentes entre las tareas, a fin de que una tarea sólo pueda iniciarse una vez completadas las tareas prerrequisito. |
Índice de palabras clave de ayuda |
La ayuda contiene ahora un índice de palabras clave, en el que puede registrar palabras clave de la documentación y suministrar un enlace a un documento de ayuda adecuado. El índice está disponible tanto en la vista Ayuda como en la ventana de ayuda (la vista se muestra más abajo).
Nota: el contenido del índice aún no está disponible para el SDK (sólo aparecerá si hay contenido disponible). |
Herramienta de conversión de documentos de ayuda XHTML |
El PDE tiene un nuevo programa de utilidad destinado a convertir rápidamente a XHTML los documentos de ayuda HTML de un plug-in. Además de convertir el HTML a XHTML válido, la herramienta actualizará la extensión del nombre de archivo, la tabla de contenido y añadirá los enlaces necesarios para habilitar el contenido dinámico y la búsqueda de contenido XHTML. Después de esta conversión, los usuarios podrán aprovechar las nuevas características de la ayuda de la versión 3.2, como por ejemplo el filtrado de contenido dinámico, la reutilización de contenido y la adición de contenido dinámico, funciones que requieren XHTML como formato de contenido.
Esta función puede invocarse seleccionando Herramientas del PDE > Convertir archivos de ayuda a XHTML en el menú de contexto de los proyectos de plug-in. |
Bienvenida universal |
Basándonos en nuestra experiencia de implementaciones concretas de la bienvenida, ahora ofrecemos una Bienvenida universal configurable que puede utilizarse con cualquier producto. Los productos pueden elegir entre 7 secciones principales predefinidas: Visión general, Primeros pasos, Guías de aprendizaje, Ejemplos, Novedades, Recursos Web y Migración (El SDK de Eclipse utiliza 4 de ellas). La Bienvenida universal tiene diseños de página y niveles de importancia configurables para cada contribución, con plena capacidad para temas.
También ofrece presentaciones HTML y SWT para el 100% de las plataformas.
Una página de preferencias de bienvenida suministrada por la Bienvenida universal abre la personalización de la bienvenida por parte de los usuarios finales, y puede incluirse en cualquier producto que desee ofrecerla. Puede obtener más información acerca de ella en la Especificación de la Bienvenida universal. |
Soporte para configuración y temas en la Bienvenida |
La infraestructura de introducción tiene un mayor soporte de configurabilidad. Puede añadirse un configurador de introducción que ofrece cálculo único de los grupos hijos, soporte de sustitución de variables y resolución diferida de vías de acceso de ancla. La Bienvenida universal utiliza exhaustivamente este soporte, pero también pueden utilizarlo otras implementaciones de la bienvenida.
Los temas representan colecciones con nombre de archivos CSS, propiedades e imágenes que definen colectivamente el aspecto del contenido de la bienvenida. La Bienvenida universal utiliza este soporte suministrando una prestación de selección de temas y dos temas concretos en la versión 3.2: 'Circles' y 'Purple Mesh'. |
Soporte de espacio de nombres para los puntos de extensión Ant |
Los puntos de extensión org.eclipse.ant.core antTasks y antTypes permiten ahora la designación de un URI en el que debe residir la definición. Consulte el error 133190 para obtener todos los detalles relativos a todos los cambios. |
Soporte de equipo para integración de modelos lógicos |
Se ha añadido una API que permite a los modelos lógicos participar en las operaciones de equipo. Con esta API, los proveedores de equipo pueden:
|
Cambios de SWT
|
|
Indicador de clasificación en tablas y árboles |
Las tablas y árboles dan ahora soporte a un indicador de dirección de clasificación en la cabecera de la columna. Fragmentos de código SWT que muestran clasificación por columna (simple) y clasificación por columna (tabla virtual). |
Columnas reordenables en árboles |
En Eclipse 3.1, se añadió la posibilidad de reordenar columnas en una tabla. Ahora, ese soporte se ha añadido a los árboles. El orden de visualización de las columnas en un árbol puede cambiarse arrastrando la cabecera de la columna o puede establecerse por programa. Ejemplo de fragmento de código. |
Soporte de temas XP mejorado |
En Windows XP, SWT muestra ahora el fondo texturado en carpetas de pestaña. Los grupos, etiquetas, recuadros de selección, etc. son todos transparentes a este fondo. Además, los widgets personalizados, como por ejemplo StyledText, muestran ahora el borde correcto para el tema Windows XP predominante. Consulte las preguntas más frecuentes (FAQ) sobre SWT para obtener instrucciones acerca de la ejecución con una textura Windows XP. |
GIF animados |
Las imágenes GIF animadas pueden guardarse en archivo. Para obtener un ejemplo, consulte el fragmento de código SWT. |
Notificación del aspecto del escritorio |
Cuando se cambian valores de aspecto del escritorio, como por ejemplo el tema, font o colores predeterminados, se emite un evento |
Notificación de cierre |
Anteriormente, cuando se recibía un evento |
Ayudas flotantes para columnas |
Puede establecerse texto de ayuda flotante en una cabecera columna de tabla o de árbol mediante |
Barra de elementos de interés vertical |
Puede crease una barra de elementos de interés mediante el estilo |
Soporte OpenGL |
Ahora puede utilizarse OpenGL en aplicaciones SWT. La interfaz OpenGL funciona con bibliotecas OpenGL de terceros, como por ejemplo LWJGL. Para obtener ejemplos, consulte los fragmentos de código SWT |
Árbol virtual |
Ahora, los árboles dan soporte al estilo SWT.VIRTUAL. Esto permite crear rápidamente árboles con grandes cantidades de datos. Cuando son necesarios TreeItems, se crean bajo demanda. Para obtener un ejemplo, consulte el fragmento de código SWT. |
Botones con imagen y texto |
Los botones pueden mostrar ahora una imagen y texto. Esta característica está soportada en Windows XP, Mac OS X y GTK. |
HIView en Mac OS X |
SWT utiliza ahora HIView en Mac OS X. Esto resuelve muchos de los problemas de sujeción y tamaño. |
Intercalar objetos en el texto |
Mediante TextLayout, ahora es posible intercalar objetos tales como imágenes o widgets en el texto. Puede especificarse métrica de tipo glifo, como por ejemplo ascent, descent y width. Los objetos se acomodan en el texto. Para obtener un ejemplo, consulte el fragmento de código SWT. |
Sangrar, alinear y justificar texto |
Ahora, TextLayout da soporte al sangrado, justificación y alineación de texto. Para obtener un ejemplo, consulte el fragmento de código SWT. |
Elevación de línea base de texto |
Mediante TextLayout y TextStyle, ahora es posible especificar la elevación de la línea base para un rango de texto. Para obtener un ejemplo, consulte el fragmento de código SWT. |
Soporte de colores HSB |
Puede crearse un color especificando el tono, saturación y brillo. Además, pueden consultarse los valores de tono, saturación y brillo de un color determinado. Para obtener un ejemplo, consulte el fragmento de código SWT |
Alineación, sangrado y justificación de StyledText |
Ahora, StyledText da soporte al sangrado, justificación y alineación de texto. Para obtener un ejemplo, consulte el fragmento de código SWT |
Objetos intercalados en StyledText |
StyledText permite ahora intercalar objetos tales como imágenes o widgets en el texto. Los objetos se acomodan en el texto. Para obtener un ejemplo, consulte el fragmento de código SWT |
Imagen de fondo |
Puede definirse una imagen de fondo en un control. Además, los widgets hijos, como por ejemplo las etiquetas, pueden heredar el fondo. Para obtener un ejemplo, consulte el fragmento de código SWT |
Carga de imágenes nativas |
El constructor |
Arrastrar texto |
Si el evento Para obtener un ejemplo, consulte este fragmento de código SWT |
Nuevo widget ExpandBar |
El widget ExpandBar permite al usuario mostrar y ocultar colecciones de widgets pulsando sobre una cabecera. ExpandBar contiene varios elementos, cada uno de los cuales puede tener una imagen y un título en la cabecera. Para obtener un ejemplo, consulte este fragmento de código SWT. |
Viñetas en StyledText |
StyledText puede ahora mostrar listas formateadas en diversos estilos, incluidas viñetas, numeradas, letras mayúsculas o minúsculas y estilos definidos por usuario. Para obtener un ejemplo, consulte este fragmento de código SWT. |
Árbol de dibujo personalizado |
El widget Tree da soporte ahora al dibujo personalizado de casillas individuales. Las aplicaciones pueden mejorar el aspecto y funcionamiento nativo del árbol mediante la visualización personalizada de los datos. La aplicación tiene control sobre la altura de las filas, por lo que pueden dibujarse varias líneas de texto. Además, puede presentar varias imágenes en la misma casilla, cambiar el font o el color varias veces y cambiar la forma en que se dibujan las selecciones. Para obtener ejemplos, consulte los siguientes fragmentos de código: |
Tabla de dibujo personalizada |
El widget Table da soporte ahora al dibujo personalizado de casillas individuales. Al tiempo que conservan el aspecto y funcionamiento nativo de la tabla, los usuarios pueden personalizar cómo se dibujan las casillas para visualizar datos en un formato que no sea texto con una imagen, para mostrar varias líneas de texto en una casilla, para cambiar el font y el color varias veces dentro de la misma casilla, para alterar temporalmente el dibujo de selecciones nativas, etc. Para obtener ejemplos, consulte los siguientes fragmentos de código: |
Información de arrastre para Table y Tree |
Los widgets Table y Tree proporcionan ahora información visual sobre lo que se está arrastrando. |
Nueva clase Tooltip |
La nueva clase ToolTip puede utilizarse para visualizar ayudas flotantes que no están directamente asociadas a un Control. Estas ayudas flotantes pueden colocarse en cualquier ubicación y pueden tener el aspecto predeterminado por la plataforma o el aspecto BALLOON (globo), que se muestra a continuación. |