Commit Graph

14256 Commits

Author SHA1 Message Date
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
2007-08-29 21:03:41 +00:00
Richard Heck
8a947f63da This is one of a series of patches that will merge the layout modules development in personal/branches/rgheck back into the tree.
Design goal: Allow the use of layout "modules", which are to LaTeX packages as layout files are to LaTeX document classes. Thus, one could have a module that defined certain character styles, environments, commands, or what have you, and include it in various documents, each of which uses a different document class, without having to modify the layout files themselves. For example, a theorems.module could be used with article.layout to provide support for theorem-type environments, without having to modify article.layout itself, and the same module could be used with book.layout, etc.

This patch adds the backend. The ModuleList class holds a list of the available modules, which are retrieved from lyxmodules.lst, itself generated by configure.py. There are two LFUNs available: modules-clear and module-add, which do the obvious thing; you can test by typing these into the minibuffer, along with the name of one of the available modules: URL (a CharStyle), Endnote (a Custom Inset), and---with the spaces---End To Foot (View>LaTeX and look at the user preamble), which are themselves in lib/layouts. There are some others, too, that allow theorems to be added to classes like article and book.

The GUI will come next.

Issues: (i) The configure.py script could be improved. It'd be nice, for example, if it tested for the presence of the LaTeX packages a particular module needs. But this would mean re-working the LaTeX script, and I don't know how to do that. Note that at present, the packages are ignored. This will change shortly. (ii) I've used std::string in LyXModule, following what seemed to be a precedent in TextClass. If some of these should be docstrings, please let me know, and I'll change them. (iii) There is at present no distinction between LaTeX and DocBook modules. Should there be? That is: Should there be modules that are available when the document class is a LaTeX class and others that are available only when it is DocBook? Or should there just be one set of modules? Each module can of course indicate for what it is suitable in its description.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19893 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-29 17:59:49 +00:00
Martin Vermeer
794ff76622 Add some more logical charstyles
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19892 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-29 16:04:56 +00:00
Richard Heck
58d97d01d8 Fix bug 4170: Close window when user wants it closed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19889 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-29 15:24:41 +00:00
José Matox
f6e94c8b24 Fix bug 4158.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19886 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-29 13:39:15 +00:00
Jürgen Spitzmüller
e606e5eacc * src/Text2.cpp:
- fix wrong DEPM in ct mode (bug 3961).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19884 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-29 13:04:29 +00:00
Uwe Stöhr
7a05036849 German Extended.lyx and UserGuide.lyx: updates from Hartmut
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19883 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-29 00:22:57 +00:00
Uwe Stöhr
1e6a27b25d EmbeddedObjects.lyx: correct the description of the list of algorithms
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19879 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 23:48:09 +00:00
Abdelrazak Younes
a40d6cd7bc Take Track-Change into account when calculating row signature.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19876 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 22:44:09 +00:00
André Pönitz
c16a1874e2 add minizp to qmake
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19875 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 21:41:53 +00:00
André Pönitz
055c95cc19 more cmake cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19873 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 20:47:42 +00:00
André Pönitz
83c9b040e7 cmake cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19871 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 19:54:42 +00:00
Abdelrazak Younes
34aba4a42b Update comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19870 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 18:30:15 +00:00
André Pönitz
6040a5faf6 cmake cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19869 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 18:30:02 +00:00
Abdelrazak Younes
3f54edc200 * TextMetrics::redoParagraph(): we need to check the returned value of Inset::metrics() nevertheless because some changes don't involves a dimension change (especially in multiline InsetText).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19868 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 18:25:28 +00:00
Abdelrazak Younes
235312c376 * InsetCollapsable::setStatus(): remove the Buffer::changed() signal emission. This causes a WorkArea redraw before the BufferView metrics update happens.
* WorkArea::dispatch(): replace the redraw() call with a Buffer::changed() signal emission in order to update all views of the Buffer, even though some view won't need the redraw...



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19867 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 18:13:17 +00:00
Abdelrazak Younes
0e7ef480f7 Don't draw if there's nothing to draw.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19866 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 18:05:55 +00:00
Abdelrazak Younes
1a57b660a1 Second Brown paper bag!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19865 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 17:40:40 +00:00
Abdelrazak Younes
796724ebe1 Brown paper bag!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19864 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 17:39:36 +00:00
André Pönitz
b839dd33ae some attempt at cmake beautification
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19862 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 17:07:02 +00:00
Richard Heck
4da4883e0d Scons for previous commit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19861 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 16:50:59 +00:00
Richard Heck
53bc63d95c This is one of a series of patches that will merge the layout modules development in personal/branches/rgheck back into the tree.
Design goal: Allow the use of layout "modules", which are to LaTeX packages as layout files are to LaTeX document classes. Thus, one could have a module that defined certain character styles, environments, commands, or what have you, and include it in various documents, each of which uses a different document class, without having to modify the layout files themselves. For example, a theorems.module could be used with article.layout to provide support for theorem-type environments, without having to modify article.layout itself, and the same module could be used with book.layout, etc.

This third patch just re-factors some code presently in QCitation*. (It also incorporates some bug fixes that have been committed separately.) We're going to use essentially the same set of widgets for choosing modules that is used for choosing citation keys, so we pull the controlling logic out into a new class, QSelectionManager. I did not make this a QWidget. That seemed to me to be overkill, and it would have made things much more complicated, I think...and I'm not all that experienced with Qt, anyway. Anyone who wants to do that is of course welcome.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19860 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 16:49:40 +00:00
Abdelrazak Younes
5440aad928 We are not forced to redraw the row each time the cursor is moved.
* TextMetrics.cpp: CursorOnRow() removed.
* TextMetrics::drawParagraph() do not check cursor position.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19859 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 16:39:46 +00:00
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
2007-08-28 15:47:53 +00:00
Abdelrazak Younes
598e5ecb9a header cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19857 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 15:34:55 +00:00
Abdelrazak Younes
ee27b58a07 header cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19856 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 15:33:15 +00:00
Abdelrazak Younes
4590960f02 header cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19855 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 15:32:39 +00:00
Abdelrazak Younes
a276c05770 transfer margin declaration to BufferView.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19854 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 15:31:04 +00:00
Abdelrazak Younes
86624539f4 header cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19853 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 15:08:03 +00:00
Abdelrazak Younes
e7101b70f1 header cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19852 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 15:07:39 +00:00
Martin Vermeer
12210a88fb Oops...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19851 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 14:33:44 +00:00
Martin Vermeer
18299149f5 some more inclusions of stdinsets.inc
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19850 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 14:32:06 +00:00
Abdelrazak Younes
378c7af432 * Row: Use Dimension class.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19849 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 09:21:48 +00:00
Abdelrazak Younes
971c543b34 - Transfer rowpainter.cpp:paintPar() to TextMetrics::drawParagraph()
- move RowPainter class out of the anonymous namespace so that it can be used by TextMetrics::drawParagraph().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19848 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 08:57:13 +00:00
Bo Peng
a398211e03 fix scons for the removal of Package.cpp.in
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19845 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 02:46:09 +00:00
Abdelrazak Younes
a43e822c98 Transfer rowpainter.cpp:paintText() to BufferView::draw()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19843 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 22:53:16 +00:00
Abdelrazak Younes
55f184563e - Transfer rowpainter.cpp:paintTextInset() to TextMetrics::draw()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19842 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 22:36:20 +00:00
André Pönitz
27ca671388 revert change to POTFILES.in
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19841 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 21:33:15 +00:00
André Pönitz
d65a564adf remove special handling of Package.cpp[.in]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19840 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 21:29:56 +00:00
Martin Vermeer
def5620e58 Fix black float background
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19839 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 20:27:02 +00:00
Abdelrazak Younes
b52c339cce Bug fix: correctly redraw a Row containing and inset which Dimension slightly changed. This replace the need for the former leftEdgeFixed boolean in rowpainter.C:paintPar() before the removal of the wide() hack in revision 19834.
* Inset::dimension(): access to dim_

* TextMetrics::redoParagraph(): don't trust Inset::metrics() returned boolean as the internal dimension is changed down in the inheritance chain for InsetFoot->InsetCollapsable->InsetText.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19838 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 16:30:57 +00:00
Bo Peng
cb25c9980e scons: fix a bug in installer target, introduced by the cleanups
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19837 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 16:29:04 +00:00
Bo Peng
b1e84ddec3 Scons: fix tex2lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19836 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 15:13:45 +00:00
Abdelrazak Younes
f88feb9548 I may have gone a bit too far in revision 19834: restore the selection painting.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19835 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 14:59:23 +00:00
Abdelrazak Younes
3c92c2ab13 Remove the wide() hack. This simplifies quite a few things...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19834 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 14:38:29 +00:00
Abdelrazak Younes
b3b6f44755 Gather ParagraphMetrics initialization in ParagraphMetrics::reset().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19833 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 14:04:46 +00:00
Abdelrazak Younes
aa5c8a844f MacOS compil fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19832 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 13:12:51 +00:00
Abdelrazak Younes
42ad173cd7 Disable the pixmap cache for Qt4.1 because of font problems when resizing the window.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19830 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 11:13:09 +00:00
Abdelrazak Younes
8750d351da Lyx crashed after inserting, deleting and inserting float object.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19827 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 09:03:18 +00:00
Martin Vermeer
b6546d8a93 Compile fix after bg color patch, thx Bo
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19826 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 08:36:18 +00:00