home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 16 / CD_ASCQ_16_0994.iso / news / 4611 / fw16d.ins / IDE / SOURCE / INDEXES.PRG < prev    next >
Text File  |  1994-06-06  |  2KB  |  69 lines

  1. #include "FiveWin.ch"
  2.  
  3. //----------------------------------------------------------------------------//
  4.  
  5. function Indexes( cAlias )
  6.  
  7.   local oWndIdx, oBar, oBrw, oIco, oFont, oCbx
  8.   local nOrder   := 1
  9.   local hBmpThis := LoadBitmap( GetResources(), "This" )
  10.  
  11.   DEFAULT cAlias := Alias()
  12.  
  13.   DEFINE FONT oFont NAME "Arial" SIZE 6, 15 BOLD
  14.  
  15.   DEFINE ICON oIco RESOURCE "Indexes"
  16.  
  17.   DEFINE WINDOW oWndIdx FROM 2, 1 TO 22, 78 ;
  18.      TITLE "Indexes: " + cAlias ICON oIco MDICHILD
  19.  
  20.   DEFINE BUTTONBAR oBar OF oWndIdx
  21.  
  22.   DEFINE BUTTON RESOURCE "SelFile" OF oBar ;
  23.      MESSAGE "Open an index" ACTION IdxBuilder()
  24.  
  25.   DEFINE BUTTON RESOURCE "Exit" OF oBar ;
  26.      MESSAGE "Close an index"
  27.  
  28.   @ 6, 127 SAY "WorkAreas:" PIXEL SIZE 120, 20 OF oBar ;
  29.      FONT oFont COLOR "W+/N*"
  30.  
  31.   @ 3, 200 COMBOBOX oCbx VAR cAlias ITEMS aGetWorkAreas() ;
  32.      SIZE 100, 120 PIXEL OF oBar ;
  33.      COLOR "N/W" FONT oFont ;
  34.      ON CHANGE ( oWndIdx:cTitle := "Indexes: " + cAlias,;
  35.                  oBrw:Refresh(), oBrw:SetFocus() )
  36.  
  37.   oCbx:Set3DLook()
  38.  
  39.   @ 0, 0 LISTBOX oBrw FIELDS "" ;
  40.      FIELDSIZES 25, 90, 250, 180, 140 ;
  41.      HEADERS "Ord", "Index Name", "Index Key", "Index For Scope", "BagName" ;
  42.      OF oWndIdx FONT oFont ;
  43.      ON DBLCLICK ( ( cAlias )->( DbSetOrder( nOrder ) ), oBrw:DrawSelect() ) ;
  44.      SIZE 500, 500
  45.  
  46.   oBrw:bLine = { || If( Select( cAlias ) != 0,;
  47.                    { If( ( cAlias )->( IndexOrd() ) == nOrder,;
  48.                          hBmpThis, xPadL( cValToChar( nOrder ), 20 ) ),;
  49.                      ( cAlias )->( OrdName( nOrder ) ),;
  50.                      ( cAlias )->( OrdKey(  nOrder ) ),;
  51.                      ( cAlias )->( OrdFor(  nOrder ) ),;
  52.                      ( cAlias )->( OrdBagName( nOrder ) ) },;
  53.                    { "", "", "", "", "" } ) }
  54.   oBrw:bGoTop    = { || nOrder :=  1 }
  55.   oBrw:bGoBottom = { || nOrder := 15 }
  56.   oBrw:bLogicLen = { || 15 }
  57.   oBrw:bSkip     = { | nSkip, nDo | nDo := nOrder, nOrder += nSkip,;
  58.                        nOrder := Max( 1, Min( nOrder, 15 ) ),;
  59.                        nOrder - nDo }
  60.  
  61.   oWndIdx:SetControl( oBrw )
  62.  
  63.   ACTIVATE WINDOW oWndIdx ;
  64.      VALID ( DeleteObject( hBmpThis ), .t. )
  65.  
  66. return nil
  67.  
  68. //----------------------------------------------------------------------------//
  69.