/source/th/sfx2/

'vcs-git' href='git://go.suokunlong.cn/lo/core' title='lo/core Git repository'/>
summaryrefslogtreecommitdiff
path: root/svx/source/dialog/framelink.cxx
AgeCommit message (Collapse)Author
2018-01-30fix tdf#114934 borderline feature regressionsArmin Le Grand
squashing some master commits, fixes the following bugs: - tdf#114934 which contains: - tdf#115169: Calc: Rotated Cells not shown rotated when using Print/PDF/PrintPreview - tdf#113751: Borders for Merged Cells are Partially Shown - tdf#114625: Calc can not print right border of merged cells from LO 6.0 - tdf#114824: Export to PDF and Printing: Borders of Merged Cells Flow to Page Footer BorderlineFix: Need to redesign Borderline paint for Calc To fix some errors, need to change svx::frame::Array conversion to Primitives, especially regarding handling of merged cells. These make problems in the currtent form where the full extended merged cell tries to be converted. This is bad for cropped stuff and also wrong for double-line stuff attaching to a merged cell. The solution is to handle cells single and merge created primitives which is more expensive but will work. This will involve special handling for X-Ed (crossed) and 'roated' Cells. Also need to be very careful since all this is used in the meantime for all visualizations of Tables in multiple apps/situations. Change-Id: If0652a3ba97a6f27dd5d782ea22b1514303f3710 BorderlineFix: Corrected missing borders in print In Print/PDF/PrintPreview border lines were missing, this happened for merged cells. It has to do with access to the involved Styles and/or 'Clip' set (to avoid creating everything). Thus a 'mixed' usage of cell and merged-cell stuff was needed. As it turns out support for this is already there, need to use it. Change-Id: Ic16085b97eef5c79a4501279432f43491bca350e BorderlineFix: Avoid BorderLines to be too prolonged For MergedCells there was an effect that the BorderLines were painted too far in PrintPreview/Print/PDF visualization, found reason and changed. Checked (hopefully) all usages, looks good. Change-Id: I0acf8dcb20548a98533f3ab317ac72c0d0f0a947 BorderlineFix: Corrected handling for 'rotated' CellBorders CellBorders can be rotated (including their Text) and need special visualization that is based on an own sheared/rotated coordinate system. Currently only possible for single cells (not merged ones) and needs to handle all borders (also bottom-right directly in the rotated cell, not in the neighboured ones to have the geometry, plus avoiding these in the non-rotated neighbour cells. Also corrected adding CellRotation data to svx::frame::Array in calc using SetCellRotations() which now gets called in the ScOutputData constructor to ensure it gets called in all places where it is used. Change-Id: I47bdfc29ba5ca76bbc07d98cb64733f867b1ee20 BorderlineFix: Fixed visual updates when scrolling For Cells with DoubleLine the connections to perpendicular DoubleLine-Styles may have to be displayed in a Cell which is 'around' the orig cell in a Cell-Border of one. To represent that and to avoid repaint errors when scrolling in, the preparation of Primitives has to take accordingly more neighbour cells into account. Tested this change with the usages in Calc, UI (Dialogs) and Calc exports Print/PrintPreview/PDF. This does not affect Tables in Writer and/or Draw/Impress. Change-Id: I3bcc68cdf7b4fc1825a87a9773892c359421024e BorderlineFix: Fix WriterPaint if scrolling CellTableBorders Similar to CalcBorders in Writer the overlap regions for FrameBorders have to be taken into account when repainting the CellBordes of WriterTables Change-Id: I488ba158e1de579bfb06b9c8353adaa2cac706c6 BorderlineFix: Corrected Draw/Impress TableStyle accesses In Draw/Impress the indices for accessing the correct neighbouring TableStyles were wrong and thus created wrong visualizations, corrected that. Change-Id: Iebc5f294adb62fa4c6358e2f8c27d29cc3163fbc BorderlineFix: Use svx::frame::Array tooling in Draw/Impress For creating the needed BorderPrimitives for TableCells for the Tables used in Draw/Impress, adapt the ViewContactOfTableObj doing this to use svx::frame::Array tooling now. This will correct the error for not taking the neighboured connects for merged cells into account and unify one more space to the same tooling. Change-Id: I2e6f732985e9b963359f156628bd29ddfec1a80c BorderlineFix: Corrected wrong indexing in Array initialization Change-Id: I4222ef1c82620a05cea9f6db1a0664196cfb3bd4 Reviewed-on: https://gerrit.libreoffice.org/48891 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-11-22loplugin:flatten in svxNoel Grandin
Change-Id: Idc4d0186ecc6f0722c2b1358486a2430f037ae29 Reviewed-on: https://gerrit.libreoffice.org/45036 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-10loplugin:unusedmethodsNoel Grandin
Change-Id: I543b0943f0bc918d59debc8ee051f88c29d18454 Reviewed-on: https://gerrit.libreoffice.org/44553 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-26Fix typosAndrea Gelmini
Change-Id: Id8f863963cb2f34d81f2ad82353caaa2d03d59be Reviewed-on: https://gerrit.libreoffice.org/42807 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-09-26Rename the basegfx::tools namespace to basegfx::utilsTor Lillqvist
Reduce potential confusion with the global tools namespace. Will hopefully make it possible to remove the annoying initial :: when referring to the global tools namespace. Unless we have even more tools subnamespaces somewhere. Thorsten said it was OK. Change-Id: Id088dfe8f4244cb79df9aa988995b31a1758c996 Reviewed-on: https://gerrit.libreoffice.org/42644 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2017-09-25borderline: Refinement of line end overlapsArmin Le Grand
Change-Id: Ifb1a061ed39f92a13ad5c7b2daf103f3a48938a5 Reviewed-on: https://gerrit.libreoffice.org/42712 Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de> Tested-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2017-09-19Fix typosAndrea Gelmini
Change-Id: I59c6ca2af7a3aab55da6a29afa02dcd611492a59 Reviewed-on: https://gerrit.libreoffice.org/42452 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-09-18borderline: restuctured used classesArmin Le Grand
Restructuring for more efficcient usage of helper values, some obstacles removed with that Change-Id: Ia8c4b2d4c423db9500cda507107d87913b79e23c Reviewed-on: https://gerrit.libreoffice.org/42409 Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de> Tested-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2017-09-15borderline: Extended decomposeArmin Le Grand
Decompose of BorderLinePrimitive2D extended to take care of non-perpendicular line endings for matching. Improved matching, one error in calc fixed Change-Id: I869a75385711b58e6725daba0f22be8a98158ad9
2017-09-15borderline: Fixed PatternScaleArmin Le Grand
The applied PatternScale factor was not consequently used in svx::frame::Style so that the Previews in the Dialogs look weird. Fixed that and stumbled over Writer applying it's own scale which then was leading to double scaling, ceaned that up. Change-Id: I89f41bfd7884e5e743080301e219491e215054c3
2017-09-15borderline: extended the expand logicArmin Le Grand
Extended and checked the expand logic for creating the line extends. Now creating quite the right lines, will need to check some speccial cases. Also some cleanups. Change-Id: I3a3bd4d23c7017ecd873147df2d93af61de39fa6
2017-09-15borderline: merge redefined, mirrored StylesArmin Le Grand
Redefined merge of BorderlinePrimitives, removed old Writer stuff for it. Also added support for handling Styles mirrored for extension calculations.
2017-09-15borderline: Adapted BorderLinePrimitive2D and usagesArmin Le Grand
Big changes to BorderLinePrimitive2D and BorderLine, freeing it from one/three entries, going to a free definition using gaps with width but without color. Adapted usages and creation, not yet tested much Change-Id: Ic1255a790401901c3166d200205bc23322b37185
2017-09-15borderline: Adapt ViewContactOfTableObjArmin Le Grand
Adapted to usage of svx::frame::Style helpers for primitive creation, need much less SvxBorderLine classes and less overhead. Class SdrBorderlinePrimitive2D completely removed. Working on Array::DrawRange to get it using the Coodinate Systems which are available and include the rotation. Solved problems in BorderLinePrimitive creation in DrawRange and DrawArray by completely restucturing these. Also changed to now return a sequence of primitives to the caller instead of handing over a primitive renderer and using it for each single primitve. This is a preparation for later buffering these and not re-create for each paint. Have now a working version that uses the Cell used by the Style and creates all info on the fly, so that the correct coordinate systems will be used. Works in Calc and it's dialogs with one or multiple cells.
2017-09-15borderline: Adapted Writer to use CreateBorderPrimitivesArmin Le Grand
Also further refined svx::frame::Style, some more cleanups in svx using CreateBorderPrimitives, got rid of one implementation of CreateBorderPrimitives Change-Id: I4c2481181df4fc4aa0dbb4cb9f4352066b9d8ec0
2017-09-15borderline: move geometry creation to linear algebraArmin Le Grand
Adapted Array::DrawRange to Style/Vector usages, feeding new CreateBorderPrimitives method. That one roughly feeds the old implementations to test and check (and keep working) Change-Id: I09557f826cd023d27db6b53e53aa69c149308711
2017-09-15borderline: Preparing further to use CellCoordinateSystemArmin Le Grand
Multiple cleanups, made svx::frame::Style a std::shared_ptr class, preparing basing all border stuff on transformations, so it will need a CellCoordinateSystem. Added stuff to get this Coordinate System from the svx::frame::Cell using the Frame and knowledge about ownerships Change-Id: Ic2cb59cc92e648ac2fef72f22f8913479769d3e2
2017-09-15borderline: Abstraction of BorderLinePrimitiveArmin Le Grand
As preparation for more detailed definition of BorderLine primitives I have adapted the BorderLine definition to work with motre possibilities to define the LineStartEnd definitions in a BorderLineExtend class. That one is flexible to hold all kinds of definitions - from none to all four possible extends (Start/End, Left/Right of vector) Cleanup of DiagStyle and others: DiagStyle is not needed anymore due to no longer using angles calculated, but being based on vectors defining the geometry. Also cleaned up quite a bit of no longer needed calculation stuff for the control.
2017-09-13clang-tidy modernize-use-emplace in svxNoel Grandin
Change-Id: I52f062bf0b4c1af44576546d0593699758d71084 Reviewed-on: https://gerrit.libreoffice.org/42232 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-25loplugin:unusedmethodsNoel Grandin
Change-Id: Iaaf9092ec4d6189492906648b84494d087fed81f Reviewed-on: https://gerrit.libreoffice.org/41539 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-05Fix typosAndrea Gelmini
Change-Id: Ib7f43bf17ab8b9fb9d961a908d7620b50826a975 Reviewed-on: https://gerrit.libreoffice.org/40688 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-07-28borderline: corrections for calc and writerArmin Le Grand
Made corrections/finetuning for Calc and Writer. Had to remove some former code which tried to do corrections. Change-Id: Id9fc687b9a709d250faaad76c37ecfda8d8feb9b
2017-07-28borderline: Unified primitive creationArmin Le Grand
Overhauled the edge extension calculations to better use all existing cuts, for cases with single and double lines. Also a preparation for more complex edge cuts. Changed BorderLine paint in Writer, it was setting the svx::frame::RefMode attribute at the Style *and* was manually moving the geometry which lead to a double applying of the offsets Change-Id: I446d04632050272849f43accb8dcbde574d10cf4
2017-07-28borderline: Simplified BorderLinePrimitiveArmin Le Grand
Overhauled BorderLinePrimitive to use two constructors offering using one or three edge definitions for construction to better refrlect possibilities. Adapted usages. Better processing, less memory. Preparation for using more decent LineExtend values (four per line needed) Change-Id: Iac9d9ae64874fea38fd6e2a04221698481cc0d0e
2017-07-28borderline: first versionj with line end adaptionsArmin Le Grand
Added usage of defined extensions to the BorderLinePrimitive, also added a first version to detect all cuts with adjacent borders and produce the correct extensions, for single and double lines. Not completely happy with it, but a first version Change-Id: I4b12a6cc0a70278bd5c506e9b3b2c5c126930dad
2017-07-28borderline: adaptions to primitivesArmin Le Grand
Handling and paint of borderlines greatly adapted to primitive usage. Solved the double paint mechanisn to no longer use the sc-local special cases. The svx tooling for borderline paint is now the only one and was extended to also handle diagonal lines. Big cleanups/removals of old paint to OutputDevice and sc-specific rendering. All other app-usages of borderline also adapted. Preparations for careful line-start/end adaption prepared and possible due to unified coordinate-system usages and basegfx class-usage Change-Id: If9e4efcfc0fe25e14d4052907038ca5cf222a432
2017-07-28borderline: abstractions of primitive creationsArmin Le Grand
Abstracted and adapted CreateBorderPrimitives further, added CreateDiagFrameBorderPrimitives for diagonal geometry. Change-Id: Ia2b20d197e1fd29ad9e9eb40a5194efdeac9872e
2017-07-17Fix typosAndrea Gelmini
Change-Id: I0fec2abc1bed9c0cfcd78d1b0f6daebc335831be Reviewed-on: https://gerrit.libreoffice.org/39982 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2017-07-12borderline: correct problems with border displayArmin Le Grand
Borderline display with direct paint and with primitive direct paint has quite some errors in the current state. Started to unify usages, check deeper with creation/usage. borderline: deep changes to BorderLine Found basic error in determining the offset values for BorderLinePrimitive creation, these were not centered on the lines. Corrected that. This makes it possible to remove the formally used clipping which seems to have been used to correct that. Also allows to go back to a 'normal' decomposition that creates line primitives as expected. That again can then be painted quite normally. Also added view-dependent case to the decomposition to guarantee a gap of one discrete unit (pixel). Removed the direct painter, too. Checked and corrected stroking. borderline: Adapted previews to primitives Added code to use the primitive representation in all dialogs and apps using tables. The edit views use these mostly, so the preview should do that, too. Currently missing is a good visualization of diagonals, but this is also true for edit views. Checked all apps and table usages to not get worse borderline: correct line dash visualization When a dashed line is used, a factor of 10.0 was applied in the original coded, added that. Also the orientation of vertical borders was inverted since it was simpler to exchange Start/End, but this also mirrors the line dash visualisation, corrected that Change-Id: I4c1b380a76cb37389fab1259a53fb7cc9da982d1 e95e246d5563360617a2a2213e4d5ec7d0e736b9 62369b4de58fb0264aeb710ec6983ceddca5701d 77418cc6c84ebb0632f8c3448976e82ce612d6b6 b4eb28dc86ce05eb89b26517167305b994158ef8 borderline: adapt cppunittest and clang
2017-03-31tdf#82580 tools: rename Rectangle to tools::RectangleMiklos Vajna
Mostly generated using make check COMPILER_EXTERNAL_TOOL=1 CCACHE_PREFIX=clang-rename-wrapper RENAME_ARGS="-qualified-name=Rectangle -new-name=tools::Rectangle" Except some modules have their own foo::tools namespace, so there have to use ::tools::Rectangle. This commit just moves the class from the global namespace, it does not update pre/postwin.h yet. Change-Id: I42b2de3c6f769fcf28cfe086f98eb31e42a305f2 Reviewed-on: https://gerrit.libreoffice.org/35923 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-03-25Fix typosAndrea Gelmini
Change-Id: I77cf7fe3a57c031877facf5252b5a900526db48b Reviewed-on: https://gerrit.libreoffice.org/35646 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-03-17convert SvxBorderStyle to scoped enumNoel Grandin
and rename to SvxBorderLineStyle Change-Id: I19e530f162e4ca6290a0ad076e7fe3d5775ae6bc Reviewed-on: https://gerrit.libreoffice.org/35265 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-03Remove redundant 'inline' keywordStephan Bergmann
...from function definitions occurring within class definitions. Done with a rewriting Clang plugin (to be pushed later). Change-Id: I9c6f2818a57ccdb361548895a7743107cbacdff8 Reviewed-on: https://gerrit.libreoffice.org/34874 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-10-06rtl::math::approxEqual(value,0.0) never yields true for value!=0.0Eike Rathke
... so replace with a simple value == 0.0 also in other modules than sc. Change-Id: Ie7316505a1cf9c15100114b45d300facceb03b7e Reviewed-on: https://gerrit.libreoffice.org/29575 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
2016-09-09loplugin:constantparam in svxNoel Grandin
Change-Id: Id08850b90a0e286ff837dd6b0c1691fa7dc793fa Reviewed-on: https://gerrit.libreoffice.org/28746 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-08-25convert RefMode to scoped enumNoel Grandin
Change-Id: I4ecaeaa1fb4989576cb7322048c8ec3a3f3080ae
2016-08-11loplugin:countusersofdefaultparams in svl..unodevtoolsNoel Grandin
Change-Id: Ie3d2cf29e99b8a51b80246aafa23a92e6c3404b2 Reviewed-on: https://gerrit.libreoffice.org/28017 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-06teach passstuffbyref plugin to check for..Noel Grandin
unnecessarily passing primitives by const ref. Suggested by Tor Lillqvist Change-Id: I445e220542969ca3e252581e5953fb01cb2b2be6 Reviewed-on: https://gerrit.libreoffice.org/24672 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-09loplugin:constantparam in svxNoel Grandin
Change-Id: Ib2a432fc334898c75ab5e5cf629a21fd310bd467
2016-02-09Remove excess newlinesChris Sherlock
A ridiculously fast way of doing this is: for i in $(pcregrep -l -M -r --include='.*[hc]xx$' \ --exclude-dir=workdir --exclude-dir=instdir '^ {3,}' .) do perl -0777 -i -pe 's/^ {3,}/ /gm' $i done Change-Id: Iebb93eccbee9e4fc5c4380474ba595858a27ac2c Reviewed-on: https://gerrit.libreoffice.org/22224 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-01-28loplugin:fpcomparison in svx/Noel Grandin
Change-Id: I636dcdd51389f31eeb14cd1eb9a82a89599d3eea Reviewed-on: https://gerrit.libreoffice.org/21777 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>