Move the defaults to Layout.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31751 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Richard Heck 2009-10-26 20:45:29 +00:00
parent 67b7ca00a0
commit 331d8060b5
3 changed files with 80 additions and 38 deletions

View File

@ -869,6 +869,54 @@ docstring const Layout::babelpreamble(Language const * lang) const
}
string const Layout::htmltag() const
{
if (htmltag_.empty())
htmltag_ = "div";
return htmltag_;
}
string const & Layout::htmlattr() const
{
if (htmlattr_.empty())
htmlattr_ = "class=\"" + to_utf8(name()) + "\"";
return htmlattr_;
}
string const & Layout::htmlitem() const
{
if (htmlitem_.empty())
htmlitem_ = "div";
return htmlitem_;
}
string const & Layout::htmlitemattr() const
{
if (htmlitemattr_.empty())
htmlitemattr_ = "class=\"" + to_utf8(name()) + "item\"";
return htmlitemattr_;
}
string const & Layout::htmllabel() const
{
if (htmllabel_.empty())
htmllabel_ = "span";
return htmllabel_;
}
string const & Layout::htmllabelattr() const
{
if (htmllabelattr_.empty())
htmllabelattr_ = "class=\"" + to_utf8(name()) + "label\"";
return htmllabelattr_;
}
docstring Layout::htmlstyle() const {
if (!htmlstyle_.empty() && !htmlforcedefault_)
return htmlstyle_;

View File

@ -110,17 +110,17 @@ public:
///
std::string const & itemtag() const { return itemtag_; }
///
std::string const & htmltag() const { return htmltag_; }
std::string const htmltag() const;
///
std::string const & htmlattr() const { return htmlattr_; }
std::string const & htmlattr() const;
///
std::string const & htmlitem() const { return htmlitem_; }
std::string const & htmlitem() const;
///
std::string const & htmlitemattr() const { return htmlitemattr_; }
std::string const & htmlitemattr() const;
///
std::string const & htmllabel() const { return htmllabel_; }
std::string const & htmllabel() const;
///
std::string const & htmllabelattr() const { return htmllabelattr_; }
std::string const & htmllabelattr() const;
///
bool htmllabelfirst() const { return htmllabelfirst_; }
///
@ -289,26 +289,38 @@ private:
std::string labeltag_;
/// Internal tag to surround the item text in a list.
std::string itemtag_;
/// Tag for HTML output, e.g., h2. Defaults to "div".
std::string htmltag_;
/// The interpretation of this tag varies depending upon the latextype.
/// In an environment, it is the tag enclosing all content for this set of
/// paragraphs. So for quote, e.g,. it would be: blockquote. For itemize,
/// it would be: ul. (You get the idea.)
///
/// For a command, it is the tag enclosing the content of the command.
/// So, for section, it might be: h2.
///
/// For the paragraph type, it is the tag that will enclose each paragraph.
///
/// Defaults to "div".
mutable std::string htmltag_;
/// Additional attributes for inclusion with the start tag. Defaults
/// to: class="layoutname".
std::string htmlattr_;
mutable std::string htmlattr_;
/// Tag for individual paragraphs in an environment. In lists, this
/// would be something like "li". But it also needs to be set for
/// quotation, e.g., since the paragraphs in a quote need to be
/// in "p" tags. Default is "div".
std::string htmlitem_;
/// Note that when I said "environment", I meant it: This has no
/// effect for LATEX_PARAGRAPH type layouts.
mutable std::string htmlitem_;
/// Attributes for htmlitem_. Default is: class="layoutnameitem".
std::string htmlitemattr_;
mutable std::string htmlitemattr_;
/// Tag for labels, of whatever sort. One use for this is in setting
/// descriptions, in which case it would be: dt. Another use is to
/// customize the display of, say, the auto-generated label for
/// sections. Defaults to "span".
/// If set to "NONE", this suppresses the printing of the label.
std::string htmllabel_;
mutable std::string htmllabel_;
/// Attributes for the label. Defaults to: class="layoutnamelabel".
std::string htmllabelattr_;
mutable std::string htmllabelattr_;
/// Whether to put the label before the item, or within the item.
/// I.e., do we have (true):
/// <label>...</label><item>...</item>

View File

@ -116,55 +116,37 @@ namespace {
bool openTag(odocstream & os, Layout const & lay)
{
string const tag = lay.htmltag().empty()
? "div" : lay.htmltag();
string const attr = lay.htmlattr().empty()
? "class=\"" + to_utf8(lay.name()) + "\"" : lay.htmlattr();
return html::openTag(os, tag, attr);
return html::openTag(os, lay.htmltag(), lay.htmlattr());
}
bool closeTag(odocstream & os, Layout const & lay)
{
string const tag = lay.htmltag().empty()
? "div" : lay.htmltag();
return html::closeTag(os, tag);
return html::closeTag(os, lay.htmltag());
}
bool openLabelTag(odocstream & os, Layout const & lay)
{
string const tag = lay.htmllabel().empty()
? "span" : lay.htmllabel();
string const attr = lay.htmllabelattr().empty()
? "class=\"" + to_utf8(lay.name()) + "label\"" : lay.htmllabelattr();
return html::openTag(os, tag, attr);
return html::openTag(os, lay.htmllabel(), lay.htmllabelattr());
}
bool closeLabelTag(odocstream & os, Layout const & lay)
{
string const tag = lay.htmllabel().empty()
? "span" : lay.htmllabel();
return html::closeTag(os, tag);
return html::closeTag(os, lay.htmllabel());
}
bool openItemTag(odocstream & os, Layout const & lay)
{
string const tag = lay.htmlitem().empty()
? "div" : lay.htmlitem();
string const attr = lay.htmlitemattr().empty()
? "class=\"" + to_utf8(lay.name()) + "item\"" : lay.htmllabelattr();
return html::openTag(os, tag, attr);
return html::openTag(os, lay.htmlitem(), lay.htmlitemattr());
}
bool closeItemTag(odocstream & os, Layout const & lay)
{
string const tag = lay.htmlitem().empty()
? "div" : lay.htmlitem();
return html::closeTag(os, tag);
return html::closeTag(os, lay.htmlitem());
}
ParagraphList::const_iterator searchParagraphHtml(