HwGUI 2.23 reference manual | ||
prev | Alexander S.Kresin, October 2023 | next |
6. Classes
6.1. Introduction
This section describes all of the classes that make up the HwGUI. In the description of the classes I omitted the variables that are used only for the internal needs of the class methods. Redefine() methods also omitted as outdated and not recommended for use.
Variables, marked as (RW), may be set and read, (R) - read only, those, which are not marked, shouldn't be used in programs.
6.2. Class hierarchy
The following schema illustrates the hierarchy of classes, currently implemented in HwGUI.
- HObject
- HScrollArea (WinAPI version only)
- HCustomWindow
- HWindow
- HMainWindow
- HMDIChildWindow (WinAPI version only)
- HDialog
- HControl
- HBrowse
- HPanel
- HOwnButton
- HShadeButton (WinAPI version only)
- HNiceButton (WinAPI version only)
- HSplitter
- HStatus
- HStatic
- HButton
- HEdit
- HCheckButton
- HRadioButton
- HCombobox
- HGroup
- HLine
- HSayImage
- HSayBmp
- HSayIcon
- HSayFImage (WinAPI version only)
- HDatePicker (WinAPI version only)
- HUpDown
- HTab
- HTree
- HMonthCalendar
- HProgressBar
- HToolBar
- HTrackBar (WinAPI version only)
- HAnimation (WinAPI version only)
- HCEdit
- HBoard
- HWindow
- HColumn
- HBrwCol
- HBrwData
- HRadioGroup
- HFont
- HPen
- HBrush
- HBitmap
- HIcon
- HPrinter
- HTreeNode
- HTimer
- HFreeImage (WinAPI version only)
- HSplash (WinAPI version only)
- HPrintDos (WinAPI version only)
- HWinPrn
- HFormTmpl
- HRepTmpl
- HBinC
- HStyle
- HilightBase
- HXMLNode
- HPaintCB
- HPicture
- HDrawn
HObject
It is a base class for all HwGUI classes.
DATA objName (RW) a name of an object to identify it in user programs cargo (RW) a variable, which you may use as you need
HScrollArea
It is a base class for windows (HWindow), currently it is implemented in WinAPI version only.
HCustomWindow
Do not create instances of HCustomWindow. It serves as a base class for all windows and controls. In other words, HCustomWindow provide basic variables and methods, which are inherited by all windows and controls. Every subclass adds its own variables and methods, modifies inherited, if needed, and use others as is.
DATA CLASS VAR oDefaultParent title (RW) a title/caption of a window or a control nTop, nLeft (RW) coordinates of a top left corner nWidth, nHeight (RW) a size: width and height tcolor, bcolor (RW) text and background color, respectively, oFont (RW) a font, an object of HFont class bInit (RW) codeblock, performed during initialization bDestroy (RW) codeblock, performed during destroying bSize (RW) codeblock, performed when a size is changed bPaint (RW) codeblock, which paints the element bGetFocus (RW) codeblock, executed when it receives focus bLostFocus (RW) codeblock, executed when it looses focus bOther (RW) codeblock, executed for all messages handle (R) handle of a GUI element oParent (R) an object of a parent window or control type (R) brush (R) style (R) WinAPI style extstyle (R) extended WinAPI style lHide (R) .T., if the element is hidden aControls (R) an array with controls objects, belonged to this window or container Internal: aEvents, aNotify HelpId nHolder
METHODS AddControl( oCtrl ) DelControl( oCtrl ) AddEvent( nEvent,nId,bAction,lNotify ) FindControl( nId,nHandle ) Hide() Show() Move( x1,y1,width,height ) SetColor( tcolor, bColor, lRepaint ) Refresh() Internal: onEvent( msg, wParam, lParam ) OnError() End()
HWindow
It is a base class for all windows and dialogs, do not create instances of it.
DATA CLASS VAR aWindows (R) CLASS VAR szAppName (R) CLASS VAR aKeysGlobal (R) lUpdated (RW) .F., if any of GET items is changed lClipper (RW) oBmp (RW) bCloseQuery (RW) bActivate (RW) codeblock, performed one time while window activation tColorinFocus (RW) text color for an Edit control, which has focus bColorinFocus (RW) background color for an Edit control, which has focus bScroll (RW) codeblock, performed during window scrolling menu (R) oIcon (R) GetList (R) KeyList (R) nLastKey (R) aOffset oEmbedded oPopup, hAccel
METHODS New( oIcon, clr, nStyle, x, y, width, height, cTitle, cMenu, nPos, oFont, bInit, bExit, bSize, bPaint, bGfocus, bLfocus, bOther, cAppName, oBmp, cHelp, nHelpId, bColor ) FindWindow( hWnd ) - Seeking a window by the handle, returns a window object GetMain() - returns a main window object Center() - moves the window in the center of the screen Restore() - restores the normal window size Maximize() - expands window to full screen Minimize() - minimizes window SetTitle( cTitle ) - set a new window title EvalKeyList( nKey, bPressed ) Close() - closes windows, deletes it with all controls Internal: AddItem( oWnd ) DelItem( oWnd )
HMainWindow
A class of a main window. The corresponding command is INIT WINDOW MAIN
DATA CLASS VAR aMessages nMenuPos oNotifyIcon, bNotify, oNotifyMenu lTray
METHODS New( lType, oIcon, clr, nStyle, x, y, width, height, cTitle, cMenu, nPos, oFont, bInit, bExit, bSize, bPaint, bGfocus, bLfocus, bOther, cAppName, oBmp, cHelp, nHelpId, bColor, nExclude ) Activate( lShow, lMaximized, - Activates a window, the corresponding lMinimized, lCentered, bActivate ) command is ACTIVATE WINDOW InitTray( oNotifyIcon, bNotify, oNotifyMenu ) (Windows only, on GTK available, but empty with no function) GetMdiActive() - returns an active MDI child window object DEICONIFY() (LINUX/GTK only) - maximize ICONIFY() (LINUX/GTK only) - minimize Internal: onEvent( msg, wParam, lParam )
Special information for methods DEICONIFY() and InitTray():
The behavior of tray applications differ.
For details see sample programs
samples/gtk_samples/testtray.prg and samples/testtray.prg .
HMDIChildWindow
A class of a MDI child window. the corresponding command: INIT WINDOW MDICHILD
DATA CLASS VAR aMessages
METHODS New( oIcon, clr, nStyle, x, y, width, height, cTitle, cMenu, oFont, bInit, bExit, bSize, bPaint, bGfocus, bLfocus, bOther, cAppName, oBmp, cHelp, nHelpId, bColor ) Activate( lShow, lMaximized, lMinimized, lCentered, bActivate ) Internal: onEvent( msg, wParam, lParam )
HDialog
A class of a dialog window. The corresponding command is INIT DIALOG
DATA CLASS VAR aDialogs (R) CLASS VAR aModalDialogs (R) lResult (RW) lClipper (RW) IF .T., ENTER allows to move between GET items lExitOnEnter (RW) lExitOnEsc (RW) lClosable (R) lModal nInitState
METHODS New( lType, nStyle, x, y, width, height, cTitle, bInit, bExit, bSize, bPaint, bGfocus, bLfocus, bOther, lClipper, oBmp, oIcon, lExitOnEnter, nHelpId, xResourceID, lExitOnEsc, bColor, lNoClosable ) Activate( lNoModal, lMaximized, lMinimized, lCentered, bActivate ) FindDialog( hWnd ) GetActive() - returns a GET element object of this dialog, which owns input focus Close() Internal: AddItem() DelItem() onEvent( msg, wParam, lParam )
HControl
Do not create instances of HControl. It serves as a base class for all controls, except "drawn". In other words, HControl provide basic variables and methods, which are inherited by all controls. Every subclass adds its own variables and methods, modifies inherited, if needed, and use others as is.
DATA Anchor (RW) a numeric value, which determines autoresizing of a control due to a parent window resizing tooltip (R) id (R) Internal: lInit
METHODS New( oWndParent,nId,nStyle,nLeft,nTop,nWidth,nHeight,oFont,bInit, bSize,bPaint,ctoolt,tcolor,bcolor ) Disable() Enable() Enabled() SetFocus() GetText() SetText( c ) Refresh() - virtual method SetTooltip() Internal: Init() NewId() End()
HBrowse
The corresponding command is @ <x>,<y> BROWSE
DATA active (RW) lChanged (RW) lDispHead (RW) Should I display headers ? lDispSep (RW) Should I display separators ? lBuffering (RW) freeze (RW) Number of columns to freeze aArray (RW) An array to browse oStyleHead (RW) A HStyle object to draw the header oStyleFoot (RW) A HStyle object to draw the footer oStyleCell (RW) A HStyle object to draw the cell headColor (RW) Header text color sepColor (RW) Separators color aPadding (RW) aHeadPadding (RW) lInFocus (RW) tcolorSel, bcolorSel (RW) Text and backgound color of a selected row httColor, htbColor (RW) Text and backgound color of a selected cell bSkip, bGoTo, bGoTop (RW) bGoBot, bEof, bBof (RW) bRcou, bRecno, bRecnoLog(RW) bPosChanged, bLineOut, (RW) bScrollPos, bHScrollPos (RW) bEnter (RW) bKeyDown (RW) bUpdate (RW) bRClick (RW) lEditable (RW) lAppable (RW) lAppMode (RW) lAutoEdit (RW) lAdjRight (RW) Adjust last column to right winclass (R) aColumns (R) HColumn's array nRecords (R) Number of records in browse nCurrent (R) Number of a current record in a browse nRowHeight (R) Predefined height of a row nRowTextHeight (R) A max text height in a row rowCount (R) Number of visible data rows rowPos (R) Current row position rowCurrCount (R) Current number of rows colPos (R) Current column position nColumns (R) Number of visible data columns nLeftCol (R) Leftmost column nHeadRows (R) Rows in header nFootRows (R) Rows in footer recCurr (R) lUpdated (R) lAppended (R) oPenSep, oPenHdr, oPen3d (R) brushSel (R) lSep3d (R) aSelected (R) nPaintRow, nPaintCol (R) Row/Col being painted alias (R) Alias name of browsed database x1,y1,x2,y2 (R) width,height (R) aColAlias aRelation lResizing lCtrlPress DATA nHCCharset INIT -1 Charset for MEMO EDIT, -1 for use default (set default value = 0) For compatibiltity purposes, do not modify with UTF-8 (0). For Windows: 204: Russian 15 : IBM 858 with Euro currency sign (€) --- International Language Support for internal dialogs --- cTextTitME (RW) "Memo Edit" cTextClose (RW) "Close" // Button cTextSave (RW) "Save" cTextMod (RW) "Memo was modified, save ?" cTextLockRec (RW) "Can't lock the record!"
METHODS New( lType, oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, oFont ; bInit, bSize, bPaint, bEnter, bGfocus, bLfocus, lNoVScroll, lNoBorder, lAppend, lAutoedit, bUpdate, bKeyDown, bPosChg, lMultiSelect, bRClick ) InitBrw( nType ) DefaultLang() // Reset of messages to default value English Rebuild() AddColumn( oColumn ) InsColumn( oColumn,nPos ) DelColumn( nPos ) SetColumn( nCol ) LineDown( lMouse ) LineUp() PageUp() PageDown() Bottom() Top() Home() RefreshLine() Refresh() ShowSizes() Internal: Activate() Paint() DrawHeader( hDC, nColumn, x1, y1, x2, y2 ) LineOut() HeaderOut( hDC ) FooterOut( hDC ) DoHScroll( wParam ) DoVScroll( wParam ) ButtonDown( lParam ) ButtonRDown( lParam ) ButtonUp( lParam ) ButtonDbl( lParam ) MouseMove( wParam, lParam ) MouseWheel( nKeys, nDelta, nXPos, nYPos ) Edit( wParam,lParam ) Append() onEvent( msg, wParam, lParam ) End()
HPanel
DATA bScroll (RW) oStyle (RW) lDragWin (RW) winclass (R) oEmbedded (R) oPaintCB (RW) HPaintCB object lCaptured hCursor
METHODS New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, bInit, bSize, bPaint, bColor, oStyle ) Hide() Show() BackColor( bcolor ) Internal: Activate() onEvent( msg, wParam, lParam ) DrawItems( hDC, aCoors ) Paint() Drag( xPos, yPos ) Release()
HPanelSts
DATA aParts (R) aText (R)
METHODS New( oWndParent, nId, nHeight, oFont, bInit, bPaint, bcolor, oStyle, aParts ) Write( cText, nPart, lRedraw ) SetText( cText ) Internal: PaintText( hDC ) Paint()
HPanelHea
DATA xt, yt (RW) lMaximized lPreDef HIDDEN
METHODS New( oWndParent, nId, nHeight, oFont, bInit, bPaint, tcolor, bcolor, oStyle, ; cText, xt, yt, lBtnClose, lBtnMax, lBtnMin ) SetText( c ) SetSysbtnColor( tColor, bColor ) Internal: PaintText( hDC ) Paint()
HOwnButton
DATA CLASS VAR cPath SHARED lFlat (RW) aStyle (RW) bClick (RW) lCheck (RW) text (RW) tfont (RW) xt, yt, widtht, heightt (RW) oBitmap (RW) xb, yb, widthb, heightb (RW) lTransp, trColor (RW) winclass (R) lEnabled (R) nOrder (R) state (R) lPress (R)
METHODS New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, bInit, bSize, bPaint, bClick, lflat, cText, color, font, xt, yt, widtht, heightt, bmp, lResour, xb, yb, widthb, heightb, lTr, trColor, cTooltip, lEnabled, lCheck, bColor ) Press() Release() Enable() Disable() Internal: Activate() onEvent( msg, wParam, lParam ) Init() Paint() DrawItems( hDC ) MouseMove( wParam, lParam ) MDown() MUp() End()
HShadeButton
(Windows only)
DATA hShade
METHODS New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, ; bInit, bSize, bPaint, bClick, lflat, ; cText, color, font, xt, yt, ; bmp, lResour, xb, yb, widthb, heightb, lTr, trColor, ; cTooltip, lEnabled, shadeID, palette, ; granularity, highlight, coloring, shcolor ) Internal: Paint() END()
HNiceButton
(Windows only)
DATA winclass INIT "NICEBUTT" TEXT, id, nTop, nLeft, nwidth, nheight CLASSDATA oSelected INIT Nil State INIT 0 ExStyle bClick, cTooltip lPress INIT .F. r INIT 30 g INIT 90 b INIT 90 lFlat nOrder
METHODS New( oWndParent, nId, nStyle, nStyleEx, nLeft, nTop, nWidth, nHeight, ; bInit, bClick, ; cText, cTooltip, r, g, b ) Redefine( oWndParent, nId, nStyleEx, ; bInit, bClick, ; cText, cTooltip, r, g, b ) Activate() INIT() Create( ) Size( ) Moving( ) Paint() MouseMove( wParam, lParam ) MDown() MUp() Press() INLINE( ::lPress := .T., ::MDown() ) RELEASE() END ()
HSplitter
DATA aLeft (RW) aRight (RW) lVertical (RW) oStyle (RW) lRepaint (RW) nFrom, nTo (RW) bEndDrag (RW) winclass (R) hCursor lCaptured, lMoved
METHODS New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, bSize, bPaint, color, bcolor, aLeft, aRight, nFrom, nTo, oStyle ) Internal: Activate() onEvent( msg, wParam, lParam ) Init() Paint( lpdis ) Drag( lParam ) DragAll()
HStatus
DATA CLASS VAR winclass (R) aParts (R)
METHODS New( oWndParent, nId, nStyle, aParts, bInit, bSize, bPaint ) SetText( cText,nPart ) Internal: Activate() Init()
HStatic
DATA CLASS VAR winclass (R) nStyleDraw (R)
METHODS New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, cCaption, oFont, bInit, bSize, bPaint, ctoolt, tcolor, bcolor, lTransp ) Internal: Activate() Init() Paint( lpDis )
HStaticLink
DATA m_bFireChild (RW) m_hHyperCursor (RW) m_bMouseOver (RW) m_bVisited (RW) m_oTextFont (RW) m_csUrl (RW) m_sHoverColor (RW) m_sLinkColor (RW) m_sVisitedColor (RW) state (R) dwFlags
METHODS New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, cCaption, oFont, bInit, bSize, bPaint, ctooltip, tcolor, bcolor, lTransp, cLink, vColor, lColor, hColor ) SetLinkUrl( csUrl ) GetLinkUrl() SetVisitedColor( sVisitedColor ) SetHoverColor( cHoverColor ) SetFireChild( lFlag ) SetLinkColor( sLinkColor ) Internal: Activate() Init() onEvent( msg, wParam, lParam ) GoToLinkUrl( csLink ) OnClicked() Paint() OnMouseMove( nFlags, point )
HButton
DATA bClick (RW) CLASS VAR winclass (R)
METHODS New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, cCaption, oFont, bInit, bSize, bPaint, bClick, ctoolt, tcolor, bcolor ) SetText( c ) GetText() Internal: Activate() Init()
HEdit
DATA CLASS VAR winclass (R) oPicture (R) bSetGet (RW) bValid (RW) lNoPaste (RW) nMaxLength (RW) bkeydown (RW) bkeyup (RW) bchange (RW) bColorBlock (RW) lFirst (R) lChanged (R) lMultiLine (R) cType (R) aColorOld (R)
METHODS New( oWndParent, nId, vari, bSetGet, nStyle, nLeft, nTop, nWidth, nHeight, ; oFont, bInit, bSize, bGfocus, bLfocus, ctooltip, ; tcolor, bcolor, cPicture, lNoBorder, nMaxLength, lPassword, bKeyDown, bChange ) Refresh() Value( xValue ) SETGET SelStart( nStart ) SETGET SelLength( nLength ) SETGET Internal: Activate() onEvent( msg, wParam, lParam ) Init()
HCheckButton
DATA CLASS VAR winclass (R) bSetGet (RW) bClick (RW) lValue
METHODS New( oWndParent, nId, vari, bSetGet,nStyle, nLeft, nTop, nWidth, nHeight, cCaption, oFont, bInit, bSize, bPaint, bClick, ctoolt, tcolor, bcolor, bGFocus, lTransp, bLFocus ) Refresh() Disable() Enable() Value( lValue ) SETGET Invert() SetTooltip() Internal: Activate() Init()
HRadioButton
DATA CLASS VAR winclass (R) bClick (RW) oGroup
METHODS New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, cCaption, oFont, bInit, bSize, bPaint, bClick, ctoolt, tcolor, bcolor, lTransp ) Value( lValue ) SETGET Internal: Activate()
HCombobox
DATA CLASS VAR winclass (R) bSetGet (RW) bValid (RW) bChangeSel (RW) aItems (R) lText (R) lEdit (R) nDisplay (R) xValue
METHODS New( oWndParent, nId, vari, bSetGet, nStyle, nLeft, nTop, nWidth, nHeight, aItems, bInit, bSize, bPaint, bChange, cTooltip, lEdit, lText, bGFocus, tcolor, bcolor, bValid, nDisplay ) Refresh( xVal ) Setitem( nPos ) GetValue( nItem ) Value ( xValue ) SETGET Internal: Activate() Init( aCombo, nCurrent )
HGroup
DATA CLASS VAR winclass (R)
METHODS New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, cCaption, oFont, bInit, bSize, bPaint, tcolor, bcolor ) Internal: Activate()
HLine
DATA CLASS VAR winclass (R) lVert (R) oPenLight, oPenGray (R)
METHODS New( oWndParent, nId, lVert, nLeft, nTop, nLength, bSize ) Internal: Activate() Paint()
HSayImage
Do not create instances of HSayImage. It serves as a base class for HSayBmp, HSayIcon, HSayFimage
DATA CLASS VAR winclass (R) oImage (RW) bClick, bDblClick (RW)
METHODS New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, bInit, bSize, ctoolt, bClick, bDblClick ) Internal: Activate() End() onClick() onDblClick()
HSayBmp
DATA lTransp (RW) Is the image transparent, .F. by default trcolor (RW) The transparent color value nStretch (RW) nBorder (RW) A border width in pixels, 0 by default oPen (R) nOffsetV nOffsetH nZoom
METHODS New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, Image, lRes, bInit, bSize, ctoolt, bClick, bDblClick, lTransp, nStretch, trcolor ) ReplaceBitmap( Image, lRes ) Refresh() Internal: Paint( lpdis )
HSayIcon
METHODS New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, Image, lRes, bInit, bSize, ctoolt, lOEM, bClick, bDblClick ) Internal: Refresh() Init()
HSayFImage
DATA nOffsetV nOffsetH nZoom
METHODS New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, Image, lRes, bInit, bSize, ctoolt, cType ) ReplaceImage( Image, cType ) Refresh() Internal: Paint( lpdis )
HDatePicker
DATA CLASS VAR winclass (R) bSetGet (RW) bChange (RW) value
METHODS New( oWndParent, nId, vari, bSetGet, nStyle, nLeft, nTop, nWidth, nHeight, oFont, bInit, bGfocus, bLfocus, ctoolt, tcolor, bcolor ) Refresh() Value ( dValue ) SETGET Internal: Activate() Init()
HUpDown
DATA CLASS VAR winclass (R) bSetGet (RW) nLower (RW) nUpper (RW) nValue (R) nUpDownWidth (R) hUpDown, idUpDown, styleUpDown lChanged
METHODS New( oWndParent, nId, vari,bSetGet, nStyle, nLeft, nTop, nWidth, nHeight, oFont, bInit, bSize, bPaint, bGfocus, bLfocus, ctoolt, tcolor, bcolor, nUpDWidth, nLower, nUpper ) Refresh() Value( nValue ) SETGET SetRange( n1, n2 ) Hide() Show() Internal: Activate() Init()
HTab
DATA CLASS VAR winclass (R) bChange,bChange2 (RW) bAction (RW) aTabs (R) aPages (R) hIml, aImages, Image1, Image2 oTemp aTooltips // Array with tooltips messages // One element for every tab
METHODS New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, oFont, bInit, bSize, bPaint, aTabs, bChange, aImages, lResour, nBC, bClick, bGetFocus, bLostFocus ) GetActivePage( nFirst,nEnd ) SetTab( n ) Internal: Activate() Init() onEvent( msg, wParam, lParam ) StartPage( cname , [cToolTip] ) // GTK StartPage( cName, oDlg , [ctooltip] ) // WinAPI EndPage() ChangePage( nPage ) DeletePage( nPage ) HidePage( nPage ) ShowPage( nPage ) Notify( lParam ) SetTooltip( nhandle, ntab ) // WinAPI
HTree
DATA CLASS VAR winclass (R) aItems (R) oSelected (R) bItemChange (RW) bExpand (RW) bRClick (RW) bDblClick (RW) bAction (RW) himl,aImages,Image1,Image2 lEmpty
METHODS New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, oFont, bInit, bSize, color, bcolor, aImages, lResour, lEditLabels, bAction, nBC ) AddNode( cTitle, oPrev, oNext, bAction, aImages ) FindChild( handle ) GetSelected() EditLabel( oNode ) Select( oNode ) Expand( oNode ) Clean() Internal: Activate() Init() Notify( lParam ) End()
HMonthCalendar
DATA CLASS VAR winclass (R) bChange (RW) dValue
METHODS New( oWndParent, nId, vari, nStyle, nLeft, nTop, nWidth, nHeight, oFont, bInit, bChange, cTooltip, lNoToday, lNoTodayCircle, lWeekNumbers ) Value( dValue ) SETGET Internal: Activate() Init()
HProgressBar
DATA CLASS VAR winclass DATA maxPos DATA nRange (WinAPI only) DATA lNewBox DATA nCount INIT 0 DATA nLimit DATA nAnimation (WinAPI only) DATA LabelBox (WinAPI only) DATA nPercent INIT 0 (WinAPI only) DATA lPercent INIT .F. (WinAPI only)
METHODS New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, maxPos, nRange, bInit, bSize, bPaint, ctooltip, nAnimation, lVertical ) NewBox( cTitle, nLeft, nTop, nWidth, nHeight, maxPos, nRange, bExit, bInit, bSize, bPaint, ctooltip ) Init() (WinAPI only) Activate() Increment() INLINE hwg_Updateprogressbar( ::handle ) STEP() RESET( cTitle ) (Parameter cTitle WinAPI only) SET( cTitle, nPos ) SetLabel( cCaption ) (WinAPI only) CLOSE() End() INLINE hwg_Destroywindow( ::handle ) (WinAPI only) Redefine( oWndParent, nId, maxPos, nRange, bInit, bSize, bPaint, ctooltip, nAnimation, lVertical ) (WinAPI only)
HToolBar
DATA Name id nBitIp bState bStyle tooltip aMenu hMenu Title bClick oParent
METHODS New( oParent, cName, nBitIp, nId, bState, bStyle, cText, bClick, ctip, aMenu ) Enable() Disable() Show() Hide() Enabled( lEnabled ) SETGET Checked( lCheck ) SETGET Pressed( lPressed ) SETGET onClick() Caption( cText ) SETGET
HTrackBar (Windows only)
DATA CLASS VAR winclass (R) bChange (RW) bThumbDrag (RW) nLow (RW) nHigh (RW) nValue (R) hCursor
METHODS New( oWndParent, nId, vari, nStyle, nLeft, nTop, nWidth, nHeight, bInit, bSize, bPaint, cTooltip, bChange, bDrag, nLow, nHigh, lVertical, TickStyle, TickMarks ) Value( nValue ) SETGET GetNumTics() Internal: Activate() onEvent( msg, wParam, lParam ) Init()
This is outdated control. HTrack is recommended to use instead it.
HAnimation
DATA CLASS VAR winclass (R) cFileName (RW) xResID
METHODS New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, cFilename, lAutoPlay, lCenter, lTransparent, xResID ) Open( cFileName ) Play( nFrom, nTo, nRep ) Seek( nFrame ) Stop() Close() Destroy() Internal: Activate() Init()
HCEdit
DATA CLASS VAR winclass (R) nMaxLines (RW) cp, cpSource (RW) lUtf8 (RW) nDocFormat (RW) nDocOrient (RW) aDocMargins (RW) lShowNumbers (RW) lReadOnly (RW) lInsert (RW) lNoPaste (RW) nBoundL (RW) nBoundR (RW) nBoundT (RW) nMarginL (RW) nMarginR (RW) nMarginT (RW) nMarginB (RW) n4Number (RW) n4Separ (RW) bColorCur (RW) tcolorSel (RW) bcolorSel (RW) nClrDesk (RW) nAlign (RW) nIndent (RW) bChangePos, bKeyDown (RW) bClickDoub (RW) bAfter (RW) nTabLen (RW) lStripSpaces (RW) nMaxUndo (RW) oHili (RW) hEdit (R) cFileName (R) aText, nTextLen (R) aWrap, nLinesAll (R) nKoeffScr (R) lUpdated (R) nShiftL (R) nDefFont (R) nLineF (R) nPosF (R) aLines, nLines (R) nLineC, nPosC (R) nWCharF (R) nWSublF (R) aFonts (R) aFontsPrn (R) oPenNum (R) nCaret (R) lChgCaret (R) lSetFocus (R) lMDown (R) aPointC (R) aPointM1, aPointM2 (R) lVScroll (R) nClientWidth (R) nDocWidth (R) aUndo (R) nLastKey (R) // --- International Language Support for internal dialogs -- aLangTexts (RW) INIT {}
METHODS New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, oFont, bInit, bSize, bPaint, tcolor, bcolor, bGfocus, bLfocus, lNoVScroll, lNoBorder ) DefaultLang() Open( cFileName, cPageIn, cPageOut ) SetHili( xGroup, oFont, tColor, bColor ) SetText( xText, cPageIn, cPageOut ) SAVE( cFileName ) AddFont( oFont, name, width, height , weight, CharSet, Italic, Underline, StrikeOut ) SetFont( oFont ) SetCaretPos( nType, p1, p2 ) PutChar( nKeyCode ) LineDown() LineUp() PageDown() PageUp() Top() Bottom() GOTO( nLine ) PCopy( Psource, Pdest ) PCmp( P1, P2 ) GetText( P1, P2 ) InsText( aPoint, cText, lOver, lChgPos ) DelText( P1, P2, lChgPos ) AddLine( nLine ) DelLine( nLine ) Refresh() SetWrap( lWrap, lInit ) SetPadding( nValue ) SetBorder( nThick, nColor ) Highlighter( oHili ) Internal: Activate() Init() onEvent( msg, wParam, lParam ) Paint( lReal ) PaintLine( hDC, yPos, nLine, lUse_aWrap ) MarkLine( nLine, lReal, nSubLine ) End() Convert( cPageIn, cPageOut ) onKeyDown( nKeyCode, lParam, nCtrl ) onVScroll( wParam ) Scan() Undo( nLine1, nPos1, nLine2, nPos2, nOper, cText ) Print( nDocFormat, nDocOrient, nMarginL, nMarginR, nMarginT, nMarginB ) PrintLine( oPrinter, yPos, nL )
HBoard
This widget is mainly used to place DRAWN widgets on it. It can be used also to draw on it with HwGUI's drawing functions.
The corresponding command is @ <x>,<y> BOARD
DATA winclass (R) lMouseOver (R) oInFocus (R) aDrawn (R)
METHODS New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, oFont, bInit, bSize, bPaint, cTooltip, tcolor, bColor ) Refresh( x1, y1, x2, y2 ) Internal: Activate() onEvent( msg, wParam, lParam ) Init() Paint( hDC ) End()
HLenta
DATA oDrawn (R)
METHODS New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, oFont, bSize, bPaint, bClick, color, bcolor, aItems, nItemSize, aItemStyle ) Move( x1, y1, width, height ) aItems ( arr ) SETGET bClick ( b ) SETGET Value ( xValue ) SETGET
HTrack
DATA oDrawn (R)
METHODS New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, bSize, bPaint, color, bcolor, nSize, oStyleBar, oStyleSlider, lAxis ) Set( nSize, oStyleBar, oStyleSlider, lAxis, bPaint ) Move( x1, y1, width, height ) bChange ( b ) SETGET Value ( xValue ) SETGET
HGraph
DATA aValues (RW) Data array nType (RW) Signs arrays for X and Y axes aSignX, aSignY (RW) Number of lines in a line chart nGraphs (RW) Graph type: 1 - line chart, 2 - bar histogram lGridX (RW) Should I draw grid lines for X axis lGridY (RW) Should I draw grid lines for Y axis lGridXMid (RW) Should I shift X axis grid line to a middle of a bar lPositive (RW) x1Def (RW) A left indent x2Def (RW) A right indent y1Def (RW) A top indent y2Def (RW) A bottom indent ymaxSet (RW) colorCoor (RW) A color for signs colorGrid (RW) A color for axes and grid lines aColors (RW) Colors for each line aPens (R) scaleX, scaleY (R) tbrush (R) oPen, oPenGrid (R)
METHODS New( oWndParent, nId, aValues, nLeft, nTop, nWidth, nHeight, oFont, bSize, ctooltip, tcolor, bcolor ) Rebuild( aValues, nType ) Internal: Activate() Init() CalcMinMax() Paint()
HCEditBasic
DATA oDrawn (R)
METHODS New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, oFont, bInit, bSize, bPaint, tcolor, bcolor, bGfocus, bLfocus, xInitVal, cPicture ) SetText( cText ) Value( xValue ) SETGET
HDateSelect
DATA
METHODS New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, color, bcolor, oFont, dValue, bSize, bPaint, bChange ) bChange( b ) SETGET Value( xValue ) SETGET
HColumn
DATA block (RW) heading (RW) Header text string footing (RW) Footer text string width (RW) type (RW) length (RW) column width in characters (or in pixels, if the value is negative) dec (RW) nJusHead (RW) Header text alignment (0-left, 1-center, 2-right) nJusLin (RW) Cell text alignment (0-left, 1-center, 2-right) tcolor, bcolor (RW) lEditable (RW) Is the column editable lResizable (RW) Is the column resizable aList (RW) Array of possible values for a column - combobox will be used while editing the cell oStyleHead (RW) An HStyle object to draw the header oStyleFoot (RW) An HStyle object to draw the footer oStyleCell (RW) An HStyle object to draw the cell aBitmaps (RW) oPaintCB (RW) HPaintCB object bValid,bWhen (RW) bEdit (RW) Codeblock, which performs cell editing, if defined Picture (RW) cGrid (RW) lSpandHead (RW) lSpandFoot (RW) bHeadClick (RW) Codeblock, which executes after a mouse click on a header bColorBlock (RW) Codeblock, which must return an array containing, at least, four colors values: { textColor, backColor, textColorRowSel, backColorRowSel [, textColorColSel, backColorColSel ] } brush
METHODS New( cHeading, block, type, length, dec, lEditable, nJusHead, nJusLin, cPict, bValid, bWhen, aItem, bColorBlock, bHeadClick )
HBrwCol
DATA block (RW) cHead, cFoot (RW) nWidth (RW) dec (RW) nAlignHead, nAlignRow (RW) tcolor, bcolor (RW) oFont (RW) lEditable (RW) Is the column editable cPicture, bValid (RW) aList (RW) Array of possible values for a column nEditType (RW) oPaintCB (RW) HPaintCB object bHeadClick (RW)
METHODS New( cHead, block, nWidth, nAlignRow, nAlignHead, lEditable )
HBrwData
DATA nCurrent (R) Internal: lNeedBuf lNeedRefresh
METHODS Bof() VIRTUAL Eof() VIRTUAL Top() VIRTUAL Bottom() VIRTUAL Recno() VIRTUAL RecnoLog() VIRTUAL GoTo( n ) VIRTUAL Count() VIRTUAL Skip( nSkip ) VIRTUAL Block( x ) VIRTUAL
HDataArray
DATA aData (R)
METHODS Bof() Eof() Top() Bottom() Recno() RecnoLog() GoTo( n ) Count() Skip( nSkip ) Block( x )
HDataDbf
DATA cAlias (R)
METHODS Bof() Eof() Top() Bottom() Recno() RecnoLog() GoTo( n ) Count() Skip( nSkip ) Block( x )
HRadioGroup
DATA CLASS VAR oGroupCurrent bSetGet (RW) aButtons (R) nValue (R) oHGroup (R)
METHODS New( vari,bSetGet ) NewRg( oWndParent, nId, nStyle, vari, bSetGet, nLeft, nTop, nWidth, nHeight, cCaption, oFont, bInit, bSize, tcolor, bColor ) EndGroup( nSelected ) Value( nValue ) SETGET Refresh()
HFont
DATA CLASS VAR aFonts (R) handle (R) name, width (R) height ,weight (R) charset, italic (R) Underline, StrikeOut (R) nCounter
METHODS Add( fontName, nWidth, nHeight ,fnWeight, fdwCharSet, fdwItalic, fdwUnderline, fdwStrikeOut, nHandle ) Select( oFont ) Props2Arr() PrintFont() SetFontStyle( lBold, nCharSet, lItalic, lUnder, lStrike, nHeight ) Release()
HPen
DATA CLASS VAR aPens (R) handle (R) style, width, color (R) nCounter
METHODS Add( style, width, color ) Get( nStyle,nWidth,nColor ) Release()
HBrush
DATA CLASS VAR aBrushes (R) handle (R) color (R) nHatch (R) nCounter
METHODS Add( color,nHatch ) Release()
HBitmap
DATA CLASS VAR cPath SHARED (RW) CLASS VAR lSelFile (RW) CLASS VAR aBitmaps (R) handle (R) name (R) nFlags (R) nWidth, nHeight (R) nCounter
METHODS AddResource( name, nFlags, lOEM, nWidth, nHeight ) AddStandard( nId ) AddFile( name, hDC, lTransparent, nWidth, nHeight ) AddString( name, cVal ) AddWindow( oWnd, x1, y1, width, height ) - Creates a bitmap from a given window. Draw( hDC, x1, y1, width, height ) Release() OBMP2FILE( cfilename , name ) - Writes a bitmap object into file
HIcon
DATA CLASS VAR cPath SHARED (RW) CLASS VAR lSelFile (RW) CLASS VAR aIcons (R) handle (R) name (R) nWidth, nHeight (R) nCounter
METHODS AddResource( name, nWidth, nHeight, nFlags, lOEM ) AddFile( name, nWidth, nHeight ) AddString( name, cVal ) Draw( hDC, x, y ) Release()
Supported image formats:
Windows: ico
LINUX: bmp, jpg, png, ico
HPrinter
DATA CLASS VAR aPaper (R) hDCPrn (R) hDC (R) cPrinterName (R) hPrinter (R) lPreview (R) cMetaName (R) nWidth, nHeight (R) nPWidth, nPHeight (R) nHRes, nVRes (R) nOrient (R) lmm (R) nPage (R) lBuffPrn (R) lUseMeta (R) aPages, aJob (R) aFonts (R) aPens, aBitmaps (R) oFont, oPen (R) cScriptFile (R) nCurrPage oTrackV, oTrackH nZoom, xOffset, yOffset x1, y1, x2, y2 FormType (R) BinNumber (R) Copies (R) PaperLength (R) PaperWidth (R) TopMargin (RW) BottomMargin (RW) LeftMargin (RW) RightMargin (RW) // --- International Language Support for internal dialogs -- aLangTexts (RW) // Print Preview Dialog with sub dialog: // The messages and control text's are delivered by other classes, calling // the method Preview() in Parameter aTooltips as an array. // After call of Init method, you can update the array with messages in your // desired language. // Sample: Preview( , , aTooltips, ) // Structure of array look at // METHOD SetLanguage(apTooltips) CLASS HWinPrn // in file hwinprn.prg. // List of classes calling print preview // HWINPRN, HRepTmpl , ... // For more details see inline comments in sample program "Winprn.prg"
METHODS New( cPrinter, lmm, nFormType, nBin, lLandScape, nCopies, lProprierties, hDCPrn ) - Windows New( cPrinter, lmm, nFormType , cdp ) - GTK FUNCTION hwg_HPrinter_LangArray_EN() DefaultLang() SetMode( nOrientation, nDuplex ) AddFont( fontName, nHeight ,lBold, lItalic, lUnderline, nCharset ) SetFont( oFont ) StartDoc( lPreview,cMetaName,lprbutton ) - Starts printing of a document. EndDoc() - End of a document printing. StartPage() EndPage() LoadScript( cScriptFile ) SaveScript( cScriptFile ) ReleaseMeta() PaintDoc( oWnd ) PrintDoc( nPage ) PrintDlg(aTooltips) PrintScript( hDC, nPage, x1, y1, x2, y2 ) Preview( cTitle, aBitmaps, aTooltips, aBootUser ) End() - Releasing the printer. Box( x1,y1,x2,y2,oPen ) Line( x1,y1,x2,y2,oPen ) Say( cString,x1,y1,x2,y2,nOpt,oFont ) Bitmap( x1,y1,x2,y2,nOpt,hBitmap ) GetTextWidth( cString, oFont )
Additional instructions:
Some more instructions see class HWINPRN.
Set lPreview in method StartDoc() to .T. to show the print preview dialog. Default is .F.
Otherwise the printing process starts immediately.
Set lprbutton to .F., if preview dialog does not show the print button.
HTreeNode
DATA CLASS VAR winclass (R) aItems (R) handle (R) oTree, oParent (R) bAction (RW)
METHODS New( oTree, oParent, oPrev, oNext, cTitle, bAction,aImages ) AddNode( cTitle, oPrev, oNext, bAction, aImages ) Delete() FindChild( handle ) GetText() SetText(cText)
HTimer
DATA CLASS VAR aTimers (R) id (R) value (R) lOnce (R) oParent (R) bAction (RW)
METHODS New( oParent, id, value, bAction, lOnce ) End()
HFreeImage
This class is similar to HBitmap, HIcon classes, it allows to load, save and draw an image in BMP, JPEG, PNG and some other formats. It uses FreeImage library (http://freeimage.sourceforge.net>) - so, if you include it in your application, you need to have FreeImage.dll.
DATA CLASS VAR aImages (R) handle (R) hBitmap (R) name (R) nWidth, nHeight (R) nCounter
METHODS AddFile( name ) - Load the image from a file AddFromVar( cImage,cType ) FromBitmap( oBitmap ) - Create an image from a bitmap Draw( hDC, nLeft, nTop, nWidth, nHeight ) Release() - Unload the imageThe example of using this class you may find in samples/viewer/viewer.prg.
HSplash
METHODS Create( cFile,oTime,oResource )
HPrintDos
DATA cCompr, cNormal, oText, cDouble, cBold, cUnBold oPorta, oPicture orow, oCol cEject, nProw, nPcol, fText, gText oTopMar oLeftMar oAns2Oem LastError oPrintStyle colorPreview nStartPage nEndPage nCopy // --- International Language Support for internal dialogs -- aLangTexts INIT {}
METHODS New( oPorta ) DefaultLang() Say( oProw, oCol, oTexto, oPicture ) SetCols( nRow, nCol ) gWrite( oText ) NewLine() Eject() Compress() Double() DesCompress() Bold() UnBold() Comando() SetPrc( x, y ) PrinterFile( oFile ) TxttoGraphic( oFile, osize, oPreview ) Preview( fname, cTitle ) END()
HWinPrn
DATA CLASS VAR nStdHeight SHARED (R) CLASS VAR cPrinterName SHARED (R) oPrinter (R) nFormType (R) oFont (R) nLineHeight, nLined (R) nCharW (R) x, y (R) old_y (R) cPseudo (R) lElite (R) INIT .F. lCond (R) INIT .F. nLineInch (R) INIT 6 lBold (R) INIT .F. lItalic (R) INIT .F. lUnder (R) INIT .F. nLineMax (R) INIT 0 lChanged (R) INIT .F. cpFrom (R) INIT "EN" cpTo (R) INIT "EN" nTop (R) nBottom (R) nLeft (R) nRight (R) nCharset (RW) Printer Character Set, default is 0 (ANSI) "INIT 0". For allowed values see include file "prncharsets.ch". // --- International Language Support for internal dialogs -- aTooltips (RW) INIT {} // Array with tooltips messages for print preview dialog aBootUser (RW) INIT {} // Array with control messages for print preview dialog (optional usage)
METHODS New( cPrinter, cpFrom, cpTo, nFormType ) SetLanguage(apTooltips, apBootUser) InitValues( lElite, lCond, nLineInch, lBold, lItalic, lUnder, nLineMax ) SetMode( lElite, lCond, nLineInch, lBold, lItalic, lUnder, nLineMax ) SetDefaultMode() // Should act like a "printer reset". SetCPTo(cpTo) - GTK only, on Windows ignored, see nPrCharset SetCP(ccp) - GTK only SetCDPin(ccp) - GTK only StartDoc( lPreview,cMetaName,lprbutton ) NextPage() NewLine() PrintLine( cLine,lNewLine ) PrintLine2( cLine ) - GTK only, Special for German Umlaute and other characters PrintBitmap( xBitmap, nAlign , cBitmapName ) PrintText( cText ) SetX( nYvalue ) SetY( nYvalue ) PutCode( cText ) EndDoc() End()
Default fonts:
GTK: "monospace"
WinAPI: "Lucida Console"
Additional instructions:
Set lPreview in method StartDoc() to .T. to show the print preview dialog. Default is .F.
Otherwise the printing process starts immediately.
Set lprbutton to .F., if preview dialog does not show the print button.
HFormTmpl
DATA CLASS VAR aForms (R) CLASS VAR maxId (R) CLASS VAR oActive (R) cFormName (R) oDlg (R) aControls (R) aProp (R) aMethods (R) aVars (R) aNames (R) pVars (R) aFuncs (R) id (R) cId (R) nContainer (R) nCtrlId (R) lDebug (R) lNoModal (R) bDlgExit, bFormExit (R) cargo (RW) // --- International Language Support for internal dialogs -- cTextCantOpenF (RW) INIT "Can't open" cTextInvClMemb (RW) INIT "Invalid class member" cTextFrmRepDescnotF (RW) INIT "Form description isn't found" // cTextRepDescnotF (RW) INIT "Report description isn't found" ==> Class HRepTmpl
METHODS DefaultLang() Read( fname, cId ) Show( nMode, params ) ShowMain( params ) ShowModal( params ) Close() F( id, n ) Find( cId )
HRepTmpl
DATA CLASS VAR aReports (R) CLASS VAR maxId (R) CLASS VAR aFontTable (R) cFormName (R) aControls (R) aProp (R) aMethods (R) aVars (R) aFuncs (R) lDebug (R) id (R) cId (R) nKoefX, nKoefY, nKoefPix nTOffset, nAOffSet, ny lNextPage, lFinish oPrinter // --- International Language Support for internal dialogs -- cTextRepDescnotF (RW) INIT "Report description isn't found"
METHODS READ( fname, cId ) PRINT( printer, lPreview, p1, p2, p3, p4, p5 ) PrintAsPage( printer, nPageType, lPreview, p1, p2, p3, p4, p5 ) PrintItem( oItem ) ReleaseObj( aControls ) Find( cId ) CLOSE()
HBinC
This class implements a binary container - an one-file repository for different files, which you need to use in your program - an images, for example. It gets rid off directories with icons, images and other supplementary files, which are included in the distribution of your application, replacing them all with one file.
The binary container may serve as a cross-platform alternative for a resources file. GTK doesn't support Windows-like resources (*.rc, *.res). Using a binary container, we are able to write a code, which works identically in both versions, especially there are means in HwGUI to use operations with a binary container as a substitute for operations with resources. If you call hwg_SetResContainer( cName ) function, files will be retrieved from this container instead of resources:
hwg_SetResContainer( cPath + "myapp.bin" ) ... // The bitmap will retrieve from myapp.bin oBitmap := HBitmap():AddResource( "open" ) ... // and here, too! @ x, y OWNERBUTTON OF oToolBar ON CLICK {||Test()} ; SIZE 32, 32 BITMAP "TEST" FROM RESOURCE
There is a special HwGUI utility for creating the binary container and filling it with files.
It is placed in hwgui/utils/bincnt
- Binary container manager.
DATA cName (RW) the name of a file of a binary container; lWriteAble (RW) opening mode (.T. - it is writeable); handle (R) a handle of a file of a binary container; nVerHigh, nVerLow (R) a version of a binary container; nItems (R) a number of elements in a container; nCntLen (R) a length of a table of contents of a file in bytes; nCntBlocks (R) a number of blocks in a table of contents; nPassLen (R) a password length; nFileLen (R) a file length; aObjects (R) an array of elements.
METHODS Create( cName, n ) - creates a file of a binary container; Open( cName, lWr ) - opens a file of a binary container; Close() - closes a file of a binary container; Add( cObjName, cType, cVal )- adds an element to a container; Del( cObjName, cType ) - removes an element from a container; Pack() - packs the container; Exist( cObjName ) - checks, if the element exisis in a container; Get( cObjName ) - retrieves an element from a container. GetPos( cObjName ) - retrieves the position of an item in the container (numeric) GetType( cObjName ) - retrieves the type of an item in the container (string)
HStyle
This class defines a style, painting parameters of a rectangular area, in particular - of some widget.
It is possible to define a bacground color, an array of colors - in this case a gradient will be drawn.
A direction of a gradient, a thickness and color of a border (if needed) may be specified in HStyle object.
You can set a bitmap instead of background colors. The nBmpStyle value determines, how the bitmap will be used:
BMP_DRAW_SPREAD - it will fill the backgroung (look at hwg_SpreadBitmap() function)
BMP_DRAW_CENTER - it will be drawn in the center
BMP_DRAW_FULL - it will be resized to the size of appropriate surface.
The corners may be drawn rounded, each corner - with a specified radius.
You may create at first an HStyle object with the help of HStyle():New()
,
and the to use it for different controls. Look for the samples of using HStyle in
the Tutorial, chapter "Advanced using of controls".
DATA CLASS VAR aStyles (R) an array with all defined styles, it is filled automatically; id (R) a style id, it is created automatically; nOrient (RW) a gradient direction (look at hwg_DrawGradient()); aColors (RW) an array of background colors, if few are defined, a gradient is drawn; oBitmap (RW) an object of HBitmap class - a bitmap to fill background; nBmpStyle (RW) BMP_DRAW_SPREAD, BMP_DRAW_CENTER, BMP_DRAW_FULL nBorder (RW) a thickness of a border in pixels. If it is absent, the border will not be drawn; tColor (RW) a color of a border; oPen (R) an object of HPen class, it is created automatically; aCorners (RW) an array with corners radiuses (look at hwg_DrawGradient()).
METHODS New( aColors, nOrient, aCorners, nBorder, tColor, oBitmap, nBmpStyle ) Draw( hDC, nTop, nLeft, nWidth, nHeight )
HilightBase
Do not create instances of HilightBase. It serves as a base class for other syntax hilighting classes.
DATA oEdit (R) lCase (R) aLineStru, nItems, nLine (R)
METHODS New() End() Do()
Hilight
Syntax hilighting class, it is intended to be used together with an editor class HCEdit.
DATA cCommands (RW) A list of keywords (commands), divided by space cFuncs (RW) A list of keywords (functions), divided by space cScomm (RW) A string, which starts single line comments cMcomm1, cMcomm2 (RW) Start and end strings for multiline comments lMultiComm (RW) aDop, nDopChecked (R)
METHODS New( cFile, cSection ) Set( oEdit ) Do( nLine, lCheck ) UpdSource( nLine ) AddItem( nPos1, nPos2, nType )
HXMLNode
DATA CLASS VAR nLastErr SHARED (R) title (R) type (R) aItems (R) aAttr (R) cargo (RW) aItems (RW) INIT {}
METHODS New( cTitle, type, aAttr ) Add( xItem ) GetAttribute( cName, cType, xDefault ) SetAttribute( cName,cValue ) DelAttribute( cName ) Save( handle,level ) Find( cTitle,nStart )
HXMLDoc
DATA
METHODS New( encoding ) Read( fname ) ReadString( buffer ) Save( fname,lNoHeader ) Save2String()
HPaintCB
DATA aCB (R)
METHODS New() INLINE Self Set( nId, block, cId ) Get( nId )
HPicture
DATA cPicFunc (R) cPicMask (R) lPicComplex (R) cType (R) nMaxLength (R)
METHODS New( cPicture, vari, nMaxLength ) IsEditable( nPos ) FirstEditable() LastEditable() KeyRight( nPos ) KeyLeft( nPos ) Delete( cText, nPos ) Input( cChar, nPos ) GetApplyKey( cText, nPos, cKey, lFirst, lIns ) Transform( vari ) UnTransform( cBuffer )
HDrawn
DATA CLASS VAR oDefParent (R) oParent (RW) Parent object title (RW) A text - title, caption of this widget nTop, nLeft (RW) Coordinates of this widget relatively to parent HBoard widget nWidth, nHeight (RW) Width, height of this object aMargin (RW) Margins for a text inside nTextStyle (RW) DT_LEFT, DT_CENTER (default), DT_RIGHT tcolor, bcolor (RW) Text and background colors tBorderColor (RW) Border color nCorner (RW) The radius of a corner, if rounded oBrush (R) A Brush object to fill background oPen (R) A Pen object to draw border lHide (RW) Flag of a "Hide" state lDisable (RW) Flag of a "Disable" state nState (R) STATE_NORMAL, STATE_PRESSED, STATE_MOVER oFont (RW) Font object aStyles (RW) Array of HSTYLE objects for 3 possible states aDrawn (R) Array of child drawn widgets cTooltip (RW) The text of a tooltip bPaint (RW) Paint codeblock {|oDrawn,hDC| ... } bClick (RW) On click codeblock {|oDrawn,nPosX,nPosY| ... } bChgState (RW) On change state codeblock {|oDrawn,nState| ... } bSize (RW) On size codeblock {|oDrawn,nWidth,nHeight| ... } Internal: lStatePaint oTooltip HDrawnTT object nMouseOn xValue The value, related to this widget
METHODS New( oWndParent, nLeft, nTop, nWidth, nHeight, tcolor, bColor, aStyles, title, oFont, bPaint, bClick, bChgState ) Delete() Delete object from a parent's :aDrawn array GetParentBoard() Returns a parent HBoard widget GetByPos( xPos, yPos [, oBoard] ) Returns a child drawn widget by position GetByState( nState, aDrawn, block, lAll ) Returns one or all child drawn widgets with nState Move( x1, y1, width, height, lRefresh ) Move/resize the widget SetState( nState, nPosX, nPosY ) Set widget state SetText( cText ) Change the title and refresh Value( xValue ) SETGET Set/get a value, related to widget Refresh( [x1, y1, x2, y2] ) Repaint widget or a part of it on the screen Internal: Paint( hDC ) onMouseMove( xPos, yPos ) onMouseLeave() onButtonDown( msg, xPos, yPos ) onButtonUp( xPos, yPos ) VIRTUAL onButtonDbl( xPos, yPos ) VIRTUAL onKey( msg, wParam, lParam ) VIRTUAL onKillFocus() VIRTUAL End() VIRTUAL
HDrawnTT
DATA CLASS VAR oFontDef (RW) A default font for all drawn tooltips CLASS VAR tColorDef (RW) A default text color for all drawn tooltips CLASS VAR bColorDef (RW) A default background color for all drawn tooltips Internal: hBitmapTmp
METHODS New( oWndParent, title, tcolor, bColor, oFont ) Show( cText, xPos, yPos ) Hide() Internal: Paint( hDC ) onMouseLeave()
HDrawnCheck
DATA cForTitle (RW) A char to be displayed as a check mark
METHODS New( oWndParent, nLeft, nTop, nWidth, nHeight, tcolor, bColor, aStyles, title, oFont, bPaint, bClick, bChgState ) SetState( nState, nPosX, nPosY )
HDrawnRadio
DATA cForTitle (RW) A char to be displayed as a check mark xGroup (RW) A group for this radio widget (any char or number)
METHODS New( oWndParent, nLeft, nTop, nWidth, nHeight, tcolor, bColor, aStyles, title, oFont, bPaint, bClick, bChgState, xGroup, lInitVal ) SetState( nState, nPosX, nPosY ) GetGroupValue() Get a value of appropriate group (number of selected radio widget) SetGroupValue( nVal ) Set a value of appropriate group (number of selected radio widget)
HDrawnEdit
DATA lUtf8 (RW) Flag - UTF8 codepage is used lReadOnly (RW) Flag - readonly mode lUpdated (R) Flag - was the text updated lInsert (RW) Flag - insert or overwrite lNoPaste (RW) Flag - paste is forbidden nBoundL (RW) Left indent nBoundR (RW) Right indent nBoundT (RW) Top indent oPenBorder (R) A Pen to draw border nBorder (RW) Border thickness nBorderColor (RW) Border color tcolorSel (RW) text color of a selected fragment bcolorSel (RW) background color of a selected fragment cType (R) A type of an edited value (char, date, numeric) oPicture (R) HPicture object nAlign (RW) bKeyDown, bRClick (RW) bGetFocus, bLostFocus (RW) Internal: hEdit nPosF nPosC nInit
METHODS New( oWndParent, nLeft, nTop, nWidth, nHeight, tcolor, bcolor, oFont, xInitVal, cPicture, bPaint, bChgState ) Value( xValue ) SETGET DelText( nPos1, nPos2 ) InsText( nPosC, cText, lOver ) SetFocus() Internal: Paint( hDC ) SetCaretPos( nType, p1 ) PutChar( wParam ) onKey( msg, wParam, lParam ) onMouseMove( xPos, yPos ) onMouseLeave() onButtonDown( msg, xPos, yPos ) onKillFocus() Skip( n ) End()
HDrawnLenta
DATA lVertical (R) aItems (RW) nItemSize (RW) aItemStyle (RW) oFont (RW) oPen (R) nFirst (RW) nSelected (RW) Internal: lDrawNext lPressed lMoved nOver nShift nDragKoef xPos, yPos bCli
METHODS New( oWndParent, nLeft, nTop, nWidth, nHeight, oFont, bPaint, bClick, color, bcolor, aItems, nItemSize, aItemStyle ) Value( nValue ) SETGET Internal: Paint( hDC ) Drag( xPos, yPos ) onMouseMove( xPos, yPos ) onMouseLeave() onButtonDown( msg, xPos, yPos ) onButtonUp( xPos, yPos )
HDrawnTrack
DATA lVertical (RW) oStyleBar, oStyleSlider (RW) lAxis (RW) nFrom, nTo (RW) nCurr, nSize (RW) tColor2 (RW) oPen1, oPen2 (R) bChange (RW) bEndDrag (RW) Internal: lCaptured
METHODS New( oWndParent, nLeft, nTop, nWidth, nHeight, bPaint, tcolor, bcolor, nSize, oStyleBar, oStyleSlider, lAxis ) Set( nSize, oStyleBar, oStyleSlider, lAxis, bPaint ) Value ( xValue ) SETGET Move( x1, y1, width, height ) Internal: Paint( hDC ) Drag( xPos, yPos ) onMouseMove( xPos, yPos ) onMouseLeave() onButtonDown( msg, xPos, yPos ) onButtonUp( xPos, yPos )
HDrawnBrw
DATA oData (RW) aColumns (RW) nHeightRow (RW) nHeightHead (RW) nHeightFoot (RW) aRowPadding (RW) aHeadPadding (RW) aFootPadding (RW) tColorSel, bColorSel (RW) Text and background colors of a selected row httColor, htbColor (RW) Text and background colors of a selected cell bCellBlock (RW) {|oBrw,nRow,nCol| Return { tColor, bColor, oFont } } sepColor (RW) Separators color oPenSep, oPenBorder (R) nBorder (RW) nBorderColor (RW) oFontHead (RW) oFontFoot (RW) oStyleHead (RW) A HStyle object to draw the header oStyleFoot (RW) A HStyle object to draw the footer oStyleCell (RW) A HStyle object to draw the cell nRowCount (R) Number of visible data rows nRowCurr (R) Row currently selected nColCount (R) Number of visible data columns nColCurr (R) Column currently selected nColFirst (R) The leftmost column on the screen oTrackV, oTrackH (R) nTrackWidth (RW) oStyleBar, oStyleSlider (RW) bEnter, bKeyDown (RW) bLostFocus, bRClick (RW) oEdit (R) lSeleCell (RW) Internal: lCaptured nColResize The column to be resized aRows { { y1,y2 },... } lRebuild
METHODS New( oWndParent, nLeft, nTop, nWidth, nHeight, tcolor, bcolor, oFont bPaint, bChgState, lVScroll, lHScroll ) Rebuild( hDC ) DoRebuild() INLINE (::lRebuild := .T., ::Refresh()) Cell( iCol ) Move( [x1, y1, width, height] ) Refresh( [x1, y1, x2, y2, lNeedRefresh] ) AddColumn( cHead, block, nWidth, nAlignRow, nAlignHead, lEditable ) Edit() SetFocus() Top() Skip( n ) Selected( n ) ShowTrackV( lShow ) ShowTrackH( lShow ) Internal: Paint( hDC ) RowOut( hDC, nRow, x1, y1, x2 ) HeaderOut( hDC, y1, y2, oStyle, aPadding, npAll, npBack, npItem ) onKey( msg, wParam, lParam ) onMouseMove( xPos, yPos ) onMouseLeave() onButtonDown( msg, xPos, yPos ) onButtonUp( xPos, yPos ) onButtonDbl( xPos, yPos ) onKillFocus()
HDrawnCombo
DATA aItems (RW) lText (RW) oText, oBtn, oList (R) arrowColor (RW) arrowPen (R) nRowCount (RW) bChange (RW) lDlg (RW) Internal: hBitmapList oDlg
METHODS New( oWndParent, nLeft, nTop, nWidth, nHeight, tcolor, bcolor, aStyles, oFont, aItems, xValue, lText, bPaint, bChange, bChgState, nRowCount ) Value( xValue ) SETGET Internal: Paint( hDC ) ListShow() ListHide() onButtonDown( msg, xPos, yPos ) onButtonUp( xPos, yPos )
HDrawnUpdown
DATA nLower (RW) nUpper (RW) arr (RW) oEdit, oBtnUp, oBtnDown (R) nPeriod (RW) arrowColor (RW) arrowPen (R) oTimer
METHODS New( oWndParent, nLeft, nTop, nWidth, nHeight, tcolor, bcolor, aStyles, oFont, xInit, nLower, nUpper, bPaint, bChgState, arr ) Value( xValue ) SETGET Internal: Paint( hDC ) onKey( msg, wParam, lParam ) onMouseMove( xPos, yPos ) onMouseLeave() onButtonDown( msg, xPos, yPos ) onButtonUp( xPos, yPos )
HDrawnDate
DATA oEdit, oBtn, oList oFontCalen arrowColor arrowPen bChange
METHODS New( oWndParent, nLeft, nTop, nWidth, nHeight, tcolor, bcolor, aStyles, oFont, dValue, bPaint, bChange, bChgState ) Value( xValue ) SETGET Internal: Paint( hDC ) ListShow() ListHide() onKey( msg, wParam, lParam ) onButtonDown( msg, xPos, yPos ) onButtonUp( xPos, yPos )
prev | table of contents | next |
functions | qhtm integration |