Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Código Fuente De Gambas

Código Fuente De Gambas
Artículo
Responder citando    Descargar mensaje  
Mensaje Código Fuente De Gambas 
 
He estado escarbando en el gambas sourceforge buscando el código fuente que usa gambas para abrir un proyecto.
En concreto quisiera ver cómo hace para que aparezca la gamba como icono de las carpetas que contienen un proyecto de gambas, qué controles utiliza y cómo los maneja.
Imagino que lo detectan por presencia de fichero, pero no he encontrado el código de esa ventana.

¿Alguien sabe dónde está?



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Domingo, 06 Abril 2014, 17:55 ]
 


Código Fuente De Gambas
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Código Fuente De Gambas 
 
Shordi:

Citar:
En concreto quisiera ver cómo hace para que aparezca la gamba como icono de las carpetas que contienen un proyecto de gambas, qué controles utiliza y cómo los maneja.


Creo que lo que hace es leer en las carpetas si esta el archivo ".project", si esta lo lee, alli se encuentra información del icono del proyecto.

 lectura_de_un_proyecto

El control, usa un DrawArea ¿?  donde va añadiendo controles..

Para "personalizar" el icono, usa el evento _icon del  control es un DirView:
Public Sub dchProject_Icon(Path As String)

  If Exist(Path &/ ".project") Then
    dchProject.Icon = Project.GetIcon(Path)    
  Endif  

End


De esta manera personaliza el icono de la carpeta.

Nota:
Para "descubrir" esto, lo que hago es abrir el codigo fuente del proyecto de gambas3
 codigo_fuente_de_gambas3

Voy poniendo puntos de interrupción donde me interesa que se pare el programa, lo ejecuto.
Se parará donde he puesto los puntos de interrupción y empiezo a ver la "pila" y el valor de las variables.

 pila_de_ejecucion

Nota 2:
La subrutina GetIcon del módulo "Projetc"
Public Function GetIcon(sPath As String, Optional iSize As Integer) As Picture
  
  Dim hFile As File
  Dim sLig As String
  Dim sIcon As String
  
  hFile = Open sPath &/ ".project"
  
  For Each sLig In hFile.Lines
    If Left$(sLig, 5) = "Icon=" Then
      sIcon = Mid$(sLig, 6)
      Break
    Endif
  Next
  
  Close #hFile
  
  If sIcon Then
    sPath = sPath &/ sIcon
  Else
    sPath = "img/logo/project.png"
  Endif
  
  If iSize Then
    Return StretchIcon(sPath, iSize).Picture
  Else
    Return Picture.Load(sPath)
  Endif
  
Catch
  
  sPath = "img/logo/project.png"
  
  If iSize Then
    Return StretchIcon(sPath, iSize).Picture
  Else
    Return Picture.Load(sPath)
  Endif
  
End




 
última edición por jsbsan el Domingo, 06 Abril 2014, 19:32; editado 1 vez 
jsbsan - Ver perfil del usuario Enviar mensaje privado  
jsbsan [ Domingo, 06 Abril 2014, 19:27 ]
Responder citando    Descargar mensaje  
Mensaje Re: Código Fuente De Gambas 
 
Citar:
Nota:
Para "descubrir" esto, lo que hago es abrir el codigo fuente del proyecto de gambas3

Donde se demuestra lo tonto que llego a ser, yo buscaba el código del componente que necesitaba y lo estudiaba en la misma web sin bajármelo...
Lo hago contínuamente en mi código y no se ha ocurrido nunca hacerlo en el proyecto gambas...

Me doy otra ración:
original



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Lunes, 07 Abril 2014, 17:05 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 1
 
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron