blank lines may be inadvertently output. This is achieved by using two
special iomanip-like variables (breakln and safebreakln) in the lyx::
namespace. When they are inserted in the stream, a newline is output
only if not already at the beginning of a line. The difference between
breakln and safebreakln is that, if needed, the former outputs '\n'
and the latter "%\n".
In future, the new class will also be used for counting the number of
newlines issued. Even if the infractrure for doing that is already in
place, the counting is essentially still done the old way.
There are still places in the code where the functionality of the
class could be used, most probably. ATM, it is used for InsetTabular,
InsetListings, InsetFloat, and InsetText.
The Comment and GreyedOut insets required a special treatment and a
new InsetLayout parameter (Display) has been introduced. The default
for Display is "true", meaning that the corresponding latex
environment is of "display" type, i.e., it stands on its own, whereas
"false" means that the contents appear inline with the text. The
latter is the case for both Comment and GreyedOut insets.
Mostly, the only visible effects on latex exports should be the
disappearing of some redundant % chars and the appearing/disappearing
of null {} latex groups after a comment or lyxgreyedout environments
(they are related to the presence or absence of a space immediately
after those environments), as well as the fact that math environments
are now started on their own lines.
As a last thing, only the latex code between \begin{document} and
\end{document} goes through the new class, the preamble being directly
output through odocstream, as usual.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37360 a592a061-630c-0410-9148-cb99ea01b6c8
The quick solution is to output a % sign before \n. The better one
would be doing as in mathed, but it is not so straightforward.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37320 a592a061-630c-0410-9148-cb99ea01b6c8
of things like:
pit.push_back(CursorSlice(*this));
which I've had to change to:
pit.push_back(CursorSlice(const_cast<InsetCaption &>(*this)));
and similarly in a few other places.
If anyone thinks we should instead have:
explicit CursorSlice(Inset const &);
then we can also do that.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37192 a592a061-630c-0410-9148-cb99ea01b6c8
better than what we had, anyway, since we do not calculate the tocstring
unless we need it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37190 a592a061-630c-0410-9148-cb99ea01b6c8
that also makes sure it doesn't do more work than it needs to do, by
limiting the size to 40 characters. Previously, InsetBranch::addToToc()
would have added a string representing the entire contents of the
branch! It's hard to imagine that having to recalculate that sort of
thing doesn't cause some problems with speed, especially in documents
with lots of notes and branches and such.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36974 a592a061-630c-0410-9148-cb99ea01b6c8
* only one for loop
* uses runparams.par_end
InsetInclude and InsetIext: initialize runparams.par_begin and runparams.par_end
Except for a few additonal empty lines the LateX exports are identical for all help files. The reason for the additional empty lines is the more consistent TeXEnvironment() call.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36934 a592a061-630c-0410-9148-cb99ea01b6c8
fail e.g., of URLs in math, since tocString() is called by
Paragraph::asString() to give us the contents of insets. Probably, I was
misled by the name, and the comment in Inset.h. That means, at least,
that this method is misnamed, but it probably means we do the wrong
thing in other cases.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36517 a592a061-630c-0410-9148-cb99ea01b6c8
plaintext() on the entire inset, even though the tooltip is only going
to show the first few lines. This could make things slow when you had a
lot of branches, because this is called by InsetBranch::addToToc().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36345 a592a061-630c-0410-9148-cb99ea01b6c8
The goal is first to remove explicit testing against ERT_CODE,
and second to allow to define layouts with the same properties as ERT insets.
This commit does not change behaviour
* rename OutputParams::verbatim to pass_thru
* disable encoding switch inside pass_thru layouts
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35091 a592a061-630c-0410-9148-cb99ea01b6c8
At some point we should implement that the tooltips are only shown when they are not completely shown in the outliner. However, this requires extending the QTreeView class.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34287 a592a061-630c-0410-9148-cb99ea01b6c8
Solution: don't use boost::shared_ptr for msvc10 (could also be extended to several GCC versions)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34259 a592a061-630c-0410-9148-cb99ea01b6c8
Solution: don't use boost::bind for msvc10 (could also be extended to several GCC versions)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34257 a592a061-630c-0410-9148-cb99ea01b6c8
The idea here is to implement something like \refstepcounter for LyX. We
do this by tracking the "active" counter in Counters.cpp. We also have
to track when we go in and out of environments to which counters are
local, and so on and so forth.
This all gets done in updateLabels(), but only if we are producing
output, which is why I added the output boolean a while ago.
I expect there are bugs in here, though it seems to work pretty well
with the documents I've tested.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33108 a592a061-630c-0410-9148-cb99ea01b6c8
#6415
Enrico please verify that reverse dvi is fixed.
* Text and InsetText: create two private constructors and transfer some
initialisation code from InsetText.
* Paragraph: id generation is transfered to Text. May be transfered to
Buffer in the future, we'll see.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32766 a592a061-630c-0410-9148-cb99ea01b6c8
as to allow us to call the routine when we are preparing for output and
so to do certain things we might not want to do every time.
This is an abuse of updateLabels(), in a way, but updateLabels() long
ago became the general recurse-through-the-Buffer routine, and to
implement the sort of thing I want to do here in validate(), say, much
of the code in updateLabels()---in particular, the counter-update
code---would have to be duplicated. So I believe this is the best, and
easiest, way to go.
Actual use of the new argument will follow.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32318 a592a061-630c-0410-9148-cb99ea01b6c8
I guess that this should be "inline", that is, appear where it appears
in the LyX file, as opposed to being deferred until after the current
paragraph is output. But I'm not sure about this. If anyone has a view,
let me know.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32215 a592a061-630c-0410-9148-cb99ea01b6c8
derived class and then will not want to write it again here. So this
gives us that ability.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32132 a592a061-630c-0410-9148-cb99ea01b6c8
Much of the point of this is to allow us properly to handle what LyX does as:
<em>This is <strong>bold and italic</em> and now just bold.</strong>
We output:
<em>This is <strong>bold and italic</strong></em><strong> and now just bold.</strong>
which is valid.
Note how much easier this would have been if emphasis and boldness were insets
rather than ranges. ;-)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32086 a592a061-630c-0410-9148-cb99ea01b6c8
a piece at a time, using the new XHTMLStream.
This just gets the basic structures working, and fixes a bunch of iconv
errors in the process.
I hate iconv errors.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32085 a592a061-630c-0410-9148-cb99ea01b6c8
- change cur.inset().nargs() to nargs() as we might actually be in the inset called nextInset(),
- set the enabling flag of the status struct, don't return this value,
- return whether we handled this request.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31822 a592a061-630c-0410-9148-cb99ea01b6c8