summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndras Timar <atimar@suse.com>2013-03-31 11:50:26 +0200
committerAndras Timar <atimar@suse.com>2013-03-31 11:50:26 +0200
commit780e732f84e55fc778e7f09c61802ee5863b2488 (patch)
tree1b11536bebab3accc9e1bccf79781054b2e7eed6
parentc2d77afdfc356c11ee27e862a38f5be150ac27dd (diff)
remove bitrotten edittest
Change-Id: I54881476ae296bc95df16e233ff4ca5800477254
-rw-r--r--svx/workben/edittest.cxx1748
1 files changed, 0 insertions, 1748 deletions
diff --git a/svx/workben/edittest.cxx b/svx/workben/edittest.cxx
deleted file mode 100644
index 026b7d8c63e4..000000000000
--- a/svx/workben/edittest.cxx
+++ /dev/null
@@ -1,1748 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-
-#include <editeng/editeng.hxx>
-#include <editeng/eeitem.hxx>
-#include <editeng/editview.hxx>
-#include <editeng/editobj.hxx>
-#include <editeng/editstat.hxx>
-#include <eerdll.hxx>
-#include <editeng/flditem.hxx>
-#include <svx/svxacorr.hxx>
-#include <tools/fsys.hxx>
-#include <svx/xpoly.hxx>
-
-#include <vcl/window.hxx>
-#include <vcl/svapp.hxx>
-#include <vcl/font.hxx>
-#include <vcl/print.hxx>
-#include <vcl/toolbox.hxx>
-#include <vcl/help.hxx>
-#include <vcl/scrbar.hxx>
-#include <vcl/wrkwin.hxx>
-#include <vcl/msgbox.hxx>
-
-#include <dialdll.hxx>
-
-#define SERVICE_SIMPLEREGISTRY "com.sun.star.registry.SimpleRegistry"
-#include <comphelper/processfactory.hxx>
-#include <cppuhelper/servicefactory.hxx>
-#include <cppuhelper/bootstrap.hxx>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/lang/XInitialization.hpp>
-#include <com/sun/star/registry/XSimpleRegistry.hpp>
-#include <sfx2/sfxuno.hxx>
-
-// SVX
-#include <editeng/lrspitem.hxx>
-#include <editeng/shdditem.hxx>
-#include <editeng/contouritem.hxx>
-#include <editeng/crossedoutitem.hxx>
-#include <editeng/udlnitem.hxx>
-#include <editeng/lspcitem.hxx>
-#include <editeng/escapementitem.hxx>
-#include <editeng/kernitem.hxx>
-#include <editeng/autokernitem.hxx>
-#include <editeng/wrlmitem.hxx>
-#include <editeng/colritem.hxx>
-#include <editeng/ulspitem.hxx>
-#include <editeng/postitem.hxx>
-#include <editeng/adjustitem.hxx>
-#include <editeng/wghtitem.hxx>
-#include <editeng/fhgtitem.hxx>
-#include <editeng/fontitem.hxx>
-#include <fwdtitem.hxx>
-
-// SVTOOLS
-#include <svl/undo.hxx>
-#include <svl/itemset.hxx>
-#include <svl/itempool.hxx>
-#include <svl/poolitem.hxx>
-#include <svtools/printdlg.hxx>
-
-#include <osl/file.hxx>
-#include <osl/process.h>
-#include <rtl/bootstrap.hxx>
-#include <vector>
-
-#define TB_LEFT 1
-#define TB_RIGHT 2
-#define TB_CENTER 3
-#define TB_UNDO 4
-#define TB_REDO 5
-#define TB_FONT1 6
-#define TB_FONT2 7
-#define TB_ITALIC 8
-#define TB_BOLD 9
-#define TB_UNDERLINE 10
-#define TB_BLACK 11
-#define TB_GREEN 12
-#define TB_OPEN 13
-#define TB_SAVE 14
-#define TB_SBL 15
-#define TB_SBSA 16
-#define TB_LR 17
-#define TB_DRAW 18
-#define TB_DEFTAB 19
-#define TB_OPEN2 20
-#define TB_SAVE2 21
-#define TB_STDSEL 33
-#define TB_MOVE 34
-#define TB_PARATTR1 35
-#define TB_ROTATE 38
-#define TB_RED 43
-#define TB_FLAT 46
-#define TB_BINOBJ1 47
-#define TB_BINOBJ3 49
-#define TB_BINOBJ4 50
-#define TB_BINOBJ1b 51
-#define TB_BINOBJ2b 52
-#define TB_ATTRIBS 54
-#define TB_IDLE 55
-#define TB_BLOCK 56
-#define TB_CLONEBIN 57
-#define TB_INSERT 58
-#define TB_PKERN 59
-#define TB_KERN 60
-#define TB_SUPER 61
-#define TB_SUB 62
-#define TB_PRINT 63
-#define TB_FONT 64
-#define TB_COLORS 65
-#define TB_WLM 66
-#define TB_OUTL 67
-#define TB_INSFLD 68
-#define TB_UPDFLD 69
-#define TB_ONLINESPELL 70
-#define TB_REDLINES 71
-#define TB_AUTOCORRECT 72
-#define TB_POLY 73
-#define TB_HYPH 74
-
-// VARS...
-short nRotation = 0;
-USHORT nZoom = 100;
-sal_Bool bURLClicked = sal_False;
-
-using namespace ::com::sun::star::connection;
-using namespace ::vos;
-using namespace ::rtl;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::registry;
-using namespace ::com::sun::star::lang;
-
-
-
-Reference< XMultiServiceFactory > createApplicationServiceManager()
-{
- Reference< XMultiServiceFactory > xMS;
- try
- {
- Reference< XComponentContext > xComponentContext = ::cppu::defaultBootstrap_InitialComponentContext();
- if ( xComponentContext.is() )
- xMS = xMS.query( xComponentContext->getServiceManager() );
- }
- catch( ::com::sun::star::uno::Exception& )
- {
- }
-
- return xMS;
-}
-
-// --- class EditApp -------------------------------------------------
-
-class StringList : public std::vector<String*>
-{
-public:
- ~StringList()
- {
- for( const_iterator it = begin(); it != end(); ++it )
- delete *it;
- }
-};
-
-StringList aSimpleHistory;
-
-class EditApp : public Application
-{
-public:
- virtual void Main();
-};
-
-class MyEditEngine : public EditEngine
-{
-public:
- MyEditEngine( SfxItemPool* pPool ) : EditEngine( pPool ) { ; }
- virtual String CalcFieldValue( const SvxFieldItem& rField, USHORT nPara, USHORT nPos, Color*& rTxtColor, Color*& rFldColor );
- virtual void FieldClicked( const SvxFieldItem& rField, USHORT nPara, USHORT nPos );
- virtual void FieldSelected( const SvxFieldItem& rField, USHORT nPara, USHORT nPos );
-};
-
-XubString __EXPORT MyEditEngine::CalcFieldValue( const SvxFieldItem& rField, USHORT nPara, USHORT nPos, Color*& rpTxtColor, Color*& rpFldColor )
-{
- const SvxFieldData* pField = rField.GetField();
- if ( !pField )
- return String( RTL_CONSTASCII_USTRINGPARAM( "<Empty>" ) );
-
- if ( pField->ISA( SvxDateField ) )
- return ((const SvxDateField*)pField)->GetFormatted( LANGUAGE_SYSTEM, LANGUAGE_SYSTEM );
- else if ( pField->ISA( SvxURLField ) )
- {
- const SvxURLField* pURL = (const SvxURLField*)pField;
- if ( !bURLClicked )
- {
- delete rpTxtColor;
- rpTxtColor = new Color( COL_BLUE );
- }
- else
- {
- delete rpTxtColor;
- rpTxtColor = new Color( COL_RED );
- delete rpFldColor;
- rpFldColor = new Color( COL_YELLOW );
- }
- if ( pURL->GetFormat() == SVXURLFORMAT_URL )
- return pURL->GetURL();
- return pURL->GetRepresentation();
- }
- return String( RTL_CONSTASCII_USTRINGPARAM( "???" ) );
-}
-
-void __EXPORT MyEditEngine::FieldClicked( const SvxFieldItem& rField, USHORT nPara, USHORT nPos )
-{
- EditEngine::FieldClicked( rField, nPara, nPos ); // Falls URL
- const SvxFieldData* pField = rField.GetField();
- if ( !pField )
- return;
-
- if ( pField->ISA( SvxURLField ) )
- {
- bURLClicked = TRUE;
- UpdateFields();
- }
-}
-
-void __EXPORT MyEditEngine::FieldSelected( const SvxFieldItem& rField, USHORT nPara, USHORT nPos )
-{
- const SvxFieldData* pField = rField.GetField();
- if ( !pField )
- return;
-
- InfoBox( 0, String( RTL_CONSTASCII_USTRINGPARAM( "Feld selektiert!" ) ) ).Execute();
-}
-
-
-class MyView : public WorkWindow
-{
-private:
- EditEngine* pEditEngine;
- EditView* pEditView;
-
-public:
- MyView( Window* pParent, EditEngine* pEditEngine );
- ~MyView();
-
- virtual void Paint( const Rectangle& );
- virtual void Resize();
- virtual void KeyInput( const KeyEvent& rKeyEvt );
- virtual void MouseMove( const MouseEvent& rMEvt );
- virtual void MouseButtonDown( const MouseEvent& rMEvt );
- virtual void MouseButtonUp( const MouseEvent& rMEvt );
- virtual void Command( const CommandEvent& rCEvt );
- BOOL Drop( const DropEvent& rEvt );
- BOOL QueryDrop( DropEvent& rEvt );
-};
-
-MyView::MyView( Window* pParent, EditEngine* pEE ) : WorkWindow( pParent, WinBits( WB_STDWORK ) )
-{
- pEditEngine = pEE;
- pEditView = new EditView( pEditEngine, this );
- pEditEngine->InsertView( pEditView );
- SetText( String( RTL_CONSTASCII_USTRINGPARAM( "Another View..." ) ) );
-// EnableDrop();
- SetBackgroundBrush( Brush( Color( COL_LIGHTBLUE ) ) );
- Show();
-}
-
-MyView::~MyView()
-{
- pEditEngine->RemoveView( pEditView );
- delete pEditView;
-}
-
-void __EXPORT MyView::Paint( const Rectangle& rRec )
-{
- pEditView->Paint( rRec );
-}
-
-void __EXPORT MyView::Resize()
-{
- Size aPaperSz( GetOutputSize() );
-// aPaperSz.Width() /= 2;
-// aPaperSz.Height() /= 2;
- pEditView->SetOutputArea( Rectangle( Point( 0,0 ), aPaperSz ) );
- pEditView->SetVisArea( Rectangle( Point( 0,0 ), aPaperSz ) );
- Invalidate();
- pEditView->ShowCursor();
-}
-
-// --- MyView::KeyInput() --------------------------------------
-void __EXPORT MyView::KeyInput( const KeyEvent& rKEvt )
-{
- pEditView->PostKeyEvent( rKEvt );
-}
-
-void __EXPORT MyView::MouseMove( const MouseEvent& rMEvt )
-{
- Point aPos = PixelToLogic( rMEvt.GetPosPixel() );
- if ( pEditView->GetOutputArea().IsInside( aPos ) )
- SetPointer( pEditView->GetPointer() );
- else
- SetPointer( Pointer() );
-
-
- pEditView->MouseMove( rMEvt );
-}
-
-void __EXPORT MyView::MouseButtonDown( const MouseEvent& rMEvt )
-{
- pEditView->MouseButtonDown( rMEvt );
-}
-
-void __EXPORT MyView::MouseButtonUp( const MouseEvent& rMEvt )
-{
- pEditView->MouseButtonUp( rMEvt );
-}
-
-void __EXPORT MyView::Command( const CommandEvent& rCEvt )
-{
- if ( rCEvt.GetCommand() == COMMAND_STARTDRAG )
- pEditView->Command(rCEvt);
-}
-
-BOOL __EXPORT MyView::Drop( const DropEvent& rEvt )
-{
- return pEditView->Drop( rEvt );
-}
-
-BOOL __EXPORT MyView::QueryDrop( DropEvent& rEvt )
-{
- return pEditView->QueryDrop( rEvt );
-}
-
-// --- class EditMainWindow --------------------------------------------
-
-class EditViewWindow : public Window
-{
-private:
- MyEditEngine* pEditEngine;
- EditView* pEditView;
- Pointer aStdPtr;
- Pointer aURLPtr;
- WorkWindow* pTmpWindow;
-
- XubString aTestStr;
-
-
-public:
- EditViewWindow( Window* pParent );
- ~EditViewWindow();
-
- virtual void Paint( const Rectangle& );
- virtual void Resize();
- virtual void KeyInput( const KeyEvent& rKeyEvt );
- virtual void MouseMove( const MouseEvent& rMEvt );
- virtual void MouseButtonDown( const MouseEvent& rMEvt );
- virtual void MouseButtonUp( const MouseEvent& rMEvt );
- virtual void Command( const CommandEvent& rCEvt );
- void MarkOutputArea();
- BOOL Drop( const DropEvent& rEvt );
- BOOL QueryDrop( DropEvent& rEvt );
-
- EditView* GetEditView() { return pEditView; }
-};
-
-class EditMainWindow : public WorkWindow
-{
-private:
- ToolBox aToolBox;
- ScrollBar aHScrollBar;
- ScrollBar aVScrollBar;
- EditViewWindow aViewWin;
- Printer* pPrinter;
-
- WorkWindow* pTmpWindow;
-
- EditTextObject* pRTFObj;
- EditTextObject* pBinObj;
-
- FileDialog* pFileDialogBox;
- FileDialog* pFileDialogBox2;
-
-
-protected:
- void SetScrollBars();
- void SetScrollBarRanges();
- void CreatePolygon();
-
- virtual void GetFocus();
-
-public:
- EditMainWindow();
- ~EditMainWindow();
-
- virtual void Resize();
-
- DECL_LINK( TBSelect, ToolBox * );
- void UpdateToolBox();
-
- DECL_LINK( HScrollHdl, ScrollBar * );
- DECL_LINK( VScrollHdl, ScrollBar * );
- DECL_LINK( ShowStatus, EditStatus * );
- void SetTitle();
-};
-
-
-EditMainWindow::~EditMainWindow()
-{
- delete pRTFObj;
- delete pBinObj;
- delete pFileDialogBox;
- delete pFileDialogBox2;
- delete pTmpWindow;
- delete pPrinter;
-}
-
-EditMainWindow::EditMainWindow() :
- WorkWindow( NULL, WB_APP | WB_STDWORK | WB_SVLOOK | WB_CLIPCHILDREN ) ,
- aViewWin( this ),
- aToolBox( this, WinBits( WB_BORDER | WB_SVLOOK | WB_SCROLL | WB_LINESPACING ) ),
- aHScrollBar( this, WinBits( WB_HSCROLL | WB_DRAG ) ),
- aVScrollBar( this, WinBits( WB_VSCROLL | WB_DRAG ) )
-{
- pRTFObj = 0;
- pBinObj = 0;
-
- pFileDialogBox = new FileDialog( this, WinBits( WB_OPEN | WB_SVLOOK ) );
- pFileDialogBox->SetText( String( RTL_CONSTASCII_USTRINGPARAM( "Open" ) ) );
- pFileDialogBox->AddFilter( String( RTL_CONSTASCII_USTRINGPARAM( "Text" )), String( RTL_CONSTASCII_USTRINGPARAM( "*.txt" ) ) );
- pFileDialogBox->AddFilter( String( RTL_CONSTASCII_USTRINGPARAM( "Rich Text Format" ) ), String( RTL_CONSTASCII_USTRINGPARAM( "*.rtf" ) ) );
- pFileDialogBox->AddFilter( String( RTL_CONSTASCII_USTRINGPARAM( "HTML" ) ), String( RTL_CONSTASCII_USTRINGPARAM( "*.htm;*.html" ) ) );
- pFileDialogBox->SetCurFilter( String( RTL_CONSTASCII_USTRINGPARAM( "Rich Text Format" ) ) );
-
- pFileDialogBox2 = new FileDialog( this, WinBits( WB_SAVEAS| WB_SVLOOK ) );
- pFileDialogBox2->SetText( String( RTL_CONSTASCII_USTRINGPARAM( "Save" ) ) );
- pFileDialogBox2->AddFilter( String( RTL_CONSTASCII_USTRINGPARAM( "Text" ) ), String( RTL_CONSTASCII_USTRINGPARAM( "*.txt" ) ) );
- pFileDialogBox2->AddFilter( String( RTL_CONSTASCII_USTRINGPARAM( "Rich Text Format" ) ), String( RTL_CONSTASCII_USTRINGPARAM( "*.rtf" ) ) );
- pFileDialogBox2->AddFilter( String( RTL_CONSTASCII_USTRINGPARAM( "HTML" ) ), String( RTL_CONSTASCII_USTRINGPARAM( "*.htm" ) ) );
- pFileDialogBox2->SetCurFilter( String( RTL_CONSTASCII_USTRINGPARAM( "Rich Text Format" ) ) );
-
- pPrinter = new Printer;
- pPrinter->SetMapMode( MAP_100TH_MM );
- aViewWin.SetMapMode( pPrinter->GetMapMode() );
- aViewWin.GetEditView()->GetEditEngine()->SetRefDevice( pPrinter );
-
-
-
- pTmpWindow = new WorkWindow( this, WB_STDWORK );
-
- aToolBox.SetButtonType( BUTTON_TEXT );
- aToolBox.SetLineCount( 4 );
-
- {
- aToolBox.InsertItem( TB_OPEN, String( RTL_CONSTASCII_USTRINGPARAM( "Open" ) ) );
- aToolBox.InsertItem( TB_SAVE, String( RTL_CONSTASCII_USTRINGPARAM( "Save" ) ) );
- aToolBox.InsertItem( TB_PRINT, String( RTL_CONSTASCII_USTRINGPARAM( "Print" ) ) );
- aToolBox.InsertSeparator();
- aToolBox.InsertItem( TB_LEFT, String( RTL_CONSTASCII_USTRINGPARAM( "L" ) ) );
- aToolBox.InsertItem( TB_CENTER, String( RTL_CONSTASCII_USTRINGPARAM( "C" ) ) );
- aToolBox.InsertItem( TB_RIGHT, String( RTL_CONSTASCII_USTRINGPARAM( "R" ) ) );
- aToolBox.InsertItem( TB_BLOCK, String( RTL_CONSTASCII_USTRINGPARAM( "B" ) ) );
- aToolBox.InsertSeparator();
- aToolBox.InsertItem( TB_UNDO, String( RTL_CONSTASCII_USTRINGPARAM( "Undo" ) ) );
- aToolBox.InsertItem( TB_REDO, String( RTL_CONSTASCII_USTRINGPARAM( "Redo" ) ) );
- aToolBox.InsertSeparator();
- aToolBox.InsertItem( TB_FONT1, String( RTL_CONSTASCII_USTRINGPARAM( "Font1" ) ) );
- aToolBox.InsertItem( TB_FONT2, String( RTL_CONSTASCII_USTRINGPARAM( "Font2" ) ) );
- aToolBox.InsertItem( TB_DEFTAB, String( RTL_CONSTASCII_USTRINGPARAM( "DefTab" ) ) );
- aToolBox.InsertBreak();
- aToolBox.InsertItem( TB_OPEN2, String( RTL_CONSTASCII_USTRINGPARAM( "Read" ) ) );
- aToolBox.InsertItem( TB_SAVE2, String( RTL_CONSTASCII_USTRINGPARAM( "Write" ) ) );
- aToolBox.InsertSeparator();
- aToolBox.InsertItem( TB_FONT, String( RTL_CONSTASCII_USTRINGPARAM( "XXX" ) ) );
- aToolBox.InsertItem( TB_ITALIC, String( RTL_CONSTASCII_USTRINGPARAM( "K" ) ) );
- aToolBox.InsertItem( TB_BOLD, String( RTL_CONSTASCII_USTRINGPARAM( "F" ) ) );
- aToolBox.InsertItem( TB_UNDERLINE, String( RTL_CONSTASCII_USTRINGPARAM( "U" ) ) );
- aToolBox.InsertItem( TB_SUPER, String( RTL_CONSTASCII_USTRINGPARAM( "SP" ) ) );
- aToolBox.InsertItem( TB_SUB, String( RTL_CONSTASCII_USTRINGPARAM( "SB" ) ) );
- aToolBox.InsertItem( TB_PKERN, String( RTL_CONSTASCII_USTRINGPARAM( "PK" ) ) );
- aToolBox.InsertItem( TB_KERN, String( RTL_CONSTASCII_USTRINGPARAM( "TK" ) ) );
- aToolBox.InsertItem( TB_WLM, String( RTL_CONSTASCII_USTRINGPARAM( "W!" ) ) );
- aToolBox.InsertSeparator();
- aToolBox.InsertItem( TB_BLACK, String( RTL_CONSTASCII_USTRINGPARAM( "Black" ) ) );
- aToolBox.InsertItem( TB_GREEN, String( RTL_CONSTASCII_USTRINGPARAM( "Green" ) ) );
- aToolBox.InsertItem( TB_RED, String( RTL_CONSTASCII_USTRINGPARAM( "Red" ) ) );
- aToolBox.InsertSeparator();
- aToolBox.InsertItem( TB_SBL, String( RTL_CONSTASCII_USTRINGPARAM( "SBL" ) ) );
- aToolBox.InsertItem( TB_SBSA, String( RTL_CONSTASCII_USTRINGPARAM( "SBSA" ) ) );
- aToolBox.InsertItem( TB_LR, String( RTL_CONSTASCII_USTRINGPARAM( "LR" ) ) );
- aToolBox.InsertSeparator();
- aToolBox.InsertItem( TB_DRAW, String( RTL_CONSTASCII_USTRINGPARAM( "Draw!" ) ) );
- aToolBox.InsertItem( TB_ROTATE, String( RTL_CONSTASCII_USTRINGPARAM( "Rotate!" ) ) );
- aToolBox.InsertItem( TB_MOVE, String( RTL_CONSTASCII_USTRINGPARAM( "Move->2" ) ) );
- aToolBox.InsertItem( TB_PARATTR1, String( RTL_CONSTASCII_USTRINGPARAM( "ParaAttr0" ) ) );
- aToolBox.InsertItem( TB_ATTRIBS, String( RTL_CONSTASCII_USTRINGPARAM( "GetAttribs" ) ) );
- aToolBox.InsertSeparator();
- aToolBox.InsertItem( TB_INSFLD, String( RTL_CONSTASCII_USTRINGPARAM( "InsFld" ) ) );
- aToolBox.InsertItem( TB_UPDFLD, String( RTL_CONSTASCII_USTRINGPARAM( "UpdFld" ) ) );
- }
- aToolBox.InsertBreak();
- {
- aToolBox.InsertItem( TB_ONLINESPELL, String( RTL_CONSTASCII_USTRINGPARAM( "Spell" ) ) );
- aToolBox.InsertItem( TB_REDLINES, String( RTL_CONSTASCII_USTRINGPARAM( "RedLine" ) ) );
- aToolBox.InsertItem( TB_AUTOCORRECT, String( RTL_CONSTASCII_USTRINGPARAM( "Auto*" ) ) );
- aToolBox.InsertItem( TB_HYPH, String( RTL_CONSTASCII_USTRINGPARAM( "Hyph" ) ) );
- aToolBox.InsertItem( TB_STDSEL, String( RTL_CONSTASCII_USTRINGPARAM( "StdSel" ) ) );
- aToolBox.InsertItem( TB_FLAT, String( RTL_CONSTASCII_USTRINGPARAM( "FlatMode" ) ) );
- aToolBox.InsertItem( TB_OUTL, String( RTL_CONSTASCII_USTRINGPARAM( "Ocomphelper" ) ) );
- aToolBox.InsertItem( TB_POLY, String( RTL_CONSTASCII_USTRINGPARAM( "Poly" ) ) );
- aToolBox.InsertItem( TB_COLORS, String( RTL_CONSTASCII_USTRINGPARAM( "Colors" ) ));
- aToolBox.InsertItem( TB_IDLE, String( RTL_CONSTASCII_USTRINGPARAM( "Idle!" ) ) );
- aToolBox.InsertItem( TB_INSERT, String( RTL_CONSTASCII_USTRINGPARAM( "Insert" ) ) );
- aToolBox.InsertSeparator();
- aToolBox.InsertItem( TB_BINOBJ1, String( RTL_CONSTASCII_USTRINGPARAM( ">BINObj" ) ) );
- aToolBox.InsertItem( TB_BINOBJ1b, String( RTL_CONSTASCII_USTRINGPARAM( ">>BINObj" ) ) );
- aToolBox.InsertItem( TB_BINOBJ2b, String( RTL_CONSTASCII_USTRINGPARAM( "<<BINObj" ) ) );
- aToolBox.InsertItem( TB_CLONEBIN, String( RTL_CONSTASCII_USTRINGPARAM( "Clone" ) ) );
- aToolBox.InsertSeparator();
- aToolBox.InsertItem( TB_BINOBJ3, String( RTL_CONSTASCII_USTRINGPARAM( "StoreBin" ) ) );
- aToolBox.InsertItem( TB_BINOBJ4, String( RTL_CONSTASCII_USTRINGPARAM( "CreatBin" ) ) );
- }
-
- aToolBox.SetPosPixel( Point( 0, 0 ) );
- aToolBox.SetSelectHdl( LINK( this, EditMainWindow, TBSelect ) );
-
- SetBackgroundBrush( Brush( Color( COL_LIGHTGRAY ) ) );
-
- SetPen( PEN_NULL );
- Show();
-
- aVScrollBar.SetScrollHdl ( LINK( this, EditMainWindow, VScrollHdl ) );
- aVScrollBar.SetLineSize( 300 );
- aVScrollBar.SetPageSize( 2000 );
- aHScrollBar.SetScrollHdl ( LINK( this, EditMainWindow, HScrollHdl ) );
- aHScrollBar.SetLineSize( 300 );
- aHScrollBar.SetPageSize( 2000 );
- aHScrollBar.Enable();
- aVScrollBar.Enable();
-
- aViewWin.GetEditView()->GetEditEngine()->SetStatusEventHdl( LINK( this, EditMainWindow, ShowStatus ) );
-
- SetTitle();
-
- UpdateToolBox();
- aToolBox.Show();
- aViewWin.Show();
-}
-
-void EditMainWindow::SetTitle()
-{
- String aHeading( String( RTL_CONSTASCII_USTRINGPARAM( "SvEdit! - Zoom " ) ) );
- aHeading += OUString::number(nZoom);
- aHeading += '%';
- EditEngine* pEditEngine = aViewWin.GetEditView()->GetEditEngine();
- if ( pEditEngine->GetControlWord() & EE_CNTRL_STRETCHING )
- {
- USHORT nX, nY;
- pEditEngine->GetGlobalCharStretching( nX, nY );
- aHeading += String( RTL_CONSTASCII_USTRINGPARAM( ", Stretch=(" ) );
- aHeading += OUString::number(nX);
- aHeading += String( RTL_CONSTASCII_USTRINGPARAM( ", " ) );
- aHeading += OUString::number(nY);
- aHeading += ')';
- }
- SetText( aHeading );
-}
-
-void EditMainWindow::UpdateToolBox()
-{
- EditView* pEditView = aViewWin.GetEditView();
- EditEngine* pEditEngine = pEditView->GetEditEngine();
- SfxItemSet aCurSet( pEditView->GetAttribs() );
-
- ULONG nControl = pEditEngine->GetControlWord();
- aToolBox.EnableItem( TB_UNDO, (BOOL)pEditEngine->GetUndoManager().GetUndoActionCount() );
- aToolBox.EnableItem( TB_REDO, (BOOL)pEditEngine->GetUndoManager().GetRedoActionCount() );
- aToolBox.EnableItem( TB_BINOBJ2b, (BOOL)(long)pBinObj );
- aToolBox.EnableItem( TB_MOVE, pEditEngine->GetParagraphCount() > 3 );
- aToolBox.CheckItem( TB_ONLINESPELL, nControl & EE_CNTRL_ONLINESPELLING ? TRUE : FALSE );
- aToolBox.CheckItem( TB_AUTOCORRECT, nControl & EE_CNTRL_AUTOCORRECT ? TRUE : FALSE );
-// aToolBox.CheckItem( TB_HYPH, nControl & EE_CNTRL_HYPHENATE ? TRUE : FALSE );
- aToolBox.CheckItem( TB_REDLINES, nControl & EE_CNTRL_NOREDLINES ? FALSE : TRUE );
- aToolBox.CheckItem( TB_STDSEL, pEditView->GetSelectionMode() == EE_SELMODE_STD );
- aToolBox.CheckItem( TB_FLAT, pEditEngine->IsFlatMode() );
- aToolBox.CheckItem( TB_OUTL, ( nControl & EE_CNTRL_OUTLINER ) ? TRUE : FALSE );
- aToolBox.CheckItem( TB_POLY, pEditEngine->GetPolygon() ? TRUE : FALSE );
- aToolBox.CheckItem( TB_COLORS, ( nControl & EE_CNTRL_NOCOLORS ) ? FALSE : TRUE );
- aToolBox.CheckItem( TB_IDLE, pEditEngine->IsIdleFormatterEnabled() );
- aToolBox.CheckItem( TB_INSERT, pEditView->IsInsertMode() );
-
- for ( USHORT nWhich = EE_ITEMS_START; nWhich <= EE_ITEMS_END; nWhich++)
- {
-// if ( aCurSet.GetItemState( nWhich ) == SFX_ITEM_OFF )
-// ;
-// else if ( aCurSet.GetItemState( nWhich ) == SFX_ITEM_DONTCARE )
-// ;
-// else if ( aCurSet.GetItemState( nWhich ) == SFX_ITEM_ON )
- {
- const SfxPoolItem& rItem = aCurSet.Get( nWhich );
- switch ( nWhich )
- {
- case EE_PARA_HYPHENATE:
- aToolBox.CheckItem( TB_HYPH, ((SfxBoolItem&)rItem).GetValue() != 0 );
- break;
- case EE_PARA_LRSPACE:
- aToolBox.CheckItem( TB_LR, ((SvxLRSpaceItem&)rItem).GetTxtLeft() != 0 );
- break;
- case EE_PARA_ULSPACE:
- aToolBox.CheckItem( TB_SBSA, ((SvxULSpaceItem&)rItem).GetUpper() != 0 );
- break;
- case EE_PARA_SBL:
- aToolBox.CheckItem( TB_SBL, ((SvxLineSpacingItem&)rItem).GetPropLineSpace() != 100 );
- break;
- case EE_PARA_JUST:
- {
- SvxAdjust e = ((SvxAdjustItem&)rItem).GetAdjust();
- aToolBox.CheckItem( TB_LEFT, e == SVX_ADJUST_LEFT );
- aToolBox.CheckItem( TB_RIGHT, e == SVX_ADJUST_RIGHT);
- aToolBox.CheckItem( TB_CENTER, e == SVX_ADJUST_CENTER);
- aToolBox.CheckItem( TB_BLOCK, e == SVX_ADJUST_BLOCK );
- }
- break;
- case EE_PARA_TABS:
- break;
- case EE_CHAR_COLOR:
- {
- Color aColor( ((SvxColorItem&)rItem).GetValue() );
- aToolBox.CheckItem( TB_BLACK, aColor == COL_BLACK );
- aToolBox.CheckItem( TB_GREEN, aColor == COL_GREEN );
- aToolBox.CheckItem( TB_RED, aColor == COL_RED );
- }
- break;
- case EE_CHAR_FONTINFO:
- {
- FontFamily e = ((SvxFontItem&)rItem).GetFamily();
- aToolBox.CheckItem( TB_FONT1, e == FAMILY_ROMAN );
- aToolBox.CheckItem( TB_FONT2, e == FAMILY_SWISS );
- }
- break;
- case EE_CHAR_FONTHEIGHT:
- break;
- case EE_CHAR_WEIGHT:
- {
- FontWeight e = ((SvxWeightItem&)rItem).GetWeight();
- aToolBox.CheckItem( TB_BOLD, e == WEIGHT_BOLD );
- }
- break;
- case EE_CHAR_UNDERLINE:
- {
- aToolBox.CheckItem( TB_UNDERLINE, ((SvxUnderlineItem&)rItem).GetLineStyle() );
- }
- break;
- case EE_CHAR_WLM:
- {
- aToolBox.CheckItem( TB_WLM, ((SvxWordLineModeItem&)rItem).GetValue() );
- }
- break;
- case EE_CHAR_PAIRKERNING:
- {
- aToolBox.CheckItem( TB_PKERN, ((SvxAutoKernItem&)rItem).GetValue() );
- }
- break;
- case EE_CHAR_KERNING:
- {
- aToolBox.CheckItem( TB_KERN, (BOOL)((SvxKerningItem&)rItem).GetValue() );
- }
- break;
- case EE_CHAR_ESCAPEMENT:
- {
- aToolBox.CheckItem( TB_SUPER, ((SvxEscapementItem&)rItem).GetEsc() > 0 );
- aToolBox.CheckItem( TB_SUB, ((SvxEscapementItem&)rItem).GetEsc() < 0 );
- }
- break;
- case EE_CHAR_STRIKEOUT:
- break;
- case EE_CHAR_ITALIC:
- {
- FontItalic e = ((SvxPostureItem&)rItem).GetPosture();
- aToolBox.CheckItem( TB_ITALIC, e == ITALIC_NORMAL );
- }
- break;
- case EE_CHAR_OUTLINE:
- break;
- case EE_CHAR_SHADOW:
- break;
- }
- }
- }
-}
-
-IMPL_LINK( EditMainWindow, TBSelect, ToolBox *, p )
-{
- EditView* pEditView = aViewWin.GetEditView();
- EditEngine* pEditEngine = pEditView->GetEditEngine();
- USHORT nId = aToolBox.GetCurItemId();
- BOOL bChecked = aToolBox.IsItemChecked( nId );
- SfxPoolItem* pNewItem = 0;
- switch ( nId )
- {
- case TB_LEFT: pNewItem = new SvxAdjustItem( SVX_ADJUST_LEFT, EE_PARA_JUST );
- break;
- case TB_RIGHT: pNewItem = new SvxAdjustItem( SVX_ADJUST_RIGHT, EE_PARA_JUST );
- break;
- case TB_CENTER: pNewItem = new SvxAdjustItem( SVX_ADJUST_CENTER, EE_PARA_JUST );
- break;
- case TB_BLOCK: pNewItem = new SvxAdjustItem( SVX_ADJUST_BLOCK, EE_PARA_JUST );
- break;
- case TB_HYPH: pNewItem = new SfxBoolItem( EE_PARA_HYPHENATE, !bChecked );
- break;
- case TB_UNDO: pEditView->Undo();
- pEditView->ShowCursor();
- break;
- case TB_REDO: pEditView->Redo();
- pEditView->ShowCursor();
- break;
- case TB_ONLINESPELL: {
- ULONG nControl = pEditView->GetEditEngine()->GetControlWord();
- if ( bChecked )
- nControl = nControl & ~EE_CNTRL_ONLINESPELLING;
- else
- nControl = nControl | EE_CNTRL_ONLINESPELLING;
- pEditView->GetEditEngine()->SetControlWord( nControl );
- }
- break;
- case TB_REDLINES: {
- ULONG nControl = pEditView->GetEditEngine()->GetControlWord();
- if ( !bChecked )
- nControl = nControl & ~EE_CNTRL_NOREDLINES;
- else
- nControl = nControl | EE_CNTRL_NOREDLINES;
- pEditView->GetEditEngine()->SetControlWord( nControl );
- }
- break;
- case TB_AUTOCORRECT: {
- ULONG nControl = pEditView->GetEditEngine()->GetControlWord();
- if ( bChecked )
- nControl = nControl & ~EE_CNTRL_AUTOCORRECT;
- else
- nControl = nControl | EE_CNTRL_AUTOCORRECT;
- pEditView->GetEditEngine()->SetControlWord( nControl );
- }
- break;
- case TB_STDSEL: if ( bChecked )
- pEditView->SetSelectionMode( EE_SELMODE_TXTONLY );
- else
- pEditView->SetSelectionMode( EE_SELMODE_STD );
- break;
- case TB_FLAT: pEditEngine->SetFlatMode( !pEditEngine->IsFlatMode() );
- break;
- case TB_COLORS: {
- ULONG nControl = pEditView->GetEditEngine()->GetControlWord();
- if ( bChecked )
- nControl = nControl | EE_CNTRL_NOCOLORS;
- else
- nControl = nControl & ~EE_CNTRL_NOCOLORS;
- pEditView->GetEditEngine()->SetControlWord( nControl );
- }
-// aViewWin.Invalidate();
- pEditView->GetEditEngine()->Draw( pEditView->GetWindow(), pEditView->GetOutputArea(), pEditView->GetVisArea().TopLeft() );
- break;
- case TB_OUTL: {
- ULONG nControl = pEditView->GetEditEngine()->GetControlWord();
- if ( !bChecked )
- nControl = nControl | EE_CNTRL_OUTLINER;
- else
- nControl = nControl & ~EE_CNTRL_OUTLINER;
- pEditView->GetEditEngine()->SetControlWord( nControl );
- }
- break;
- case TB_POLY: {
- if ( !bChecked )
- CreatePolygon();
- else
- pEditView->GetEditEngine()->ClearPolygon();
- }
- break;
- case TB_IDLE: pEditEngine->EnableIdleFormatter( !pEditEngine->IsIdleFormatterEnabled() );
- break;
- case TB_INSFLD: {
- static BYTE nFld = 0;
- if ( nFld > 2 )
- nFld = 0;
- if ( nFld == 0 )
- {
- SvxFieldItem aFld( SvxURLField( String( RTL_CONSTASCII_USTRINGPARAM( "www.mopo.de" ) ), String( RTL_CONSTASCII_USTRINGPARAM( "Bla" ) ), SVXURLFORMAT_REPR ), EE_FEATURE_FIELD );
- pEditView->InsertField( aFld );
- }
- else if ( nFld == 1 )
- pEditView->InsertField( SvxFieldItem( SvxURLField( String( RTL_CONSTASCII_USTRINGPARAM( "www.mopo.de" ) ), String( RTL_CONSTASCII_USTRINGPARAM( "Morgenpost" ) ), SVXURLFORMAT_URL ), EE_FEATURE_FIELD ) );
- else if ( nFld == 2 )
- pEditView->InsertField( SvxFieldItem( SvxDateField( Date( 1,1,1995 ), SVXDATETYPE_FIX, SVXDATEFORMAT_D ), EE_FEATURE_FIELD ) );
-
- nFld++;
- }
- break;
- case TB_UPDFLD: pEditEngine->UpdateFields();
- break;
- case TB_INSERT: pEditView->SetInsertMode( !pEditView->IsInsertMode() );
- break;
- case TB_FONT1: pNewItem = new SvxFontItem( FAMILY_ROMAN, String( RTL_CONSTASCII_USTRINGPARAM( "Times New Roman" ) ), String(), PITCH_DONTKNOW, RTL_TEXTENCODING_MS_1252, EE_CHAR_FONTINFO );
- break;
- case TB_FONT2: pNewItem = new SvxFontItem( FAMILY_SWISS, String( RTL_CONSTASCII_USTRINGPARAM( "Helv" ) ), String(), PITCH_DONTKNOW, RTL_TEXTENCODING_MS_1252, EE_CHAR_FONTINFO );
- break;
- case TB_BOLD: if ( bChecked )
- pNewItem = new SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT);
- else
- pNewItem = new SvxWeightItem( WEIGHT_BOLD, EE_CHAR_WEIGHT);
- break;
- case TB_ITALIC: if ( bChecked )
- pNewItem = new SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC );
- else
- pNewItem = new SvxPostureItem( ITALIC_NORMAL, EE_CHAR_ITALIC );
- break;
- case TB_UNDERLINE: if ( bChecked )
- pNewItem = new SvxUnderlineItem( UNDERLINE_NONE, EE_CHAR_UNDERLINE );
- else
- pNewItem = new SvxUnderlineItem( UNDERLINE_SINGLE, EE_CHAR_UNDERLINE );
- break;
- case TB_WLM: pNewItem = new SvxWordLineModeItem( !bChecked, EE_CHAR_WLM );
- break;
- case TB_PKERN: pNewItem = new SvxAutoKernItem( !bChecked, EE_CHAR_PAIRKERNING );
- break;
- case TB_KERN: if ( bChecked )
- pNewItem = new SvxKerningItem( 0, EE_CHAR_KERNING );
- else
- pNewItem = new SvxKerningItem( 100, EE_CHAR_KERNING);
- break;
- case TB_SUPER: if ( bChecked )
- pNewItem = new SvxEscapementItem( SVX_ESCAPEMENT_OFF, EE_CHAR_ESCAPEMENT);
- else
-// pNewItem = new SvxEscapementItem( SVX_ESCAPEMENT_SUPERSCRIPT, EE_CHAR_ESCAPEMENT);
- pNewItem = new SvxEscapementItem( 50, 100, EE_CHAR_ESCAPEMENT );
- break;
- case TB_SUB: if ( bChecked )
- pNewItem = new SvxEscapementItem( SVX_ESCAPEMENT_OFF, EE_CHAR_ESCAPEMENT);
- else
-// pNewItem = new SvxEscapementItem( SVX_ESCAPEMENT_SUBSCRIPT, EE_CHAR_ESCAPEMENT);
- pNewItem = new SvxEscapementItem( -50, 100, EE_CHAR_ESCAPEMENT );
- break;
- case TB_GREEN: pNewItem = new SvxColorItem( Color(COL_GREEN), EE_CHAR_COLOR);
- break;
- case TB_RED: pNewItem = new SvxColorItem( Color(COL_RED), EE_CHAR_COLOR);
- break;
- case TB_BLACK: pNewItem = new SvxColorItem( Color(COL_BLACK), EE_CHAR_COLOR);
- break;
- case TB_SBL: pNewItem = new SvxLineSpacingItem( 0, EE_PARA_SBL );
- if ( bChecked )
- {
- ((SvxLineSpacingItem*)pNewItem)->SetInterLineSpace( 0 );
- }
- else
- {
- ((SvxLineSpacingItem*)pNewItem)->SetPropLineSpace( 150 );
- }
- break;
- case TB_SBSA: pNewItem = new SvxULSpaceItem( EE_PARA_ULSPACE );
- if ( !bChecked )
- {
- ((SvxULSpaceItem*)pNewItem)->SetUpper( 400 );
- ((SvxULSpaceItem*)pNewItem)->SetLower( 400 );
- }
- break;
- case TB_LR: pNewItem = new SvxLRSpaceItem( EE_PARA_LRSPACE );
- if ( !bChecked )
- {
- ((SvxLRSpaceItem*)pNewItem)->SetTxtLeft( 1000 );
- ((SvxLRSpaceItem*)pNewItem)->SetTxtFirstLineOfst( -500 );
- ((SvxLRSpaceItem*)pNewItem)->SetRight( 500 );
- }
- break;
- case TB_DEFTAB: if ( bChecked )
- pEditEngine->SetDefTab( 2000 );
- else
- pEditEngine->SetDefTab( 600 );
- pEditView->ShowCursor();
- aToolBox.CheckItem( nId, !bChecked );
- break;
- case TB_DRAW: {
- pTmpWindow->SetMapMode( aViewWin.GetMapMode() );
- pTmpWindow->SetBackgroundBrush( Brush( Color( COL_GRAY ) ) );
- pTmpWindow->SetFillInBrush( Brush( Color( COL_LIGHTGRAY ) ) );
- pTmpWindow->Show();
- pTmpWindow->Invalidate();
- pTmpWindow->Update();
- pTmpWindow->DrawText( Point( 20, 20 ), String( RTL_CONSTASCII_USTRINGPARAM( "It's a Test..." ) ) );
- Rectangle aRect( Point( 500, 500 ), Size( 10000, 4000 ) );
- pTmpWindow->DrawRect( aRect );
- pEditEngine->Draw( pTmpWindow, aRect, Point( 0, 0 ) );
- nRotation = 0;
- }
- break;
- case TB_ROTATE: {
- nRotation += 100;
- if ( nRotation == 3600 )
- nRotation = 0;
- pTmpWindow->SetMapMode( aViewWin.GetMapMode() );
- pTmpWindow->SetBackgroundBrush( Brush( Color( COL_LIGHTGRAY ) ) );
- pTmpWindow->SetFillInBrush( Brush( Color( COL_LIGHTGRAY ) ) );
- pTmpWindow->Show();
- pTmpWindow->Invalidate();
- pTmpWindow->Update();
- pTmpWindow->DrawText( Point( 20, 20 ), String( RTL_CONSTASCII_USTRINGPARAM( "It's a Test..." ) ) );
- Rectangle aRect( Point( 500, 500 ), Size( 10000, 4000 ) );
- pEditEngine->Draw( pTmpWindow, Point( 2000, 4000 ), nRotation );
- }
- break;
-
- case TB_MOVE:
- {
- ESelection aESel = pEditView->GetSelection();
- USHORT nStartPara = Min( aESel.nStartPara, aESel.nEndPara );
- USHORT nEndPara = Max( aESel.nStartPara, aESel.nEndPara );
- pEditView->MoveParagraphs( Range(nStartPara,nEndPara), 2 );
- }
- break;
- case TB_PARATTR1:
- {
- pEditEngine->SetUpdateMode( FALSE );
- USHORT nPara = 0;
- SfxItemSet aSet( pEditEngine->GetEmptyItemSet() );
- aSet.Put( SvxFontItem( FAMILY_DECORATIVE, String( RTL_CONSTASCII_USTRINGPARAM( "StarBats" ) ), String(),PITCH_DONTKNOW, RTL_TEXTENCODING_MS_1252, EE_CHAR_FONTINFO ) );
- aSet.Put( SvxColorItem( Color(COL_MAGENTA), EE_CHAR_COLOR ) );
- aSet.Put( SvxFontHeightItem(600, 100, EE_CHAR_FONTHEIGHT) );
- aSet.Put( SvxPostureItem( ITALIC_NORMAL, EE_CHAR_ITALIC ) );
- aSet.Put( SvxLRSpaceItem( 0, 0, 1000, 0, EE_PARA_LRSPACE ) );
- pEditView->SetParaAttribs( aSet, nPara );
- pEditEngine->SetUpdateMode( TRUE );
- pEditView->ShowCursor();
- }
- break;
- case TB_BINOBJ1:
- {
- delete pBinObj;
- pBinObj = pEditEngine->CreateTextObject();
- }
- break;
- case TB_BINOBJ1b:
- {
- delete pBinObj;
- pBinObj = pEditView->CreateTextObject();
- }
- break;
- case TB_CLONEBIN:
- {
- if ( pBinObj )
- {
- EditTextObject* p = pBinObj->Clone();
- delete pBinObj;
- pBinObj = p;
- }
- }
- break;
- case TB_BINOBJ2b:
- {
- if ( pBinObj )
- {
- pEditView->InsertText( *pBinObj );
- }
- }
- break;
- case TB_BINOBJ3:
- {
- if ( !pFileDialogBox2->Execute() )
- return FALSE;
- DirEntry aDirEntry( pFileDialogBox2->GetPath() );
- SvFileStream aStrm( aDirEntry.GetFull(), STREAM_WRITE | STREAM_TRUNC );
- EditTextObject* pTmpObj = pEditEngine->CreateTextObject();
- pTmpObj->Store( aStrm );
- DBG_ASSERT( !aStrm.GetError(), "Store: Error!" );
- delete pTmpObj;
- }
- break;
- case TB_BINOBJ4:
- {
- if ( !pFileDialogBox->Execute() )
- return FALSE;
- DirEntry aDirEntry( pFileDialogBox->GetPath() );
- SvFileStream aStrm( aDirEntry.GetFull(), STREAM_READ );
- delete pBinObj;
- pBinObj = EditTextObject::Create( aStrm );
-// EditTextObject* pTmpObj = pEditEngine->CreateTextObject( aStrm );
-// pEditEngine->SetText( *pTmpObj );
-// pEditView->ShowCursor();
-// delete pTmpObj;
- }
- break;
- case TB_OPEN:
- case TB_OPEN2:
- {
- if ( !pFileDialogBox->Execute() )
- return FALSE;
- DirEntry aDirEntry( pFileDialogBox->GetPath() );
- aDirEntry.ToAbs();
- String aFileName( aDirEntry.GetFull() );
- SvFileStream aStrm( aFileName, STREAM_READ );
- if ( aStrm.GetError() )
- InfoBox( 0, String( RTL_CONSTASCII_USTRINGPARAM( "StreamError!" ) ) ).Execute();
- Application::EnterWait();
- if ( nId == TB_OPEN )
- {
- if ( aDirEntry.GetExtension().EqualsIgnoreCaseAscii( "rtf" ) )
- pEditEngine->Read( aStrm, EE_FORMAT_RTF );
- if ( aDirEntry.GetExtension().EqualsIgnoreCaseAscii( "htm" ) )
- pEditEngine->Read( aStrm, EE_FORMAT_HTML );
- if ( aDirEntry.GetExtension().EqualsIgnoreCaseAscii( "html" ) )
- pEditEngine->Read( aStrm, EE_FORMAT_HTML );
- else if ( aDirEntry.GetExtension().EqualsIgnoreCaseAscii( "bin" ) )
- pEditEngine->Read( aStrm, EE_FORMAT_BIN );
- else
- pEditEngine->Read( aStrm, EE_FORMAT_TEXT );
-
- pEditView->ShowCursor();
- }
- else
- {
- if ( aDirEntry.GetExtension().EqualsIgnoreCaseAscii( "rtf" ) )
- pEditView->Read( aStrm, EE_FORMAT_RTF );
- else if ( aDirEntry.GetExtension().EqualsIgnoreCaseAscii( "bin" ) )
- pEditView->Read( aStrm, EE_FORMAT_BIN );
- else if ( aDirEntry.GetExtension().EqualsIgnoreCaseAscii( "html" ) )
- pEditView->Read( aStrm, EE_FORMAT_HTML );
- else if ( aDirEntry.GetExtension().EqualsIgnoreCaseAscii( "htm" ) )
- pEditView->Read( aStrm, EE_FORMAT_HTML );
- else
- pEditView->Read( aStrm, EE_FORMAT_TEXT );
- }
-
- Application::LeaveWait();
-
- }
- break;
- case TB_PRINT:
- {
- pPrinter->SetPageQueueSize( 1 );
- PrintDialog aPrnDlg( this );
- aPrnDlg.SetPrinter( pPrinter );
- if ( aPrnDlg.Execute() )
- {
- pPrinter->StartJob( String( RTL_CONSTASCII_USTRINGPARAM( "SvEdit - PrinterTest" ) ) );
- pPrinter->StartPage();
- Size aSz( pEditEngine->CalcTextWidth(), pEditEngine->GetTextHeight() );
- Pen aPen( PEN_SOLID );
- aPen.SetColor( Color( COL_BLACK ) );
- pPrinter->SetPen( aPen );
- Rectangle aR( Point( 2000, 4000 ), aSz );
- pPrinter->DrawRect( aR );
- // So folgt auf IIISi, 75DPI kein Ausdruck!
-// pPrinter->SetClipRegion( Region( aR ) );
- pEditEngine->Draw( pPrinter, Point( 2000, 4000 ), nRotation );
-// pPrinter->SetClipRegion();
- pPrinter->EndPage();
- pPrinter->EndJob();
- }
- }
- break;
- case TB_SAVE:
- case TB_SAVE2:
- {
- if ( !pFileDialogBox2->Execute() )
- return FALSE;
- DirEntry aDirEntry( pFileDialogBox2->GetPath() );
-// DirEntry aDirEntry( String( RTL_CONSTASCII_USTRINGPARAM( "d:\\xxx.rtf" ) ) );
- SvFileStream aStrm( aDirEntry.GetFull(), STREAM_WRITE | STREAM_TRUNC );
- Application::EnterWait();
- if ( nId == TB_SAVE )
- {
- if ( aDirEntry.GetExtension().EqualsIgnoreCaseAscii( "rtf") )
- pEditEngine->Write( aStrm, EE_FORMAT_RTF );
- else if ( aDirEntry.GetExtension().EqualsIgnoreCaseAscii( "bin" ) )
- pEditEngine->Write( aStrm, EE_FORMAT_BIN );
- else if ( aDirEntry.GetExtension().EqualsIgnoreCaseAscii( "html" ) )
- pEditEngine->Write( aStrm, EE_FORMAT_HTML );
- else if ( aDirEntry.GetExtension().EqualsIgnoreCaseAscii( "htm" ) )
- pEditEngine->Write( aStrm, EE_FORMAT_HTML );
- else
- pEditEngine->Write( aStrm, EE_FORMAT_TEXT );
- }
- else
- {
- if ( aDirEntry.GetExtension().EqualsIgnoreCaseAscii( "rtf" ) )
- pEditView->Write( aStrm, EE_FORMAT_RTF );
- else if ( aDirEntry.GetExtension().EqualsIgnoreCaseAscii( "bin" ) )
- pEditView->Write( aStrm, EE_FORMAT_BIN );
- else if ( aDirEntry.GetExtension().EqualsIgnoreCaseAscii( "html" ) )
- pEditView->Write( aStrm, EE_FORMAT_HTML );
- else if ( aDirEntry.GetExtension().EqualsIgnoreCaseAscii( "htm" ) )
- pEditView->Write( aStrm, EE_FORMAT_HTML );
- else
- pEditView->Write( aStrm, EE_FORMAT_TEXT );
- }
- Application::LeaveWait();
- }
- break;
- case TB_ATTRIBS:
- {
- SfxItemSet aCurSet = pEditView->GetAttribs();
- XubString aDebStr( String( RTL_CONSTASCII_USTRINGPARAM( "Attribute in Selektion:" ) ) );
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "\nVorlage:" ) );
- XubString aStyle;
-// pEditView->GetStyleSheet( aStyle, eFam );
- aDebStr += aStyle;
- for ( USHORT nWhich = EE_ITEMS_START; nWhich <= EE_ITEMS_END; nWhich++)
- {
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "\n" ) );
- aDebStr += OUString::number( nWhich );
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "\t" ) );
- if ( aCurSet.GetItemState( nWhich ) == SFX_ITEM_OFF )
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "---" ) );
- else if ( aCurSet.GetItemState( nWhich ) == SFX_ITEM_DONTCARE )
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "XXX" ) );
- else if ( aCurSet.GetItemState( nWhich ) == SFX_ITEM_ON )
- {
- const SfxPoolItem& rItem = aCurSet.Get( nWhich );
- switch ( nWhich )
- {
- case EE_PARA_LRSPACE:
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "FI=" ) );
- aDebStr += OUString::number( ((SvxLRSpaceItem&)rItem).GetTxtFirstLineOfst() );
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( ", LI=" ) );
- aDebStr += OUString::number( ((SvxLRSpaceItem&)rItem).GetTxtLeft() );
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( ", RI=" ) );
- aDebStr += OUString::number( ((SvxLRSpaceItem&)rItem).GetRight() );
- break;
- case EE_PARA_ULSPACE:
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "SB=" ) );
- aDebStr += OUString::number( ((SvxULSpaceItem&)rItem).GetUpper() );
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( ", SA=" ) );
- aDebStr += OUString::number( ((SvxULSpaceItem&)rItem).GetLower() );
- break;
- case EE_PARA_SBL:
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "SBL=" ) );
- aDebStr += OUString::number( ((SvxLineSpacingItem&)rItem).GetInterLineSpace() );
- break;
- case EE_PARA_JUST:
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "SvxAdust=" ) );
- aDebStr += OUString::number( (USHORT)((SvxAdjustItem&)rItem).GetAdjust() );
- break;
- case EE_PARA_TABS:
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "Tabs = ?" ) );
- break;
- case EE_CHAR_COLOR:
- {
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "Color= " ) );
- Color aColor( ((SvxColorItem&)rItem).GetValue() );
- aDebStr += OUString::number( aColor.GetRed() );
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( ", " ) );
- aDebStr += OUString::number( aColor.GetGreen() );
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( ", " ) );
- aDebStr += OUString::number( aColor.GetBlue() );
- }
- break;
- case EE_CHAR_FONTINFO:
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "Font=" ) );
- aDebStr += ((SvxFontItem&)rItem).GetFamilyName();
- break;
- case EE_CHAR_FONTHEIGHT:
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "Groesse=" ) );
- aDebStr += OUString::number( ((SvxFontHeightItem&)rItem).GetHeight() );
- break;
- case EE_CHAR_WEIGHT:
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "FontWeight=" ) );
- aDebStr += OUString::number( ((SvxWeightItem&)rItem).GetWeight() );
- break;
- case EE_CHAR_UNDERLINE:
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "FontUnderline=" ) );
- aDebStr += OUString::number( ((SvxUnderlineItem&)rItem).GetLineStyle() );
- break;
- case EE_CHAR_WLM:
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "WordLineMode=" ) );
- aDebStr += OUString::number( ((SvxWordLineModeItem&)rItem).GetValue() );
- break;
- case EE_CHAR_STRIKEOUT:
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "FontStrikeout=" ) );
- aDebStr += OUString::number( ((SvxCrossedOutItem&)rItem).GetStrikeout() );
- break;
- case EE_CHAR_ITALIC:
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "FontPosture=" ) );
- aDebStr += OUString::number( ((SvxPostureItem&)rItem).GetPosture() );
- break;
- case EE_CHAR_OUTLINE:
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "FontOutline=" ) );
- aDebStr += OUString::number( ((SvxContourItem&)rItem).GetValue() );
- break;
- case EE_CHAR_SHADOW:
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "FontShadowed=" ) );
- aDebStr += OUString::number( ((SvxShadowedItem&)rItem).GetValue() );
- break;
- }
- }
- else
- aDebStr += String( RTL_CONSTASCII_USTRINGPARAM( "?" ) );
- }
- InfoBox( 0, aDebStr ).Execute();
- }
- break;
- }
-
- if ( pNewItem )
- {
- SfxItemSet aSet = pEditView->GetEmptyItemSet();
- aSet.Put( *pNewItem );
- pEditView->SetAttribs( aSet );
- delete pNewItem;
- }
- UpdateToolBox();
- return 0;
-}
-
-void EditMainWindow::CreatePolygon()
-{
- EditView* pEditView = aViewWin.GetEditView();
- Size aSz = pEditView->GetWindow()->GetOutputSize();
- Point aOffset( aSz.Width()/8, aSz.Height()/8 );
- aSz.Width() *= 3;
- aSz.Width() /= 4;
- aSz.Height() *= 3;
- aSz.Height() /= 4;
- Polygon aPoly( 5 );
- aPoly.SetPoint( Point( aSz.Width()/2, 0 ), 0 );
- aPoly.SetPoint( Point( aSz.Width(), aSz.Height()/3 ), 1 );
- aPoly.SetPoint( Point( aSz.Width()/2, aSz.Height() ), 2 );
- aPoly.SetPoint( Point( 0, aSz.Height()/2 ), 3 );
- aPoly.SetPoint( Point( aSz.Width()/2, 0 ), 4 );
- PolyPolygon aPPoly( aPoly );
- pEditView->GetEditEngine()->SetPolygon( aPPoly );
- pEditView->SetOutputArea( Rectangle( aOffset, aSz ) );
- ULONG nWord = pEditView->GetControlWord();
- nWord &= ~(EV_CNTRL_AUTOSCROLL);
- pEditView->SetControlWord( nWord );
- aViewWin.Invalidate();
-}
-
-void __EXPORT EditMainWindow::GetFocus()
-{
- aViewWin.GrabFocus();
-}
-
-IMPL_LINK_INLINE_START( EditMainWindow, HScrollHdl, ScrollBar *, pScrl )
-{
- EditView* pEditView = aViewWin.GetEditView();
- pEditView->Scroll( -pScrl->GetDelta(), 0, RGCHK_PAPERSZ1 );
- return 0;
-}
-IMPL_LINK_INLINE_END( EditMainWindow, HScrollHdl, ScrollBar *, pScrl )
-
-IMPL_LINK_INLINE_START( EditMainWindow, VScrollHdl, ScrollBar *, pScrl )
-{
- EditView* pEditView = aViewWin.GetEditView();
- pEditView->Scroll( 0, -pScrl->GetDelta(), RGCHK_PAPERSZ1 );
- return 0;
-}
-IMPL_LINK_INLINE_END( EditMainWindow, VScrollHdl, ScrollBar *, pScrl )
-
-void EditMainWindow::SetScrollBarRanges()
-{
- EditView* pEditView = aViewWin.GetEditView();
- long y = pEditView->GetEditEngine()->GetTextHeight();
- long x = pEditView->GetEditEngine()->GetPaperSize().Width();
-
- aHScrollBar.SetRange( Range( 0, x ) );
- aVScrollBar.SetRange( Range( 0, y ) );
-}
-
-void EditMainWindow::SetScrollBars()
-{
- EditView* pEditView = aViewWin.GetEditView();
- Size aSz = GetOutputSizePixel();
- Size aRealSz( aSz );
- long nScrollbarWidthPixel = aVScrollBar.GetSizePixel().Width();
- long nTBHeight = aToolBox.GetSizePixel().Height();
- aSz.Height() -= nTBHeight;
- Size aOrgSz( aSz );
-
- // VScroll...
- aSz.Height() += 2;
- Point aPoint( ( aSz.Width()- nScrollbarWidthPixel+1 ), -1+nTBHeight);
- aSz.Width() = nScrollbarWidthPixel;
- aVScrollBar.SetPosSizePixel( aPoint, aSz );
-
- // HScroll...
- aSz = aOrgSz;
- Point aPoint2( 0, aRealSz.Height()-aHScrollBar.GetSizePixel().Height()+1 ); // TB-Height schon drin!
- aSz.Width() -= aVScrollBar.GetSizePixel().Width();
- aSz.Width() += 2;
-
- aSz.Height() = nScrollbarWidthPixel;
- aHScrollBar.SetPosSizePixel( aPoint2, aSz );
-
- aHScrollBar.SetVisibleSize( pEditView->GetOutputArea().GetWidth() );
- aVScrollBar.SetVisibleSize( pEditView->GetOutputArea().GetHeight() );
-
- SetScrollBarRanges();
-
- aVScrollBar.Show();
- aHScrollBar.Show();
-}
-
-void __EXPORT EditMainWindow::Resize()
-{
- long nBorder = aVScrollBar.GetSizePixel().Width();
- long nExtra = 10;
- Size aTBSz = aToolBox.CalcWindowSizePixel();
- Size aOutSzPixel( GetOutputSizePixel() );
- aToolBox.SetSizePixel( Size( aOutSzPixel.Width(), aTBSz.Height()) );
-
- aViewWin.SetSizePixel( Size( aOutSzPixel.Width()-nBorder-2*nExtra, aOutSzPixel.Height()-aTBSz.Height()-2*nExtra-nBorder) );
-
- aViewWin.SetPosPixel( Point( nExtra, aTBSz.Height()+nExtra ) );
-
- SetScrollBars();
-
- EditView* pEditView = aViewWin.GetEditView();
- if ( pEditView && pEditView->GetEditEngine()->GetPolygon() )
- CreatePolygon();
-}
-
-IMPL_LINK( EditMainWindow, ShowStatus, EditStatus *, pStat )
-{
- EditView* pEditView = aViewWin.GetEditView();
- EditEngine* pEditEngine = pEditView->GetEditEngine();
- if ( ( pStat->GetStatusWord() & EE_STAT_TEXTWIDTHCHANGED ) || ( pStat->GetStatusWord() & EE_STAT_TEXTHEIGHTCHANGED ) )
- {
- aViewWin.MarkOutputArea();
- if ( pEditEngine->GetTextHeight() < (ULONG)pEditView->GetOutputArea().GetHeight() )
- {
- // Wird durch RGCHK_PAPERSZ1 'geklippt'
- if ( !( pEditEngine->GetControlWord() & EE_CNTRL_AUTOPAGESIZE) )
- pEditView->Scroll( -(long)pEditEngine->CalcTextWidth(), -(long)pEditEngine->GetTextHeight(), RGCHK_PAPERSZ1 );
- }
- SetScrollBarRanges();
- }
- if ( pStat->GetStatusWord() & EE_STAT_HSCROLL )
- aHScrollBar.SetThumbPos( pEditView->GetVisArea().Left() );
- if ( pStat->GetStatusWord() & EE_STAT_VSCROLL )
- aVScrollBar.SetThumbPos( pEditView->GetVisArea().Top() );
-
- return 0;
-}
-
-
-EditViewWindow::~EditViewWindow()
-{
- pEditEngine->RemoveView( pEditView );
- delete pEditView;
- // Beim Zerstoeren der Styles am Ende, EditEngine noch nicht kaputt,
- // wird der Handler gerufen, ich zerstore hier aber schon die View!
- pEditEngine->SetStatusEventHdl( Link() );
-// SvxAutoCorrect* pAutoCorrekt = pEditEngine->GetAutoCorrect();
-// pEditEngine->SetAutoCorrect( 0 );
-// delete pAutoCorrekt;
- delete pEditEngine;
-}
-
-EditViewWindow::EditViewWindow( Window* pParent ) :
- Window( pParent ), aURLPtr( POINTER_HAND )
-{
- SetBackgroundBrush( Brush( Color( COL_WHITE ) ) );
- SetMapMode( MAP_100TH_MM );
-// EnableDrop();
-
- SfxItemPool* pPool = EditEngine::CreatePool();
- Font aFont = GetSettings().GetStyleSettings().GetAppFont();
- MapMode aPntMode( MAP_POINT );
- MapMode aCurrent( GetMapMode() );
- Size aSz( LogicToLogic( Size( 12, 0 ), &aPntMode, &aCurrent ) );
- aFont.SetName( String( RTL_CONSTASCII_USTRINGPARAM( "Times New Roman" ) ) );
- pPool->SetPoolDefaultItem( SvxFontItem( aFont.GetFamily(), aFont.GetName(), String(),aFont.GetPitch(), aFont.GetCharSet(), EE_CHAR_FONTINFO ) );
- pPool->SetPoolDefaultItem( SvxFontHeightItem( aSz.Width(), 100, EE_CHAR_FONTHEIGHT ) );
- pEditEngine = new MyEditEngine( pPool );
-
- Size aPaperSz( 10000,8000 );
- pEditEngine->SetPaperSize( aPaperSz );
-
- pEditView = new EditView( pEditEngine, this );
- pEditView->SetBackgroundColor( Color( COL_WHITE ) );
- pEditView->SetOutputArea( Rectangle( Point( 100, 100 ), aPaperSz ) );
- pEditEngine->SetDefaultLanguage( LANGUAGE_ENGLISH );
- pEditEngine->InsertView( pEditView );
-
- SetPosSizePixel( Point( 10, 10 ), Size( 600, 400 ) );
- SetPen( PEN_NULL );
- Show();
-
- // Feldbefehle grau hinterlegen
- ULONG n = pEditEngine->GetControlWord();
- n = n | (EE_CNTRL_MARKFIELDS|EE_CNTRL_AUTOCOMPLETE);
- pEditEngine->SetControlWord( n );
-
- // Test: Autozentrierung
-// ULONG n = pEditEngine->GetControlWord();
-// n = n | EE_CNTRL_AUTOPAGESIZE;
-// pEditEngine->SetControlWord( n );
-
- // OneLineSpeling
-#ifdef WNT
-// pEditEngine->CreateSpeller( DirEntry( String( RTL_CONSTASCII_USTRINGPARAM( "n:\\offenv\\wnti" ) ) ),
-// DirEntry( String( RTL_CONSTASCII_USTRINGPARAM( "n:\\offenv\\wnti" ) ) ) );
-// pEditEngine->GetSpeller()->SetActualLanguage( LANGUAGE_GERMAN );
-// pEditEngine->GetSpeller()->SetDefaultLanguage( LANGUAGE_GERMAN );
-// pEditEngine->GetSpeller()->SetMinTrail( 2 );
-
- // AutoCorrect wird nie zerstoert
-// pEditEngine->SetAutoCorrect( new SvxAutoCorrect( String( RTL_CONSTASCII_USTRINGPARAM( "d:\\prj\\office\\autotext\\autocorr.dat" ) ) ) );
-#endif
-}
-
-void __EXPORT EditViewWindow::Paint( const Rectangle& rRec )
-{
- if ( pEditView->GetEditEngine()->GetPolygon() )
- {
- // Die Punkte des Polygons beziehen sich auf die View...
- MapMode aMapMode( GetMapMode() );
- aMapMode.SetOrigin( pEditView->GetOutputArea().TopLeft() );
- SetMapMode( aMapMode );
- DrawPolyPolygon( *pEditView->GetEditEngine()->GetPolygon() );
- aMapMode.SetOrigin( Point() );
- SetMapMode( aMapMode );
- }
- pEditView->Paint( rRec );
- MarkOutputArea();
-}
-
-void EditViewWindow::MarkOutputArea()
-{
- static Rectangle aCurFrame;
- Rectangle aOutArea( pEditView->GetOutputArea() );
- aOutArea = LogicToPixel( aOutArea );
- aOutArea.Left()--;
- aOutArea.Right()++;
- aOutArea.Top()--;
- aOutArea.Bottom()++;
- aOutArea = PixelToLogic( aOutArea );
- SetPen( Pen( Color( COL_RED ) ) );
- SetFillInBrush( Brush( BRUSH_NULL ) );
- DrawRect( aOutArea );
- if ( !aCurFrame.IsEmpty() )
- {
- if ( aCurFrame.Left() < aOutArea.Left() )
- Invalidate( Rectangle( aCurFrame.TopLeft(), Size( aOutArea.Left()-aCurFrame.Left(), aCurFrame.GetHeight() ) ) );
- if ( aCurFrame.Right() > aOutArea.Right() )
- {
- long nW = aCurFrame.Right() - aOutArea.Right();
- Point aPos( aCurFrame.TopRight() );
- aPos.X() -= nW;
- Invalidate( Rectangle( aPos, Size( nW, aCurFrame.GetHeight() ) ) );
- }
- if ( aCurFrame.Top() < aOutArea.Top() )
- Invalidate( Rectangle( aCurFrame.TopLeft(), Size( aCurFrame.GetWidth(), aOutArea.Top() - aCurFrame.Top() ) ) );
- if ( aCurFrame.Bottom() > aOutArea.Bottom() )
- {
- long nH = aCurFrame.Bottom() - aOutArea.Bottom();
- Point aPos( aCurFrame.BottomLeft() );
- aPos.Y() -= nH;
- Invalidate( Rectangle( aPos, Size( aCurFrame.GetWidth(), nH ) ) );
- }
- }
- aCurFrame = aOutArea;
-}
-
-void __EXPORT EditViewWindow::Resize()
-{
- Size aPaperSz( GetOutputSize() );
- pEditView->SetOutputArea( Rectangle( Point(0,0), aPaperSz ) );
- pEditEngine->SetPaperSize( Size( aPaperSz.Width()*1, aPaperSz.Height()*1 ) );
- pEditView->ShowCursor();
- Invalidate();
-}
-
-void __EXPORT EditViewWindow::KeyInput( const KeyEvent& rKEvt )
-{
- sal_Unicode nCharCode = rKEvt.GetCharCode();
-
- USHORT nCode = rKEvt.GetKeyCode().GetCode();
- // Auswertung fuer besondere Einstellungen....
- if ( ( nCode == KEY_A) && rKEvt.GetKeyCode().IsMod1() )
- pEditView->SetSelection( ESelection( 0, 0, 0xFFFF, 0xFFFF ) );
- else if ( ( nCode == KEY_R ) && rKEvt.GetKeyCode().IsMod2() )
- Invalidate();
- else if ( ( nCode == KEY_L ) && rKEvt.GetKeyCode().IsMod2() )
- {
- ULONG n = pEditEngine->GetControlWord();
- n = n | EE_CNTRL_ONECHARPERLINE;
- pEditEngine->SetControlWord( n );
- pEditEngine->QuickFormatDoc();
- }
- else if ( ( nCode == KEY_Z ) && rKEvt.GetKeyCode().IsMod2() )
- {
- pEditView->RemoveAttribs();
- }
- else if ( ( nCode == KEY_V ) && rKEvt.GetKeyCode().IsMod2() )
- {
- pEditEngine->SetVertical( TRUE );
- Invalidate();
- }
- else if ( ( ( nCode == KEY_ADD ) || ( nCode == KEY_SUBTRACT ) )&& rKEvt.GetKeyCode().IsMod2() )
- {
- short nDiff = ( nCode == KEY_ADD ) ? (+5) : (-5);
- if ( nZoom > 1000 )
- nDiff *= 20;
- if ( nZoom <= 25 )
- nDiff /= 5;
- if ( ( nZoom + nDiff ) > 0 )
- nZoom += nDiff;
- MapMode aMapMode( MAP_100TH_MM, Point(0,0), Fraction(nZoom,100), Fraction(nZoom,100) );
- SetMapMode( aMapMode );
- ((EditMainWindow*)GetParent())->SetTitle();
-
- if ( rKEvt.GetKeyCode().IsMod1() )
- {
- InfoBox( 0, String( RTL_CONSTASCII_USTRINGPARAM( "ChangingRefMapMode..." ) ) ).Execute();
- pEditEngine->SetRefMapMode( aMapMode );
- }
- Invalidate();
- }
- else if ( rKEvt.GetKeyCode().IsMod2() &&
- ( ( nCode == KEY_UP) || ( nCode == KEY_DOWN ) ||
- ( nCode == KEY_LEFT ) || ( nCode == KEY_RIGHT ) ) )
- {
- if( rKEvt.GetKeyCode().IsMod1() )
- {
- ULONG nCtrl = pEditEngine->GetControlWord();
- if ( ! ( nCtrl & EE_CNTRL_STRETCHING ) )
- {
- nCtrl |= EE_CNTRL_STRETCHING;
- pEditEngine->SetControlWord( nCtrl );
- }
- USHORT nX, nY;
- pEditEngine->GetGlobalCharStretching( nX, nY );
- if ( ( nCode == KEY_DOWN ) && ( nY > 5 ) )
- nY += 5;
- else if ( nCode == KEY_UP )
- nY -= 5;
- else if ( nCode == KEY_RIGHT )
- nX += 5;
- else if ( ( nCode == KEY_LEFT ) && ( nX > 5 ) )
- nX -= 5;
- pEditEngine->SetGlobalCharStretching( nX, nY );
- ((EditMainWindow*)GetParent())->SetTitle();
- }
- else // ZeichenAttr
- {
- SfxItemSet aAttrs( pEditView->GetAttribs() );
- SfxItemSet aNewAttrs( pEditEngine->GetEmptyItemSet() );
- const SvxFontWidthItem& rItem = (const SvxFontWidthItem&)aAttrs.Get( EE_CHAR_FONTWIDTH );
- USHORT nProp = rItem.GetProp();
- if ( nCode == KEY_RIGHT )
- nProp += 5;
- else if ( ( nCode == KEY_LEFT ) && ( nProp > 5 ) )
- nProp -= 5;
- aNewAttrs.Put( SvxFontWidthItem( 0, nProp, EE_CHAR_FONTWIDTH ) );
- pEditView->SetAttribs( aNewAttrs );
- }
- }
- else if ( ( nCode == KEY_O ) && rKEvt.GetKeyCode().IsMod2() )
- {
- MapMode aMapMode( GetMapMode() );
- aMapMode.SetOrigin( Point( 41, 41 ) );
- SetMapMode( aMapMode );
- Invalidate();
- }
- else if ( ( nCode == KEY_B ) && rKEvt.GetKeyCode().IsMod2() )
- {
- SfxItemSet aSet = pEditView->GetEmptyItemSet();
- aSet.Put( SvxFontHeightItem(800, 100, EE_CHAR_FONTHEIGHT) );
- pEditView->SetAttribs( aSet );
- }
- else if ( ( nCode == KEY_P ) && rKEvt.GetKeyCode().IsMod2() )
- {
-// ESelection aSel = pEditView->GetSelection();
-// for ( ULONG n = aSel.nStartPara; n <= aSel.nEndPara; n++ )
-// {
-// InfoBox( 0, pEditEngine->GetText( n ) ).Execute();
-// }
- InfoBox( 0, pEditView->GetSelected() ).Execute();
-
- }
- else if ( rKEvt.GetKeyCode().IsMod2() &&
- ( nCode >= KEY_1 ) && ( nCode <= KEY_9 ) )
- {
- ULONG nEECtrl = pEditEngine->GetControlWord();
- nEECtrl = nEECtrl | EE_CNTRL_AUTOPAGESIZE;
- pEditEngine->SetControlWord( nEECtrl );
-
- ULONG nEVCtrl = pEditView->GetControlWord();
- nEVCtrl |= EV_CNTRL_AUTOSIZE;
- pEditView->SetControlWord( nEVCtrl );
-
- pEditView->SetAnchorMode( (EVAnchorMode)(nCode-KEY_1) );
- pEditView->SetOutputArea( Rectangle( Point(0,0), GetOutputSize() ) );
- pEditEngine->SetMaxAutoPaperSize( GetOutputSize() );
- pEditEngine->SetPaperSize( Size( 0, 0 ) );
- }
- else if ( rKEvt.GetKeyCode().IsMod2() && ( nCode == KEY_0 ) )
- {
- ULONG nEVCtrl = pEditView->GetControlWord();
- nEVCtrl = nEVCtrl | EV_CNTRL_AUTOSIZE;
- pEditView->SetControlWord( nEVCtrl );
-
- Size aOutSz( GetOutputSize() );
- Size aPaperSz( aOutSz.Width() / 2, 0 );
- pEditView->SetOutputArea( Rectangle( Point(), aPaperSz ) );
- pEditEngine->SetPaperSize( aPaperSz );
- // Max-Height wird bei View verwendet,
- // MinSize/MaxSize nur, wenn AUTOPAGESIZE ( KEY_1 - KEY_9 )
- pEditEngine->SetMaxAutoPaperSize( Size( aOutSz.Width() / 2, aOutSz.Height() / 2 ) );
- pEditEngine->SetMinAutoPaperSize( Size( aOutSz.Width() / 8, aOutSz.Height() / 8 ) );
- }
- else if ( ( nCode == KEY_J ) && rKEvt.GetKeyCode().IsMod2() )
- {
- Size aTextSz( pEditEngine->CalcTextWidth(), pEditEngine->GetTextHeight() );
- Rectangle aRect( pEditView->GetOutputArea().TopLeft(), aTextSz );
- Brush aTmpBrush( Color( COL_LIGHTBLUE ), BRUSH_25 );
- Brush aOldBrush( GetFillInBrush() );
- SetFillInBrush( aTmpBrush );
- DrawRect( aRect );
- SetFillInBrush( aOldBrush );
- pEditView->Paint( aRect );
- }
- else if ( ( nCode == KEY_H ) && rKEvt.GetKeyCode().IsMod2() )
- {
- Push();
- Size aSz( pEditEngine->CalcTextWidth(), pEditEngine->GetTextHeight() );
- Pen aPen( PEN_SOLID );
- Brush aBrush( Color( COL_GRAY ), BRUSH_SOLID );
- aPen.SetColor( Color( COL_BLACK ) );
- SetPen( aPen );
- SetFillInBrush( aBrush );
- Rectangle aR( pEditView->GetOutputArea().TopLeft(), aSz );
- DrawRect( aR );
- Pop();
- pEditEngine->Draw( this, pEditView->GetOutputArea() );
- pEditView->ShowCursor( TRUE, TRUE );
- }
-
- // Eingabe an EditEngine...
- else
- {
- BOOL bDone = pEditView->PostKeyEvent( rKEvt );
- if ( !bDone )
- Window::KeyInput( rKEvt );
- }
-
- ((EditMainWindow*)GetParent())->UpdateToolBox();
-}
-
-void __EXPORT EditViewWindow::MouseMove( const MouseEvent& rMEvt )
-{
- Point aPos = PixelToLogic( rMEvt.GetPosPixel() );
- if ( pEditView->GetOutputArea().IsInside( aPos ) )
- {
- const SvxFieldItem* pField = pEditView->GetFieldUnderMousePointer();
- if ( pField )
- SetPointer( aURLPtr );
- else
- SetPointer( pEditView->GetPointer() );
-
-// aPos -= pEditView->GetOutputArea().TopLeft();
-// aPos += pEditView->GetVisArea().TopLeft();
-// if ( pEditView->GetEditEngine()->IsTextPos( aPos, PixelToLogic( Size( 5, 0 ) ).Width() ) )
-// SetPointer( pEditView->GetPointer() );
-// else
-// SetPointer( Pointer( POINTER_REFHAND ) );
-
- }
- else
- SetPointer( aStdPtr );
-
-// static long x = 0;
-// x++;
-// DBG_ASSERT( x < 1000, String( RTL_CONSTASCII_USTRINGPARAM( "?" ) ) );
- pEditView->MouseMove( rMEvt );
-}
-
-void __EXPORT EditViewWindow::MouseButtonDown( const MouseEvent& rMEvt )
-{
- GrabFocus();
- pEditView->MouseButtonDown( rMEvt );
-}
-
-void __EXPORT EditViewWindow::MouseButtonUp( const MouseEvent& rMEvt )
-{
- pEditView->MouseButtonUp( rMEvt );
- ((EditMainWindow*)GetParent())->UpdateToolBox();
-}
-
-void __EXPORT EditViewWindow::Command( const CommandEvent& rCEvt )
-{
- if ( rCEvt.GetCommand() == COMMAND_CONTEXTMENU )
- {
- if( pEditView->IsWrongSpelledWordAtPos( rCEvt.GetMousePosPixel() ) )
- pEditView->ExecuteSpellPopup( rCEvt.GetMousePosPixel() );
- }
- else
- pEditView->Command(rCEvt);
-
-}
-
-BOOL __EXPORT EditViewWindow::Drop( const DropEvent& rEvt )
-{
- return pEditView->Drop( rEvt );
-}
-
-BOOL __EXPORT EditViewWindow::QueryDrop( DropEvent& rEvt )
-{
- return pEditView->QueryDrop( rEvt );
-}
-
-// --- aEditApp ------------------------------------------------------
-
-void __EXPORT EditApp::Main()
-{
-#ifdef WNT
- SvFactory::Init();
-#endif
-
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xSMgr = createApplicationServiceManager();
- ::comphelper::setProcessServiceFactory( xSMgr );
-
- EditDLL aEditDll;
- SvxGlobalItemData aItemData;
- SvxFieldItem::GetClassManager().SV_CLASS_REGISTER( SvxDateField );
- SvxFieldItem::GetClassManager().SV_CLASS_REGISTER( SvxURLField );
-
- Help::EnableQuickHelp();
-
- EditMainWindow aWindow;
- Execute();
-}
-
-EditApp aEditApp;
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */