Adding support for PIXEL clause
Posted: Mon Apr 21, 2008 12:04 pm
This is easy to do. I'll use the TSay Class as an example.
You need to modify FiveLinux.ch (better still copy to FiveLinuxME.ch) and change as follows:
and modify get.prg as follows:
Method New has an additional parameter (lPixel) which if set just avoids multiplying nRow and nCol by 10 (which is how FiveLinux "simulates" rows and columns). I was tempted make this the default behaviour, but in the end decided that it was probably best to stay compatible with FiveWin.
Happy tinkering!
xProgrammer
You need to modify FiveLinux.ch (better still copy to FiveLinuxME.ch) and change as follows:
Code: Select all
#xcommand @ <nRow>, <nCol> SAY [ <oSay> <label: PROMPT, VAR> ] <cText> ;
[ <of: OF, WINDOW, DIALOG> <oWnd> ] ;
[ SIZE <nWidth>, <nHeight> ] ;
[ <update: UPDATE> ] ;
[ <pixel: PIXEL> ] ;
=> ;
[ <oSay> := ] TSay():New( <nRow>, <nCol>, [<oWnd>],;
<cText>, <nWidth>, <nHeight>, <.update.>, <.pixel.> )
and modify get.prg as follows:
Code: Select all
#include "FiveLinux.ch"
CLASS TSay FROM TControl
METHOD New( nRow, nCol, oWnd, cText, nWidth, nHeight, lUpdate )
METHOD SetText( cText ) INLINE SaySetText( ::hWnd, cText )
METHOD GetText() INLINE SayGetText( ::hWnd )
ENDCLASS
METHOD New( nRow, nCol, oWnd, cText, nWidth, nHeight, lUpdate, lPixel ) CLASS TSay
DEFAULT oWnd := GetWndDefault(), nWidth := 60, nHeight := 25,;
lUpdate := .f., lPixel := .F.
::hWnd = CreateSay( cText )
::lUpdate = lUpdate
oWnd:AddControl( Self )
SetParent( ::hWnd, oWnd:hWnd )
IF lPixel
SetCoors( ::hWnd, nRow, nCol )
ELSE
SetCoors( ::hWnd, nRow * 10, nCol * 10 )
ENDIF
SetSize( ::hWnd, nWidth, nHeight )
::Link()
return Self
Happy tinkering!
xProgrammer