mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-11 05:33:33 +00:00
1383629299
16 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Abdelrazak Younes
|
3461169526 |
Patch by Vincent that solves a number of problems related to the painting of a selection:
1. When a listing is inserted in a bit of text, the line above the listing is not drawn over the full width like it is done for lines above other insets. This is because InsetListing has a AlignLeft alignment. Now, if you start selecting downwards with the mouse in this empty area, strange selection drawings appear (see attachment). This is caused by the fact that starting your selection at such a place, causes beg.boundary() to be true in TextMetrics::drawRowSelection(..). This is correct, but this value is true for _all_ selected lines. Now, the selection acts as if it is RTL text. Therefore, just like for end.boundary, this value needs to be reset for every line. 2. Starting your selection in an end margin often causes the selection in this end margin to be painted later. This is because when starting your selection in an end margin, you may have set a (possible empty) selection before really selecting the end margin. The problem is that the checksum (computed later) is the same for this empty selection and for the end margin selection. Therfore, we need a call to cur.setSelection() before evaluating cur.selection(). 3. In the following two lines, it is assumed that there is only an end margin to be painted if the selection extends to the next paragraph. This is not true for the above described case of an AlignLeft Inset. Then, the margin has also be drawn within a paragraph 4. The end and begin margins are only painted when the selection extends into the following or previous paragraph. This difference is not resembled in the checksum if you first select a row completely and then procede to the next or previous paragraph as the selection remains at the end of a row. This also holds for the AlignLeft case. Therefore I added a term to the checksum to monitor whether the end and begin margins need to be drawn. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26399 a592a061-630c-0410-9148-cb99ea01b6c8 |
||
Abdelrazak Younes
|
a837d22ab9 |
Fix multipar selection drawing. The problem was that the row selection status was only updated for full metrics update. A simple transfer of the relevant code from TextMetrics::redoParagraph() to TextMetrics::drawParagraph() solved the problem.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23408 a592a061-630c-0410-9148-cb99ea01b6c8 |
||
Abdelrazak Younes
|
2bf1c09376 |
header cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23049 a592a061-630c-0410-9148-cb99ea01b6c8 |
||
Abdelrazak Younes
|
eb96d94ce7 |
Code simplification. We don't need to memorize the current Row hfill anymore.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21987 a592a061-630c-0410-9148-cb99ea01b6c8 |
||
André Pönitz
|
9d0ea8aeff |
Move debug.{cpp,h}, Messages.{cpp,h} and gettext.{cpp,h} to support/.
Now support/* should have no dependencies on src/* anymore. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21851 a592a061-630c-0410-9148-cb99ea01b6c8 |
||
André Pönitz
|
150cf11651 |
hand-crafted LyXErr
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21849 a592a061-630c-0410-9148-cb99ea01b6c8 |
||
Abdelrazak Younes
|
926abae753 |
Simplify single par drawing:
* ParagraphMetrics::computeRowSignature(): Integrate row's dimensions and selection status in the row signature. * TextMetrics::drawParagraph(): compute the row signature here and rely on that to decide if a redraw is needed or not. * BufferView::Private: get rid of the ViewMetricsInfo member. Just keep the ScreenUpdateStrategy. * BufferView::draw(): full screen update even for singlePar case because the row signature will detect if something needs to be redrawn. * Text3.cpp: get rid of hack following architecture update. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21650 a592a061-630c-0410-9148-cb99ea01b6c8 |
||
Lars Gullik Bjønnes
|
26f336769a |
Remove warnings reported with gcc 4.3:
- Modifier on return type ignored - Ambigous else - Ambigous logical operators - Semi-colon instead of empty block - Missing header files - Missing using std::XX - Initialization out of order git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20304 a592a061-630c-0410-9148-cb99ea01b6c8 |
||
Abdelrazak Younes
|
eed6514dd0 |
Move selection painting closer to row painting. Single row painting is now possible for selection.
* Row: - setSelection(): set selection begin and end for this row. - sel_beg, sel_end: new public members. * BufferView::draw() - do not trigger a full repaint for selection. - use TextMetrics::draw() instead of hand calling TextMetrics::drawParagraph(). * InsetText::draw(): don't call TextMetrics::drawSelection(). * InsetMathMBox::drawSelection(): remove. * TextMetrics: - drawSelection(): simplify a bit. Now private. - redoParagraph(): memorize Row selection status. - x2pos(): fix crash when selecting with PageDown. - draw(): fill-in the ParPos cache before everything else and not in drawParagraph(). - drawParagraph(): take care of row selection painting. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20066 a592a061-630c-0410-9148-cb99ea01b6c8 |
||
Abdelrazak Younes
|
79ba8fe22a |
Bug fixes. changed_ was always true...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19901 a592a061-630c-0410-9148-cb99ea01b6c8 |
||
Abdelrazak Younes
|
8175971041 |
Transfer ParagraphMetrics::rowChangeStatus() to Row::changed(). Prepare for fine grained row redrawing.
^ Row: - changed_: new boolean to inform change status at draw time. - crc_: new crc_ signature - inline pos() and endpos() - replace width(), ascent() and descent() direct access with dimension(). * ParagraphMetrics - do not maintain row_signature_ anymore - rename calculateRowSignature() to computeRowSignature() and make it public * TextMetrics - redoParagraph(): don't clear the ParagraphMetrics row list, reuse and update it. - rowHeight(), rowWidth(), rowBreakPoint(): take first/end positions instead of Row. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19895 a592a061-630c-0410-9148-cb99ea01b6c8 |
||
Abdelrazak Younes
|
1a57b660a1 |
Second Brown paper bag!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19865 a592a061-630c-0410-9148-cb99ea01b6c8 |
||
Abdelrazak Younes
|
796724ebe1 |
Brown paper bag!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19864 a592a061-630c-0410-9148-cb99ea01b6c8 |
||
Abdelrazak Younes
|
be8de62ae2 |
Merge the Row and RowMetrics class. Those classes were separated in the 1.4 code base because the Row list was part of Paragraph. As it is now in ParagraphMetrics, there is no need to separate them. Also, only compute the rowmetrics once when the containing paragraph is redone.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19858 a592a061-630c-0410-9148-cb99ea01b6c8 |
||
Abdelrazak Younes
|
378c7af432 |
* Row: Use Dimension class.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19849 a592a061-630c-0410-9148-cb99ea01b6c8 |
||
Bo Peng
|
f630be8904 |
Rename .C ==> .cpp for files in src/
Oldname, newname, classes src/pspell.C src/PSpell.cpp PSpell src/ParagraphMetrics.h src/ParagraphMetrics.h ParagraphMetrics src/author.C src/Author.cpp ['Author', 'AuthorList'] src/Floating.C src/Floating.cpp Floating src/lyxvc.C src/LyXVC.cpp LyXVC src/intl.C src/Intl.cpp Intl src/paragraph.h src/Paragraph.h ['FontSpan', 'Paragraph'] src/LyXAction.C src/LyXAction.cpp LyXAction src/SpellBase.C src/SpellBase.cpp SpellBase src/TextMetrics.C src/TextMetrics.cpp TextMetrics src/LaTeXFeatures.C src/LaTeXFeatures.cpp LaTeXFeatures src/buffer_funcs.h src/buffer_funcs.h NOCLASSES src/Variables.h src/Variables.h Variables src/cursor.C src/LCursor.cpp LCursor src/lyx_cb.C src/lyx_cb.cpp NOCLASSES src/DepTable.C src/DepTable.cpp ['DepTable', 'dep_info'] src/vspace.C src/VSpace.cpp VSpace src/Thesaurus.C src/Thesaurus.cpp Thesaurus src/Color.h src/color.h NOCLASSES src/Spacing.C src/Spacing.cpp Spacing src/dociterator.h src/DocIterator.h ['DocIterator', 'StableDocIterator'] src/trans.C src/Trans.cpp Trans src/metricsinfo.h src/MetricsInfo.h ['MetricsBase', 'MetricsInfo', 'PainterInfo', 'TextMetricsInfo', 'ViewMetricsInfo', 'Changer', 'FontChanger', 'FontSetChanger', 'StyleChanger', 'ScriptChanger', 'FracChanger', 'ArrayChanger', 'ShapeChanger', 'WidthChanger', 'ColorChanger'] src/box.C src/Box.cpp Box src/language.h src/Language.h ['Language', 'Languages'] src/output_plaintext.C src/output_plaintext.cpp NOCLASSES src/coordcache.C src/CoordCache.cpp ['Point', 'CoordCache'] src/lyxlex.h src/LyXLex.h ['LyXLex', 'pushpophelper'] src/encoding.h src/Encoding.h ['Encoding', 'Encodings', 'const_iterator'] src/debug.h src/debug.h lyx_debug_trait src/Chktex.h src/Chktex.h Chktex src/output.C src/output.cpp NOCLASSES src/output_latex.h src/output_latex.h NOCLASSES src/sgml.C src/sgml.cpp NOCLASSES src/pspell.h src/PSpell.h PSpell src/bufferlist.C src/BufferList.cpp BufferList src/author.h src/Author.h ['Author', 'AuthorList'] src/Bidi.C src/Bidi.cpp Bidi src/exporter.C src/Exporter.cpp ['Exporter', 'ExportedFile', 'ExportData'] src/Floating.h src/Floating.h Floating src/lyxvc.h src/LyXVC.h LyXVC src/intl.h src/Intl.h Intl src/lyxlength.C src/LyXLength.cpp LyXLength src/LyXAction.h src/LyXAction.h LyXAction src/SpellBase.h src/SpellBase.h SpellBase src/TextMetrics.h src/TextMetrics.h TextMetrics src/LaTeXFeatures.h src/LaTeXFeatures.h LaTeXFeatures src/cursor.h src/LCursor.h LCursor src/layout.h src/layout.h NOCLASSES src/DepTable.h src/DepTable.h ['DepTable', 'dep_info'] src/lyx_cb.h src/lyx_cb.h NOCLASSES src/vspace.h src/VSpace.h VSpace src/PrinterParams.C src/PrinterParams.cpp PrinterParams src/tex-strings.C src/tex-strings.cpp NOCLASSES src/Thesaurus.h src/Thesaurus.h Thesaurus src/Spacing.h src/Spacing.h Spacing src/BranchList.C src/BranchList.cpp ['Branch', 'BranchList', 'BranchNamesEqual'] src/trans.h src/Trans.h Trans src/output_plaintext.h src/output_plaintext.h NOCLASSES src/box.h src/Box.h Box src/coordcache.h src/CoordCache.h ['Point', 'CoordCache'] src/graph.C src/Graph.cpp ['Graph', 'Vertex'] src/lyxserver.C src/LyXServer.cpp ['LyXComm', 'LyXServer'] src/undo.C src/Undo.cpp Undo src/output.h src/output.h NOCLASSES src/text2.C src/text2.cpp NOCLASSES src/ParagraphList_fwd.h src/ParagraphList_fwd.h NOCLASSES src/sgml.h src/sgml.h NOCLASSES src/converter.C src/Converter.cpp ['Converter', 'Converters'] src/factory.C src/factory.cpp NOCLASSES src/RowList_fwd.h src/RowList_fwd.h NOCLASSES src/buffer.C src/Buffer.cpp Buffer src/bufferlist.h src/BufferList.h BufferList src/CutAndPaste.C src/CutAndPaste.cpp NOCLASSES src/Bidi.h src/Bidi.h Bidi src/exporter.h src/Exporter.h ['Exporter', 'ExportedFile', 'ExportData'] src/InsetList.C src/InsetList.cpp ['InsetList', 'InsetTable'] src/FontIterator.C src/FontIterator.cpp FontIterator src/session.C src/Session.cpp ['SessionSection', 'LastFilesSection', 'LastOpenedSection', 'LastFilePosSection', 'BookmarksSection', 'Bookmark', 'ToolbarSection', 'ToolbarInfo', 'SessionInfoSection', 'Session'] src/lyxlength.h src/LyXLength.h LyXLength src/main.C src/main.cpp LyXLength src/lyxsocket.C src/LyXServerSocket.cpp ['LyXServerSocket', 'LyXDataSocket'] src/errorlist.C src/ErrorList.cpp ['ErrorItem', 'ErrorList'] src/lyxtext.h src/LyXText.h LyXText src/lyxfunc.C src/LyXFunc.cpp LyXFunc src/format.C src/Format.cpp ['Format', 'Formats'] src/lengthcommon.C src/lengthcommon.cpp NOCLASSES src/tex-strings.h src/tex-strings.h NOCLASSES src/PrinterParams.h src/PrinterParams.h PrinterParams src/insetiterator.C src/InsetIterator.cpp InsetIterator src/vc-backend.C src/VCBackend.cpp ['VCS', 'RCS', 'CVS'] src/TocBackend.C src/TocBackend.cpp ['TocItem', 'TocList', 'TocBackend'] src/BranchList.h src/BranchList.h ['Branch', 'BranchList', 'BranchNamesEqual'] src/FuncStatus.C src/FuncStatus.cpp FuncStatus src/Sectioning.C src/Section.cpp ['Section', 'SectioningList'] src/counters.C src/Counters.cpp ['Counter', 'Counters'] src/graph.h src/Graph.h ['Graph', 'Vertex'] src/lyxserver.h src/LyXServer.h ['LyXComm', 'LyXServer'] src/undo.h src/Undo.h Undo src/paper.h src/paper.h NOCLASSES src/converter.h src/Converter.h ['Converter', 'Converters'] src/factory.h src/factory.h NOCLASSES src/LaTeX.C src/LaTeX.cpp ['TeXErrors', 'Error', 'Aux_Info', 'LaTeX'] src/bufferparams.C src/BufferParams.cpp ['BufferParams', 'MemoryTraits'] src/buffer.h src/Buffer.h Buffer src/CutAndPaste.h src/CutAndPaste.h NOCLASSES src/InsetList.h src/InsetList.h ['InsetList', 'InsetTable'] src/kbsequence.C src/kb_sequence.cpp kb_sequence src/FontIterator.h src/FontIterator.h FontIterator src/dimension.C src/Dimension.cpp Dimension src/Bullet.C src/Bullet.cpp Bullet src/texrow.C src/TexRow.cpp ['TexRow', 'RowItem'] src/session.h src/Session.h ['SessionSection', 'LastFilesSection', 'LastOpenedSection', 'LastFilePosSection', 'BookmarksSection', 'Bookmark', 'ToolbarSection', 'ToolbarInfo', 'SessionInfoSection', 'Session'] src/ParagraphParameters.C src/ParagraphParameters.cpp ParagraphParameters src/lyxsocket.h src/LyXServerSocket.h ['LyXServerSocket', 'LyXDataSocket'] src/errorlist.h src/ErrorList.h ['ErrorItem', 'ErrorList'] src/tabular.C src/LyXTabular.cpp ['LyXTabular', 'ltType', 'cellstruct', 'rowstruct', 'columnstruct'] src/pariterator.C src/ParIterator.cpp ['ParIterator', 'ParConstIterator'] src/lyxfunc.h src/LyXFunc.h LyXFunc src/format.h src/Format.h ['Format', 'Formats'] src/aspell_local.h src/ASpell_local.h ASpell src/lengthcommon.h src/lengthcommon.h NOCLASSES src/insetiterator.h src/InsetIterator.h InsetIterator src/lyxrc.C src/LyXRC.cpp ['LyXRC', 'LyXRC_PreviewStatus'] src/TocBackend.h src/TocBackend.h ['TocItem', 'TocList', 'TocBackend'] src/vc-backend.h src/VCBackend.h ['VCS', 'RCS', 'CVS'] src/dispatchresult.h src/DispatchResult.h DispatchResult src/lyxtextclasslist.C src/LyXTextClassList.cpp LyXTextClassList src/paragraph_funcs.C src/paragraph_funcs.cpp NOCLASSES src/funcrequest.C src/FuncRequest.cpp FuncRequest src/FuncStatus.h src/FuncStatus.h FuncStatus src/UpdateFlags.h src/UpdateFlags.h NOCLASSES src/lyxrow.C src/Row.cpp ['Row', 'RowMetrics'] src/outputparams.C src/OutputParams.cpp OutputParams src/counters.h src/Counters.h ['Counter', 'Counters'] src/Sectioning.h src/Section.h ['Section', 'SectioningList'] src/text3.C src/text3.cpp ['Section', 'SectioningList'] src/lyxlayout.C src/LyXLayout.cpp LyXLayout src/lyxfind.C src/lyxfind.cpp NOCLASSES src/bufferparams.h src/BufferParams.h ['BufferParams', 'MemoryTraits'] src/LaTeX.h src/LaTeX.h ['TeXErrors', 'Error', 'Aux_Info', 'LaTeX'] src/trans_decl.h src/KmodInfo.h KmodInfo src/gettext.C src/gettext.cpp NOCLASSES src/dimension.h src/Dimension.h Dimension src/kbmap.C src/kb_keymap.cpp kb_keymap src/kbsequence.h src/kb_sequence.h kb_sequence src/rowpainter.C src/rowpainter.cpp NOCLASSES src/ConverterCache.C src/ConverterCache.cpp ConverterCache src/lyxgluelength.C src/LyXGlueLength.cpp LyXGlueLength src/tex-accent.C src/tex-accent.cpp NOCLASSES src/Bullet.h src/Bullet.h Bullet src/texrow.h src/TexRow.h ['TexRow', 'RowItem'] src/ParagraphParameters.h src/ParagraphParameters.h ParagraphParameters src/tabular.h src/LyXTabular.h ['LyXTabular', 'ltType', 'cellstruct', 'rowstruct', 'columnstruct'] src/importer.C src/Importer.cpp Importer src/pariterator.h src/ParIterator.h ['ParIterator', 'ParConstIterator'] src/lyxfont.C src/LyXFont.cpp ['LyXFont', 'LyXFont_size'] src/BufferView.C src/BufferView.cpp BufferView src/ParagraphList.h src/ParagraphList.h NOCLASSES src/lyxrc.h src/LyXRC.h ['LyXRC', 'LyXRC_PreviewStatus'] src/lyxtextclass.C src/LyXTextClass.cpp ['CharStyle', 'LyXTextClass'] src/changes.C src/Changes.cpp ['Change', 'Changes', 'Range', 'ChangeRange'] src/lyxtextclasslist.h src/LyXTextClassList.h LyXTextClassList src/paragraph_funcs.h src/paragraph_funcs.h NOCLASSES src/funcrequest.h src/FuncRequest.h FuncRequest src/lyxrow.h src/Row.h ['Row', 'RowMetrics'] src/outputparams.h src/OutputParams.h OutputParams src/MenuBackend.C src/MenuBackend.cpp ['MenuItem', 'Menu', 'MenuBackend'] src/lyxlayout.h src/LyXLayout.h LyXLayout src/lyxfind.h src/lyxfind.h NOCLASSES src/gettext.h src/gettext.h NOCLASSES src/LColor.C src/LColor.cpp ['LColor', 'LColor_color'] src/version.h src/version.h NOCLASSES src/cursor_slice.C src/CursorSlice.cpp CursorSlice src/WordLangTuple.h src/WordLangTuple.h WordLangTuple src/lfuns.h src/lfuns.h NOCLASSES src/trans_mgr.C src/TransState.cpp ['TransState', 'TransFSMData', 'TransInitState', 'TransDeadkeyState', 'TransCombinedState', 'TransFSM', 'TransManager'] src/kbmap.h src/kb_keymap.h kb_keymap src/rowpainter.h src/rowpainter.h NOCLASSES src/ConverterCache.h src/ConverterCache.h ConverterCache src/lyxgluelength.h src/LyXGlueLength.h LyXGlueLength src/output_docbook.C src/output_docbook.cpp NOCLASSES src/tex-accent.h src/tex-accent.h NOCLASSES src/FloatList.C src/FloatList.cpp FloatList src/bufferview_funcs.C src/bufferview_funcs.cpp NOCLASSES src/importer.h src/Importer.h Importer src/messages.C src/Messages.cpp Messages src/lyxfont.h src/LyXFont.h ['LyXFont', 'LyXFont_size'] src/BufferView.h src/BufferView.h BufferView src/ToolbarBackend.C src/ToolbarBackend.cpp ['ToolbarItem', 'ToolbarInfo', 'ToolbarBackend'] src/lyx_sty.C src/lyx_sty.cpp NOCLASSES src/lyxtextclass.h src/LyXTextClass.h ['CharStyle', 'LyXTextClass'] src/changes.h src/Changes.h ['Change', 'Changes', 'Range', 'ChangeRange'] src/aspell.C src/ASpell.cpp src/lyx_main.C src/LyX.cpp LyX src/MenuBackend.h src/MenuBackend.h ['MenuItem', 'Menu', 'MenuBackend'] src/toc.C src/toc.cpp NOCLASSES src/boost.C src/boost.cpp NOCLASSES src/ispell.C src/ISpell.cpp ISpell src/mover.C src/Mover.cpp ['Mover', 'SpecialisedMover', 'Movers'] src/ParagraphMetrics.C src/ParagraphMetrics.cpp ParagraphMetrics src/LColor.h src/LColor.h ['LColor', 'LColor_color'] src/cursor_slice.h src/CursorSlice.h CursorSlice src/trans_mgr.h src/TransState.h ['TransState', 'TransFSMData', 'TransInitState', 'TransDeadkeyState', 'TransCombinedState', 'TransFSM', 'TransManager'] src/lyxlayout_ptr_fwd.h src/lyxlayout_ptr_fwd.h NOCLASSES src/output_docbook.h src/output_docbook.h NOCLASSES src/paragraph.C src/Paragraph.cpp ['FontSpan', 'Paragraph'] src/FloatList.h src/FloatList.h FloatList src/bufferview_funcs.h src/bufferview_funcs.h NOCLASSES src/buffer_funcs.C src/buffer_funcs.cpp NOCLASSES src/Variables.C src/Variables.cpp Variables src/messages.h src/Messages.h Messages src/Color.C src/color.cpp NOCLASSES src/dociterator.C src/DocIterator.cpp ['DocIterator', 'StableDocIterator'] src/ToolbarBackend.h src/ToolbarBackend.h ['ToolbarItem', 'ToolbarInfo', 'ToolbarBackend'] src/lyx_sty.h src/lyx_sty.h NOCLASSES src/metricsinfo.C src/MetricsInfo.cpp ['MetricsBase', 'MetricsInfo', 'PainterInfo', 'TextMetricsInfo', 'ViewMetricsInfo', 'Changer', 'FontChanger', 'FontSetChanger', 'StyleChanger', 'ScriptChanger', 'FracChanger', 'ArrayChanger', 'ShapeChanger', 'WidthChanger', 'ColorChanger'] src/language.C src/Language.cpp ['Language', 'Languages'] src/text.C src/text.cpp ['Language', 'Languages'] src/lyx_main.h src/LyX.h LyX src/lyxlex.C src/LyXLex.cpp ['LyXLex', 'pushpophelper'] src/encoding.C src/Encoding.cpp ['Encoding', 'Encodings', 'const_iterator'] src/debug.C src/debug.cpp lyx_debug_trait src/Chktex.C src/Chktex.cpp Chktex src/toc.h src/toc.h NOCLASSES src/ispell.h src/ISpell.h ISpell src/mover.h src/Mover.h ['Mover', 'SpecialisedMover', 'Movers'] src/output_latex.C src/output_latex.cpp NOCLASSES git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18019 a592a061-630c-0410-9148-cb99ea01b6c8 |