FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Nueva Clase: TFolderEx
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Nueva Clase: TFolderEx
Posted: Sun Aug 08, 2010 07:07 PM
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


* Ajuste de posicion automatico


* Data bPopUp, codeblock que se evalua por cada tabs


* Enable / Disable Tabs
* Show / Hide Tabs



* Alpha Level Ajuste



* Colors Tabs y Texto



* Ajuste de alturas y bordes redondos



* Bitmap Align


*Accion (ON CHANGE)



Download Sample

Code sample
Code (fw): Select all Collapse
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
Posts: 880
Joined: Fri Jan 12, 2007 08:35 PM
Re: Newva Clase: TFolderEx
Posted: Sun Aug 08, 2010 07:17 PM

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ǝ
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Newva Clase: TFolderEx
Posted: Sun Aug 08, 2010 07:27 PM

Excelente, Daniel. Felicitaciones.

Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Newva Clase: TFolderEx
Posted: Mon Aug 09, 2010 02:31 PM
Hay un nuevo ejemplo con algunos ajustes

Alt+Key esta funcionando

Download Here

(me gusta el Tab Movie :-) )
Posts: 1286
Joined: Mon Feb 25, 2008 02:54 PM
Re: Newva Clase: TFolderEx
Posted: Mon Aug 09, 2010 05:03 PM

Muito bom Daniel :D

ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
Posts: 592
Joined: Tue Mar 14, 2006 11:34 PM
Re: Newva Clase: TFolderEx
Posted: Mon Aug 09, 2010 07:05 PM

Daniel,

Excelente clase !!

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

Saludos

FWH 10.6 + xHarbour + Borland 582
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Newva Clase: TFolderEx
Posted: Mon Aug 09, 2010 07:33 PM
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
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Newva Clase: TFolderEx
Posted: Tue Aug 10, 2010 11:01 AM
Ahora podemos decidir si estiramos o no los Tabs

Estirado


No estirado
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Nueva Clase: TFolderEx
Posted: Tue Aug 10, 2010 01:02 PM
Trabajando desde recursos




Code (fw): Select all Collapse
   REDEFINE FOLDEREX oFld ID 110 PROMPT "New", "Open";
            BITMAPS "new", "open";
            DIALOGS "sub1", "sub2" ;
            ROUND 5
Posts: 366
Joined: Wed Aug 30, 2006 05:25 PM
Re: Nueva Clase: TFolderEx
Posted: Tue Aug 10, 2010 02:07 PM

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
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Nueva Clase: TFolderEx
Posted: Tue Aug 10, 2010 02:29 PM
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
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Nueva Clase: TFolderEx
Posted: Tue Aug 10, 2010 04:03 PM
Usando las tecnicas correctas se podrian lograr buenos resultados

Posts: 1076
Joined: Fri Oct 07, 2005 10:41 PM
Re: Nueva Clase: TFolderEx
Posted: Tue Aug 10, 2010 06:16 PM
Daniel Garcia-Gil wrote:Usando las tecnicas correctas se podrian lograr buenos resultados



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
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Nueva Clase: TFolderEx
Posted: Tue Aug 10, 2010 06:35 PM

William

Los metodos para ocultar y mostrar son:

HideTab( nOption ) / ShowTab( nOption )

Posts: 1076
Joined: Fri Oct 07, 2005 10:41 PM
Re: Nueva Clase: TFolderEx
Posted: Tue Aug 10, 2010 08:08 PM
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