Nueva Clase: TFolderEx

User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Nueva Clase: TFolderEx

Post by Daniel Garcia-Gil »

New Class TFolderEx, is a new folder class, fivewin own without Window API
Nueva clase, es una nueva clase TFolder, propia de fivewin, sin el uso del api de window

Download Sample

Algunas caracterisicas (parametrizables):
* Tabs Multilineas
* Bitmaps, desde archivos y recursos
* Alpha Bitmpas
* Separacion entre tabs
Image

* Ajuste de posicion automatico
Image

* Data bPopUp, codeblock que se evalua por cada tabs
Image

* Enable / Disable Tabs
* Show / Hide Tabs

Image

* Alpha Level Ajuste

Image

* Colors Tabs y Texto

Image

* Ajuste de alturas y bordes redondos

Image

* Bitmap Align
Image

*Accion (ON CHANGE)

Image

Download Sample

Code sample

Code: Select all

function main()
   local oWnd
   local oFld, oFld1
   local aMonths := {"January", "February", "March", ;
                     "April", "May", "June", ;
                     "July", "August", "September", ;
                     "October", "November", "December"}
   
    DEFINE WINDOW oWnd TITLE "TFolderex - Testing -"
     
   @ 3, 3 FOLDEREX oFld PIXEL ADJUST;
          PROMPT  "Social", "OS", "Games", "Movies", "Email", "Months", "Setting", "Exit";
          BITMAPS "facebook.bmp", "windows.bmp", "game.bmp", "viddler.bmp", "mail.bmp", "call.bmp", "settings.bmp", "logout.bmp";
          ON PAINT TAB PaintTab( Self, nOption );
          POPUP MenuTabs( Self, nOption );
          ON CHANGE ( If( nOption == 8, If( MsgYesNo( "Do you want exit??" ), ;
                                           oWnd:End(), ( ::SetOption( nOldOption ), ::Refresh() ) ), ) )
          

   //Dialog Social
   @ 3,10 FOLDEREX OF oFld:aDialogs[ 1 ] PIXEL SIZE 450, 190 ;
         PROMPT "Facebook", "MySpace", "Twitter" ;
         BITMAPS "Facebook.bmp", "myspace.bmp", "Twitter.bmp";
         SEPARATOR 20


   //Dialog OS
   @ 3,10 FOLDEREX OF oFld:aDialogs[ 2 ] PIXEL SIZE 450, 190 ;
         PROMPT "", "", "";
         BITMAPS "windows.bmp", "apple.bmp", "ubuntu.bmp";
         ALIGN AL_LEFT, AL_CENTER, AL_RIGHT
         
   //Dialog Mail
   @ 3,10 FOLDEREX OF oFld:aDialogs[ 5 ] PIXEL SIZE 450, 190 ;
         PROMPT "Gamil", "Outlook", "Yahoo";
         BITMAPS "gmail.bmp", "Outlook.bmp", "yahoo.bmp";
         TAB HEIGHT 45 ROUND 5
         
   //Dialog Months
   // Suport Arrays and list
   @ 3,10 FOLDEREX OF oFld:aDialogs[ 6 ] PIXEL SIZE 450, 190 ;
         PROMPT aMonths ;
         TAB HEIGHT 18 ROUND 0;
         ON PAINT TAB ChangeClr( Self, nOption );
         ON PAINT TEXT ChangeTxtClr( Self, nOption )
         
   ACTIVATE WINDOW oWnd;
            ON INIT oFld:Resize()
   
RETURN NIL

FUNCTION PaintTab( o, nOption )

   IF nOption == o:nOver .OR. nOption == o:nOption
      o:SetAlphaLevel( nOption, 255 )
   ELSE 
      o:SetAlphaLevel( nOption, 50 )
   ENDIF 
   
RETURN o:SetFldColors( o, nOption )      


FUNCTION ChangeClr( o, n )
   
   LOCAL nMonth := Month( Date() )
   LOCAL aGrad1 := { { 0.5, nRGB( 255, 255, 255 ), nRGB( 255, 240, 180 ) },;
                     { 0.5,  nRGB( 255, 240, 180 ), nRGB( 255, 200, 140 ) } }

   LOCAL aGrad2 := { { 0.5, nRGB( 255, 255, 255 ), nRGB( 200, 200, 240 ) },;
                     { 0.5,  nRGB( 200, 200, 240 ), nRGB( 100, 100, 240 ) } }

   LOCAL aGrad3 := { { 0.5, nRGB( 255, 255, 255 ), nRGB( 255, 240, 240 ) },;
                     { 0.5,  nRGB( 255, 240, 240 ), nRGB( 255, 200, 200 ) } }

   LOCAL aGradMonth := { { 0.5, nRGB( 255, 255, 255 ), nRGB( 185, 207, 147 ) },;
                         { 0.5,  nRGB( 185, 207, 147 ), nRGB( 85, 107, 47 ) } }
   
   LOCAL hBrush, aGrad 
   
   IF n == nMonth
      aGrad = aGradMonth
   ELSE 
      IF n > 0 .AND. n < 5
         aGrad = aGrad1 
      ELSEIF n > 4 .AND. n < 9
         aGrad = aGrad2 
      ELSE
         aGrad = aGrad3
      ENDIF
   ENDIF
   o:aGradUnSel = aGrad
   hBrush = o:SetFldColors( o, n )
      
RETURN hBrush 

FUNCTION ChangeTxtClr( o, n )
   
   LOCAL nMonth := Month( Date() )
   LOCAL nClr := CLR_BLACK, ;
         nClr1 := CLR_HRED
   
   IF n > 0 .AND. n < 7
      nClr = nClr1 
   ENDIF
      
RETURN nClr
        


FUNCTION MenuTabs( oFld, nOpt )
   LOCAL oMenu

   MENU oMenu POPUP 2007
      MENUITEM oFld:aPrompts[ nOpt ]
      SEPARATOR
      MenuAddItem( "Show", , ;
                    oFld:aVisible[ nOpt ], ,;
                    {|| If( oFld:aVisible[ nOpt ], ;
                            oFld:HideTab( nOpt ), ;
                            oFld:ShowTab( nOpt ) ) } ) 
      MenuAddItem( "Enabled", , ;
                    oFld:aEnable[ nOpt ], ,;
                    {|| If( oFld:aEnable[ nOpt ], ;
                            oFld:DisableTab( nOpt ), ;
                            oFld:EnableTab( nOpt ) ) } ) 
   ENDMENU
   
RETURN oMenu
 
Method redefine no esta listo
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
AIDA
Posts: 782
Joined: Fri Jan 12, 2007 8:35 pm

Re: Newva Clase: TFolderEx

Post by AIDA »

Esta super bonito :mrgreen: a si como se ven los folders :shock: me encantaron :D

Saluditos :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Newva Clase: TFolderEx

Post by FranciscoA »

Excelente, Daniel. Felicitaciones.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Newva Clase: TFolderEx

Post by Daniel Garcia-Gil »

Hay un nuevo ejemplo con algunos ajustes

Alt+Key esta funcionando

Download Here

(me gusta el Tab Movie ;-) )
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
MGA
Posts: 1219
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá
Contact:

Re: Newva Clase: TFolderEx

Post by MGA »

Muito bom Daniel :D
ubiratanmga@gmail.com

FWH17.04
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
User avatar
Raymundo Islas M.
Posts: 590
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Re: Newva Clase: TFolderEx

Post by Raymundo Islas M. »

Daniel,

Excelente clase !!

La pregunta del millon : Tendra la opcion para quitar las solapas/pestañas ??

Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Newva Clase: TFolderEx

Post by Daniel Garcia-Gil »

Raymundo Islas M. wrote:Daniel,

Excelente clase !!

La pregunta del millon : Tendra la opcion para quitar las solapas/pestañas ??

Saludos
Actualmente puedes ocultarlas pero no eliminarlas, en el ejemplo lo expuse (* Show / Hide Tabs)

hay cosas que dejare para despues dependiendo de la acojida de la misma y de las necesidades que surgan
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Newva Clase: TFolderEx

Post by Daniel Garcia-Gil »

Ahora podemos decidir si estiramos o no los Tabs

Estirado
Image

No estirado
Image
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Nueva Clase: TFolderEx

Post by Daniel Garcia-Gil »

Trabajando desde recursos


Image

Code: Select all

   REDEFINE FOLDEREX oFld ID 110 PROMPT "New", "Open";
            BITMAPS "new", "open";
            DIALOGS "sub1", "sub2" ;
            ROUND 5
 
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Ruben Fernandez
Posts: 366
Joined: Wed Aug 30, 2006 5:25 pm
Location: Uruguay

Re: Nueva Clase: TFolderEx

Post by Ruben Fernandez »

Daniel: Esta ESPECTACULAR, y mas ahora que se puede usar desde recursos.

Una pregunta se podra dar un color a cada pestaña y que cada dialogo tenga ese color ?

Gracias
Gracias y Saludos
Ruben Fernandez - Uruguay
FWH 11.06, Harbour, Borland 5.82
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Nueva Clase: TFolderEx

Post by Daniel Garcia-Gil »

Ruben Fernandez wrote:Daniel: Esta ESPECTACULAR, y mas ahora que se puede usar desde recursos.

Una pregunta se podra dar un color a cada pestaña y que cada dialogo tenga ese color ?

Gracias
Si los colores del texto y pestañas son cofigurables, y los dialogos pueden tener ese color
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Nueva Clase: TFolderEx

Post by Daniel Garcia-Gil »

Usando las tecnicas correctas se podrian lograr buenos resultados

Image
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
wmormar
Posts: 1050
Joined: Fri Oct 07, 2005 10:41 pm
Location: México
Contact:

Re: Nueva Clase: TFolderEx

Post by wmormar »

Daniel Garcia-Gil wrote:Usando las tecnicas correctas se podrian lograr buenos resultados

Image
Daniel,

Y al ocultarlo como se le hace para mostrarlo de nuevo?

en los ejemplos que me enviaste no vi como hacerlo.

y felicidades Daniel, excelente trabajo.
William, Morales
Saludos

méxico.sureste
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Nueva Clase: TFolderEx

Post by Daniel Garcia-Gil »

William

Los metodos para ocultar y mostrar son:

HideTab( nOption ) / ShowTab( nOption )
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
wmormar
Posts: 1050
Joined: Fri Oct 07, 2005 10:41 pm
Location: México
Contact:

Re: Nueva Clase: TFolderEx

Post by wmormar »

Daniel Garcia-Gil wrote:William

Los metodos para ocultar y mostrar son:

HideTab( nOption ) / ShowTab( nOption )
Sipi, eso lo entiendo, pero al darle click derecho se oculta, como mostrarlo por ese mismo metodo?
William, Morales
Saludos

méxico.sureste
Post Reply