Commit Graph

41 Commits

Author SHA1 Message Date
Georg Baum
79f11f4e7d Fix std::string docstream output error
This was made visible by aab1b145a5, since xhtml export for
lib/doc/Additional.lyx caused an exception. However, the cause for this was
already present earlier: All attempts to output a std::string to an
odocstream resulted in trying to change the encoding of the stream instead,
since there is no operator<<(odocstream &, std::string) defined, and an
implicit conversion to SetEnc happened instead.
This is fixed by making the SetEnc constructor explicit and adjusting all
code parts that did not compile anymore after that. The parts of the code
that did use the wrong output operator were the std::string version of
htmlize() from output_xhtml.cpp and all changed parts in the other .cpp files.
I also removed the std::string versions of html::htmlize() and
html::cleanAttr(), since it was difficult to see which encodings were used
with these. Now we are always explcit when using html::cleanAttr() and
html::htmlize().
2015-10-15 20:52:28 +02:00
Georg Baum
acb09a3efd Make destructor virtual
Base classes with virtual methods should have a virtual destructor.
See Scott Meyers, Effective C++ item 7: Declare destructors virtual in
polymorphic base classes.
2015-09-13 09:41:45 +02:00
Stephan Witt
43d75a0796 struct with virtual functions should have virtual destructor 2014-04-30 23:14:41 +02:00
Vincent van Ravesteijn
7f123b8610 Fix MSVC warnings 2013-05-14 13:56:31 +02:00
Richard Heck
8b858d113f Get font sizes working for XHTML. 2013-05-13 12:22:41 -04:00
Richard Heck
b383d04e07 XHTML support for font shapes. 2013-05-13 10:45:12 -04:00
Richard Heck
5cadeed4d7 Rework that way that font tags are handled in XHTML output. We need
to do this in order to handle span tags properly, when they act as
font tags.
2013-05-13 10:45:12 -04:00
Richard Heck
64f0cffbba Rework the way the parsep tag is handled, and introduce comparison
operators for these tags.
2013-05-13 10:45:12 -04:00
Richard Heck
ad56bb7286 Rework how paragraph ids are handled.
Previously, an empty paragraph would always yield something like:
	<div><a id='magicparid-35' /></div>
because we had no way to "defer" the anchor tag. Now this is wrapped
into the div, in effect, and we abandon it all if there's no content.
2013-05-13 10:45:12 -04:00
Richard Heck
c5a707ba74 Reorganize the TagStack objects. 2013-05-13 10:45:12 -04:00
Richard Heck
8dd436b7dc We need to check, in closeFontTags(), for the case where we haven't
had any content.
2012-04-08 10:05:44 -04:00
Richard Heck
29cf7af6d3 The isTagOpen() routine can be const. 2012-04-08 10:05:44 -04:00
Richard Heck
313c9e0e5a Debugging code for the tag stack, disabled by default. 2012-04-08 10:05:43 -04:00
Richard Heck
b3475e9fac Fix bug #7634. Make sure we clear the tag deque if we are keeping
empty paragraphs.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39152 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-20 15:55:41 +00:00
Richard Heck
a673aa3428 The mechanism for closing font tags at the end of a paragraph was
throwing errors in the case where we are inside a charstyle that itself
uses a font tag, e.g., strong from the logical markup module. This at
least gets rid of most of the errors, and doesn't seem to cause any
other problems.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38220 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-03 01:56:20 +00:00
Richard Heck
461c973d62 Clean up XHTML output a bit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38185 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 19:18:25 +00:00
Richard Heck
ec1a541a6c No need for two different containers here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36670 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-02 22:11:52 +00:00
Richard Heck
a81bf77314 Change the escaping mechanism for XHTML output and so allow a fix for
bug #7061.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36455 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-24 15:27:36 +00:00
Richard Heck
64241a6d6d Add XHTMLStream::operator<<(char). Failure to have it was causing things
like:
	xs << ' ';
to send an int. 

32, Pavel.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35397 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-15 17:19:29 +00:00
Richard Heck
a5e4f310fe Add alignment to default CSS.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35392 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-15 14:06:36 +00:00
Jean-Marc Lasgouttes
62d537b5da uninitialized variable
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34743 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-02 11:04:36 +00:00
Richard Heck
43e1428dbd Remove things to be removed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33100 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-19 22:24:46 +00:00
Richard Heck
3e654186d2 Move the StartTag, EndTag, and CompTag classes into the html namespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33099 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-19 22:08:04 +00:00
Richard Heck
2e349ff103 This sorts the index entries and writes each one's tags together, like:
AMS Math 1, 2, 3
where the numbers are links.

The only thing left to do here is to parse the index entries so that we
can do something with "this ! that" and similar things.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33001 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-12 21:06:55 +00:00
Richard Heck
c5738e5af6 Restore XHTML output for InsetLabel and InsetRef. There are a couple
other fixes in here, too.

There is an issue here which I guess I'll deal with later, namely, that
the name attribute for <a> is unavailable in XHTML 1.1, which is what we
need for MathML support, at least in Firefox. Firefox will deal with it
if it's there, but the document won't validate. I'll figure out what to
do about this later.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32226 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-28 21:37:47 +00:00
Richard Heck
508ee6560c Auto-escape attributes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32208 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-25 22:18:47 +00:00
Richard Heck
603b94966a InsetQuote works again.
Is this simple stream modifier thing OK?


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32112 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-19 23:29:07 +00:00
Richard Heck
6d4db0ee44 Restore InsetNewline.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32110 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-19 23:04:10 +00:00
Richard Heck
c5651b5e44 Two things here:
(i) We don't need (at the moment, anyway) to step list counters, since
HTML will handle those for us.
(ii) Output errors as comments to the HTML file so we can see where they
happen.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32097 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-19 21:50:02 +00:00
Richard Heck
502dc7ca52 Inset::xhtml(XHTMLStream &, ...)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32089 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-19 20:22:04 +00:00
Richard Heck
0b317145d7 Comments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32087 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-19 18:28:36 +00:00
Richard Heck
ad132e2e99 Restore basic paragraph output for XHTML. The insets are all disabled still.
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
2009-11-19 18:24:19 +00:00
Richard Heck
7aebcc787f I am now going to proceed to break XHMTL output, and then reconstruct it
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
2009-11-19 17:51:06 +00:00
Richard Heck
62b6240310 Reorganize a bit, and take the new stuff out of the html namespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32084 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-19 16:35:58 +00:00
Richard Heck
8745fd6caa This is the custom stream for XHTML output. It isn't used yet, and
lots of things that will be replaced have been left, so as not to
prevent compilation.

The point of this is that we need a good way to manage the nesting of tags,
that is, to make sure tags are properly nested. So everything here is pretty
trivial, except for XHTMLStream << EndTag.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32083 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-19 16:29:57 +00:00
Abdelrazak Younes
8c053ea10c Move depthHook(), outerHook(), isFirstInSequence(), outerFont() to Text methods.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30957 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 18:35:39 +00:00
Richard Heck
5e8d08cb9e Get InsetBibitem working, and the output for LATEX_BIB_ENVIRONMENT.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30045 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-11 20:08:39 +00:00
Richard Heck
c7d0862a94 How did I forget to do that?!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29969 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-05 19:52:22 +00:00
Richard Heck
f56275e896 Better control for tag output. This helps a little.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29959 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-05 18:41:28 +00:00
Richard Heck
d9b62b3f9c Improve tag output routines.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29957 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-05 18:18:44 +00:00
Richard Heck
32fabb3f6a Forgot to add these before.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29952 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-05 17:49:10 +00:00