#include "Xailer.ch" CLASS TFormLLPreview FROM TForm COMPONENT oBevel1 COMPONENT oBevel2 COMPONENT oBevel3 DATA oPrinter INIT NIL DATA oPreviewLL INIT NIL DATA oCache INIT NIL DATA oRenderer INIT NIL DATA oDocument INIT NIL DATA cJobTitle INIT "" DATA nOpenStartedMs INIT 0.0 DATA lPreviewReleased INIT .F. DATA lContinuous INIT .F. METHOD New( oParent, oCache, oRenderer, oDocument, cJobTitle, lContinuous, nOpenStartedMs ) CONSTRUCTOR METHOD CreateForm() METHOD FormInitialize( oSender ) METHOD ReleasePreview() ENDCLASS #include "TFormLLPreview.xfm" //------------------------------------------------------------------------------ METHOD New( oParent, oCache, oRenderer, oDocument, cJobTitle, lContinuous, nOpenStartedMs ) CLASS TFormLLPreview ::oCache := oCache ::oRenderer := oRenderer ::oDocument := oDocument ::cJobTitle := cJobTitle ::lContinuous := lContinuous == .T. ::nOpenStartedMs := nOpenStartedMs RETURN ::Super:New( oParent ) //------------------------------------------------------------------------------ METHOD FormInitialize( oSender ) CLASS TFormLLPreview IF HB_ISOBJECT( ::oRenderer ) .AND. HB_ISOBJECT( ::oRenderer:oPrinter ) ::oPrinter := ::oRenderer:oPrinter ELSE ::oPrinter := Printer ENDIF ::oPreviewLL := NIL ::lPreviewReleased := .F. ::OnClose := {|| ::ReleasePreview() } ::oBevel3:nClrPane := RGB( 236, 236, 236 ) IF HB_ISOBJECT( ::oPrinter ) ::cText := PreviewTitle( iif( Empty( ::cJobTitle ), ::oPrinter:cJobTitle, ::cJobTitle ) ) WITH OBJECT ::oPreviewLL := TLLPreview():New( ::oPrinter, Self, ; ::oBevel1, ::oBevel2, ::oBevel3, ::lContinuous, ; ::oCache, ::oRenderer, ::oDocument, ::cJobTitle ) :Create() END ENDIF IF ::nOpenStartedMs > 0 LLPreviewLog( "form-open ms=" + hb_NToS( LLPreviewMilliseconds() - ::nOpenStartedMs ) ) ENDIF RETURN NIL //------------------------------------------------------------------------------ STATIC FUNCTION PreviewTitle( cTitle ) IF Empty( cTitle ) RETURN "LL-Dominus Preview" ENDIF IF hb_StrIsUTF8( cTitle ) RETURN hb_UTF8ToStr( cTitle, "ESWIN" ) ENDIF RETURN cTitle //------------------------------------------------------------------------------ METHOD ReleasePreview() CLASS TFormLLPreview IF ! ::lPreviewReleased .AND. HB_ISOBJECT( ::oPreviewLL ) ::oPreviewLL:End() ::oPreviewLL := NIL ::lPreviewReleased := .T. ENDIF ::oDocument := NIL ::oRenderer := NIL ::oCache := NIL RETURN NIL //------------------------------------------------------------------------------