Commit Graph

121 Commits

Author SHA1 Message Date
Enrico Forestieri
c668ebf611 Fix bugs #8546 and #9055, and introduce new separator inset.
The algorithm used for breaking a paragraph in LaTeX export is changed
for avoiding spurious blank lines causing too much vertical space.
This change is tied to the introduction of a new inset (with two
different specializations) helping in either outputing LaTeX paragraph
breaks or separating environments in LyX. Both of the above goals were
previously achieved by the ---Separator--- layout and can now be
accomplished by the new inset in a more natural way. As an example,
after leaving an environment by hitting the Return key for two times,
a third return automatically inserts a parbreak inset, which is
equivalent to the old separator layout, i.e., it also introduces a
blank line in the output. If this blank line is not wanted, the
parbreak separator can be changed to a plain separator by a right
click of the mouse. Of course, an environment can still be separated
by the following one by using the Alt+P+Return shortcut (or the
corresponding menu key), but now the plain separator inset is used
instead of the old separator layout, such that no blank line occurs in
the LaTeX output.

Old documents are converted such that the LaTeX output remains unchanged.
As a result of this conversion, the old separator layout is replaced by
the new parbreak inset, which may also appear in places where the old
algorithm was introducing blank lines while the new one is not.
Note that not all blank lines were actually affecting the LaTeX output,
because a blank line is simply ignored by the TeX engine when it occurs
in the so called "vertical mode" (e.g., after an alignment environment).
The old ---Separator--- layout is now gone and old layout files using it
are also automatically converted.

Round trip conversions between old and new format should leave a document
unchanged. This means that the new behavior about paragraph breaking is
not "carried back" to the old format. Indeed, this would need introducing
special LaTeX commands in ERT that would accumulate in roundtrip
conversions, horribly cluttering the document. So, when converting a
modified document to old formats, the LaTeX output may slightly differ in
vertical spacing if the document is processed by an old version of LyX.
In other words, forward compatibility is guaranteed, but not backwards.
2014-05-10 23:25:11 +02:00
Juergen Spitzmueller
c246076ed5 Fix the 'caption inset mess' (bug #4647) 2012-12-30 18:29:02 +01:00
Juergen Spitzmueller
2e69c66195 InsetArgument revision, first working version 2012-11-19 14:21:02 +01:00
Lars Gullik Bjønnes
6b2232a29c src/*.cpp: reformatting to increase consistency 2012-10-28 17:42:07 +01:00
Juergen Spitzmueller
ee1fc9130a Add support for some basic non-unicoded IPA macros
We now support everything on the IPA chart via the toolbar
2012-08-23 17:42:53 +02:00
Jürgen Spitzmüller
f626cfb7a3 Implement a native IPA inset (bug #2591) with instant preview.
Currently only basic functionality (our math-tipa functionality plus multipar input). Further enhancements (such as proper unicode input and a specific toolbar) are planned. DocBook and XHTML output also need to be audited.

The lyx2lyx reversion routine surely can be improved (help appreciated), and I don't know  tex2lyx enough to handle this file format change.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40867 a592a061-630c-0410-9148-cb99ea01b6c8
2012-03-06 07:54:22 +00:00
Uwe Stöhr
f5a03ab601 InsetSpace support for
- \negmedspace and \negthickspace outside of math
- \enspace, \hspace*, \hspace*{\fill} and \hfill inside math
(fileformat change)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39557 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-29 14:07:30 +00:00
Pavel Sanda
5005facace Add visible space. After long discussion the solution is part of InsetSpace.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg169847.html

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39367 a592a061-630c-0410-9148-cb99ea01b6c8
2011-07-23 18:40:21 +00:00
Georg Baum
e57084c140 fix bug 6698
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36519 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-26 17:14:21 +00:00
Georg Baum
7edd656f21 Fix inserting subscript/superscript with nonempty selection by creating a dedicated lfun:
inset-insert simply swallows the selection, while box-insert, note-insert etc.
put the selection inside the new inset.
As a side effect the toolbar icons get better names, as requested by Uwe.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36451 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-23 20:09:08 +00:00
Georg Baum
dea050cb93 fix bug 3008: Add subscript/superscript inset for text
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36424 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-21 17:00:12 +00:00
Vincent van Ravesteijn
c5b9664476 Remove the name parameter from string2params and params2string. We can always derive the name with insetName(params.code()).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35891 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-29 00:25:28 +00:00
Abdelrazak Younes
d8981b13ae * Get rid of LFUN_TOC_INSERT: we use LFUN_INSET_INSERT "toc".
* Fix usage of "inset-insert type" without CommandInset arguments.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35345 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-12 07:56:08 +00:00
Uwe Stöhr
0e7ab29f49 InsetLine: support for the LaTeX command \rule; kick out the hardcoded \lyxline; fileformat change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35299 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-07 00:41:00 +00:00
Uwe Stöhr
53cb5fb06c factory.cpp: this should not have gone in r35277
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35278 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-04 13:17:08 +00:00
Uwe Stöhr
8fc3baa3f9 factory.cpp: sorting
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35277 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-04 13:13:44 +00:00
Richard Heck
0345bef67b Renaming: \\begin_inset OptArg to \\begin_inset Argument.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34619 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-07 21:58:27 +00:00
Richard Heck
319ca06167 Rename LFUN_OPTIONAL_INSERT as LFUN_ARGUMENT_INSERT.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34597 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-04 22:53:44 +00:00
Richard Heck
8480d1dd9a Rename InsetOptArg as InsetArgument.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34596 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-04 22:44:58 +00:00
Richard Heck
b79d8e5e2d Make members of FuncRequest private, per the FIXME there. Again, this is
basically a massive renaming, with no real changes.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34106 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-09 19:00:42 +00:00
Richard Heck
4c7a5d0024 This is just a giant renaming of member variables in FuncRequest,
preparatory to making them private.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34105 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-09 18:15:17 +00:00
Vincent van Ravesteijn
bb69584112 Introduce InsetPreview.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33890 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-28 13:47:50 +00:00
Abdelrazak Younes
4c9f0eb5e6 * InsetFloat:
- now accept a full parameter string at construction
- LFUN_INSET_MODIFY now also interprets float type.

* FloatPlacement:
- The float type label is replace with a combo that can be used to
change the type.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33412 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-10 17:33:39 +00:00
Abdelrazak Younes
52bd0268a3 * Migrate InsetFloat to InsetDialog
* Bug fix and clean up InsetFloat parameter handling: this is still not very clean as the float type is not really a parameter still... The solution is to defer the float type reading to the actual inset reading, not its creation.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33370 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-08 22:09:40 +00:00
Abdelrazak Younes
882e2eeb7b InsetCommand ctor: Pass 'Buffer *'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31902 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-08 16:10:34 +00:00
Abdelrazak Younes
82c7e15e64 Uniformize Inset construction (passing Buffer * everywhere). Lots of cleanup to do still...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31901 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-08 15:53:21 +00:00
Enrico Forestieri
a1a34443ef Fix bug #5530: LyX expansion in math-macro overwritten by default one.
This patch initializes the buffer_ member of a MathHull inset in most
(but not all) cases. The problems with buffer_ should be greatly
allievated now, but there still can be some corner case.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31873 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-06 15:18:48 +00:00
Uwe Stöhr
0b33b9d090 allow to use glue lengths in the HSpace dialog; file format change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30724 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-21 11:51:43 +00:00
Jean-Marc Lasgouttes
4dbe411ba9 Remove all BufferParam arguments in InsetXXX methods (since insets know about their Buffer)
Add an assertion in Inset::dispatch that checks that buffer() == *cur.buffer()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30540 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-13 12:56:20 +00:00
Jürgen Spitzmüller
18cfe15b64 file format change due to r29770.
No automatic width calculation is done for old documents, because these might rely on settings in
nomencl.cfg.

A GUI to alter this is needed.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29775 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-22 08:31:43 +00:00
Uwe Stöhr
629b07b72f InsetCollapsable.cpp, factory.cpp: sorting
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29720 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-17 21:28:35 +00:00
Jürgen Spitzmüller
d12426a340 New inset dialog for InsetPrintIndex (only used with multiple indices)..
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29290 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-17 14:29:32 +00:00
Jürgen Spitzmüller
c52bd08442 Introduce splitindex support. File format change.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29255 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-16 07:29:01 +00:00
Jean-Marc Lasgouttes
fc1fb61336 allow to read Flex insets with a space in their name
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28736 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-09 13:48:09 +00:00
Uwe Stöhr
b742ff6406 support for the LaTeX commands \*phantom, fileformat change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28292 a592a061-630c-0410-9148-cb99ea01b6c8
2009-01-30 00:56:37 +00:00
Georg Baum
ac1fd9b37f fix bug 2558: hspace support in math
The basic idea was to reuse the corresponding text space inset in the same
fashion as is already done for references. The dialog displays a different
selection for math than for text. If wanted, the additional spaces could
also be enabled for text, but that would be a file format change.
Constructs like \hspace{\mylengthvariable} that are not supported are
treated by the math parser as ERT as before.

For reasons I don't know the context menu does not work, but this is not so
important IMHO (since a left click opens the dialog).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27954 a592a061-630c-0410-9148-cb99ea01b6c8
2008-12-22 18:12:32 +00:00
André Pönitz
6192345f60 add Buffer * member to DocIterator
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27603 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-17 11:46:07 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00
Abdelrazak Younes
a5d7f0504d Pass Buffer in InsetQuote ctor. Patch fro Richard.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26312 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-06 14:04:01 +00:00
Abdelrazak Younes
4bc7feaa96 * Inset: ensure that the Buffer pointer is not copied. This was the cause of very weird bugs with copy and paste within table.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25837 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-23 12:13:41 +00:00
Abdelrazak Younes
79beb91e3a Sanitize LyX singleton access by getting rid of ref() and cref() methods.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25597 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-14 08:35:00 +00:00
Pavel Sanda
a7a31dc392 Remove LFUN_BIBITEM_INSERT.
The last GUI trace for using this lfuns is here: http://www.lyx.org/trac/changeset/9966 .

http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg141812.html



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25588 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-14 01:28:06 +00:00
Pavel Sanda
20b9e0ba93 Remove InsetEnvironment. This is unfinished decade old stuff.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg141609.html


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25479 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-07 16:34:55 +00:00
Pavel Sanda
c077415c87 Next leftover.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25468 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-06 21:22:25 +00:00
Richard Heck
8a64579d9c More cache fixing. Similar fix as for InsetBibtex, and I've renamed the key routine.
Unfortunately, we can't do a one-short fix for InsetCommand, requiring that it take
a Buffer & in the constructor, due to problems in mathed, specifically, here:
void InsetMathHull::label(row_type row, docstring const & label)
{
...
label_[row] = new InsetLabel(p);
if (buffer_)
label_[row]->setBuffer(buffer());
}
If InsetLabel has to have a Buffer, then buffer_ has to be set, which means InsetMathHull needs a Buffer. But then truckloads of these are created in Parser, where we don't really seem to have access to a Buffer.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25137 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-05 06:55:34 +00:00
Richard Heck
2ea039ba99 Fix some of the BibTeX cache issues. We need to be able to invalidate the cache when
InsetBibtex's get created and destroyed, or modified.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25136 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-05 06:42:53 +00:00
Richard Heck
2a47858dda Fix remaining issues with InsetSpace. The identifier "Space" used in the .lyx
file has been changed to "space" to match the identifier used for the inset in
Inset.cpp and for the dialog in GuiView.cpp.

In future, we will want to get a similar uniformity elsewhere: The identifier
used in the LyX file should match the one used as inset identifier. The easy
way to do this, in the code, is to have insets write themselves this way:
	os << insetName(lyxCode()) << " ";
rather than at present:
	os << "space ";
Similar things could then happen elsewhere. E.g., if the dialog names are in
sync with the inset names, then we could do something like:
	hideDialogs(insetName(lyxCode()), this);
rather than
	hideDialogs("space", this);
and perhaps even put that into the Inset destructor rather than have specific
versions in each inset---with a test for whether there is such a dialog, of
course.

But this is all for later.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25016 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-30 15:38:43 +00:00
Jean-Marc Lasgouttes
9b4a26a252 rename assert.h to lassert.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24559 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-30 08:26:40 +00:00
Bo Peng
491f30920e InsetInfo: fix an update bug when inserting InsetInfo from minibuffer
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24326 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-18 15:54:05 +00:00
André Pönitz
7f461f4392 infrastructure for 'graceful asserts'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24216 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-10 21:49:34 +00:00