* LyX, The Document Processor
*
* Copyright 1995 Matthias Ettrich
- * Copyright 1995-2000 The LyX Team.
+ * Copyright 1995-2001 The LyX Team.
*
* ====================================================== */
#pragma interface
#endif
-#include "lyxlex.h"
#include "lyxfont.h"
#include "Spacing.h"
+#include "support/types.h"
#include <boost/utility.hpp>
+class LyXLeX;
+
/// Reads the style files
extern void LyXSetStyle();
-///
-enum no_good_name_for_this {
- ///
- LYX_ENVIRONMENT_DEFAULT = 97,
+enum layout_default {
///
LYX_LAYOUT_DEFAULT = 99
};
-
// Could this cause confusion that both DUMMY_LAYOUT and LAYOUT_DEFAULT has
// the same value? (Lgb)
///
/// The different output types
enum OutputType {
- ///
- LATEX = 1,
+ ///
+ LATEX = 1,
///
LINUXDOC,
///
LITERATE
};
+
/// The different margin types
enum LYX_MARGIN_TYPE {
///
///
LYX_ALIGN_LAYOUT = 16,
///
- LYX_ALIGN_SPECIAL = 32
+ LYX_ALIGN_SPECIAL = 32
};
///
la1 = static_cast<LyXAlignment>(la1 | la2);
}
+
/// The different LaTeX-Types
enum LYX_LATEX_TYPES {
///
LATEX_LIST_ENVIRONMENT
};
+
/// The different label types
enum LYX_LABEL_TYPES {
///
///
LABEL_MANUAL,
///
- LABEL_BIBLIO,
+ LABEL_BIBLIO,
///
LABEL_TOP_ENVIRONMENT,
///
LABEL_COUNTER_ENUMIV
};
+
///
enum LYX_END_LABEL_TYPES {
///
char labeltype; // add approp. type
///
- char endlabeltype;
+ LYX_END_LABEL_TYPES endlabeltype;
///
LYX_MARGIN_TYPE margintype;
///
bool free_spacing;
+
+ ///
+ bool pass_thru;
+
/** true when the fragile commands in the paragraph need to be
\protect'ed. */
bool needprotect;
string labelstring_appendix_;
/// LaTeX parameter for environment
- string latexparam_;
+ string latexparam_;
- /// Macro definitions needed for this layout
+ /// Macro definitions needed for this layout
string preamble_;
};
///
typedef LayoutList::const_iterator const_iterator;
///
- typedef LayoutList::size_type size_type;
- ///
explicit
LyXTextClass (string const & = string(),
string const & = string(),
///
int tocdepth() const { return tocdepth_; }
- ///
- OutputType outputType() const { return outputType_; }
+ ///
+ OutputType outputType() const { return outputType_; }
///
LyXFont const & defaultfont() const { return defaultfont_; }
///
int maxcounter() const { return maxcounter_; }
///
- size_type numLayouts() const { return layoutlist.size(); }
+ lyx::layout_type numLayouts() const { return layoutlist.size(); }
///
- LyXLayout const & operator[](size_type i) const {
+ LyXLayout const & operator[](lyx::layout_type i) const {
return layoutlist[i];
}
private:
///
string description_;
/// Specific class options
- string opt_fontsize_;
+ string opt_fontsize_;
///
- string opt_pagestyle_;
+ string opt_pagestyle_;
///
string options_;
///
int secnumdepth_;
///
int tocdepth_;
- ///
- OutputType outputType_;
+ ///
+ OutputType outputType_;
/** Base font. The paragraph and layout fonts are resolved against
this font. This has to be fully instantiated. Attributes
LyXFont::INHERIT, LyXFont::IGNORE, and LyXFont::TOGGLE are
/// Text that dictates how wide the right margin is on the screen
string rightmargin_;
- ///
+ ///
int maxcounter_; // add approp. signedness
///
///
-class LyXTextClassList : public noncopyable {
+class LyXTextClassList : boost::noncopyable {
public:
///
typedef std::vector<LyXTextClass> ClassList;
///
typedef ClassList::const_iterator const_iterator;
///
- typedef ClassList::size_type size_type;
- ///
const_iterator begin() const { return classlist.begin(); }
///
const_iterator end() const { return classlist.end(); }
/// Gets layout structure from layout number and textclass number
- LyXLayout const & Style(size_type textclass,
- LyXTextClass::size_type layout) const;
+ LyXLayout const & Style(lyx::textclass_type textclass,
+ lyx::layout_type layout) const;
/// Gets layout number from textclass number and layout name
- std::pair<bool, LyXTextClass::size_type> const
- NumberOfLayout(size_type textclass,
- string const & name) const;
+ std::pair<bool, lyx::layout_type> const
+ NumberOfLayout(lyx::textclass_type textclass, string const & name) const;
/// Gets a layout name from layout number and textclass number
string const &
- NameOfLayout(size_type textclass,
- LyXTextClass::size_type layout) const;
+ NameOfLayout(lyx::textclass_type textclass, lyx::layout_type layout) const;
/** Gets textclass number from name.
Returns -1 if textclass name does not exist
*/
- std::pair<bool, size_type> const
+ std::pair<bool, lyx::textclass_type> const
NumberOfClass(string const & textclass) const;
///
- string const & NameOfClass(size_type number) const;
+ string const & NameOfClass(lyx::textclass_type number) const;
///
- string const & LatexnameOfClass(size_type number) const;
+ string const & LatexnameOfClass(lyx::textclass_type number) const;
///
- string const & DescOfClass(size_type number) const;
+ string const & DescOfClass(lyx::textclass_type number) const;
///
- LyXTextClass const & TextClass(size_type textclass) const;
+ LyXTextClass const & TextClass(lyx::textclass_type textclass) const;
/** Read textclass list.
Returns false if this fails
/** Load textclass.
Returns false if this fails
*/
- bool Load(size_type number) const;
+ bool Load(lyx::textclass_type number) const;
private:
///
mutable ClassList classlist;