You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by or...@apache.org on 2013/11/18 12:29:27 UTC
svn commit: r1542986 [1/9] - in /openoffice/trunk/main/sw: ./ inc/ sdi/
source/core/access/ source/core/bastyp/ source/core/crsr/ source/core/doc/
source/core/docnode/ source/core/edit/ source/core/fields/
source/core/frmedt/ source/core/inc/ source/co...
Author: orw
Date: Mon Nov 18 11:29:24 2013
New Revision: 1542986
URL: http://svn.apache.org/r1542986
Log:
33737: enable in-place editing of Input Fields
Added:
openoffice/trunk/main/sw/source/core/crsr/overlayrangesoutline.cxx (with props)
openoffice/trunk/main/sw/source/core/crsr/overlayrangesoutline.hxx (with props)
Modified:
openoffice/trunk/main/sw/Library_sw.mk
openoffice/trunk/main/sw/inc/IDocumentContentOperations.hxx
openoffice/trunk/main/sw/inc/crsrsh.hxx
openoffice/trunk/main/sw/inc/doc.hxx
openoffice/trunk/main/sw/inc/editsh.hxx
openoffice/trunk/main/sw/inc/expfld.hxx
openoffice/trunk/main/sw/inc/fldbas.hxx
openoffice/trunk/main/sw/inc/fmtfld.hxx
openoffice/trunk/main/sw/inc/hintids.hxx
openoffice/trunk/main/sw/inc/ndtxt.hxx
openoffice/trunk/main/sw/inc/txatbase.hxx
openoffice/trunk/main/sw/inc/txtfld.hxx
openoffice/trunk/main/sw/inc/txtrfmrk.hxx
openoffice/trunk/main/sw/inc/txttxmrk.hxx
openoffice/trunk/main/sw/inc/viscrs.hxx
openoffice/trunk/main/sw/sdi/_textsh.sdi
openoffice/trunk/main/sw/sdi/_viewsh.sdi
openoffice/trunk/main/sw/source/core/access/accportions.cxx
openoffice/trunk/main/sw/source/core/bastyp/init.cxx
openoffice/trunk/main/sw/source/core/crsr/callnk.cxx
openoffice/trunk/main/sw/source/core/crsr/crsrsh.cxx
openoffice/trunk/main/sw/source/core/crsr/crstrvl.cxx
openoffice/trunk/main/sw/source/core/crsr/findattr.cxx
openoffice/trunk/main/sw/source/core/crsr/findtxt.cxx
openoffice/trunk/main/sw/source/core/crsr/swcrsr.cxx
openoffice/trunk/main/sw/source/core/crsr/viscrs.cxx
openoffice/trunk/main/sw/source/core/doc/dbgoutsw.cxx
openoffice/trunk/main/sw/source/core/doc/doc.cxx
openoffice/trunk/main/sw/source/core/doc/docedt.cxx
openoffice/trunk/main/sw/source/core/doc/docfld.cxx
openoffice/trunk/main/sw/source/core/doc/docfmt.cxx
openoffice/trunk/main/sw/source/core/doc/docnum.cxx
openoffice/trunk/main/sw/source/core/doc/docredln.cxx
openoffice/trunk/main/sw/source/core/doc/docruby.cxx
openoffice/trunk/main/sw/source/core/doc/doctxm.cxx
openoffice/trunk/main/sw/source/core/doc/visiturl.cxx
openoffice/trunk/main/sw/source/core/docnode/nodes.cxx
openoffice/trunk/main/sw/source/core/edit/acorrect.cxx
openoffice/trunk/main/sw/source/core/edit/edatmisc.cxx
openoffice/trunk/main/sw/source/core/edit/edattr.cxx
openoffice/trunk/main/sw/source/core/edit/edfld.cxx
openoffice/trunk/main/sw/source/core/edit/edfldexp.cxx
openoffice/trunk/main/sw/source/core/edit/editsh.cxx
openoffice/trunk/main/sw/source/core/edit/edlingu.cxx
openoffice/trunk/main/sw/source/core/edit/ednumber.cxx
openoffice/trunk/main/sw/source/core/edit/edtox.cxx
openoffice/trunk/main/sw/source/core/fields/expfld.cxx
openoffice/trunk/main/sw/source/core/fields/fldbas.cxx
openoffice/trunk/main/sw/source/core/fields/reffld.cxx
openoffice/trunk/main/sw/source/core/frmedt/fefly1.cxx
openoffice/trunk/main/sw/source/core/inc/docfld.hxx
openoffice/trunk/main/sw/source/core/inc/rolbck.hxx
openoffice/trunk/main/sw/source/core/inc/rootfrm.hxx
openoffice/trunk/main/sw/source/core/inc/swfont.hxx
openoffice/trunk/main/sw/source/core/inc/txttypes.hxx
openoffice/trunk/main/sw/source/core/layout/flycnt.cxx
openoffice/trunk/main/sw/source/core/layout/laycache.cxx
openoffice/trunk/main/sw/source/core/layout/trvlfrm.cxx
openoffice/trunk/main/sw/source/core/text/atrhndl.hxx
openoffice/trunk/main/sw/source/core/text/atrstck.cxx
openoffice/trunk/main/sw/source/core/text/inftxt.cxx
openoffice/trunk/main/sw/source/core/text/itrform2.cxx
openoffice/trunk/main/sw/source/core/text/porfld.cxx
openoffice/trunk/main/sw/source/core/text/porfld.hxx
openoffice/trunk/main/sw/source/core/text/porlay.cxx
openoffice/trunk/main/sw/source/core/text/pormulti.cxx
openoffice/trunk/main/sw/source/core/text/portxt.cxx
openoffice/trunk/main/sw/source/core/text/portxt.hxx
openoffice/trunk/main/sw/source/core/text/txtfld.cxx
openoffice/trunk/main/sw/source/core/text/txtfrm.cxx
openoffice/trunk/main/sw/source/core/tox/tox.cxx
openoffice/trunk/main/sw/source/core/tox/txmsrt.cxx
openoffice/trunk/main/sw/source/core/txtnode/atrfld.cxx
openoffice/trunk/main/sw/source/core/txtnode/ndhints.cxx
openoffice/trunk/main/sw/source/core/txtnode/ndtxt.cxx
openoffice/trunk/main/sw/source/core/txtnode/swfont.cxx
openoffice/trunk/main/sw/source/core/txtnode/thints.cxx
openoffice/trunk/main/sw/source/core/txtnode/txatbase.cxx
openoffice/trunk/main/sw/source/core/txtnode/txatritr.cxx
openoffice/trunk/main/sw/source/core/txtnode/txtedt.cxx
openoffice/trunk/main/sw/source/core/undo/SwUndoField.cxx
openoffice/trunk/main/sw/source/core/undo/rolbck.cxx
openoffice/trunk/main/sw/source/core/undo/unsect.cxx
openoffice/trunk/main/sw/source/core/undo/untbl.cxx
openoffice/trunk/main/sw/source/core/undo/untblk.cxx
openoffice/trunk/main/sw/source/core/unocore/unocrsrhelper.cxx
openoffice/trunk/main/sw/source/core/unocore/unodraw.cxx
openoffice/trunk/main/sw/source/core/unocore/unofield.cxx
openoffice/trunk/main/sw/source/core/unocore/unoframe.cxx
openoffice/trunk/main/sw/source/core/unocore/unoidx.cxx
openoffice/trunk/main/sw/source/core/unocore/unoportenum.cxx
openoffice/trunk/main/sw/source/core/unocore/unorefmk.cxx
openoffice/trunk/main/sw/source/core/view/vprint.cxx
openoffice/trunk/main/sw/source/filter/ascii/ascatr.cxx
openoffice/trunk/main/sw/source/filter/ascii/parasc.cxx
openoffice/trunk/main/sw/source/filter/html/css1atr.cxx
openoffice/trunk/main/sw/source/filter/html/htmlatr.cxx
openoffice/trunk/main/sw/source/filter/html/swhtml.cxx
openoffice/trunk/main/sw/source/filter/html/wrthtml.cxx
openoffice/trunk/main/sw/source/filter/rtf/rtffly.cxx
openoffice/trunk/main/sw/source/filter/ww1/fltshell.cxx
openoffice/trunk/main/sw/source/filter/ww1/w1filter.cxx
openoffice/trunk/main/sw/source/filter/ww8/attributeoutputbase.hxx
openoffice/trunk/main/sw/source/filter/ww8/wrtw8esh.cxx
openoffice/trunk/main/sw/source/filter/ww8/wrtw8nds.cxx
openoffice/trunk/main/sw/source/filter/ww8/ww8atr.cxx
openoffice/trunk/main/sw/source/filter/ww8/ww8par.cxx
openoffice/trunk/main/sw/source/filter/ww8/ww8par3.cxx
openoffice/trunk/main/sw/source/filter/ww8/ww8par5.cxx
openoffice/trunk/main/sw/source/ui/app/applab.cxx
openoffice/trunk/main/sw/source/ui/app/docst.cxx
openoffice/trunk/main/sw/source/ui/docvw/SidebarTxtControl.hxx
openoffice/trunk/main/sw/source/ui/docvw/edtdd.cxx
openoffice/trunk/main/sw/source/ui/docvw/edtwin.cxx
openoffice/trunk/main/sw/source/ui/docvw/edtwin2.cxx
openoffice/trunk/main/sw/source/ui/envelp/envfmt.cxx
openoffice/trunk/main/sw/source/ui/fldui/fldedt.cxx
openoffice/trunk/main/sw/source/ui/fldui/fldmgr.cxx
openoffice/trunk/main/sw/source/ui/inc/wrtsh.hxx
openoffice/trunk/main/sw/source/ui/lingu/hhcwrp.cxx
openoffice/trunk/main/sw/source/ui/misc/insfnote.cxx
openoffice/trunk/main/sw/source/ui/shells/annotsh.cxx
openoffice/trunk/main/sw/source/ui/shells/basesh.cxx
openoffice/trunk/main/sw/source/ui/shells/drwtxtex.cxx
openoffice/trunk/main/sw/source/ui/shells/frmsh.cxx
openoffice/trunk/main/sw/source/ui/shells/grfsh.cxx
openoffice/trunk/main/sw/source/ui/shells/langhelper.cxx
openoffice/trunk/main/sw/source/ui/shells/listsh.cxx
openoffice/trunk/main/sw/source/ui/shells/tabsh.cxx
openoffice/trunk/main/sw/source/ui/shells/textfld.cxx
openoffice/trunk/main/sw/source/ui/shells/textidx.cxx
openoffice/trunk/main/sw/source/ui/shells/textsh.cxx
openoffice/trunk/main/sw/source/ui/shells/textsh1.cxx
openoffice/trunk/main/sw/source/ui/shells/txtattr.cxx
openoffice/trunk/main/sw/source/ui/uiview/formatclipboard.cxx
openoffice/trunk/main/sw/source/ui/uiview/view.cxx
openoffice/trunk/main/sw/source/ui/uiview/view2.cxx
openoffice/trunk/main/sw/source/ui/uiview/viewmdi.cxx
openoffice/trunk/main/sw/source/ui/uiview/viewsrch.cxx
openoffice/trunk/main/sw/source/ui/uiview/viewstat.cxx
openoffice/trunk/main/sw/source/ui/uiview/viewtab.cxx
openoffice/trunk/main/sw/source/ui/wrtsh/delete.cxx
openoffice/trunk/main/sw/source/ui/wrtsh/wrtsh1.cxx
openoffice/trunk/main/sw/source/ui/wrtsh/wrtsh2.cxx
Modified: openoffice/trunk/main/sw/Library_sw.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/Library_sw.mk?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/Library_sw.mk (original)
+++ openoffice/trunk/main/sw/Library_sw.mk Mon Nov 18 11:29:24 2013
@@ -151,6 +151,7 @@ $(eval $(call gb_Library_add_exception_o
sw/source/core/crsr/trvltbl \
sw/source/core/crsr/unocrsr \
sw/source/core/crsr/viscrs \
+ sw/source/core/crsr/overlayrangesoutline \
sw/source/core/doc/SwStyleNameMapper \
sw/source/core/doc/acmplwrd \
sw/source/core/doc/dbgoutsw \
Modified: openoffice/trunk/main/sw/inc/IDocumentContentOperations.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/inc/IDocumentContentOperations.hxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/inc/IDocumentContentOperations.hxx (original)
+++ openoffice/trunk/main/sw/inc/IDocumentContentOperations.hxx Mon Nov 18 11:29:24 2013
@@ -21,36 +21,37 @@
- #ifndef IDOCUMENTCONTENTOPERATIONS_HXX_INCLUDED
- #define IDOCUMENTCONTENTOPERATIONS_HXX_INCLUDED
+#ifndef IDOCUMENTCONTENTOPERATIONS_HXX_INCLUDED
+#define IDOCUMENTCONTENTOPERATIONS_HXX_INCLUDED
- #ifndef _SAL_TYPES_H_
- #include <sal/types.h>
- #endif
-
- class SwPaM;
- struct SwPosition;
- class SwNode;
- class SwNodeRange;
- class String;
- class Graphic;
- class SfxItemSet;
- class SfxPoolItem;
- class GraphicObject;
- class SdrObject;
- class SwFrmFmt;
- class SwDrawFrmFmt;
- class SwFlyFrmFmt;
- class SwNodeIndex;
-
- namespace utl { class TransliterationWrapper; }
- namespace svt { class EmbeddedObjectRef; }
-
- /** Text operation/manipulation interface
- */
- class IDocumentContentOperations
- {
- public:
+#ifndef _SAL_TYPES_H_
+#include <sal/types.h>
+#endif
+
+class SwPaM;
+struct SwPosition;
+class SwNode;
+class SwNodeRange;
+class String;
+class Graphic;
+class SfxItemSet;
+class SfxPoolItem;
+class GraphicObject;
+class SdrObject;
+class SwFrmFmt;
+class SwDrawFrmFmt;
+class SwFlyFrmFmt;
+class SwNodeIndex;
+class SwFmtFld;
+
+namespace utl { class TransliterationWrapper; }
+namespace svt { class EmbeddedObjectRef; }
+
+/** Text operation/manipulation interface
+*/
+class IDocumentContentOperations
+{
+public:
enum SwMoveFlags
{
DOC_MOVEDEFAULT = 0x00,
@@ -68,15 +69,15 @@
, INS_FORCEHINTEXPAND = 0x04 // expand all hints at insert position
};
- public:
+public:
/** Kopieren eines Bereiches im oder in ein anderes Dokument !
- Die Position kann auch im Bereich liegen !!
+ Die Position kann auch im Bereich liegen !!
*/
virtual bool CopyRange(SwPaM&, SwPosition&, const bool bCopyAll ) const = 0;
- /** Loesche die Section, in der der Node steht.
+ /** Loesche die Section, in der der Node steht.
*/
- virtual void DeleteSection(SwNode* pNode) = 0;
+ virtual void DeleteSection(SwNode* pNode) = 0;
/** loeschen eines BereichesSwFlyFrmFmt
*/
@@ -84,16 +85,16 @@
/** loeschen gesamter Absaetze
*/
- virtual bool DelFullPara(SwPaM&) = 0;
+ virtual bool DelFullPara(SwPaM&) = 0;
/** complete delete of a given PaM
- OD 2009-08-20 #i100466#
- Add optional parameter <bForceJoinNext>, default value <false>
- Needed for hiding of deletion redlines
+ OD 2009-08-20 #i100466#
+ Add optional parameter <bForceJoinNext>, default value <false>
+ Needed for hiding of deletion redlines
*/
virtual bool DeleteAndJoin( SwPaM&,
- const bool bForceJoinNext = false ) = 0;
+ const bool bForceJoinNext = false ) = 0;
/** verschieben eines Bereiches
*/
@@ -105,96 +106,99 @@
/** verschieben eines Bereiches
*/
- virtual bool MoveAndJoin(SwPaM&, SwPosition&, SwMoveFlags) = 0;
+ virtual bool MoveAndJoin(SwPaM&, SwPosition&, SwMoveFlags) = 0;
- /** Ueberschreiben eines Strings in einem bestehenden Textnode.
+ /** Ueberschreiben eines Strings in einem bestehenden Textnode.
*/
- virtual bool Overwrite(const SwPaM &rRg, const String& rStr) = 0;
+ virtual bool Overwrite(const SwPaM &rRg, const String& rStr) = 0;
/** Insert string into existing text node at position rRg.Point().
*/
virtual bool InsertString(const SwPaM &rRg, const String&,
- const enum InsertFlags nInsertMode = INS_EMPTYEXPAND ) = 0;
+ const enum InsertFlags nInsertMode = INS_EMPTYEXPAND ) = 0;
- /** change text to Upper/Lower/Hiragana/Katagana/...
+ /** change text to Upper/Lower/Hiragana/Katagana/...
*/
- virtual void TransliterateText(const SwPaM& rPaM, utl::TransliterationWrapper&) = 0;
+ virtual void TransliterateText(const SwPaM& rPaM, utl::TransliterationWrapper&) = 0;
- /** Einfuegen einer Grafik, Formel. Die XXXX werden kopiert.
+ /** Einfuegen einer Grafik, Formel. Die XXXX werden kopiert.
*/
- virtual SwFlyFrmFmt* Insert(const SwPaM &rRg, const String& rGrfName, const String& rFltName, const Graphic* pGraphic,
- const SfxItemSet* pFlyAttrSet, const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
+ virtual SwFlyFrmFmt* Insert(const SwPaM &rRg, const String& rGrfName, const String& rFltName, const Graphic* pGraphic,
+ const SfxItemSet* pFlyAttrSet, const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
/**
*/
- virtual SwFlyFrmFmt* Insert(const SwPaM& rRg, const GraphicObject& rGrfObj, const SfxItemSet* pFlyAttrSet,
- const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
+ virtual SwFlyFrmFmt* Insert(const SwPaM& rRg, const GraphicObject& rGrfObj, const SfxItemSet* pFlyAttrSet,
+ const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
- /** austauschen einer Grafik (mit Undo)
+ /** austauschen einer Grafik (mit Undo)
*/
- virtual void ReRead(SwPaM&, const String& rGrfName, const String& rFltName, const Graphic* pGraphic, const GraphicObject* pGrfObj) = 0;
+ virtual void ReRead(SwPaM&, const String& rGrfName, const String& rFltName, const Graphic* pGraphic, const GraphicObject* pGrfObj) = 0;
- /** Einfuegen eines DrawObjectes. Das Object muss bereits im DrawModel
- angemeldet sein.
+ /** Einfuegen eines DrawObjectes. Das Object muss bereits im DrawModel
+ angemeldet sein.
*/
- virtual SwDrawFrmFmt* Insert(const SwPaM &rRg, SdrObject& rDrawObj, const SfxItemSet* pFlyAttrSet, SwFrmFmt*) = 0;
+ virtual SwDrawFrmFmt* Insert(const SwPaM &rRg, SdrObject& rDrawObj, const SfxItemSet* pFlyAttrSet, SwFrmFmt*) = 0;
- /** Einfuegen von OLE-Objecten.
+ /** Einfuegen von OLE-Objecten.
*/
virtual SwFlyFrmFmt* Insert(const SwPaM &rRg, const svt::EmbeddedObjectRef& xObj, const SfxItemSet* pFlyAttrSet,
- const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
+ const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
- virtual SwFlyFrmFmt* InsertOLE(const SwPaM &rRg, const String& rObjName, sal_Int64 nAspect, const SfxItemSet* pFlyAttrSet,
- const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
+ virtual SwFlyFrmFmt* InsertOLE(const SwPaM &rRg, const String& rObjName, sal_Int64 nAspect, const SfxItemSet* pFlyAttrSet,
+ const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
/** Aufspalten eines Nodes an rPos (nur fuer den TxtNode implementiert)
*/
- virtual bool SplitNode(const SwPosition &rPos, bool bChkTableStart) = 0;
+ virtual bool SplitNode(const SwPosition &rPos, bool bChkTableStart) = 0;
/**
*/
- virtual bool AppendTxtNode(SwPosition& rPos) = 0;
+ virtual bool AppendTxtNode(SwPosition& rPos) = 0;
- /** Ersetz einen selektierten Bereich in einem TextNode mit dem
- String. Ist fuers Suchen&Ersetzen gedacht.
- bRegExpRplc - ersetze Tabs (\\t) und setze den gefundenen String
- ein ( nicht \& )
- z.B.: Fnd: "zzz", Repl: "xx\t\\t..&..\&"
- --> "xx\t<Tab>..zzz..&"
+ /** Ersetz einen selektierten Bereich in einem TextNode mit dem
+ String. Ist fuers Suchen&Ersetzen gedacht.
+ bRegExpRplc - ersetze Tabs (\\t) und setze den gefundenen String
+ ein ( nicht \& )
+ z.B.: Fnd: "zzz", Repl: "xx\t\\t..&..\&"
+ --> "xx\t<Tab>..zzz..&"
*/
virtual bool ReplaceRange(SwPaM& rPam, const String& rNewStr,
- const bool bRegExReplace) = 0;
+ const bool bRegExReplace) = 0;
/** Einfuegen eines Attributs. Erstreckt sich rRg ueber
- mehrere Nodes, wird das Attribut aufgespaltet, sofern
- dieses Sinn macht. Nodes, in denen dieses Attribut keinen
- Sinn macht, werden ignoriert. In vollstaendig in der
- Selektion eingeschlossenen Nodes wird das Attribut zu
- harter Formatierung, in den anderen (Text-)Nodes wird das
- Attribut in das Attributearray eingefuegt. Bei einem
- Zeichenattribut wird ein "leerer" Hint eingefuegt,
- wenn keine Selektion
- vorliegt; andernfalls wird das Attribut als harte
- Formatierung dem durch rRg.Start() bezeichneten Node
- hinzugefuegt. Wenn das Attribut nicht eingefuegt werden
- konnte, liefert die Methode sal_False.
- */
- //Modify here for #119405, by chengjh, 2012-08-16
- //Add a para for the char attribute exp...
- virtual bool InsertPoolItem(const SwPaM &rRg, const SfxPoolItem&,
- const sal_uInt16 nFlags,bool bExpandCharToPara=false) = 0;
- //End
+ mehrere Nodes, wird das Attribut aufgespaltet, sofern
+ dieses Sinn macht. Nodes, in denen dieses Attribut keinen
+ Sinn macht, werden ignoriert. In vollstaendig in der
+ Selektion eingeschlossenen Nodes wird das Attribut zu
+ harter Formatierung, in den anderen (Text-)Nodes wird das
+ Attribut in das Attributearray eingefuegt. Bei einem
+ Zeichenattribut wird ein "leerer" Hint eingefuegt,
+ wenn keine Selektion
+ vorliegt; andernfalls wird das Attribut als harte
+ Formatierung dem durch rRg.Start() bezeichneten Node
+ hinzugefuegt. Wenn das Attribut nicht eingefuegt werden
+ konnte, liefert die Methode sal_False.
+ */
+ //Modify here for #119405, by chengjh, 2012-08-16
+ //Add a para for the char attribute exp...
+ virtual bool InsertPoolItem(
+ const SwPaM &rRg,
+ const SfxPoolItem&,
+ const sal_uInt16 nFlags,
+ const bool bExpandCharToPara=false ) = 0;
+ //End
/**
*/
virtual bool InsertItemSet (const SwPaM &rRg, const SfxItemSet&,
- const sal_uInt16 nFlags) = 0;
+ const sal_uInt16 nFlags) = 0;
/** Removes any leading white space from the paragraph
*/
virtual void RemoveLeadingWhiteSpace(const SwPosition & rPos ) = 0;
- protected:
+protected:
virtual ~IDocumentContentOperations() {};
};
Modified: openoffice/trunk/main/sw/inc/crsrsh.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/inc/crsrsh.hxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/inc/crsrsh.hxx (original)
+++ openoffice/trunk/main/sw/inc/crsrsh.hxx Mon Nov 18 11:29:24 2013
@@ -71,10 +71,9 @@ class SwCellFrms;
class SwTOXMark;
class SwRedline;
class IBlockCursor;
-class SwCntntNode; // #i23726#
-// --> OD 2008-06-19 #i90516#
+class SwCntntNode;
class SwPostItField;
-// <--
+class SwTxtFld;
struct SwPosition;
namespace com { namespace sun { namespace star { namespace util {
@@ -220,10 +219,8 @@ private:
sal_uInt16 nBasicActionCnt; // Actions, die vom Basic geklammert wurden
CrsrMoveState eMvState; // Status fuers Crsr-Travelling - GetCrsrOfst
- // --> OD 2008-04-02 #refactorlists#
String sMarkedListId;
int nMarkedListLevel;
- // <--
sal_Bool bHasFocus : 1; // Shell ist in einem Window "aktiv"
sal_Bool bSVCrsrVis : 1; // SV-Cursor Un-/Sichtbar
@@ -251,9 +248,9 @@ private:
// OD 11.02.2003 #100556# - flag to allow/avoid execution of marcos (default: true)
bool mbMacroExecAllowed : 1;
- SW_DLLPRIVATE void UpdateCrsr( sal_uInt16 eFlags
- =SwCrsrShell::SCROLLWIN|SwCrsrShell::CHKRANGE,
- sal_Bool bIdleEnd = sal_False );
+ SW_DLLPRIVATE void UpdateCrsr(
+ sal_uInt16 eFlags = SwCrsrShell::SCROLLWIN|SwCrsrShell::CHKRANGE,
+ sal_Bool bIdleEnd = sal_False );
SW_DLLPRIVATE void _ParkPams( SwPaM* pDelRg, SwShellCrsr** ppDelRing );
@@ -734,12 +731,27 @@ public:
inline void UnSetVisCrsr();
// springe zum nachsten/vorherigen Feld des entsprechenden Types
- sal_Bool MoveFldType( const SwFieldType* pFldType, sal_Bool bNext,
- sal_uInt16 nSubType = USHRT_MAX,
- sal_uInt16 nResType = USHRT_MAX );
+ sal_Bool MoveFldType(
+ const SwFieldType* pFldType,
+ const bool bNext,
+ const sal_uInt16 nResType = USHRT_MAX,
+ const bool bAddSetExpressionFldsToInputFlds = true );
// springe genau zu diesem Feld
sal_Bool GotoFld( const SwFmtFld& rFld );
+ SwTxtFld* GetTxtFldAtPos(
+ const SwPosition* pPos,
+ const bool bIncludeInputFldAtStart ) const;
+ SwField* GetFieldAtCrsr(
+ const SwPaM* pCrsr,
+ const bool bIncludeInputFldAtStart ) const;
+ SwField* GetCurFld( const bool bIncludeInputFldAtStart = false ) const;
+ bool CrsrInsideInputFld() const;
+ bool PosInsideInputFld( const SwPosition& rPos ) const;
+ bool DocPtInsideInputFld( const Point& rDocPt ) const;
+ xub_StrLen StartOfInputFldAtPos( const SwPosition& rPos ) const;
+ xub_StrLen EndOfInputFldAtPos( const SwPosition& rPos ) const;
+
// returne die Anzahl der Cursor im Ring (Flag besagt ob man nur
// aufgepspannte haben will - sprich etwas selektiert ist (Basic))
sal_uInt16 GetCrsrCnt( sal_Bool bAll = sal_True ) const;
@@ -829,15 +841,14 @@ public:
sal_Bool GotoINetAttr( const SwTxtINetFmt& rAttr );
const SwFmtINetFmt* FindINetAttr( const String& rName ) const;
+ sal_Bool SelectTxt( const xub_StrLen nStart,
+ const xub_StrLen nEnd );
+
sal_Bool CheckTblBoxCntnt( const SwPosition* pPos = 0 );
void SaveTblBoxCntnt( const SwPosition* pPos = 0 );
void ClearTblBoxCntnt();
sal_Bool EndAllTblBoxEdit();
- // wird gerufen, wenn eine Tabellenselektion im UpdateCrsr erzeugt wird,
- // ohne das die UI davon etaws weiss
- virtual void NewCoreSelection();
-
void SetSelTblCells( sal_Bool bFlag ) { bSelTblCells = bFlag; }
sal_Bool IsSelTblCells() const { return bSelTblCells; }
@@ -892,8 +903,6 @@ public:
@return the textual description of the current selection
*/
String GetCrsrDescr() const;
-
- SwRect GetRectOfCurrentChar();
};
Modified: openoffice/trunk/main/sw/inc/doc.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/inc/doc.hxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/inc/doc.hxx (original)
+++ openoffice/trunk/main/sw/inc/doc.hxx Mon Nov 18 11:29:24 2013
@@ -867,13 +867,13 @@ public:
@param rPos position to search at
@return pointer to field at the given position or NULL in case no field is found
*/
- static SwField* GetField(const SwPosition& rPos);
+ static SwField* GetFieldAtPos(const SwPosition& rPos);
/** Returns the field at a certain position.
@param rPos position to search at
@return pointer to field at the given position or NULL in case no field is found
*/
- static SwTxtFld* GetTxtFld(const SwPosition& rPos);
+ static SwTxtFld* GetTxtFldAtPos(const SwPosition& rPos);
/** IDocumentContentOperations
*/
@@ -881,12 +881,10 @@ public:
virtual void DeleteSection(SwNode* pNode);
virtual bool DeleteRange(SwPaM&);
virtual bool DelFullPara(SwPaM&);
- // --> OD 2009-08-20 #i100466#
// Add optional parameter <bForceJoinNext>, default value <false>
// Needed for hiding of deletion redlines
virtual bool DeleteAndJoin( SwPaM&,
const bool bForceJoinNext = false );
- // <--
virtual bool MoveRange(SwPaM&, SwPosition&, SwMoveFlags);
virtual bool MoveNodeRange(SwNodeRange&, SwNodeIndex&, SwMoveFlags);
virtual bool MoveAndJoin(SwPaM&, SwPosition&, SwMoveFlags);
@@ -900,11 +898,13 @@ public:
virtual SwDrawFrmFmt* Insert(const SwPaM &rRg, SdrObject& rDrawObj, const SfxItemSet* pFlyAttrSet, SwFrmFmt*);
virtual SwFlyFrmFmt* Insert(const SwPaM &rRg, const svt::EmbeddedObjectRef& xObj, const SfxItemSet* pFlyAttrSet,
const SfxItemSet* pGrfAttrSet, SwFrmFmt*);
- //Modify here for #119405, by chengjh, 2012-08-16
- //Add a para for the char attribute exp...
- virtual bool InsertPoolItem(const SwPaM &rRg, const SfxPoolItem&,
- const SetAttrMode nFlags,bool bExpandCharToPara=false);
- //End
+
+ virtual bool InsertPoolItem(
+ const SwPaM &rRg,
+ const SfxPoolItem&,
+ const SetAttrMode nFlags,
+ const bool bExpandCharToPara=false);
+
virtual bool InsertItemSet (const SwPaM &rRg, const SfxItemSet&,
const SetAttrMode nFlags);
virtual void ReRead(SwPaM&, const String& rGrfName, const String& rFltName, const Graphic* pGraphic, const GraphicObject* pGrfObj);
Modified: openoffice/trunk/main/sw/inc/editsh.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/inc/editsh.hxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/inc/editsh.hxx (original)
+++ openoffice/trunk/main/sw/inc/editsh.hxx Mon Nov 18 11:29:24 2013
@@ -54,7 +54,7 @@ class SfxPoolItem;
class SfxItemSet;
class SvxAutoCorrect;
-class SwField; // fuer Felder
+class SwField;
class SwFieldType;
class SwDDEFieldType;
class SwNewDBMgr;
@@ -256,8 +256,8 @@ public:
sal_Bool GetCurAttr( SfxItemSet& ,
const bool bMergeIndentValuesOfNumRule = false ) const;
// <--
- void SetAttr( const SfxPoolItem&, sal_uInt16 nFlags = 0 );
- void SetAttr( const SfxItemSet&, sal_uInt16 nFlags = 0 );
+ void SetAttrItem( const SfxPoolItem&, sal_uInt16 nFlags = 0 );
+ void SetAttrSet( const SfxItemSet&, sal_uInt16 nFlags = 0 );
// Setze das Attribut als neues default Attribut im Dokument.
void SetDefault( const SfxPoolItem& );
@@ -332,7 +332,6 @@ public:
// Felder
void Insert2(SwField&, const bool bForceExpandHints = false);
- SwField* GetCurFld() const;
void UpdateFlds( SwField & ); // ein einzelnes Feld
Modified: openoffice/trunk/main/sw/inc/expfld.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/inc/expfld.hxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/inc/expfld.hxx (original)
+++ openoffice/trunk/main/sw/inc/expfld.hxx Mon Nov 18 11:29:24 2013
@@ -312,30 +312,50 @@ public:
class SW_DLLPUBLIC SwInputField : public SwField
{
- String aContent;
- String aPText;
- String aHelp;
- String aToolTip;
- sal_uInt16 nSubType;
+ mutable String aContent;
+ String aPText;
+ String aHelp;
+ String aToolTip;
+ sal_uInt16 nSubType;
+ bool mbIsFormField;
+
+ SwFmtFld* mpFmtFld; // attribute to which the <SwInputField> belongs to
virtual String Expand() const;
virtual SwField* Copy() const;
+ // Accessing Input Field's content
+ const String& getContent() const;
+
public:
- // Direkte Eingabe ueber Dialog alten Wert loeschen
- SwInputField(SwInputFieldType*, const String& rContent ,
- const String& rPrompt, sal_uInt16 nSubType = 0,
- sal_uLong nFmt = 0);
+ // Direkte Eingabe ueber Dialog alten Wert loeschen
+ SwInputField(
+ SwInputFieldType* pFieldType,
+ const String& rContent,
+ const String& rPrompt,
+ sal_uInt16 nSubType = 0,
+ sal_uLong nFmt = 0,
+ bool bIsFormField = true );
+ virtual ~SwInputField();
+
+ void SetFmtFld( SwFmtFld& rFmtFld );
+ SwFmtFld* GetFmtFld();
+
+ // Providing new Input Field's content:
+ // Fill Input Field's content depending on <nSupType>.
+ void applyFieldContent( const String& rNewFieldContent );
+
+ bool isFormField() const;
virtual String GetFieldName() const;
- // Content
- virtual const String& GetPar1() const;
- virtual void SetPar1(const String& rStr);
-
- // aPromptText
- virtual String GetPar2() const;
- virtual void SetPar2(const String& rStr);
+ // Content
+ virtual const String& GetPar1() const;
+ virtual void SetPar1(const String& rStr);
+
+ // aPromptText
+ virtual String GetPar2() const;
+ virtual void SetPar2(const String& rStr);
virtual String GetHelp() const;
virtual void SetHelp(const String & rStr);
@@ -343,10 +363,8 @@ public:
virtual String GetToolTip() const;
virtual void SetToolTip(const String & rStr);
- virtual sal_Bool isFormField() const;
-
- virtual sal_uInt16 GetSubType() const;
- virtual void SetSubType(sal_uInt16 nSub);
+ virtual sal_uInt16 GetSubType() const;
+ virtual void SetSubType(sal_uInt16 nSub);
virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt16 nWhich ) const;
virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt16 nWhich );
};
Modified: openoffice/trunk/main/sw/inc/fldbas.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/inc/fldbas.hxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/inc/fldbas.hxx (original)
+++ openoffice/trunk/main/sw/inc/fldbas.hxx Mon Nov 18 11:29:24 2013
@@ -308,6 +308,8 @@ class SW_DLLPUBLIC SwField
{
private:
mutable String m_Cache; /// #i85766# cached expansion (for clipboard)
+ bool m_bUseFieldValueCache; /// control the usage of the cached field value
+
sal_uInt16 nLang; // Immer ueber SetLanguage aendern!
sal_Bool bIsAutomaticLanguage;
sal_uInt32 nFormat;
@@ -320,7 +322,10 @@ private:
protected:
void SetFormat(sal_uInt32 nSet) {nFormat = nSet;}
- SwField(SwFieldType* pTyp, sal_uInt32 nFmt = 0, sal_uInt16 nLang = LANGUAGE_SYSTEM);
+ SwField( SwFieldType* pTyp,
+ sal_uInt32 nFmt = 0,
+ sal_uInt16 nLang = LANGUAGE_SYSTEM,
+ bool m_bUseFieldValueCache = true );
public:
virtual ~SwField();
Modified: openoffice/trunk/main/sw/inc/fmtfld.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/inc/fmtfld.hxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/inc/fmtfld.hxx (original)
+++ openoffice/trunk/main/sw/inc/fmtfld.hxx Mon Nov 18 11:29:24 2013
@@ -39,17 +39,15 @@ class SwFieldType;
// ATT_FLD ***********************************
class SW_DLLPUBLIC SwFmtFld : public SfxPoolItem, public SwClient, public SfxBroadcaster
{
- friend class SwTxtFld;
- friend void _InitCore();
+ friend void _InitCore();
+ SwFmtFld( sal_uInt16 nWhich ); // for default-Attibute
- SwField *pField;
- SwTxtFld* pTxtAttr; // mein TextAttribut
+ SwField* mpField;
+ SwTxtFld* mpTxtFld; // the TextAttribute
- SwFmtFld(); // das default-Attibut
- // geschuetzter CopyCtor
- // @@@ copy construction allowed, but copy assignment is not? @@@
- SwFmtFld& operator=(const SwFmtFld& rFld);
+ // @@@ copy construction allowed, but copy assignment is not? @@@
+ SwFmtFld& operator=(const SwFmtFld& rFld);
protected:
virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew);
@@ -74,11 +72,11 @@ public:
const SwField* GetField() const
{
- return pField;
+ return mpField;
}
SwField* GetField()
{
- return pField;
+ return mpField;
}
// #111840#
@@ -89,14 +87,24 @@ public:
@attention The current field will be destroyed before setting the new field.
*/
- void SetFld(SwField * pField);
+ void SetField( SwField * pField );
+
+
+ const SwTxtFld* GetTxtFld() const
+ {
+ return mpTxtFld;
+ }
+ SwTxtFld* GetTxtFld()
+ {
+ return mpTxtFld;
+ }
+ void SetTxtFld( SwTxtFld& rTxtFld );
+ void ClearTxtFld();
- const SwTxtFld *GetTxtFld() const { return pTxtAttr; }
- SwTxtFld *GetTxtFld() { return pTxtAttr; }
void RegisterToFieldType( SwFieldType& );
- sal_Bool IsFldInDoc() const;
- sal_Bool IsProtect() const;
+ bool IsFldInDoc() const;
+ sal_Bool IsProtect() const;
};
class SW_DLLPUBLIC SwFmtFldHint : public SfxHint
Modified: openoffice/trunk/main/sw/inc/hintids.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/inc/hintids.hxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/inc/hintids.hxx (original)
+++ openoffice/trunk/main/sw/inc/hintids.hxx Mon Nov 18 11:29:24 2013
@@ -33,11 +33,15 @@
#define CH_TXTATR_INWORD ((sal_Unicode)0x02)
#define CH_TXTATR_TAB ((sal_Unicode)'\t')
#define CH_TXTATR_NEWLINE ((sal_Unicode)'\n')
-#define CH_TXT_ATR_FIELDSTART ((sal_Unicode)0x04)
-#define CH_TXT_ATR_FIELDEND ((sal_Unicode)0x05)
+#define CH_TXT_ATR_INPUTFIELDSTART ((sal_Unicode)0x04)
+#define CH_TXT_ATR_INPUTFIELDEND ((sal_Unicode)0x05)
+
+#define CH_TXT_ATR_FORMELEMENT ((sal_Unicode)0x06)
+
+#define CH_TXT_ATR_FIELDSTART ((sal_Unicode)0x07)
+#define CH_TXT_ATR_FIELDEND ((sal_Unicode)0x08)
#define CH_TXT_ATR_SUBST_FIELDSTART ("[")
#define CH_TXT_ATR_SUBST_FIELDEND ("]")
-#define CH_TXT_ATR_FORMELEMENT ((sal_Unicode)0x06)
/*
* Hier kommen erst mal die enums fuer die Hints
@@ -129,7 +133,7 @@ RES_TXTATR_WITHEND_BEGIN = RES_TXTATR_BE
RES_TXTATR_CHARFMT, // 49
RES_TXTATR_CJK_RUBY, // 50
RES_TXTATR_UNKNOWN_CONTAINER, // 51
- RES_TXTATR_DUMMY5, // 52
+ RES_TXTATR_INPUTFIELD, // 52
RES_TXTATR_WITHEND_END,
// alle TextAttribute ohne ein Ende
Modified: openoffice/trunk/main/sw/inc/ndtxt.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/inc/ndtxt.hxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/inc/ndtxt.hxx (original)
+++ openoffice/trunk/main/sw/inc/ndtxt.hxx Mon Nov 18 11:29:24 2013
@@ -52,7 +52,8 @@ namespace utl {
class SwTxtFmtColl;
class SwCntntFrm;
-class SwTxtFld; // Fuer GetTxtFld()
+class SwTxtFld;
+class SwTxtInputFld;
class SfxItemSet;
class SwUndoTransliterate;
@@ -92,9 +93,7 @@ class SW_DLLPUBLIC SwTxtNode: public SwC
//Also niemals direkt zugreifen!
SwpHints *m_pSwpHints;
- // --> OD 2005-11-02 #i51089 - TUNING#
mutable SwNodeNum* mpNodeNum; // Numerierung fuer diesen Absatz
- // <--
XubString m_Text;
SwParaIdleData_Impl* m_pParaIdleData_Impl;
@@ -111,20 +110,15 @@ class SW_DLLPUBLIC SwTxtNode: public SwC
bool m_bNotifiable;
// sal_uInt8 nOutlineLevel; //#outline level, removed by zhaojianwei.
- // --> OD 2008-11-19 #i70748#
+
bool mbEmptyListStyleSetDueToSetOutlineLevelAttr;
- // <--
- // --> OD 2008-03-27 #refactorlists#
// boolean, indicating that a <SetAttr(..)> or <ResetAttr(..)> or
// <ResetAllAttr(..)> method is running.
// Needed to avoid duplicate handling of attribute change actions.
bool mbInSetOrResetAttr;
- // <--
- // --> OD 2008-05-06 #refactorlists#
// pointer to the list, to whose the text node is added to
SwList* mpList;
- // <--
/// #i111677# cached expansion (for clipboard)
::std::auto_ptr< ::rtl::OUString > m_pNumStringCache;
@@ -184,9 +178,6 @@ class SW_DLLPUBLIC SwTxtNode: public SwC
/** create number for this text node, if not already existing
- OD 2005-11-02 #i51089 - TUNING#
- OD 2007-10-26 #i83479# - made private
-
@return number of this node
*/
SwNodeNum* CreateNum() const;
@@ -195,6 +186,8 @@ class SW_DLLPUBLIC SwTxtNode: public SwC
SW_DLLPRIVATE void impl_FmtToTxtAttr(const SfxItemSet& i_rAttrSet);
+ const SwTxtInputFld* GetOverlappingInputFld( const SwTxtAttr& rTxtAttr ) const;
+
public:
//Bug 120881:Modify here for Directly Page Numbering
bool HasPageNumberField();
@@ -211,9 +204,7 @@ public:
void SetAutoCompleteWordDirty( bool bNew ) const;
void SetWrong( SwWrongList* pNew, bool bDelete = true );
SwWrongList* GetWrong();
- // --> OD 2008-05-23 #i71360#
const SwWrongList* GetWrong() const;
- // <--
void SetGrammarCheck( SwGrammarMarkUp* pNew, bool bDelete = true );
SwGrammarMarkUp* GetGrammarCheck();
// SMARTTAGS
@@ -252,14 +243,12 @@ public:
void GetMinMaxSize( sal_uLong nIndex, sal_uLong& rMin, sal_uLong &rMax, sal_uLong &rAbs,
OutputDevice* pOut = 0 ) const;
- // --> OD 2008-03-13 #refactorlists#
// overriding to handle change of certain paragraph attributes
virtual sal_Bool SetAttr( const SfxPoolItem& );
virtual sal_Bool SetAttr( const SfxItemSet& rSet );
virtual sal_Bool ResetAttr( sal_uInt16 nWhich1, sal_uInt16 nWhich2 = 0 );
virtual sal_Bool ResetAttr( const SvUShorts& rWhichArr );
virtual sal_uInt16 ResetAllAttr();
- // <--
/// insert text content
void InsertText( const XubString & rStr, const SwIndex & rIdx,
@@ -285,7 +274,7 @@ public:
refmarks, toxmarks, and metas will be ignored unless this is true
ATTENTION: setting bInclRefToxMark is only allowed from UNDO!
*/
- void RstAttr(
+ void RstTxtAttr(
const SwIndex &rIdx,
const xub_StrLen nLen,
const sal_uInt16 nWhich = 0,
@@ -296,7 +285,7 @@ public:
// loesche das Text-Attribut (muss beim Pool abgemeldet werden!)
void DestroyAttr( SwTxtAttr* pAttr );
- // loesche alle Attribute aus dem SwpHintsArray.
+ // loesche alle Attribute aus dem SwpHintsArray.
void ClearSwpHintsArr( bool bDelFields );
/// Insert pAttr into hints array. @return true iff inserted successfully
@@ -308,13 +297,15 @@ public:
const xub_StrLen nStart, const xub_StrLen nEnd,
const SetAttrMode nMode = nsSetAttrMode::SETATTR_DEFAULT );
- // setze diese Attribute am TextNode. Wird der gesamte Bereich umspannt,
- // dann setze sie nur im AutoAttrSet (SwCntntNode:: SetAttr)
- sal_Bool SetAttr( const SfxItemSet& rSet,
- xub_StrLen nStt, xub_StrLen nEnd,
- const SetAttrMode nMode = nsSetAttrMode::SETATTR_DEFAULT );
- // erfrage die Attribute vom TextNode ueber den Bereich
- // --> OD 2008-01-16 #newlistlevelattrs#
+ // setze diese Attribute am TextNode. Wird der gesamte Bereich umspannt,
+ // dann setze sie nur im AutoAttrSet (SwCntntNode:: SetAttr)
+ sal_Bool SetAttr(
+ const SfxItemSet& rSet,
+ const xub_StrLen nStt,
+ const xub_StrLen nEnd,
+ const SetAttrMode nMode = nsSetAttrMode::SETATTR_DEFAULT );
+
+ // erfrage die Attribute vom TextNode ueber den Bereich
// Introduce 4th optional parameter <bMergeIndentValuesOfNumRule>.
// If <bMergeIndentValuesOfNumRule> == sal_True, the indent attributes of
// the corresponding list level of an applied list style is merged into
@@ -337,7 +328,6 @@ public:
void DeleteAttribute ( SwTxtAttr * const pTxtAttr );
// Aktionen auf Text und Attributen
- // --> OD 2008-11-18 #i96213#
// introduce optional parameter to control, if all attributes have to be copied.
void CopyText( SwTxtNode * const pDest,
const SwIndex &rStart,
@@ -348,7 +338,6 @@ public:
const SwIndex &rStart,
xub_StrLen nLen,
const bool bForceCopyOfAllAttrs = false );
- // <--
void CutText(SwTxtNode * const pDest,
const SwIndex & rStart, const xub_StrLen nLen);
@@ -374,8 +363,8 @@ public:
sal_Bool bFmtToTxtAttributes = sal_True );
enum GetTxtAttrMode {
- DEFAULT, /// DEFAULT: (Start < nIndex <= End)
- EXPAND, /// EXPAND : (Start <= nIndex < End)
+ DEFAULT, /// DEFAULT: (Start <= nIndex < End)
+ EXPAND, /// EXPAND : (Start < nIndex <= End)
PARENT, /// PARENT : (Start < nIndex < End)
};
@@ -387,20 +376,19 @@ public:
hints of which several may cover a single position, like
RES_TXTATR_CHARFMT, RES_TXTATR_REFMARK, RES_TXTATR_TOXMARK
*/
- SwTxtAttr *GetTxtAttrAt(xub_StrLen const nIndex, RES_TXTATR const nWhich,
- enum GetTxtAttrMode const eMode = DEFAULT) const;
- //Bug 120881:Modify here for Directly Page Numbering
- SwTxtFld *GetTxtFld( xub_StrLen const rIdx )
- { return (SwTxtFld *)GetTxtAttrAt( rIdx, RES_TXTATR_FIELD ); }
- //Bug 120881(End)
+ SwTxtAttr *GetTxtAttrAt(
+ xub_StrLen const nIndex,
+ RES_TXTATR const nWhich,
+ enum GetTxtAttrMode const eMode = DEFAULT ) const;
/** get the innermost text attributes covering position nIndex.
@param nWhich only attributes with this id are returned.
@param eMode the predicate for matching (@see GetTxtAttrMode).
*/
- ::std::vector<SwTxtAttr *> GetTxtAttrsAt(xub_StrLen const nIndex,
- RES_TXTATR const nWhich,
- enum GetTxtAttrMode const eMode = DEFAULT) const;
+ ::std::vector<SwTxtAttr *> GetTxtAttrsAt(
+ xub_StrLen const nIndex,
+ RES_TXTATR const nWhich,
+ enum GetTxtAttrMode const eMode = DEFAULT ) const;
/** get the text attribute at position nIndex which owns
the dummy character CH_TXTATR_* at that position, if one exists.
@@ -409,8 +397,13 @@ public:
attribute with given which id
@return the text attribute at nIndex of type nWhich, if it exists
*/
- SwTxtAttr *GetTxtAttrForCharAt( const xub_StrLen nIndex,
- const RES_TXTATR nWhich = RES_TXTATR_END ) const;
+ SwTxtAttr *GetTxtAttrForCharAt(
+ const xub_StrLen nIndex,
+ const RES_TXTATR nWhich = RES_TXTATR_END ) const;
+
+ SwTxtFld* GetFldTxtAttrAt(
+ const xub_StrLen nIndex,
+ const bool bIncludeInputFldAtStart = false ) const;
// Aktuelles Wort zurueckliefern
XubString GetCurWord(xub_StrLen) const;
@@ -427,8 +420,6 @@ public:
// (Methode steht im ndcopy.cxx!!)
void CopyCollFmt( SwTxtNode& rDestNd );
- //const SwNodeNum* _GetNodeNum() const { return pNdNum; }
-
//
// BEGIN OF BULLET/NUMBERING/OUTLINE STUFF:
//
@@ -461,20 +452,6 @@ public:
void UpdateOutlineState();
- /** -> #i23730#
-
- Returns if this text node may be numbered.
-
- A text node may be numbered if
- - it has no SwNodeNum
- - it has a SwNodeNum and it has a numbering rule and the according
- SwNumFmt defines a numbering type that is an enumeration.
-
- @retval sal_True this text node may be numbered
- @retval sal_False else
- */
- //sal_Bool MayBeNumbered() const;
-
/**
Notify this textnode that its numbering rule has changed.
*/
@@ -482,7 +459,6 @@ public:
/** Returns outline of numbering string
- OD 2005-11-17 #128041#
Introduce parameter <_bInclPrefixAndSuffixStrings> in order to control,
if the prefix and the suffix strings have to been included or not.
@@ -518,9 +494,7 @@ public:
*/
sal_Bool GetFirstLineOfsWithNum( short& rFirstOffset ) const;
- // --> OD 2010-01-05 #b6884103#
SwTwips GetAdditionalIndentForStartingNewList() const;
- // <--
// --> OD 2008-12-02 #i96772#
void ClearLRSpaceItemDueToListLevelIndents( SvxLRSpaceItem& o_rLRSpaceItem ) const;
@@ -667,15 +641,12 @@ public:
*/
bool HasVisibleNumberingOrBullet() const;
- // --> OD 2008-02-19 #refactorlists#
void SetListId( const String sListId );
String GetListId() const;
- // <--
/** Determines, if the list level indent attributes can be applied to the
paragraph.
- OD 2008-01-17 #newlistlevelattrs#
The list level indents can be applied to the paragraph under the one
of following conditions:
- the list style is directly applied to the paragraph and the paragraph
@@ -694,8 +665,6 @@ public:
/** Retrieves the list tab stop position, if the paragraph's list level defines
one and this list tab stop has to merged into the tap stops of the paragraph
- OD 2008-01-17 #newlistlevelattrs#
-
@author OD
@param nListTabStopPosition
@@ -708,8 +677,6 @@ public:
/** Retrieves the character following the list label, if the paragraph's
list level defines one.
- OD 2008-01-17 #newlistlevelattrs#
-
@author OD
@return XubString - the list tab stop position
@@ -805,8 +772,11 @@ public:
TYPEINFO(); // fuer rtti
// override SwIndexReg
- virtual void Update( SwIndex const & rPos, const xub_StrLen nChangeLen,
- const bool bNegative = false, const bool bDelete = false );
+ virtual void Update(
+ SwIndex const & rPos,
+ const xub_StrLen nChangeLen,
+ const bool bNegative = false,
+ const bool bDelete = false );
// change text to Upper/Lower/Hiragana/Katagana/...
void TransliterateText( utl::TransliterationWrapper& rTrans,
@@ -836,13 +806,9 @@ public:
void SetCountedInList( bool bCounted );
bool IsCountedInList() const;
- // --> OD 2008-03-13 #refactorlists#
-// void SyncNumberAndNumRule();
-// void UnregisterNumber();
void AddToList();
void RemoveFromList();
bool IsInList() const;
- // <--
bool IsFirstOfNumRule() const;
Modified: openoffice/trunk/main/sw/inc/txatbase.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/inc/txatbase.hxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/inc/txatbase.hxx (original)
+++ openoffice/trunk/main/sw/inc/txatbase.hxx Mon Nov 18 11:29:24 2013
@@ -60,6 +60,7 @@ private:
bool m_bDontExpandStart : 1; // don't expand start at paragraph start (ruby)
bool m_bNesting : 1; // SwTxtAttrNesting
bool m_bHasDummyChar : 1; // without end + meta
+ bool m_bHasContent : 1; // text attribute with content
protected:
SwTxtAttr( SfxPoolItem& rAttr, xub_StrLen nStart );
@@ -72,6 +73,7 @@ protected:
void SetDontExpandStartAttr(bool bFlag) { m_bDontExpandStart = bFlag; }
void SetNesting(const bool bFlag) { m_bNesting = bFlag; }
void SetHasDummyChar(const bool bFlag) { m_bHasDummyChar = bFlag; }
+ void SetHasContent( const bool bFlag ) { m_bHasContent = bFlag; }
public:
@@ -83,10 +85,10 @@ public:
const xub_StrLen* GetStart() const { return & m_nStart; }
/// end position
- virtual xub_StrLen* GetEnd();
- inline const xub_StrLen* GetEnd() const;
- /// end (if available), else start
- inline const xub_StrLen* GetAnyEnd() const;
+ virtual xub_StrLen* GetEnd(); // also used to change the end position
+ inline const xub_StrLen* End() const;
+ /// end (if available), else start
+ inline const xub_StrLen* GetAnyEnd() const;
inline void SetDontExpand( bool bDontExpand );
bool DontExpand() const { return m_bDontExpand; }
@@ -99,6 +101,7 @@ public:
bool IsDontExpandStartAttr() const { return m_bDontExpandStart; }
bool IsNesting() const { return m_bNesting; }
bool HasDummyChar() const { return m_bHasDummyChar; }
+ bool HasContent() const { return m_bHasContent; }
inline const SfxPoolItem& GetAttr() const;
inline SfxPoolItem& GetAttr();
@@ -127,21 +130,20 @@ protected:
public:
SwTxtAttrEnd( SfxPoolItem& rAttr, sal_uInt16 nStart, sal_uInt16 nEnd );
- using SwTxtAttr::GetEnd;
virtual xub_StrLen* GetEnd();
};
// --------------- Inline Implementierungen ------------------------
-inline const xub_StrLen* SwTxtAttr::GetEnd() const
+inline const xub_StrLen* SwTxtAttr::End() const
{
return const_cast<SwTxtAttr * >(this)->GetEnd();
}
inline const xub_StrLen* SwTxtAttr::GetAnyEnd() const
{
- const xub_StrLen* pEnd = GetEnd();
+ const xub_StrLen* pEnd = End();
return pEnd ? pEnd : GetStart();
}
@@ -183,8 +185,10 @@ inline const SwFmtAutoFmt& SwTxtAttr::Ge
inline const SwFmtFld& SwTxtAttr::GetFmtFld() const
{
- ASSERT( m_pAttr && m_pAttr->Which() == RES_TXTATR_FIELD,
- "Wrong attribute" );
+ ASSERT( m_pAttr
+ && ( m_pAttr->Which() == RES_TXTATR_FIELD
+ || m_pAttr->Which() == RES_TXTATR_INPUTFIELD ),
+ "Wrong attribute" );
return (const SwFmtFld&)(*m_pAttr);
}
Modified: openoffice/trunk/main/sw/inc/txtfld.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/inc/txtfld.hxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/inc/txtfld.hxx (original)
+++ openoffice/trunk/main/sw/inc/txtfld.hxx Mon Nov 18 11:29:24 2013
@@ -33,44 +33,69 @@ class SwTxtNode;
class SwTxtFld : public SwTxtAttr
{
- mutable String m_aExpand;
+ mutable String m_aExpand; // only used to determine, if field content is changing in <ExpandTxtFld()>
SwTxtNode * m_pTxtNode;
public:
- SwTxtFld(SwFmtFld & rAttr, xub_StrLen const nStart);
+ SwTxtFld(
+ SwFmtFld & rAttr,
+ xub_StrLen const nStart );
+
virtual ~SwTxtFld();
- void CopyFld( SwTxtFld *pDest ) const;
- void Expand() const;
- inline void ExpandAlways();
+ void CopyTxtFld( SwTxtFld *pDest ) const;
+
+ void ExpandTxtFld() const;
+ inline void ExpandAlways()
+ {
+ m_aExpand += ' '; // changing current value to assure that <ExpandTxtFld()> changes the value.
+ ExpandTxtFld();
+ }
// get and set TxtNode pointer
- SwTxtNode* GetpTxtNode() const { return m_pTxtNode; }
- inline SwTxtNode& GetTxtNode() const;
- void ChgTxtNode( SwTxtNode* pNew ) { m_pTxtNode = pNew; }
+ inline SwTxtNode* GetpTxtNode() const
+ {
+ return m_pTxtNode;
+ }
+ inline SwTxtNode& GetTxtNode() const
+ {
+ ASSERT( m_pTxtNode, "SwTxtFld:: where is my TxtNode?" );
+ return *m_pTxtNode;
+ }
+ inline void ChgTxtNode( SwTxtNode* pNew )
+ {
+ m_pTxtNode = pNew;
+ }
+
+ bool IsFldInDoc() const;
+
// enable notification that field content has changed and needs reformatting
- void NotifyContentChange(SwFmtFld& rFmtFld);
+ virtual void NotifyContentChange( SwFmtFld& rFmtFld );
- // #111840#
- /**
- Returns position of this field.
-
- @return position of this field. Has to be deleted explicitly.
- */
-// SwPosition * GetPosition() const;
};
-inline SwTxtNode& SwTxtFld::GetTxtNode() const
+class SwTxtInputFld : public SwTxtFld
{
- ASSERT( m_pTxtNode, "SwTxtFld:: where is my TxtNode?" );
- return *m_pTxtNode;
-}
+public:
+ SwTxtInputFld(
+ SwFmtFld & rAttr,
+ xub_StrLen const nStart,
+ xub_StrLen const nEnd );
-inline void SwTxtFld::ExpandAlways()
-{
- m_aExpand += ' ';
- Expand();
-}
+ virtual ~SwTxtInputFld();
+
+ virtual xub_StrLen* GetEnd();
+
+ virtual void NotifyContentChange( SwFmtFld& rFmtFld );
+
+ void UpdateTextNodeContent( const String& rNewContent );
+
+ const String GetFieldContent() const;
+ void UpdateFieldContent();
+
+private:
+ xub_StrLen m_nEnd;
+};
#endif
Modified: openoffice/trunk/main/sw/inc/txtrfmrk.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/inc/txtrfmrk.hxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/inc/txtrfmrk.hxx (original)
+++ openoffice/trunk/main/sw/inc/txtrfmrk.hxx Mon Nov 18 11:29:24 2013
@@ -40,7 +40,6 @@ public:
xub_StrLen const nStart, xub_StrLen const*const pEnd = 0);
virtual xub_StrLen * GetEnd(); // SwTxtAttr
- inline const xub_StrLen * GetEnd() const { return m_pEnd; }
// get and set TxtNode pointer
inline const SwTxtNode& GetTxtNode() const;
Modified: openoffice/trunk/main/sw/inc/txttxmrk.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/inc/txttxmrk.hxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/inc/txttxmrk.hxx (original)
+++ openoffice/trunk/main/sw/inc/txttxmrk.hxx Mon Nov 18 11:29:24 2013
@@ -42,7 +42,6 @@ public:
virtual ~SwTxtTOXMark();
virtual xub_StrLen *GetEnd(); // SwTxtAttr
- inline const xub_StrLen* GetEnd() const { return m_pEnd; }
void CopyTOXMark( SwDoc* pDestDoc );
Modified: openoffice/trunk/main/sw/inc/viscrs.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/inc/viscrs.hxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/inc/viscrs.hxx (original)
+++ openoffice/trunk/main/sw/inc/viscrs.hxx Mon Nov 18 11:29:24 2013
@@ -30,6 +30,7 @@
class SwCrsrShell;
class SwShellCrsr;
+class SwTxtInputFld;
// -------- Ab hier Klassen / Methoden fuer den nicht Text-Cursor ------
@@ -76,6 +77,7 @@ public:
// #i75172# predefines
namespace sdr { namespace overlay { class OverlayObject; }}
+namespace sw { namespace overlay { class OverlayRangesOutline; }}
class SwSelPaintRects : public SwRects
{
@@ -89,7 +91,6 @@ class SwSelPaintRects : public SwRects
const SwCrsrShell* pCShell;
virtual void Paint( const Rectangle& rRect );
- virtual void FillRects() = 0;
// #i75172#
sdr::overlay::OverlayObject* mpCursorOverlay;
@@ -98,11 +99,18 @@ class SwSelPaintRects : public SwRects
sdr::overlay::OverlayObject* getCursorOverlay() const { return mpCursorOverlay; }
void setCursorOverlay(sdr::overlay::OverlayObject* pNew) { mpCursorOverlay = pNew; }
+ bool mbShowTxtInputFldOverlay;
+ sw::overlay::OverlayRangesOutline* mpTxtInputFldOverlay;
+
+ void HighlightInputFld();
+
public:
SwSelPaintRects( const SwCrsrShell& rCSh );
virtual ~SwSelPaintRects();
- // #i75172# in SwCrsrShell::CreateCrsr() the content of SwSelPaintRects is exchanged. To
+ virtual void FillRects() = 0;
+
+ // #i75172# in SwCrsrShell::CreateCrsr() the content of SwSelPaintRects is exchanged. To
// make a complete swap access to mpCursorOverlay is needed there
void swapContent(SwSelPaintRects& rSwap);
@@ -110,6 +118,11 @@ public:
void Hide();
void Invalidate( const SwRect& rRect );
+ inline void SetShowTxtInputFldOverlay( const bool bShow )
+ {
+ mbShowTxtInputFldOverlay = bShow;
+ }
+
const SwCrsrShell* GetShell() const { return pCShell; }
// check current MapMode of the shell and set possibly the static members.
// Optional set the parameters pX, pY
@@ -124,8 +137,6 @@ class SwShellCrsr : public virtual SwCur
Point aMkPt, aPtPt;
const SwPosition* pPt; // fuer Zuordung vom GetPoint() zum aPtPt
- virtual void FillRects(); // fuer Table- und normalen Crsr
-
using SwCursor::UpDown;
public:
@@ -135,6 +146,8 @@ public:
SwShellCrsr( SwShellCrsr& );
virtual ~SwShellCrsr();
+ virtual void FillRects(); // fuer Table- und normalen Crsr
+
void Show(); // Update und zeige alle Selektionen an
void Hide(); // verstecke alle Selektionen
void Invalidate( const SwRect& rRect );
@@ -182,7 +195,6 @@ class SwShellTableCrsr : public virtual
// TabellenBoxen. D.h., wird aus dem einen Array an einer Position
// etwas geloescht, dann muss es auch im anderen erfolgen!!
-
public:
SwShellTableCrsr( const SwCrsrShell& rCrsrSh, const SwPosition& rPos );
SwShellTableCrsr( const SwCrsrShell& rCrsrSh,
Modified: openoffice/trunk/main/sw/sdi/_textsh.sdi
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/sdi/_textsh.sdi?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/sdi/_textsh.sdi (original)
+++ openoffice/trunk/main/sw/sdi/_textsh.sdi Mon Nov 18 11:29:24 2013
@@ -36,6 +36,7 @@ interface BaseText
FN_INSERT_GLOSSARY // status(final|play|record)
[
ExecMethod = ExecGlossary ;
+ StateMethod = GetState ;
]
FN_TXTATR_INET // status()
@@ -138,7 +139,7 @@ interface BaseText
SID_INSERTDOC // status(final|play|rec)
[
ExecMethod = Execute ;
- StateMethod = NoState ;
+ StateMethod = GetState ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
FN_INSERT_BOOKMARK // status(final|play)
@@ -242,13 +243,13 @@ interface BaseText
FN_INSERT_BREAK // status(final|play)
[
ExecMethod = ExecInsert ;
- StateMethod = NoState ;
+ StateMethod = GetState ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
FN_INSERT_PAGEBREAK // status(final|play)
[
ExecMethod = ExecInsert ;
- StateMethod = NoState ;
+ StateMethod = GetState ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
FN_INSERT_LINEBREAK // status(final|play)
@@ -260,19 +261,19 @@ interface BaseText
FN_INSERT_COLUMN_BREAK // status(final|play)
[
ExecMethod = ExecInsert ;
- StateMethod = NoState ;
+ StateMethod = GetState ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
FN_INSERT_BREAK_DLG // status(final|play)
[
ExecMethod = Execute ;
- StateMethod = NoState ;
+ StateMethod = GetState ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
SID_INSERT_AVMEDIA // status(final|play)
[
ExecMethod = ExecInsert;
- StateMethod = NoState ;
+ StateMethod = StateInsert ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
FN_INSERT_HRULER // status()
@@ -340,6 +341,7 @@ interface BaseText
FN_INSERT_HYPERLINK // status()
[
ExecMethod = Execute ;
+ StateMethod = GetState;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
SID_HYPERLINK_DIALOG
@@ -931,6 +933,7 @@ interface BaseText
FN_EXPAND_GLOSSARY // status(final|play)
[
ExecMethod = ExecGlossary ;
+ StateMethod = GetState ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
FN_POSTIT // status(final|play)
Modified: openoffice/trunk/main/sw/sdi/_viewsh.sdi
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/sdi/_viewsh.sdi?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/sdi/_viewsh.sdi (original)
+++ openoffice/trunk/main/sw/sdi/_viewsh.sdi Mon Nov 18 11:29:24 2013
@@ -641,12 +641,12 @@ interface BaseTextEditView
ExecMethod = Execute ;
StateMethod = GetState ;
]
- SID_INSERT_GRAPHIC // status(final|play)
- [
- ExecMethod = Execute ;
- StateMethod = NoState ;
- DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
- ]
+ SID_INSERT_GRAPHIC // status(final|play)
+ [
+ ExecMethod = Execute ;
+ StateMethod = GetState ;
+ DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
+ ]
SID_AUTOSPELL_CHECK
[
ExecMethod = ExecViewOptions ;
Modified: openoffice/trunk/main/sw/source/core/access/accportions.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/core/access/accportions.cxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/core/access/accportions.cxx (original)
+++ openoffice/trunk/main/sw/source/core/access/accportions.cxx Mon Nov 18 11:29:24 2013
@@ -326,6 +326,7 @@ sal_Bool SwAccessiblePortionData::IsGray
case POR_NUMBER:
case POR_FLD:
case POR_URL:
+ case POR_INPUTFLD:
case POR_ISOTOX:
case POR_TOX:
case POR_HIDDEN:
Modified: openoffice/trunk/main/sw/source/core/bastyp/init.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/core/bastyp/init.cxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/core/bastyp/init.cxx (original)
+++ openoffice/trunk/main/sw/source/core/bastyp/init.cxx Mon Nov 18 11:29:24 2013
@@ -315,7 +315,7 @@ SfxItemInfo __FAR_DATA aSlotTab[] =
{ 0, 0 }, // RES_TXTATR_CHARFMT
{ SID_ATTR_CHAR_CJK_RUBY, 0 }, // RES_TXTATR_CJK_RUBY
{ 0, SFX_ITEM_POOLABLE }, // RES_TXTATR_UNKNOWN_CONTAINER
- { 0, SFX_ITEM_POOLABLE }, // RES_TXTATR_DUMMY5
+ { 0, 0 }, // RES_TXTATR_INPUTFIELD
{ 0, 0 }, // RES_TXTATR_FIELD
{ 0, 0 }, // RES_TXTATR_FLYCNT
@@ -528,8 +528,9 @@ void _InitCore()
aAttrTab[ RES_TXTATR_CHARFMT- POOLATTR_BEGIN ] = new SwFmtCharFmt( 0 );
aAttrTab[ RES_TXTATR_CJK_RUBY - POOLATTR_BEGIN ] = new SwFmtRuby( aEmptyStr );
aAttrTab[ RES_TXTATR_UNKNOWN_CONTAINER - POOLATTR_BEGIN ] = new SvXMLAttrContainerItem( RES_TXTATR_UNKNOWN_CONTAINER );
+ aAttrTab[ RES_TXTATR_INPUTFIELD - POOLATTR_BEGIN ] = new SwFmtFld( RES_TXTATR_INPUTFIELD );
- aAttrTab[ RES_TXTATR_FIELD- POOLATTR_BEGIN ] = new SwFmtFld;
+ aAttrTab[ RES_TXTATR_FIELD- POOLATTR_BEGIN ] = new SwFmtFld( RES_TXTATR_FIELD );
aAttrTab[ RES_TXTATR_FLYCNT - POOLATTR_BEGIN ] = new SwFmtFlyCnt( 0 );
aAttrTab[ RES_TXTATR_FTN - POOLATTR_BEGIN ] = new SwFmtFtn;
@@ -538,7 +539,6 @@ void _InitCore()
aAttrTab[ RES_TXTATR_DUMMY3 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_TXTATR_DUMMY3 );
aAttrTab[ RES_TXTATR_DUMMY1 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_TXTATR_DUMMY1 );
aAttrTab[ RES_TXTATR_DUMMY2 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_TXTATR_DUMMY2 );
- aAttrTab[ RES_TXTATR_DUMMY5 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_TXTATR_DUMMY5 );
// TextAttr - Dummies
aAttrTab[ RES_CHRATR_BIDIRTL - POOLATTR_BEGIN ] = new SfxInt16Item( RES_CHRATR_BIDIRTL, sal_Int16(-1) );
Modified: openoffice/trunk/main/sw/source/core/crsr/callnk.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/core/crsr/callnk.cxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/core/crsr/callnk.cxx (original)
+++ openoffice/trunk/main/sw/source/core/crsr/callnk.cxx Mon Nov 18 11:29:24 2013
@@ -138,7 +138,7 @@ SwCallLink::~SwCallLink()
for( n = 0; n < rHts.Count(); n++ )
{
const SwTxtAttr* pHt = rHts[ n ];
- pEnd = pHt->GetEnd();
+ pEnd = pHt->End();
nStart = *pHt->GetStart();
// nur Start oder Start und Ende gleich, dann immer
Modified: openoffice/trunk/main/sw/source/core/crsr/crsrsh.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/core/crsr/crsrsh.cxx?rev=1542986&r1=1542985&r2=1542986&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/core/crsr/crsrsh.cxx (original)
+++ openoffice/trunk/main/sw/source/core/crsr/crsrsh.cxx Mon Nov 18 11:29:24 2013
@@ -962,8 +962,10 @@ void SwCrsrShell::SwapPam()
// Ansonsten wird er auf die gewaehlte SSelection gesetzt.
-sal_Bool SwCrsrShell::ChgCurrPam( const Point & rPt,
- sal_Bool bTstOnly, sal_Bool bTstHit )
+sal_Bool SwCrsrShell::ChgCurrPam(
+ const Point & rPt,
+ sal_Bool bTstOnly,
+ sal_Bool bTstHit )
{
SET_CURR_SHELL( this );
@@ -1414,9 +1416,7 @@ void SwCrsrShell::UpdateCrsr( sal_uInt16
return; // wenn nicht, dann kein Update !!
}
- // --> OD 2005-12-14 #i27301#
SwNotifyAccAboutInvalidTextSelections aInvalidateTextSelections( *this );
- // <--
if ( bIgnoreReadonly )
{
@@ -1832,7 +1832,7 @@ void SwCrsrShell::UpdateCrsr( sal_uInt16
if( pBlockCrsr )
RefreshBlockCursor();
- if( !bIdleEnd && bHasFocus && !bBasicHideCrsr )
+ if( !bIdleEnd && bHasFocus && !bBasicHideCrsr )
{
if( pTblCrsr )
pTblCrsr->SwSelPaintRects::Show();
@@ -2148,23 +2148,25 @@ void SwCrsrShell::ShowCrsrs( sal_Bool bC
void SwCrsrShell::ShowCrsr()
{
- if( !bBasicHideCrsr )
- {
- bSVCrsrVis = sal_True;
- UpdateCrsr();
- }
+ if( !bBasicHideCrsr )
+ {
+ bSVCrsrVis = sal_True;
+ pCurCrsr->SetShowTxtInputFldOverlay( true );
+ UpdateCrsr();
+ }
}
void SwCrsrShell::HideCrsr()
{
- if( !bBasicHideCrsr )
- {
- bSVCrsrVis = sal_False;
- // evt. die sel. Bereiche aufheben !!
- SET_CURR_SHELL( this );
- pVisCrsr->Hide();
- }
+ if( !bBasicHideCrsr )
+ {
+ bSVCrsrVis = sal_False;
+ // evt. die sel. Bereiche aufheben !!
+ SET_CURR_SHELL( this );
+ pCurCrsr->SetShowTxtInputFldOverlay( false );
+ pVisCrsr->Hide();
+ }
}
@@ -3004,42 +3006,38 @@ sal_Bool SwCrsrShell::FindValidCntntNode
}
-void SwCrsrShell::NewCoreSelection()
-{
-}
-
-
sal_Bool SwCrsrShell::IsCrsrReadonly() const
{
if ( GetViewOptions()->IsReadonly() ||
- // --> FME 2004-06-29 #114856# Formular view
- GetViewOptions()->IsFormView() )
- // <--
- {
- SwFrm *pFrm = GetCurrFrm( sal_False );
+ GetViewOptions()->IsFormView() ) // Formular view
+ {
+ SwFrm *pFrm = GetCurrFrm( sal_False );
const SwFlyFrm* pFly;
const SwSection* pSection;
if( pFrm && pFrm->IsInFly() &&
- (pFly = pFrm->FindFlyFrm())->GetFmt()->GetEditInReadonly().GetValue() &&
- pFly->Lower() &&
- !pFly->Lower()->IsNoTxtFrm() &&
- !GetDrawView()->GetMarkedObjectList().GetMarkCount() )
- {
- return sal_False;
- }
- // --> FME 2004-06-22 #114856# edit in readonly sections
+ (pFly = pFrm->FindFlyFrm())->GetFmt()->GetEditInReadonly().GetValue() &&
+ pFly->Lower() &&
+ !pFly->Lower()->IsNoTxtFrm() &&
+ !GetDrawView()->GetMarkedObjectList().GetMarkCount() )
+ {
+ return sal_False;
+ }
+ // edit in readonly sections
else if ( pFrm && pFrm->IsInSct() &&
- 0 != ( pSection = pFrm->FindSctFrm()->GetSection() ) &&
- pSection->IsEditInReadonlyFlag() )
+ 0 != ( pSection = pFrm->FindSctFrm()->GetSection() ) &&
+ pSection->IsEditInReadonlyFlag() )
+ {
+ return sal_False;
+ }
+ else if ( !IsMultiSelection() && CrsrInsideInputFld() )
{
return sal_False;
}
- // <--
- return sal_True;
- }
- return sal_False;
+ return sal_True;
+ }
+ return sal_False;
}