Writer application code. Exact history was lost before Sept. 18th, 2000, but old source code comments show that Writer core dates back until at least November 1990. == Module contents == * inc: headers available to all source files inside the module * qa: unit, slow and subsequent tests * sdi * source: see below * uiconfig: user interface configuration * util: UNO passive registration config == Source contents == * core: Writer core (document model, layout, UNO API implementation) * filter: Writer internal filters * ascii: plan text filter * basflt * html: HTML filter * inc: include files for filters * rtf: thin copy&paste helper around the UNO RTF import filter (in writerfilter) * writer * ww1 * ww8: DOC import, DOC/DOCX/RTF export * xml: ODF import/export, subclassed from xmloff (where most of the work is done) * uibase: user interface (those parts that are linked into sw & always loaded) * ui: user interface (optional parts that are loaded on demand (swui)) == Core == There is a good overview documentation of basic architecture of Writer core in the OOo wiki: http://wiki.openoffice.org/wiki/Writer/Core_And_Layout http://wiki.openoffice.org/wiki/Writer/Text_Formatting Writer specific WhichIds are defined in sw/inc/hintids.hxx. The details below are mainly about details missing from the Wiki pages. === SwDoc === The central class for a document is SwDoc, which represents a document. This is a huge class with hundreds of methods; there are some efforts to split up the class into many smaller classes that implement more specific interfaces but this is not fully implemented yet; see the various IDocument* classes. === SwNodes === Basically a (fancy) array of SwNode pointers. There are special subclasses of SwNode (SwStartNode and SwEndNode) which are used to encode a nested tree structure into the flat array; the range of nodes from SwStartNode to its corresponding SwEndNode is sometimes called a "section" (but is not necessarily what the high-level document model calls a "Section"; that is just one of the possibilities). The SwNodes contains the following top-level sections: 1. Empty 2. Footnote content 3. Frame / Header / Footer content 4. Deleted Change Tracking content 5. Body content === Undo === The Undo/Redo information is stored in a sw::UndoManager member of SwDoc, which implements the IDocumentUndoRedo interface. Its members include a SwNodes array containing the document content that is currently not in the actual document but required for Undo/Redo, and a stack of SwUndo actions, each of which represents one user-visible Undo/Redo step. There are also ListActions which internally contain several individual SwUndo actions; these are created by the StartUndo/EndUndo wrapper methods. === Text Attributes === The sub-structure of paragraphs is stored in the SwpHintsArray member SwTxtNode::m_pSwpHints. There is a base class SwTxtAttr with numerous subclasses; the SwTxtAttr has a start and end index and a SfxPoolItem to store the actual formatting attribute. There are several sub-categories of SwTxtAttr: - formatting attributes: Character Styles (SwTxtCharFmt, RES_TXTATR_CHARFMT) and Automatic Styles (no special class, RES_TXTATR_AUTOFMT): these are handled by SwpHintsArray::BuildPortions and MergePortions, which create non-overlapping portions of formatting attributes. - nesting attributes: Hyperlinks (SwTxtINetFmt, RES_TXTATR_INETFMT), Ruby (SwTxtRuby, RES_TXTATR_CJK_RUBY) and Meta/MetaField (SwTxtMeta, RES_TXTATR_META/RES_TXTATR_METAFIELD): these maintain a properly nested tree structure. The Meta/Metafield are "special" because they have both start/end and a dummy character at the start. - misc. attributes: Reference Marks, ToX Marks - attributes without end: Fields, Footnotes, Flys (AS_CHAR) These all have a corresponding dummy character in the paragraph text, which is a placeholder for the "expansion" of the attribute, e.g. field content. n value='distro/collabora/cp-5.0'>distro/collabora/cp-5.0 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/sfx2/source/dialog/dialoghelper.cxx
AgeCommit message (Collapse)Author
2020-05-09tdf#126128 Reduce page properties dialog's height.Gülşah Köse
Change-Id: Ie35c9cb4c9b134a94f3a125dd800936b7160950c Reviewed-on: https://gerrit.libreoffice.org/81910 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2019-11-15Revert "tdf#126128 Reduce page properties dialog's height."Heiko Tietze
Discussion in BZ. This reverts commit 80109586e6cb6d3e2e0a53a9079c3125ec9b8368. Change-Id: I01e23a7eeaa78d60f106dfa67a54ff9d7904cb19 Reviewed-on: https://gerrit.libreoffice.org/82698 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 687c6761e84101f8a798ac7f622c2eab4f84d7b2) Reviewed-on: https://gerrit.libreoffice.org/82763 Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2019-11-01tdf#126128 Reduce page properties dialog's height.Gülşah Köse
Change-Id: Ie35c9cb4c9b134a94f3a125dd800936b7160950c Reviewed-on: https://gerrit.libreoffice.org/81910 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2019-09-24getDrawPreviewOptimalSize can take an OutputDevice argCaolán McNamara
Change-Id: Ifb36166b153858ca7e32974e9b297e583b66c256 Reviewed-on: https://gerrit.libreoffice.org/79444 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-07-30weld SwRedlineOptionsTabPageCaolán McNamara
Change-Id: Ic901356d399e8d758747f0fea07d3656fbf89aab Reviewed-on: https://gerrit.libreoffice.org/76559 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-12-10tdf#42949 Fix IWYU warnings in include/vcl/s*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Ie87d27dd2c385a63349e0b322fd067ba03d2d152 Reviewed-on: https://gerrit.libreoffice.org/64479 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2018-09-11loplugin:unusedmethodsNoel Grandin
Change-Id: I34009aabf0befb346470b5c0d96ad8fc476b7c4e Reviewed-on: https://gerrit.libreoffice.org/60300 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-13weld SvxCharPositionPageCaolán McNamara
Change-Id: I2084702798e5b01eae5905dc54ad8413e6d5fae6 Reviewed-on: https://gerrit.libreoffice.org/55759 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-06-06weld SwSectionIndentTabPageCaolán McNamara
Change-Id: I961686c1257f0d85686df06aa7c73c324d0f70b8 Reviewed-on: https://gerrit.libreoffice.org/55387 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-02-07Use for-range loops in sfx2 (part1)Julien Nabet
Change-Id: I1a06e105ca9f1151afca236c83e3e0c9d2679c6f Reviewed-on: https://gerrit.libreoffice.org/49318 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-26vcl: make MapMode constructor explicitMichael Stahl
Insert constructor everywhere, except a couple places that apparently want to compare GetMapUnit(). Change-Id: I1910deb60562e5e949203435e827057f70a3f988
2017-07-21loplugin:constparams in sfx2Noel Grandin
Change-Id: Id982c8fb5654433e9db10e2da6a86a6c8d90b9b4 Reviewed-on: https://gerrit.libreoffice.org/40261 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-05convert MapUnit to scoped enumNoel Grandin
I left a prefix on the names "Map" so that I would not have to re-arrange each name too much, since I can't start identifiers with digits like "100thMM" And remove RSC_EXTRAMAPUNIT, which doesn't seem to be doing anything anymore. Change-Id: I5187824aa87e30caf5357b51b5384b5ab919d224 Reviewed-on: https://gerrit.libreoffice.org/29096 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-22loplugin:unusedmethods in chart2..svxNoel Grandin
Change-Id: Ifb6045885049733415895f58cdd911256f48323c Reviewed-on: https://gerrit.libreoffice.org/29187 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>