New Project : Txbrowsetup class

New Project : Txbrowsetup class

Postby Silvio.Falconi » Thu May 14, 2015 8:30 am

I 'm making a new class to set option to xbrowse
the class is also on beta test because I saw there some errors
all text can be personalized. on ch file

Sets :
separator verical and Horizontal
winseven effect
selector
footer height
header height
fonts for data, header,footer
Zebra effect (pijama)
background
column swap position rowsizing and hide or show columns
the config save on a inifile

sample :

@ 10, 10 XBROWSE oBrw OF oDlg SIZE 300, 195 PIXEL ;
AUTOCOLS ALIAS 'CUST' NOBORDER

oConfig:= TBrwSetup():New(oBrw,oDlg,cIniUser,cSection,cPref,cIniEntry)

// to read inifile
oConfig:BrwRowConfig(cIniUser,cSection,cPref,oBrw)

oBrw:CreateFromCode()
oBrw:RestoreState( cState )


// to call the config you can use a button and call the function
oConfig:BrwColConfig()

there is the possibilty to personalized 3 image
sample to insert your logo into
oConfig:cBmpGrid:= ".\tool\grid.bmp"
oConfig:cBmpBack:= ".\tool\back.bmp"
oConfig:cBmpLogo:= ".\tool\logo.bmp"

and to set the folder to show

snapshots :

Image

Image

Image
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Silvio.Falconi
 
Posts: 6865
Joined: Thu Oct 18, 2012 7:17 pm

Re: New Project : Txbrowsetup class

Postby Silvio.Falconi » Wed May 20, 2015 8:13 am

-Before to Try my XbrwSetup you must insert on your xbrowse the modifies and features of Mastintin you found at
viewtopic.php?f=6&t=30643



It is easy to use
oConfig:= TxBrwSetup():New(oBrw,oDlg,cIniUser,cSection,cPref,cIniEntry)
oConfig:cBmpGrid:= ".\tool\grid.bmp"
oConfig:cBmpBack:= ".\tool\back.bmp"
oConfig:BrwRowConfig(cIniUser,cSection,cPref,oBrw) // read from inifile

Test.prg

Code: Select all  Expand view

#include "Fivewin.ch"
#include "constant.ch"
#include "DbStruct.ch"
#include "xBrowse.ch"

#define  LIGHTCYAN    nRGB( 203, 225, 252 )

#define MEM_FILE_USER     "User.mem"
#define MEM_USER_SECTION  "Browse"

REQUEST DBFCDX
REQUEST DBFFPT
EXTERNAL ORDKEYNO,ORDKEYCOUNT,ORDCREATE,ORDKEYGOTO

function Main()

   local oDlg, oBrw, oFont
   local cIniUser    :=  cFilePath(GetModuleFileName( GetInstance() ) ) + MEM_FILE_USER
   local cIniEntry   := "CuState"
   local cSection    := MEM_USER_SECTION
   local cPref       := "CU"
   local oConfig

   local cState := GetPvProfString(cSection, cIniEntry,"", cIniUser)          //state
   local nOrder := VAL(GetPvProfString(cSection, "CUOrder","1", cIniUser))    //order
   local nRecno := VAL(GetPvProfString(cSection, "CURecno","1", cIniUser))    //record


   RddSetDefault( "DBFCDX" )
   SetHandleCount( 100 )



   USE CUSTOMER ALIAS CUST
   INDEX ON CUST->FIRST  TAG FIRST TO CUSTOMER

   DEFINE FONT oFont NAME 'Tahoma' SIZE 0, -12

   DEFINE DIALOG oDlg SIZE 640,440 PIXEL ;
      FONT oFont TITLE 'Test BrwSetup Class'


   @ 10, 10 XBROWSE oBrw OF oDlg SIZE 300, 195 PIXEL ;
      AUTOCOLS ALIAS 'CUST' NOBORDER

     oConfig:= TxBrwSetup():New(oBrw,oDlg,cIniUser,cSection,cPref,cIniEntry)
     oConfig:cBmpGrid:= ".\tool\grid.bmp"
     oConfig:cBmpBack:= ".\tool\back.bmp"
     oConfig:BrwRowConfig(cIniUser,cSection,cPref,oBrw) // read from inifile


    oBrw:lfooter:=.t.    //only for test
    oBrw:CreateFromCode()

   //restore the state
   oBrw:RestoreState( cState )

   CUST->(DbSetOrder(nOrder))

   if nRecNo < CUST->(LastRec()) .AND. nRecno != 0
      CUST->(DbGoTo(nRecno))
   else
      CUST->(DbGoTop())
   endif




   @ 205, 10  BUTTON   "Config"  OF oDlg PIXEL SIZE 55, 12   ;
                ACTION   oConfig:BrwColConfig()  // Write

     @ 205, 100  BUTTON   "New"  OF oDlg PIXEL SIZE 55, 12   ;
                ACTION   oBrw:editbrowse(.t.)

    @ 205, 150  BUTTON   "Edit"  OF oDlg PIXEL SIZE 55, 12   ;
                ACTION   oBrw:editbrowse()

                // Write
    @ 205, 200  BUTTON "Exit"  OF oDlg PIXEL SIZE 55, 12   ;
                ACTION  oDlg:end()


   ACTIVATE DIALOG oDlg CENTERED   ;
            ON INIT(oBrw:SetFocus()) ;
                 VALID ( oBrw:nLen := 0 ,;
                    WritePProString(cSection,cIniEntry,oBrw:SaveState(),cIniUser),; //cState
                    WritePProString(cSection,"CUOrder",Ltrim(Str(CUST->(OrdNumber()))),cIniUser) ,;  // ord
                    WritePProString(cSection,"CURecno",Ltrim(Str(CUST->(Recno()))),cIniUser),;  // record
                    DbCloseAll(), oDlg := NIL, oBrw := NIL, .t. )

   RELEASE FONT oFont

return nil
 




xBrwsetup.ch
#define MEM_FILE_USER "User.mem"
#define MEM_USER_SECTION "Browse"

then you can download the class at download section ( xbrowsesetup.rar)



a sample of generated inifile
I 'm using customer.dbf

Code: Select all  Expand view

[Browse]
CUSelector=2
CUSeparatorH=2
CUSeparatorV=2
CURowSizing=2
CUColMove=2
CUWin7look=2
CUPijama=1
CUBackGrid=2
CUBrwFont=Tahoma:12:Normal;Tahoma:12:Normale;Tahoma:12:Normale;
CUnHeaderHeight=51
CUnFooterHeight=16
CuState=XS1:{{"_nCreationOrders",{1,2,3,4,5,6,7,8,9,10,11}},{"_nRowHeight",16},{"_nWidths",{138,138,198,198,37,78,66,50,30,72,438}},{"_lHides",{.F.,.F.,.F.,.F.,.F.,.F.,.F.,.F.,.F.,.F.,.F.}},{"_cGrpHdrs",{,,,,,,,,,,}},{"_cHeaders",{"FIRST","LAST","STREET","CITY","STATE","ZIP","HIREDATE","MARRIED","AGE","SALARY","NOTES"}}}
CUBackGridFile=
CUOrder=1
CURecno=1
CUColor1=16777215
CUColor2=16708589
 


I translated all text with fwstring() function

Image

Image

Image
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Silvio.Falconi
 
Posts: 6865
Joined: Thu Oct 18, 2012 7:17 pm


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 37 guests