Comunidad Gambas-es
Editor de algunas Array[] - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: Controles/Librerías/Componentes (https://gambas-es.org/forum-7.html)
+--- Tema: Editor de algunas Array[] (/thread-1328.html)

Páginas: 1 2


Editor de algunas Array[] - tincho - 17-04-2023

Hola amigos.

¿Alguien sabe si existen (en la granja o en otra parte ya que nativamente no hay) controles que permitan editar: Float[] e Integer[] ?
Los String[] supongo que podre editarlos con un ListEditor (tengo que hacer pruebas).
Luego lo mismo pero para una colección de Clave:Valor done valor es variant
Estoy haciendo un editor de configuraciones que en realidad edita una colección que guardo como json.

Para Texto simple uso TextBox, para enteros y decimales uso ValueBox, para valores Boleanos uso CheckBox Etc. pero cuando se trata de alguna Integer[] o Float[] la cosa no es tan sencilla.

Por ejemplo, una lista de enteros:

[Imagen: VSUwauy.gif]


RE: Editor de algunas Array[] - tincho - 18-04-2023

Hice este formulario a modo de ejemplo de como necesito el control de edición de listas, pero no es un control, es solo un formulario.
En principio hay dos parámetros que pasar, uno es el tipo de dato de los items de la lista, por ejemplo Integer y otro la lista en formato Variant[]
Luego tendrá que existir un método que pase los valores del GridView a la lista.

Como también es necesario editar colecciones tal vez el parámetro de lista sea una colección directamente con el formato clave:valor para colecciones simples, diccionarios digamos.

¿Alguien me puede ayudar a convertir esto en un control?


RE: Editor de algunas Array[] - Shordi - 19-04-2023

En estos días ando algo escaso de tiempo, pero déjame que le eche un ojo y te cuento.


RE: Editor de algunas Array[] - tincho - 19-04-2023

(19-04-2023, 12:50)Shordi escribió: En estos días ando algo escaso de tiempo, pero déjame que le eche un ojo y te cuento.

Gracias.


RE: Editor de algunas Array[] - Shordi - 19-04-2023

Después de una aproximación surgen preguntas: ¿Quieres que el añadido y la edición se haga sobre la misma lista o en un textbox aparte como hace ListEditor?

Si lo quieres en la misma lista hay que:
-Establecer un botón de insertar (el de añadir solo no vale porque no estamos al final de la lista)
-Establecer un botón de Editar y una tecla rápida que lo lance

Si lo quieres en un textbox (o valuebox) aparte, las opciones son:
-Que esté siempre visible debajo, como hace ListEditor
-Que el control no sea visible y sólo aparezca debajo cuando se pulse el botón de insertar/añadir
-Que el control aparezca "flotante" sobre el ítem seleccionado en ese instante al pulsar dicho botón (al estilo InputBox)

Por otra parte en el mecanismo de pintar los iconos he hecho dos pequeña modificaciones

Código:
)

  Dim ch As Object
  Dim myclass As Class

  myclass = Object.Class(obj)

  If myclass.Symbols.Exist("Children") Then  'No todos los contenedores tienen Arrangement, por ejemplo los HBox
    For Each ch In obj.Children
      If Object.Type(ch) = "ToolButton" And Not IsNull(ch.tag) Then 'no todos los toolbuttons tienen tag
        If aThemes Then
          ch.Picture = TagPic(ch.Tag, ch.W - 7,, IIf(aThemes.Count > 0, aThemes, []))
        Else
          ch.Picture = TagPic(ch.Tag, ch.W - 7)
        Endif
      Else
        If aThemes Then
          Update(ch, IIf(aThemes.Count > 0, aThemes, []))
        Else
          Update(ch)
        Endif
      Endif
    Next
  Endif

End

Ya me cuentas el camino a seguir.

Saludos


RE: Editor de algunas Array[] - tincho - 20-04-2023

Hola Shordi.

Creo que la mejor opcion es la edición sobre la misma lista, con la tecla F2 podría ser, o doble click.
Te explico por que me parece mas adecuado, como ya sabes la finalidad es editar listas de la configuración, así que en el formulario estará este control (el de listas) y unos cuantos mas, así que mientras mas contenida este la operación dentro de su recinto mejor creo.
Este es un ejemplo del formulario (que también subo para que veas como trabajaría)
[Imagen: 5jRxrzY.png]

Subo una nueva versión con los botones "Insert" y "Edit".
[Imagen: YlUIYD9.png]
Luego con...
[code]
Gracias por la mejora del código recursivo de los iconos, como generalmente no utilizo los Hbox ni VBOx no había caído en el error.


RE: Editor de algunas Array[] - Shordi - 21-04-2023

Atención preguntas:

¿Qué objetivo se supone que tienen las propiedades Moveable y Text?
¿Interesa que se puedan seleccionar una o varias opciones?


Saludos


RE: Editor de algunas Array[] - tincho - 21-04-2023

(21-04-2023, 20:15)Shordi escribió: ¿Qué objetivo se supone que tienen las propiedades Moveable y Text?

No lo se, pero le echo un vistazo y te digo algo.
(21-04-2023, 20:15)Shordi escribió: ¿Interesa que se puedan seleccionar una o varias opciones?

¿Te refiers a varios items, como el mode del gridview?


RE: Editor de algunas Array[] - Shordi - 21-04-2023

Cita:¿Te refiers a varios items, como el mode del gridview?
Sip


RE: Editor de algunas Array[] - tincho - 21-04-2023

(21-04-2023, 20:42)Shordi escribió: Sip

Creo que con mode = Single vale, lo del "Multiple" puede ser contraproducente.

Porque "Single" simplificaria el código y como es para editar una lista sencilla simple es mejor.