https://foro.gambas-es.org/viewtopic.php?f=24&t=8007
-----------------------------------
tercoIDE
Martes, 28 Abril 2020, 21:59

Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
-----------------------------------
Una imagen vale mas que mil palabras. Favor usen el codigo del segundo post para el copy/paste.
Leer el post "Radiografia de una entidad de GambasCADE" para entender mas facil.

[youtube]GZe04ZWD5Ro[/youtube]


-----------------------------------
tercoIDE
Martes, 28 Abril 2020, 22:03

Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
-----------------------------------
[code linenumbers=false syntax=gambas]' Gambas class file

Public gender As String = ("NUEVA")
Public Const HelperTrabajo As String = ("QUE ESTOY HACIENDO")
Public Const ParamType As String = "PP"                             ' that is Point, Point, Float; could be Color Text, etc
Public Const ParamHelper As String = ("Start point;End point")      ' a little text that is shown at the prompt waiting for user input during build
'                                                                                                      |
'                                                                                                      |
' SAVE from this                                                                                       |
'                        '                           Stored there               |
Public P As New Float[]                         'X,Z pairs                        '                       <------------------------------+
Public Level As New Float[]                     ' 
Public StringData As String                     ' 
Public fParam As New Float[]                    ' 

' For future use in CAD implementation
Public Layer As Integer                      ' Capa o Layer
Public Block As Integer                     ' Para tener la posibilidade de juntar cosas en un block
Public _Color As Integer                     ' Para darle un color distinto al del layer
Public LineType As Integer                  
Public LineWidth As Integer                  
' SAVE to here



Public Sub Draw()
   
    If Not Me.DrawAble Then Return                
    If FMain.DrawOriginales Then DrawOriginal
    
    ' AQUI VAN LAS RUTINAS DE DIBUJO 
 
    
    
    Paint.Reset
    
   
End[/code]


-----------------------------------
jsbsan
Miercoles, 29 Abril 2020, 18:55

Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
-----------------------------------
TercoIde:

Creo que si usas la herencia , siendo la clase padre EntityBase, y en la clase hijo (clsDosLineas en este caso) modificas lo que necesites, te queda más limpio y reutilizable el código.


[code linenumbers=false syntax=gambas] INHERITS EntiBase

.......
.......
'los cambios de nombre y de nuevos (o modificacion de métodos)

' el resto de funciones que tiene la clase EntiBase, no hace falta redefinirlos y volverlos a escribir
[/code]

Ademas al usar la herencia, cualquier mejora en la clase EntityBase, se vería reflejada automáticamente en las clases hijas.

Saludos

Julio


-----------------------------------
tercoIDE
Miercoles, 29 Abril 2020, 20:48

Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
-----------------------------------
hola Julio, si , considere eso, pero es muy poco el codigo reutilizable en la clase que hereda la IDE nos desordena los dirs


-----------------------------------
tercoIDE
Jueves, 30 Abril 2020, 10:36

Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
-----------------------------------
[quote user="jsbsan" post="48187"]TercoIde:

Creo que si usas la herencia , siendo la clase padre EntityBase, y en la clase hijo (clsDosLineas en este caso) modificas lo que necesites, te queda más limpio y reutilizable el código.


[code linenumbers=false syntax=gambas] INHERITS EntiBase

.......
.......
'los cambios de nombre y de nuevos (o modificacion de métodos)

' el resto de funciones que tiene la clase EntiBase, no hace falta redefinirlos y volverlos a escribir
[/code]

Ademas al usar la herencia, cualquier mejora en la clase EntityBase, se vería reflejada automáticamente en las clases hijas.

Saludos

Julio[/quote]

lo escribi en otro hilo, pero tienes razon...
solo hay una cosa que me molestara cuado tengamos 100 clases y es que esten todas colgadas del padre en la IDE


-----------------------------------
tercoIDE
Jueves, 30 Abril 2020, 16:28

Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
-----------------------------------
Heredando la clase padre, el codigo minimo de cada entidad quedo sumamente reducido. 
[code linenumbers=false syntax=gambas]' Gambas class file
' Un circulo
Inherits EntityBase
Public Const GENDER As String = ("Circle")          
Public Const PointsTotal As Integer = 2             ' two corners on diagonal
Public Const PointsToDraw As Integer = 1             ' minimal point requered for drawing something usefull
Public Const HelperTrabajo As String = ("Draw a circle")
Public Const ParamType As String = "PP"                             ' that is Point, Point, Float; could be Color Text, etc
Public Const ParamHelper As String = ("Start point;Radious")      ' a little text that is shown at the prompt waiting for user input during build


'  VUOTT necesitamos poder eliminar esto!!!
Public Sub Clon() As CadCircle

    Return New CadCircle

End


Public Sub Draw()
    If Not Me.DrawAble Then Return
   
    Dim l As Float
    
    Paint.NewPath
    Paint.LineWidth = Me.LineWidth
    ' radio
    
    l = puntos.distancia(Me.p[0], Me.p[1], Me.p[2], Me.p[3])
    l = puntos.Pixels(l)

    Paint.Arc(puntos.Xpix(Me.p[0]), puntos.Ypix(Me.p[1]), l)
    Paint.Brush = Paint.Color(Me._Color) 
    Paint.Stroke
    
 
End
[/code]


-----------------------------------
jsbsan
Jueves, 30 Abril 2020, 18:39

Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
-----------------------------------
TercoIde:

Me he dado cuenta que hay en el panel del proyecto un "filtrado" y  puede ser muy útil para buscar las clases y ficheros del proyecto

 [img]https://foro.gambas-es.org/files/images/6/filtro_de_clases.jpg[/img] 

Saludos


-----------------------------------
tercoIDE
Jueves, 30 Abril 2020, 19:18

Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
-----------------------------------
No lo conocia...

Esto es lo que digo, el IDE saca de sus dir las clases y las cuelga del padre

[img]https://foro.gambas-es.org/files/images/2399/captura_de_pantalla_de_2020_04_30_15_16_04.png[/img]


Gracias por sumarte como Inspector de codigo!


-----------------------------------
tincho
Jueves, 30 Abril 2020, 19:19

Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
-----------------------------------
[quote user="jsbsan" post="48219"]TercoIde:
Me he dado cuenta que hay en el panel del proyecto un "filtrado" y  puede ser muy útil para buscar las clases y ficheros del proyecto[/quote]
Hola Julio, yo lo uso bastante el filtro es muy útil.
Terco: Por que te parece mal que gambas "cuelgue" las clases heredadas de su padre, no termino de ver donde esta el problema.
Saludos.


-----------------------------------
tercoIDE
Jueves, 30 Abril 2020, 19:21

Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
-----------------------------------
[quote user="tincho" post="48221"][quote user="jsbsan" post="48219"]TercoIde:
Me he dado cuenta que hay en el panel del proyecto un "filtrado" y  puede ser muy útil para buscar las clases y ficheros del proyecto[/quote]
Hola Julio, yo lo uso bastante el filtro es muy útil.
Terco: Por que te parece mal que gambas "cuelgue" las clases heredadas de su padre, no termino de ver donde esta el problema.
Saludos.[/quote]

para que les hemos hecho directorios entonces? y cuando sea 100?


-----------------------------------
tincho
Jueves, 30 Abril 2020, 19:30

Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
-----------------------------------
[quote user="tercoIDE" post="48222"]...para que les hemos hecho directorios entonces? y cuando sea 100?[/quote]
Comprendo.
Estuve mirando la configuración de gambas y no encontré nada que permita desactivar este comportamiento, la verdad que estaría bien que lo tenga.
Pusiste el requerimiento en la lista internacional no?
Saludos.


-----------------------------------
tercoIDE
Jueves, 30 Abril 2020, 19:39

Re: Como Crear Una Nueva Entidad "Dos Lineas" ---> Video Cortito
-----------------------------------
[quote user="tincho" post="48225"][quote user="tercoIDE" post="48222"]...para que les hemos hecho directorios entonces? y cuando sea 100?[/quote]
Comprendo.
Estuve mirando la configuración de gambas y no encontré nada que permita desactivar este comportamiento, la verdad que estaría bien que lo tenga.
Pusiste el requerimiento en la lista internacional no?
Saludos.[/quote]

no, estuve molestando bastante últimamente así que me voy a guardar un tiempo


