Treeview virtual es un control de vista de árbol construido desde cero. Más de una década de desarrollo han creado uno de los más flexibles y avanzados controles de árbol Delphi disponibles en la actualidad.Virtual TreeView comenzó con la pretensión de mejorar muchos aspectos de las soluciones existentes e introdujo varias tecnologías y principios revolucionarios.
Como su nombre indica, el control utiliza un paradigma diferente para la gestión del árbol que otros controles de este tipo. No lee los datos que gestiona (excepto su tamaño), ni siquiera los subtítulos de un nodo. Todo se recupera de la aplicación a través de eventos (o descendientes a través de métodos sobrescritos).
Treeview virtual ha sido cuidadosamente diseñado y está probado a fondo. El control ha demostrado su concepto, así como su gran facilidad de uso en muchos productos comerciales y proyectos de softwaregratuito.
Aunque JAM Software ha tomado TreeView virtual bajo su desarrollo, el control sigue siendo de código abierto. Los desarrolladores son bienvenidos a participar!
Licencia
Treeview virtual está utilizando un esquema de doble licencia. Se puede elegir Mozilla Public License 1.1 (MPL 1.1) o GNU Lesser General Public License.
Fuente pública de repositorio de código y seguimiento de incidencias
Treeview virtual se encuentra alojado en GitHub. Allí encontrará la última versión del código.
Instalación
Desde la versión 5.0, Treeview virtual ya no viene con su propio programa de instalación. Hay un pack de diseño y de ejecución de paquetes para cada versión IDE, que fácilmente se puede abrir para compilar e instalar el control en el IDE. Virtual Treeview es compatible con los siguientes entornos de desarrollo (y sus asociados) VCL:
- RAD Studio XE de embacadero - XE5
- Delphi 2010
- CBuilder 2010
- Delphi 2009
- Delphi 2007
- BDS 2006
- Delphi 2005
- Delphi 7 hasta la versión más reciente RAD Studio
Características
- Treeview virtual es extremadamente rápido.La Adición de un millón de nodos tarda sólo 700 milisegundos! *
- Treeview virtual tiene una muy pequeña huella de memoria. Por única asignación de unos 60 bytes por nodo ( el árbol base utiliza sólo 56 bytes) está bien preparado para sostener un millón de ellos.
- Treeview virtual está optimizado para acceso de alta velocidad. Se necesita tan sólo 0,5 segundos para recorrer un millón de nodos.
- Compatible con Selección múltiple, incluyendo selección limitada de manera que sólo los nodos de un cierto nivel inicial puedan ser seleccionados. Se ha puesto un gran esfuerzo en el desarrollo de algoritmos eficaces, por ejemplo, para permitir la modificación de un conjunto de selección, manteniendo la interactividad.
- Dibujo todo el árbol a un mapa de bits mediante el método TBaseVirtualTree.PaintTree l. Los mensajes WM_PRINT y WM_PRINTCLIENT se manejan correctamente. Esto permite, por ejemplo, el dibujo de un árbol en un mapa de bits (por ejemplo, para ventanas en capas o para implementar controles desplegable animados que utilizan VT).
- Hay un evento TBaseVirtualTree.OnHint para mostrar Hints específicos de un nodo.
- Hay un evento TBaseVirtualTree.OnGetHelpContext para recuperar los ID de ayuda contextual del nodo. Esto incluye el recorrido automático del árbol y de la ventana principal de control, ya que se invoca cuando el usuario presiona F1.
- Hay un evento TBaseVirtualTree.OnGetPopupMenu para recuperar los menús emergentes específicos de cada nodo, incluye recorrido de árbol automático.
- Una imagen de fondo fijo se puede utilizar en el árbol y se puede dar un cierto desplazamiento, por ejemplo, para simular fondos compartidos.
- Compatible con Estilo hot para los nodos (como eslabones de una ventana del navegador). Un cursor especial se puede asignar para esta tarea.
- Compatible con un modo de columna automático. Permite una columna ocupar más espacio para su título si hay columnas vacías a su derecha. Esto evita el recorte de los subtítulos largos mientras que todavía permite el uso de múltiples columnas.
- Los nodos pueden tener alturas individuales y la alineación vertical de las imágenes y las líneas de un nodo se pueden ajustar individualmente.
- Virtual Treeview expone sus estados internos, como a la espera de arrastre o editar eventos, multi selección o la ampliación en curso. Con esta información una aplicación puede optimizar su ejecución de código (actualizaciones de estado, etc.).
- Ordenando un nodo , a través de una devolución de llamada definido por la aplicación. Además, un árbol puede ser ajustado para "ordenar automáticamente".
- Hints pueden contener varias líneas de texto y reflejar la alineación y la direccionalidad del nodo o columna que se muestran .
- Búsqueda incremental con varias opciones y direcciones .
- Auto-desplazamiento del área de cliente pasa cuando el ratón cerca de las límites mientras arrastra y dibuja (multi selección).
- TBaseVirtualTree.DefaultNodeHeight y TVirtualStringTree.DefaultText se pueden utilizar para evitar el establecimiento de muchos nodos de forma explícita en el mismo valor de inicio.
- Virtual Treeview también permite columnas fijas, por lo que es un buen reemplazo de cuadrícula.
No hay comentarios:
Publicar un comentario