diff options
Diffstat (limited to 'basic')
-rw-r--r-- | basic/inc/pch/precompiled_basic.hxx | 2 | ||||
-rw-r--r-- | basic/inc/sb.hrc | 2 | ||||
-rw-r--r-- | basic/source/app/app.cxx | 9 | ||||
-rw-r--r-- | basic/source/app/dialogs.cxx | 2 | ||||
-rw-r--r-- | basic/source/app/printer.cxx | 98 | ||||
-rw-r--r-- | basic/source/app/printer.hxx | 22 | ||||
-rw-r--r-- | basic/source/runtime/basrdll.cxx | 4 |
7 files changed, 25 insertions, 114 deletions
diff --git a/basic/inc/pch/precompiled_basic.hxx b/basic/inc/pch/precompiled_basic.hxx index 32b4fd480afb..efeab112b2eb 100644 --- a/basic/inc/pch/precompiled_basic.hxx +++ b/basic/inc/pch/precompiled_basic.hxx @@ -183,7 +183,7 @@ #include "svtools/pathoptions.hxx" #include "svtools/sfxecode.hxx" #include "svtools/smplhint.hxx" -#include "svtools/solar.hrc" +#include "vcl/solar.hrc" #include "svtools/stringtransfer.hxx" #include "svtools/svarray.hxx" #include "svtools/svdde.hxx" diff --git a/basic/inc/sb.hrc b/basic/inc/sb.hrc index 6275ad19c996..83b7897110e9 100644 --- a/basic/inc/sb.hrc +++ b/basic/inc/sb.hrc @@ -31,7 +31,7 @@ #ifndef _SB_HRC #define _SB_HRC -#include <svtools/solar.hrc> +#include <vcl/solar.hrc> #ifndef IDS_SBERR_START #define IDS_SBERR_START RID_BASIC_START diff --git a/basic/source/app/app.cxx b/basic/source/app/app.cxx index 4743b8c0ddca..ed25b15ebddf 100644 --- a/basic/source/app/app.cxx +++ b/basic/source/app/app.cxx @@ -1401,19 +1401,10 @@ long BasicFrame::Command( short nID, BOOL bChecked ) // InitMenu(GetMenuBar()->GetPopupMenu( RID_APPRUN )); break; case RID_FILEPRINT: -#ifndef UNX if( pWork ) pPrn->Print( pWork->GetText(), pWork->pDataEdit->GetText(), this ); -#else - InfoBox( this, SttResId( IDS_NOPRINTERERROR ) ).Execute(); -#endif break; case RID_FILESETUP: -#ifndef UNX - pPrn->Setup(); -#else - InfoBox( this, SttResId( IDS_NOPRINTERERROR ) ).Execute(); -#endif break; case RID_QUIT: if( Close() ) aBasicApp.Quit(); diff --git a/basic/source/app/dialogs.cxx b/basic/source/app/dialogs.cxx index 8c4df4186f41..e2daa7608d78 100644 --- a/basic/source/app/dialogs.cxx +++ b/basic/source/app/dialogs.cxx @@ -66,7 +66,7 @@ // Ohne Includeschutz #include <svtools/svtdata.hxx> -#include <svtools/solar.hrc> +#include <vcl/solar.hrc> #include <basic/dispdefs.hxx> diff --git a/basic/source/app/printer.cxx b/basic/source/app/printer.cxx index 6f173fd53ffa..61879d628d39 100644 --- a/basic/source/app/printer.cxx +++ b/basic/source/app/printer.cxx @@ -64,35 +64,32 @@ public: void ChangeMessage( short ); }; -BasicPrinter::BasicPrinter() : Printer() +BasicPrinter::BasicPrinter() : mpPrinter( new Printer() ) { nPage = 0; nLine = 9999; - SetMapMode( MapMode( MAP_POINT ) ); - Size s( GetOutputSize() ); + mpPrinter->SetMapMode( MapMode( MAP_POINT ) ); + Size s( mpPrinter->GetOutputSize() ); // Use 10 point font Font aFont( FAMILY_MODERN, Size( 0, 10 ) ); aFont.SetPitch( PITCH_FIXED ); - SetFont( aFont ); + mpPrinter->SetFont( aFont ); // Output: 6 Lines/Inch = 12 Point nLines = (short) s.Height() / 12; nYoff = 12; - SetStartPrintHdl( LINK( this, BasicPrinter, StartPrintHdl ) ); - SetEndPrintHdl( LINK( this, BasicPrinter, EndPrintHdl ) ); - SetPrintPageHdl( LINK( this, BasicPrinter, PrintPageHdl ) ); } void BasicPrinter::Header() { - if( nPage ) EndPage(); + if( nPage ) mpListener->EndPage(); nPage++; - StartPage(); + mpListener->StartPage(); String aHdr; String aPage( SttResId( IDS_PAGE ) ); aPage.Append( String::CreateFromInt32(nPage) ); aHdr = aFile.Copy( 0, 80 - aPage.Len() ); aHdr.Expand( 80 - aPage.Len(), ' ' ); aHdr += aPage; - DrawText( Point( 0, 0 ), aHdr ); + mpPrinter->DrawText( Point( 0, 0 ), aHdr ); nLine = 2; } @@ -100,98 +97,29 @@ void BasicPrinter::Print( const String& rFile, const String& rText, BasicFrame * { nPage = 0; nLine = 9999; aFile = rFile; - // Setup dialog - SttResId aResId( IDD_PRINT_DIALOG ); - pDlg = new PrintingDialog - ( aBasicApp.pFrame, this, aResId, aFile ); - // Set position of dialog - Size s1 = aBasicApp.pFrame->GetSizePixel(); - Size s2 = pDlg->GetSizePixel(); - pDlg->SetPosPixel( Point( (s1.Width() - s2.Width() ) / 2, - (s1.Height()- s2.Height() ) / 2 ) ); // Disable PRINT-Menu MenuBar* pBar = pFrame->GetMenuBar(); Menu* pFileMenu = pBar->GetPopupMenu( RID_APPFILE ); pFileMenu->EnableItem( RID_FILEPRINT, FALSE ); - pDlg->ChangeMessage( 1 ); - pDlg->Show(); - StartJob( rFile ); - StartPage(); + mpListener.reset( new vcl::OldStylePrintAdaptor( mpPrinter ) ); + mpListener->StartPage(); xub_StrLen nDone=0; while( nDone < rText.Len() ) { if( nLine >= nLines ) Header(); xub_StrLen nLineEnd = std::min( rText.Search( '\n', nDone ), rText.Search( '\r', nDone ) ); - DrawText( Point( 0, nLine * nYoff ), rText, nDone, nLineEnd-nDone-1 ); + mpPrinter->DrawText( Point( 0, nLine * nYoff ), rText, nDone, nLineEnd-nDone-1 ); nDone = nLineEnd; if( nDone <= rText.Len() && rText.GetChar(nDone) == '\r' ) nDone++; if( nDone <= rText.Len() && rText.GetChar(nDone) == '\n' ) nDone++; nLine++; - Application::Reschedule(); } - EndPage(); - EndJob(); + mpListener->EndPage(); + + Printer::PrintJob( mpListener, mpPrinter->GetJobSetup() ); nPage = 1; - while( IsPrinting() ) Application::Reschedule(); - delete pDlg; pDlg = NULL; pFileMenu->EnableItem( RID_FILEPRINT, TRUE ); } -IMPL_LINK_INLINE_START( BasicPrinter, StartPrintHdl, Printer *, pPrinter ) -{ - (void) pPrinter; /* avoid warning about unused parameter */ - if( pDlg != NULL ) - pDlg->Show(); - return 0; -} -IMPL_LINK_INLINE_END( BasicPrinter, StartPrintHdl, Printer *, pPrinter ) - -IMPL_LINK_INLINE_START( BasicPrinter, EndPrintHdl, Printer *, pPrinter ) -{ - (void) pPrinter; /* avoid warning about unused parameter */ - if( pDlg != NULL) - pDlg->Hide(); - return 0; -} -IMPL_LINK_INLINE_END( BasicPrinter, EndPrintHdl, Printer *, pPrinter ) - -IMPL_LINK_INLINE_START( BasicPrinter, PrintPageHdl, Printer *, pPrinter ) -{ - (void) pPrinter; /* avoid warning about unused parameter */ - if( pDlg != NULL) - pDlg->ChangeMessage( nPage ); - return 0; -} -IMPL_LINK_INLINE_END( BasicPrinter, PrintPageHdl, Printer *, pPrinter ) - -IMPL_LINK_INLINE( BasicPrinter, Abort , void *, EMPTYARG, -{ - AbortJob(); - return 0L; -} -) - -///////////////////////////////////////////////////////////////////////// - -PrintingDialog::PrintingDialog - ( Window* pParent, BasicPrinter* pPrn, ResId& rId, String& rName ) -: ModelessDialog( pParent, rId ) -, aName ( rName ) -, aText ( this, ResId( RID_TEXT, *rId.GetResMgr() ) ) -, aCancel( this, ResId( RID_CANCEL, *rId.GetResMgr() ) ) -{ - FreeResource(); - aCancel.SetClickHdl( LINK( pPrn, BasicPrinter, Abort ) ); -} - -void PrintingDialog::ChangeMessage( short nPage ) -{ - String aMsg( SttResId( IDS_PRINTMSG ) ); - aMsg += aName; - aMsg += CUniString("\n"); - aMsg += String( SttResId( IDS_PAGE ) ); - aMsg += String::CreateFromInt32( nPage ); - aText.SetText( aMsg ); -} diff --git a/basic/source/app/printer.hxx b/basic/source/app/printer.hxx index d6db8154c57f..26b89b5278fe 100644 --- a/basic/source/app/printer.hxx +++ b/basic/source/app/printer.hxx @@ -31,31 +31,25 @@ #ifndef _BASICPRN_HXX #define _BASICPRN_HXX -#ifndef _PRINT_HXX //autogen -#include <vcl/print.hxx> -#endif +#include "vcl/print.hxx" +#include "vcl/oldprintadaptor.hxx" -class PrintingDialog; +class BasicPrinter +{ + boost::shared_ptr<Printer> mpPrinter; + boost::shared_ptr<vcl::OldStylePrintAdaptor> mpListener; -class BasicPrinter : public Printer { short nLine; // aktuelle Zeile short nPage; // aktuelle Seite short nLines; // Zeilen pro Seite short nYoff; // Zeilenabstand in Points String aFile; // Dateiname - PrintingDialog* pDlg; // Druck-Dialog + void Header(); // Seitenkopf drucken + void StartPage(); public: BasicPrinter(); void Print( const String& rFile, const String& rText, BasicFrame *pFrame ); - DECL_LINK( Abort, void * ); - DECL_LINK( StartPrintHdl, Printer * ); - DECL_LINK( EndPrintHdl, Printer * ); - DECL_LINK( PrintPageHdl, Printer * ); -#if defined( PM20 ) - // StarView-Bug, bald wieder zu entfernen: - virtual void SetPageQueueSize( USHORT ) {} -#endif }; #endif diff --git a/basic/source/runtime/basrdll.cxx b/basic/source/runtime/basrdll.cxx index e4c9ad1fe307..69d4530885d0 100644 --- a/basic/source/runtime/basrdll.cxx +++ b/basic/source/runtime/basrdll.cxx @@ -32,9 +32,7 @@ #include "precompiled_basic.hxx" #include <tools/shl.hxx> #include <vcl/svapp.hxx> -#ifndef _SOLAR_HRC -#include <svtools/solar.hrc> -#endif +#include <vcl/solar.hrc> #include <tools/debug.hxx> #include <vcl/msgbox.hxx> |