diff options
-rw-r--r-- | sc/inc/document.hxx | 5 | ||||
-rw-r--r-- | sc/inc/drwlayer.hxx | 6 | ||||
-rw-r--r-- | sc/sdi/drawsh.sdi | 1 | ||||
-rw-r--r-- | sc/sdi/drtxtob.sdi | 1 | ||||
-rw-r--r-- | sc/source/ui/drawfunc/drtxtob.cxx | 116 | ||||
-rw-r--r-- | sc/source/ui/drawfunc/futext.cxx | 257 | ||||
-rw-r--r-- | sc/source/ui/view/drawview.cxx | 6 | ||||
-rw-r--r-- | sc/source/ui/view/output3.cxx | 9 |
8 files changed, 44 insertions, 357 deletions
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx index de78639881b3..6778b7a98ae7 100644 --- a/sc/inc/document.hxx +++ b/sc/inc/document.hxx @@ -2,9 +2,9 @@ * * $RCSfile: document.hxx,v $ * - * $Revision: 1.36 $ + * $Revision: 1.37 $ * - * last change: $Author: sab $ $Date: 2001-05-11 18:59:52 $ + * last change: $Author: nn $ $Date: 2001-05-21 18:15:37 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -1516,6 +1516,7 @@ private: // CLOOK-Impl-Methoden void DrawCopyPage( USHORT nOldPos, USHORT nNewPos ); void UpdateDrawPrinter(); + void UpdateDrawLanguages(); void InitClipPtrs( ScDocument* pSourceDoc ); void LoadDdeLinks(SvStream& rStream); diff --git a/sc/inc/drwlayer.hxx b/sc/inc/drwlayer.hxx index a1ddd65e7244..58fe8e86d9df 100644 --- a/sc/inc/drwlayer.hxx +++ b/sc/inc/drwlayer.hxx @@ -2,9 +2,9 @@ * * $RCSfile: drwlayer.hxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: nn $ $Date: 2001-04-18 15:04:25 $ + * last change: $Author: nn $ $Date: 2001-05-21 18:15:37 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -121,6 +121,7 @@ private: SdrUndoGroup* pUndoGroup; BOOL bRecording; BOOL bAdjustEnabled; + BOOL bHyphenatorSet; private: void MoveAreaTwips( USHORT nTab, const Rectangle& rArea, const Point& rMove, @@ -156,6 +157,7 @@ public: ScDocument* GetDocument() const { return pDoc; } void UpdateBasic(); // DocShell-Basic in DrawPages setzen + void UseHyphenator(); void Load( SvStream& rStream ); void Store( SvStream& rStream ) const; diff --git a/sc/sdi/drawsh.sdi b/sc/sdi/drawsh.sdi index 893461a46807..b337bbe31cec 100644 --- a/sc/sdi/drawsh.sdi +++ b/sc/sdi/drawsh.sdi @@ -132,6 +132,7 @@ interface TableDraw : Selection SID_ORIGINALSIZE [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; Export = FALSE; ] SID_HYPERLINK_SETLINK [ ExecMethod = ExecuteHLink; Export = FALSE; ] SID_HYPERLINK_GETLINK [ StateMethod = GetHLinkState; Export = FALSE; ] + SID_ENABLE_HYPHENATION [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; Export = FALSE; ] } diff --git a/sc/sdi/drtxtob.sdi b/sc/sdi/drtxtob.sdi index f21065283cdc..a3e3e688b54f 100644 --- a/sc/sdi/drtxtob.sdi +++ b/sc/sdi/drtxtob.sdi @@ -84,6 +84,7 @@ interface TableDrawText : Selection SID_HYPERLINK_SETLINK [ ExecMethod = Execute; Export = FALSE; ] SID_HYPERLINK_GETLINK [ StateMethod = GetState; Export = FALSE; ] + SID_ENABLE_HYPHENATION [ ExecMethod = Execute; StateMethod = GetState; Export = FALSE; ] SID_TEXTDIRECTION_LEFT_TO_RIGHT [ ExecMethod = Execute; StateMethod = GetAttrState; Export = FALSE; ] SID_TEXTDIRECTION_TOP_TO_BOTTOM [ ExecMethod = Execute; StateMethod = GetAttrState; Export = FALSE; ] diff --git a/sc/source/ui/drawfunc/drtxtob.cxx b/sc/source/ui/drawfunc/drtxtob.cxx index 38ef26be0cfe..a3f43cebf303 100644 --- a/sc/source/ui/drawfunc/drtxtob.cxx +++ b/sc/source/ui/drawfunc/drtxtob.cxx @@ -2,9 +2,9 @@ * * $RCSfile: drtxtob.cxx,v $ * - * $Revision: 1.10 $ + * $Revision: 1.11 $ * - * last change: $Author: nn $ $Date: 2001-05-21 11:11:10 $ + * last change: $Author: nn $ $Date: 2001-05-21 18:18:24 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -65,107 +65,6 @@ #pragma hdrstop -//------------------------------------------------------------------------ - -// T -#define _BIGINT_HXX -#define _SFXMULTISEL_HXX -#define _STACK_HXX -#define _QUEUE_HXX -#define _DYNARR_HXX -#define _TREELIST_HXX -#define _CACHESTR_HXX - -//SV -//#define _CLIP_HXX -#define _CONFIG_HXX -#define _CURSOR_HXX -#define _FONTDLG_HXX -#define _PRVWIN_HXX - -#if defined WIN -#define _MENUBTN_HXX -#endif - - -//svtools -#define _SCRWIN_HXX -#define _RULER_HXX -#define _TABBAR_HXX -#define _VALUESET_HXX -#define _STDMENU_HXX -#define _STDCTRL_HXX -// #define _CTRLBOX_HXX -#define _CTRLTOOL_HXX -#define _EXTATTR_HXX -#define _FRM3D_HXX - -//SVTOOLS -#define _SVTREELIST_HXX -#define _FILTER_HXX -#define _SVLBOXITM_HXX -#define _SVTREEBOX_HXX -#define _SVICNVW_HXX -#define _SVTABBX_HXX - -// SFX -#define _SFXAPPWIN_HXX -#define _SFX_SAVEOPT_HXX -//#define _SFX_CHILDWIN_HXX -//#define _SFXCTRLITEM_HXX -#define _SFXPRNMON_HXX -#define _INTRO_HXX -#define _SFXMSGDESCR_HXX -#define _SFXMSGPOOL_HXX -#define _SFXFILEDLG_HXX -#define _PASSWD_HXX -#define _SFXTBXCTRL_HXX -#define _SFXSTBITEM_HXX -#define _SFXMNUITEM_HXX -#define _SFXIMGMGR_HXX -#define _SFXTBXMGR_HXX -#define _SFXSTBMGR_HXX -#define _SFX_MINFITEM_HXX -#define _SFXEVENT_HXX - - - -//svdraw.hxx -#define _SDR_NOTRANSFORM // Transformationen, selten verwendet -#define _SDR_NOTOUCH // Hit-Tests, selten verwendet - -#define _SDR_NOEXTDEV // ExtOutputDevice -//#define _SDR_NOUNDO // Undo-Objekte -#define _SDR_NOSURROGATEOBJ // SdrObjSurrogate -#define _SDR_NOPAGEOBJ // SdrPageObj -#define _SDR_NOVIRTOBJ // SdrVirtObj -#define _SDR_NOGROUPOBJ // SdrGroupObj -//#define _SDR_NOTEXTOBJ // SdrTextObj -#define _SDR_NOPATHOBJ // SdrPathObj -#define _SDR_NOEDGEOBJ // SdrEdgeObj -//#define _SDR_NORECTOBJ // SdrRectObj -#define _SDR_NOCAPTIONOBJ // SdrCaptionObj -#define _SDR_NOCIRCLEOBJ // SdrCircleObj -#define _SDR_NOGRAFOBJ // SdrGrafObj -//#define _SDR_NOOLE2OBJ // SdrOle2Obj - - -// si.hxx: -//#define _SI_HXX -#define _SIDLL_HXX - -#define SI_NOITEMS -//#define SI_NODRW -#define SI_NOOTHERFORMS -#define SI_NOSBXCONTROLS -#define SI_NOCONTROL -#define _VCATTR_HXX -#define _VCONT_HXX -#define _VCTRLS_HXX -//#define _VCSBX_HXX -//#define _VCDRWOBJ_HXX -#define _VCBRW_HXX - //------------------------------------------------------------------------- #include "scitems.hxx" @@ -192,6 +91,7 @@ #include <svx/udlnitem.hxx> #include <svx/wghtitem.hxx> #include <sfx2/app.hxx> +#include <sfx2/dispatch.hxx> #include <sfx2/objface.hxx> #include <sfx2/objsh.hxx> #include <sfx2/request.hxx> @@ -206,7 +106,6 @@ #include "drtxtob.hxx" #include "viewdata.hxx" #include "document.hxx" -#include "drwlayer.hxx" #include "drawview.hxx" #include "viewutil.hxx" #include "scresid.hxx" @@ -407,15 +306,24 @@ void __EXPORT ScDrawTextObjectBar::Execute( SfxRequest &rReq ) } break; + case SID_ENABLE_HYPHENATION: case SID_TEXTDIRECTION_LEFT_TO_RIGHT: case SID_TEXTDIRECTION_TOP_TO_BOTTOM: pView->ScEndTextEdit(); // end text edit before switching direction ExecuteGlobal( rReq ); + // restore consistent state between shells and functions: + pViewData->GetDispatcher().Execute(SID_OBJECT_SELECT, SFX_CALLMODE_SLOT | SFX_CALLMODE_RECORD); break; +#if 0 + // Hyphenation is handled above - text edit is ended case SID_ENABLE_HYPHENATION: + // force loading of hyphenator (object is skipped in repaint) + ((ScDrawLayer*)pView->GetModel())->UseHyphenator(); + pOutliner->SetHyphenator( LinguMgr::GetHyphenator() ); ExecuteGlobal( rReq ); break; +#endif } } diff --git a/sc/source/ui/drawfunc/futext.cxx b/sc/source/ui/drawfunc/futext.cxx index 9555adc29070..e7520f75567f 100644 --- a/sc/source/ui/drawfunc/futext.cxx +++ b/sc/source/ui/drawfunc/futext.cxx @@ -2,9 +2,9 @@ * * $RCSfile: futext.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: nn $ $Date: 2001-03-02 21:09:13 $ + * last change: $Author: nn $ $Date: 2001-05-21 18:18:24 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -67,249 +67,6 @@ //------------------------------------------------------------------ -// TOOLS -#define _BIGINT_HXX -#define _SFXMULTISEL_HXX -#define _STACK_HXX -#define _QUEUE_HXX -#define _DYNARR_HXX -#define _TREELIST_HXX -#define _CACHESTR_HXX -#define _NEW_HXX -//#define _SHL_HXX -//#define _LINK_HXX -//#define _ERRCODE_HXX -//#define _GEN_HXX -//#define _FRACT_HXX -//#define _STRING_HXX -//#define _MTF_HXX -//#define _CONTNR_HXX -//#define _LIST_HXX -//#define _TABLE_HXX -#define _DYNARY_HXX -//#define _UNQIDX_HXX -#define _SVMEMPOOL_HXX -//#define _UNQID_HXX -//#define _DEBUG_HXX -//#define _DATE_HXX -//#define _TIME_HXX -//#define _DATETIME_HXX -//#define _INTN_HXX -//#define _WLDCRD_HXX -//#define _FSYS_HXX -//#define _STREAM_HXX -#define _CACHESTR_HXX -#define _SV_MULTISEL_HXX - -//SV -//#define _CLIP_HXX *** -#define _CONFIG_HXX -#define _CURSOR_HXX -#define _FONTDLG_HXX -#define _PRVWIN_HXX -//#define _COLOR_HXX -//#define _PAL_HXX -//#define _BITMAP_HXX -//#define _GDIOBJ_HXX -//#define _POINTR_HXX -//#define _ICON_HXX -//#define _IMAGE_HXX -//#define _KEYCOD_HXX -//#define _EVENT_HXX -#define _HELP_HXX -//#define _APP_HXX -//#define _MDIAPP_HXX -//#define _TIMER_HXX -//#define _METRIC_HXX -//#define _REGION_HXX -//#define _OUTDEV_HXX -//#define _SYSTEM_HXX -//#define _VIRDEV_HXX -//#define _JOBSET_HXX -//#define _PRINT_HXX -//#define _WINDOW_HXX -//#define _SYSWIN_HXX -//#define _WRKWIN_HXX -#define _MDIWIN_HXX -//#define _FLOATWIN_HXX -//#define _DOCKWIN_HXX -//#define _CTRL_HXX -//#define _SCRBAR_HXX -//#define _BUTTON_HXX -//#define _IMAGEBTN_HXX -//#define _FIXED_HXX -//#define _GROUP_HXX -//#define _EDIT_HXX -//#define _COMBOBOX_HXX -//#define _LSTBOX_HXX -//#define _SELENG_HXX *** -//#define _SPLIT_HXX -#define _SPIN_HXX -//#define _FIELD_HXX -//#define _MOREBTN_HXX *** -//#define _TOOLBOX_HXX -#define _STATUS_HXX -#define _SVTCTRL3_HXX -//#define _DIALOG_HXX -//#define _MSGBOX_HXX -//#define _SYSDLG_HXX -//#define _FILDLG_HXX *** -//#define _PRNDLG_HXX -#define _COLDLG_HXX -//#define _TABDLG_HXX -//#define _MENU_HXX *** -//#define _GDIMTF_HXX -//#define _POLY_HXX -//#define _ACCEL_HXX -//#define _GRAPH_HXX -#define _SOUND_HXX - -#if defined WIN -#define _MENUBTN_HXX -#endif - -//svtools -#define _SCRWIN_HXX -#define _RULER_HXX -//#define _TABBAR_HXX -//#define _VALUESET_HXX -#define _STDMENU_HXX -//#define _STDCTRL_HXX -//#define _CTRLBOX_HXX -#define _CTRLTOOL_HXX -#define _EXTATTR_HXX -#define _FRM3D_HXX -#define _EXTATTR_HXX - -//SVTOOLS -//#define _SVTREELIST_HXX -#define _FILTER_HXX -//#define _SVLBOXITM_HXX -//#define _SVTREEBOX_HXX -#define _SVICNVW_HXX -#define _SVTABBX_HXX - -//sfxcore.hxx -//#define _SFXINIMGR_HXX -//#define _SFXCFGITEM_HXX -//#define _SFX_PRINTER_HXX -#define _SFXGENLINK_HXX -#define _SFXHINTPOST_HXX -#define _SFXDOCINF_HXX -#define _SFXLINKHDL_HXX -//#define _SFX_PROGRESS_HXX - -//sfxsh.hxx -//#define _SFX_SHELL_HXX -//#define _SFXAPP_HXX -//#define _SFXDISPATCH_HXX -//#define _SFXMSG_HXX -//#define _SFXOBJFACE_HXX -//#define _SFXREQUEST_HXX -#define _SFXMACRO_HXX - -// SFX -//#define _SFXAPPWIN_HXX -#define _SFX_SAVEOPT_HXX -//#define _SFX_CHILDWIN_HXX -//#define _SFXCTRLITEM_HXX -#define _SFXPRNMON_HXX -#define _INTRO_HXX -#define _SFXMSGDESCR_HXX -#define _SFXMSGPOOL_HXX -#define _SFXFILEDLG_HXX -#define _PASSWD_HXX -#define _SFXTBXCTRL_HXX -#define _SFXSTBITEM_HXX -#define _SFXMNUITEM_HXX -#define _SFXIMGMGR_HXX -#define _SFXTBXMGR_HXX -#define _SFXSTBMGR_HXX -#define _SFX_MINFITEM_HXX -#define _SFXEVENT_HXX - -//sfxdoc.hxx -//#define _SFX_OBJSH_HXX -//#define _SFX_CLIENTSH_HXX -//#define _SFXDOCINF_HXX -//#define _SFX_OBJFAC_HXX -#define _SFX_DOCFILT_HXX -//#define _SFXDOCFILE_HXX -//define _VIEWFAC_HXX -//#define _SFXVIEWFRM_HXX -//#define _SFXVIEWSH_HXX -//#define _MDIFRM_HXX -#define _SFX_IPFRM_HXX -//#define _SFX_INTERNO_HXX - -//sfxdlg.hxx -//#define _SFXTABDLG_HXX -//#define _BASEDLGS_HXX -#define _SFX_DINFDLG_HXX -#define _SFXDINFEDT_HXX -#define _SFX_MGETEMPL_HXX -#define _SFX_TPLPITEM_HXX -//#define _SFX_STYLEDLG_HXX -#define _NEWSTYLE_HXX -//#define _SFXDOCTEMPL_HXX -//#define _SFXDOCTDLG_HXX -//#define _SFX_TEMPLDLG_HXX -//#define _SFXNEW_HXX -#define _SFXDOCMAN_HXX -//#define _SFXDOCKWIN_HXX ** - -//sfxitems.hxx -#define _SFX_WHMAP_HXX -#define _ARGS_HXX -//#define _SFXPOOLITEM_HXX -//#define _SFXINTITEM_HXX -//#define _SFXENUMITEM_HXX -#define _SFXFLAGITEM_HXX -//#define _SFXSTRITEM_HXX -#define _SFXPTITEM_HXX -#define _SFXRECTITEM_HXX -//#define _SFXITEMPOOL_HXX -//#define _SFXITEMSET_HXX -#define _SFXITEMITER_HXX -#define _SFX_WHITER_HXX -#define _SFXPOOLCACH_HXX -//#define _AEITEM_HXX -#define _SFXRNGITEM_HXX -//#define _SFXSLSTITM_HXX -//#define _SFXSTYLE_HXX - -//xout.hxx -//#define _XENUM_HXX -//#define _XPOLY_HXX -//#define _XATTR_HXX -//#define _XOUTX_HXX -//#define _XPOOL_HXX -//#define _XTABLE_HXX - -//svdraw.hxx -#define _SDR_NOITEMS -#define _SDR_NOTOUCH -#define _SDR_NOTRANSFORM -//#define _SDR_NOOBJECTS -//#define _SDR_NOVIEWS - -//#define SI_NOITEMS -//#define SI_NODRW -#define _SI_NOSBXCONTROLS -#define _VCATTR_HXX -#define _VCONT_HXX -//#define _VCSBX_HXX *** -#define _SI_NOOTHERFORMS -#define _VCTRLS_HXX -//#define _VCDRWOBJ_HXX *** -#define _SI_NOCONTROL -#define _SETBRW_HXX -#define _VCBRW_HXX -#define _SI_NOSBXCONTROLS -#define _SIDLL_HXX - -//------------------------------------------------------------------ - #include <svx/svddef.hxx> #include <svx/svdoutl.hxx> #include <svx/outlobj.hxx> @@ -317,6 +74,7 @@ #include <svx/sdtacitm.hxx> #include <svx/svdotext.hxx> #include <svx/svdview.hxx> +#include <svx/unolingu.hxx> #include <sfx2/bindings.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/viewfrm.hxx> @@ -359,6 +117,13 @@ void lcl_InvalidateAttribs( SfxBindings& rBindings ) rBindings.Invalidate( SID_TEXTDIRECTION_TOP_TO_BOTTOM ); } +void lcl_UpdateHyphenator( Outliner& rOutliner, SdrObject* pObj ) +{ + // use hyphenator only if hyphenation attribute is set + if ( pObj && ((const SfxBoolItem&)pObj->GetItemSet().Get(EE_PARA_HYPHENATE)).GetValue() ) + rOutliner.SetHyphenator( LinguMgr::GetHyphenator() ); +} + /************************************************************************* |* |* Basisklasse fuer Textfunktionen @@ -449,6 +214,7 @@ BOOL __EXPORT FuText::MouseButtonDown(const MouseEvent& rMEvt) pView->PickObj(aMDPos, pObj, pPV, SDRSEARCH_PICKTEXTEDIT) ) { SdrOutliner* pO = MakeOutliner(); + lcl_UpdateHyphenator( *pO, pObj ); // vertical flag: // deduced from slot ids only if text object has no content @@ -987,6 +753,7 @@ void FuText::SetInEditMode(SdrObject* pObj, const Point* pMousePixel) if ( pObj->HasTextEdit() ) { SdrOutliner* pO = MakeOutliner(); + lcl_UpdateHyphenator( *pO, pObj ); // vertical flag: // deduced from slot ids only if text object has no content diff --git a/sc/source/ui/view/drawview.cxx b/sc/source/ui/view/drawview.cxx index e2ca481d602e..6747ec757600 100644 --- a/sc/source/ui/view/drawview.cxx +++ b/sc/source/ui/view/drawview.cxx @@ -2,9 +2,9 @@ * * $RCSfile: drawview.cxx,v $ * - * $Revision: 1.10 $ + * $Revision: 1.11 $ * - * last change: $Author: nn $ $Date: 2001-05-11 08:37:53 $ + * last change: $Author: nn $ $Date: 2001-05-21 18:17:27 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -284,6 +284,8 @@ void ScDrawView::InvalidateAttribs() rBindings.Invalidate( SID_GRFFILTER_POPART ); rBindings.Invalidate( SID_GRFFILTER_SEPIA ); rBindings.Invalidate( SID_GRFFILTER_SOLARIZE ); + + rBindings.Invalidate( SID_ENABLE_HYPHENATION ); } void ScDrawView::InvalidateDrawTextAttrs() diff --git a/sc/source/ui/view/output3.cxx b/sc/source/ui/view/output3.cxx index a648d028b4f5..4245d680bf78 100644 --- a/sc/source/ui/view/output3.cxx +++ b/sc/source/ui/view/output3.cxx @@ -2,9 +2,9 @@ * * $RCSfile: output3.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: nn $ $Date: 2001-05-14 08:43:38 $ + * last change: $Author: nn $ $Date: 2001-05-21 18:17:27 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -67,6 +67,7 @@ // INCLUDE --------------------------------------------------------------- +#include <svx/eeitem.hxx> #include <svx/svdograf.hxx> #include <svx/svdoole2.hxx> #include <svx/svdpage.hxx> @@ -292,6 +293,10 @@ void ScOutputData::DrawSelectiveObjects( USHORT nLayer, const Rectangle& rRect, if (bDraw) { + // set model's hyphenator on demand + if ( ((const SfxBoolItem&)pObject->GetItemSet().Get(EE_PARA_HYPHENATE)).GetValue() ) + pModel->UseHyphenator(); + if (pObject == pEditObj) { aInfoRec.nPaintMode|=SDRPAINTMODE_TEXTEDIT; |