close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 8 years ago

Closed 8 years ago

#1933 closed task (fixed)

Migración a TkTreeCtrl + RBC

Reported by: Pedro Gea Owned by: Pedro Gea
Priority: high Milestone: Mantainance
Component: Interface Version: 3.3
Severity: critical Keywords:
Cc:

Description

Para poder disponer de la interfaz TOLBase para Windows 64 bits es necesario prescindir del paquete BLT de Tcl/Tk.

Para ello se creará una rama con la versión anterior (véase #1932) y se sustituirá BLT por TkTreeCtrl y el paquete RBC (Refactored BLT Components).

Change History (30)

comment:1 Changed 8 years ago by Pedro Gea

(In [7332]) Refs #1933
Se separa el archivo tolinspe.tcl en 5 partes:

+ main: parte principal y algunas funciones generales)
+ wtree1: funciones dependientes de los widgets de árbol (parte 1)
+ wtree2: funciones dependientes de los widgets de árbol (parte 2)
+ draw: funciones para representar objetos TOL (tabular, graficar, etc.)
+ tolgui: otras funciones fuera del namespace ::TolInpector

Se actualizan las nuevas ubicaciones en tclIndex.

comment:2 Changed 8 years ago by Pedro Gea

(In [7333]) Refs #1933
Se sustituye el uso de los widgets de BLT: ::blt::tree y ::blt::treeview por el árbol ::wtree basado en ::treectrl.
Se incorporan muchos cambios a la vez. Podrían destacarse los siguientes:

  • Se sustituye blt_tree y ht_tree por wt_tree, y de modo similar blt_vartree y ht_vars por wt_vars y blt_functree y ht_funcs por wt_funcs.
  • Se utilizan las columnas de ::wtree para almacenar la información de cada nodo. Esto simplifica algunos métodos que pueden reescribirse más fácilmente.
  • Se revisa el uso de algunos atributos (variable) usados para el paso de argumentos entre métodos. Desaparecen algunos de ellos y aparece el atributo arguments.
  • Se eliminan algunos métodos auxiliares de los que se podían prescindir y algunos que no estaban usándose.
  • Se prescinde del Spool principalmente por dos motivos: (1) estaba dando problemas y corregirlo conlleva bastante trabajo y (2) la consola puede servir para lo mismo una vez implementada la opción de menú que permite llevar cualquier objeto TOL a la consola. Se implementa esta opción.
  • Provisionalmente, tanto el árbol del inspector (::wtree izquierdo) como el listado de objetos (::wtree's derechos) muestran más columnas de lo necesario.
  • Se implementa el llenado del listado de objetos al seleccionar el nodo raíz de los paquetes.

comment:3 Changed 8 years ago by Pedro Gea

(In [7334]) Refs #1933
Se modifica la definición de las columnas de los ::wtree

+ La del inspector (panel izquierdo): LNodeDef, LNode, Li<Field>
+ La del listado de objetos (panel derecho): RNodeDef, RNode, Ri<Field>

comment:4 Changed 8 years ago by Pedro Gea

(In [7335]) Refs #1933

  • Se corrige la acción del doble clic sobre un nodo, para evitar errores cuando no está seleccionado.
  • Se utiliza la columna gramática para obtenerla cuando hace falta.
  • Se obvia (temporalmente) el insert de wtree por lento, se insertándose directamente sobre treectrl.
  • Se corrige ClearHiertables para evitar que se intenten seleccionar nodos mientras se borran.
  • Se sustituye el tabset de BLT por el NoteBook de BWidget. Se dejan sin efecto la desactivación de las pestañas (véanse los comentarios #@D)

comment:5 Changed 8 years ago by Pedro Gea

(In [7337]) Refs #1933
Se sustituyen los ::blt::tabset por NoteBook de BWidget. En total se sustituyeron 19 tabsets.
Se suspenden un par de widgets que parece que no se usan, y por tanto tampoco se les ha sustituido ::blt::tabset: bsersel, btab. bchilddetail tampoco parece usarse.
Se corrige un problem en InsertItem de tolinspe.

comment:6 Changed 8 years ago by Pedro Gea

(In [7338]) Refs #1933
Cambios en sergraph...

comment:7 Changed 8 years ago by Pedro Gea

(In [7339]) Refs #1933
Cambios en sergraph...

comment:8 Changed 8 years ago by Pedro Gea

(In [7340]) Refs #1933
Se sustituye BLT por RBC.
Se prescinde de otros widgets no usados, dependientes de BLT. (Véanse loadByswidget.tcl y pkgIndex.tcl)

comment:9 Changed 8 years ago by Pedro Gea

(In [7341]) Refs #1933
Se sustituye el árbol del editor de PRJ's por un wtree.
Se prescinde del namespace ::BayesTreeview.

comment:10 Changed 8 years ago by Pedro Gea

(In [7342]) Refs #1933
Se prescinde de BLT en algunos widgets.
Otros que no se han convertido se marcan como obsoletos.

comment:11 Changed 8 years ago by Pedro Gea

(In [7343]) Refs #1933
Continúa [7342]

comment:12 Changed 8 years ago by Pedro Gea

(In [7345]) Refs #1933
Se prescinden de algunos métodos auxiliares creados en tolinspe para usar wtree/treectrl.
Quedan algunos por revisar.

comment:13 Changed 8 years ago by Pedro Gea

(In [7347]) Refs #1933
Se revisa tolprj.
Se prescinden de algunos métodos auxiliares creados en tolprj para usar wtree/treectrl.

comment:14 Changed 8 years ago by Pedro Gea

(In [7348]) Refs #1933
Se prescinde de sqltable.tcl
Se revisan los métodos en tclIndex.

comment:15 Changed 8 years ago by Pedro Gea

(In [7349]) Refs #1933
Se suben cambios en blistboxplus para usar wtree en lugar de treeview.
Se adapta wtree para responder a algunos métodos de blistboxplus que se delegaban en treeview.
Pendiente aún de revisión.

comment:16 Changed 8 years ago by Pedro Gea

(In [7350]) Refs #1933
Se prescinde del paquete cwind en btable. Se usa twapi.
Se corrige un bug en el evento del doble clic en el inspector.

comment:17 Changed 8 years ago by Pedro Gea

(In [7351]) Refs #1933
Mejora en bmultiselect.
Se quitan algunas trazas

comment:18 Changed 8 years ago by Pedro Gea

(In [7352]) Refs #1933
See also [7324]
Se utiliza rbc si está disponible.

comment:19 Changed 8 years ago by Pedro Gea

(In [7354]) Refs #1933
Se incorporan las barras a la ventana de salida del inspector (tolbase.tcl).
Se corrige un bug con el botón derecho sobre el árbol del inspector (tolinspewtree2.tcl).
Se revisan los binds del editor de PRJs (tolprj.tcl) y se hace uso de la nueva opción de wtree: -selectcommand.
Se añade el método focus y dos opciones de configuración (selectcommand y bindtags) al wtree (wtree.tcl).

Se revisa listboxplus:

+ Se añaden algunas opciones auxiliares (para evitar errores)
+ Se suspenden las barras para que no salgan duplicadas (wtree ya las tiene)
+ Se redirigen los mecanismos de ordenación a los de wtree (véase _SortByColumn, por ejemplo).

comment:20 Changed 8 years ago by Pedro Gea

(In [7355]) Refs #1933
Se revisan los binds respecto a wtree y su treectrl.
Se quitan los métodos específicos para la creación de columnas e inserción de nodos que quedaban en tolinspe.
Se añade un update del nodo de paquetes para que se actualice ante un "require".
Se revisan los métodos de botón derecho para que aparezcan sólo sobre los objetos seleccionados.
Se añade un método a wtree para gestionar el color de todas las columnas de un nodo.
Se añaden las columnas al root de wtree.

comment:21 Changed 8 years ago by Pedro Gea

(In [7356]) Refs #1933
Se revisa el widget blistboxplus.
Se eliminan las barras propias (ya están las de wtree).
Se elimina código antiguo comentado.

comment:22 Changed 8 years ago by Pedro Gea

(In [7357]) Refs #1933
Se revisa el archivo init_toltk.tcl y se soluciona el arranque de tolbase desde otro directorio cambiando el 'current directory'.

comment:23 Changed 8 years ago by Pedro Gea

(In [7359]) Refs #1933
Se redibuja el gráfico tras actualizar los ejes ($graph configure axis ...) ya que según parece con rbc esto no se hace automáticamente.
Se añade el método ClearCrosshairs.
Se soluciona un bug decompilando archivos desde la ventana derecha del inspector.
Se corrige la actualización del inspector según el item seleccionado en el árbol.

comment:24 Changed 8 years ago by Pedro Gea

(In [7361]) Refs #1933
Se incorpora un parámetro en init_toltk.tcl para provisionalmente mostrar o no filtros en el inspector.
Se traducen los nombres de columna del inspector.
Se incorporan el contenido y la descripción completa (sin TrimContent) de las variables TOL.

comment:25 Changed 8 years ago by Pedro Gea

(In [7377]) Refs #1933
Se revisa el método que actualiza el nodo de archivos compilados.

comment:26 Changed 8 years ago by Pedro Gea

(In [7378]) Refs #1933
Se corrige un problema por el que tolbase64 muestra un error en la carga de libcurl-4.dll al ser llamado desde un archivo BATCH cargando un proyecto con la opción -project.
Se incrementa la versión de compilación de TOL.

comment:27 Changed 8 years ago by Pedro Gea

(In [7379]) Refs #1933
Se comentan algunas trazas.

comment:28 Changed 8 years ago by Pedro Gea

(In [7380]) Refs #1933
Se revisa [7378].

comment:29 Changed 8 years ago by Pedro Gea

(In [7381]) Refs #1933
Se corrige [7379]. Se comentaron dos líneas que no eran trazas!

comment:30 Changed 8 years ago by Jorge

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.