Comunidad Gambas-es
Config class settings pero con JSON + Formulario de ejemplo + Control ListMaker - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: Aplicaciones/Fragmentos de Código (https://gambas-es.org/forum-8.html)
+--- Tema: Config class settings pero con JSON + Formulario de ejemplo + Control ListMaker (/thread-433.html)

Páginas: 1 2


RE: Config class settings pero con JSON + Formulario de ejemplo + Control ListMaker - Shordi - 05-05-2023

Aquí tienes una versión que propone dicho evento. Lo he llamado Changed para que no haya confusiones con el evento Change del TableView.
Le he añadido al evento que provea el valor que se ha cambiado (NewValue), pero eso me lo he sacado de la manga y se puede eliminar, de manera que simplemente se levante dicho evento.
He comentado en el código todos los cambios que he hecho y le he cambiado el número de versión para que no se "mezcle" con el tuyo.

Espero que te sirva.

Saludos


RE: Config class settings pero con JSON + Formulario de ejemplo + Control ListMaker - tincho - 05-05-2023

(05-05-2023, 11:24)Shordi escribió: He comentado en el código todos los cambios que he hecho y le he cambiado el número de versión para que no se "mezcle" con el tuyo.
Espero que te sirva.
Gracias, descargado, le echo un vistazo.


RE: Config class settings pero con JSON + Formulario de ejemplo + Control ListMaker - Shordi - 05-05-2023

Ya me cuentas


RE: Config class settings pero con JSON + Formulario de ejemplo + Control ListMaker - tincho - 05-05-2023

Bien, subo la nueva versión con todos los cambios de Shordi mas los que agregue ahora.
Por favor prueben si funciona bien y guarda todo correctamente, si hay algún error avisen.


RE: Config class settings pero con JSON + Formulario de ejemplo + Control ListMaker - tincho - 20-05-2023

Algo mas de avance en el desarrollo pongo un video corto y luego explico como agregar variables a la configuración mientras vamos programando nuestras aplicaciones.

[Imagen: vEbTaHi.gif]

Para agregar una variable hay que hacerlo en el archivo Config.Class como cualquier variable publica estas son las del ejemplo:
Código:
'' INTERFACE
Public ShowConsoleTab As Boolean 'Show console tab
Public ModelBackgroundColor As Integer 'Model background color
Public ButtonSize As Integer = 32
Public ShowEntityInspector As Boolean 'Show entity inspector
Public DecimalDigitsCoords As Integer 'Decimal digits for coordinates
Public DecimalDigitsInquiries As Integer 'Decimal digits for inquiries
Public IconFamily As String 'Icon family
Luego para definir el modo en que estas variables serán alteradas y con que controles se hace también en la clase Config.class pero dentro del método Behaviour que como ya sabrán en nuestro idioma significa comportamiento. Aquí como esta todo para el video de antes:
Código:
Static Public Function Behaviour() As Collection
  'o.Add([("Title of the variable"), "e", "DirChooser","Section"], "Root")
  ' r=Read only, e=Read Write, a=Automatic. Section is te group of the variable
  ' El cuarto parámetro es la funcion que modificara el valor, por ejemplo:
  ' toggle.2 = Es un boton togle que puede ofrecer dos estados, on y off por ejemplo
  ' toggle.3 = Es un boton togle que puede ofrecer tres estados, on y off y standby, por ejemplo
  ' color.choose.16x16 = Es un boton normal que al producirse el evento click llamara a un formulario de seleccion de colores
  ' integer = Un SpinBox para un numero entero n donde n > -1 y n < 7
  ' select.from.list = Un combobox solo lectura que presenta una lista de opciones.

  Dim o As New Collection

  o.Add(["interface", ("Show console tab"), "e", "toggle.2"], "ShowConsoleTab")
  o.Add(["interface", ("Model Background Color"), "e", "color.choose.16x16"], "ModelBackgroundColor")
  o.Add(["interface", ("Show entity inspector"), "e", "toggle.2"], "ShowEntityInspector")
  o.Add(["interface", ("Decimal digits for coordinates"), "e", "integer", [0, 6]], "DecimalDigitsCoords")
  o.Add(["interface", ("Decimal digits for inquiries"), "e", "integer", [0, 6]], "DecimalDigitsInquiries")
  o.Add(["interface", ("Show console tab"), "e", "ToggleButton"], "toggle.2")
  o.Add(["interface", ("Icon family"), "e", "select.from.list", ["TercoIDE", "Tincho", "Shordi"]], "IconFamily")

  Return o.Copy()
  o.Clear

End

Creo que el proyecto se presta a la colaboración porque siempre hace falta algún control que haga algo especial.


RE: Config class settings pero con JSON + Formulario de ejemplo + Control ListMaker - tincho - 21-05-2023

Bien, continuo agregando variables del programa GambasCAD para poner a prueba json-config y mejorarlo.
Aquí les comparto un video de como agrego una variable pública a la clase y luego como la agrego a la colección de comportamiento. Esto servirá para indicar al formulario que tipo de control crear para editarla.
Si bien le agrega algo mas de complejidad, por otra parte permite definir exactamente el control con que se editara, el titulo que aparecerá en la etiqueta y la sección, muy útil para programas con muchas variables.

[Imagen: 8SUn63a.gif]