Código Fuente De Gambas


Objetivo: 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á?

Perfil MP  
Objetivo: 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
Objetivo: 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

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.3759s (PHP: -77% SQL: 177%)
Consultas SQL: 45 - Debug off - GZIP Activado