2007-11-07 22:31:07 +00:00
|
|
|
// -*- C++ -*-
|
|
|
|
/**
|
|
|
|
* \file InsetLayout.h
|
|
|
|
* This file is part of LyX, the document processor.
|
|
|
|
* Licence details can be found in the file COPYING.
|
|
|
|
*
|
2008-02-22 02:32:52 +00:00
|
|
|
* \author Martin Vermeer
|
|
|
|
* \author Richard Heck
|
|
|
|
*
|
2007-11-07 22:31:07 +00:00
|
|
|
* Full author contact details are available in file CREDITS.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef INSET_LAYOUT_H
|
|
|
|
#define INSET_LAYOUT_H
|
|
|
|
|
|
|
|
#include "ColorCode.h"
|
|
|
|
#include "FontInfo.h"
|
|
|
|
|
|
|
|
#include "support/docstring.h"
|
|
|
|
|
2008-02-01 15:12:04 +00:00
|
|
|
#include <set>
|
2008-01-07 16:59:10 +00:00
|
|
|
#include <string>
|
|
|
|
|
2007-11-07 22:31:07 +00:00
|
|
|
namespace lyx {
|
|
|
|
|
2008-02-22 03:39:10 +00:00
|
|
|
class Lexer;
|
2008-02-22 16:15:21 +00:00
|
|
|
|
2007-11-07 22:31:07 +00:00
|
|
|
///
|
|
|
|
class InsetLayout {
|
|
|
|
public:
|
2008-02-22 02:32:52 +00:00
|
|
|
///
|
|
|
|
InsetLayout();
|
|
|
|
///
|
2008-02-22 16:24:55 +00:00
|
|
|
enum InsetDecoration {
|
|
|
|
Classic,
|
|
|
|
Minimalistic,
|
|
|
|
Conglomerate,
|
|
|
|
Default
|
|
|
|
};
|
|
|
|
///
|
2008-02-22 03:27:42 +00:00
|
|
|
bool read(Lexer & lexrc);
|
|
|
|
///
|
|
|
|
docstring name() const { return name_; };
|
2008-02-22 02:32:52 +00:00
|
|
|
///
|
|
|
|
std::string lyxtype() const { return lyxtype_; };
|
|
|
|
///
|
|
|
|
docstring labelstring() const { return labelstring_; };
|
|
|
|
///
|
2008-02-22 16:15:21 +00:00
|
|
|
InsetDecoration decoration() const { return decoration_; };
|
2008-02-22 02:32:52 +00:00
|
|
|
///
|
|
|
|
std::string latextype() const { return latextype_; };
|
|
|
|
///
|
|
|
|
std::string latexname() const { return latexname_; };
|
|
|
|
///
|
|
|
|
std::string latexparam() const { return latexparam_; };
|
|
|
|
///
|
|
|
|
FontInfo font() const { return font_; };
|
|
|
|
///
|
|
|
|
FontInfo labelfont() const { return labelfont_; };
|
|
|
|
///
|
|
|
|
ColorCode bgcolor() const { return bgcolor_; };
|
|
|
|
///
|
|
|
|
std::string preamble() const { return preamble_; };
|
|
|
|
///
|
|
|
|
std::set<std::string> requires() const { return requires_; };
|
|
|
|
///
|
|
|
|
bool isMultiPar() const { return multipar_; };
|
|
|
|
///
|
|
|
|
bool isPassThru() const { return passthru_; };
|
|
|
|
///
|
|
|
|
bool isNeedProtect() const { return needprotect_; };
|
|
|
|
///
|
|
|
|
bool isFreeSpacing() const { return freespacing_; };
|
|
|
|
///
|
|
|
|
bool isKeepEmpty() const { return keepempty_; };
|
|
|
|
///
|
|
|
|
bool isForceLtr() const { return forceltr_; };
|
|
|
|
private:
|
|
|
|
///
|
2008-02-22 03:27:42 +00:00
|
|
|
docstring name_;
|
2008-04-06 16:17:03 +00:00
|
|
|
/**
|
|
|
|
* This is only used (at present) to decide where to put them on the menus.
|
|
|
|
* Values are 'charstyle', 'custom' (things that by default look like a
|
|
|
|
* footnote), 'element' (docbook), 'standard'.
|
|
|
|
*/
|
2008-02-22 02:32:52 +00:00
|
|
|
std::string lyxtype_;
|
|
|
|
///
|
|
|
|
docstring labelstring_;
|
|
|
|
///
|
2008-02-22 16:15:21 +00:00
|
|
|
InsetDecoration decoration_;
|
2008-02-22 02:32:52 +00:00
|
|
|
///
|
|
|
|
std::string latextype_;
|
|
|
|
///
|
|
|
|
std::string latexname_;
|
|
|
|
///
|
|
|
|
std::string latexparam_;
|
|
|
|
///
|
|
|
|
FontInfo font_;
|
|
|
|
///
|
|
|
|
FontInfo labelfont_;
|
|
|
|
///
|
|
|
|
ColorCode bgcolor_;
|
|
|
|
///
|
|
|
|
std::string preamble_;
|
|
|
|
///
|
|
|
|
std::set<std::string> requires_;
|
|
|
|
///
|
|
|
|
bool multipar_;
|
|
|
|
///
|
|
|
|
bool passthru_;
|
|
|
|
///
|
|
|
|
bool needprotect_;
|
|
|
|
///
|
|
|
|
bool freespacing_;
|
|
|
|
///
|
|
|
|
bool keepempty_;
|
|
|
|
///
|
|
|
|
bool forceltr_;
|
2007-11-07 22:31:07 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace lyx
|
|
|
|
|
|
|
|
#endif
|