lyx_mirror/src/TextClassList.h
Richard Heck 2e7d1199df Revert 23154.
Sorry, Andre, but this broke not only the modules stuff but the general handling of TextClasses. I'm not opposed to doing this sort of thing, but it's going to be a little more complicated. I'll do it when I get a bit of time, or I can explain what the issue is here if you want to do it.

I'll separately re-commit some of the cleanup here.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23189 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 14:59:23 +00:00

82 lines
1.7 KiB
C++

// -*- C++ -*-
/**
* \file TextClassList.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Lars Gullik Bjønnes
*
* Full author contact details are available in file CREDITS.
*/
#ifndef TEXTCLASSLIST_H
#define TEXTCLASSLIST_H
#include "TextClass.h"
#include "support/strfwd.h"
#include "support/types.h"
#include <vector>
namespace lyx {
class Layout;
/// Reads the style files
extern bool LyXSetStyle();
///
class TextClassList {
public:
///
TextClassList() {}
///
typedef std::vector<TextClass> ClassList;
///
typedef ClassList::const_iterator const_iterator;
///
const_iterator begin() const { return classlist_.begin(); }
///
const_iterator end() const { return classlist_.end(); }
///
bool empty() const { return classlist_.empty(); }
/// Gets textclass number from name, -1 if textclass name does not exist
std::pair<bool, textclass_type> const
numberOfClass(std::string const & textclass) const;
///
TextClass const & operator[](textclass_type textclass) const;
/// Read textclass list. Returns false if this fails.
bool read();
/// Clears the textclass so as to force it to be reloaded
void reset(textclass_type const textclass);
/// add a textclass from user local directory.
/// Return ture/false, and textclass number
std::pair<bool, textclass_type> const
addTextClass(std::string const & textclass, std::string const & path);
private:
/// noncopyable
TextClassList(TextClassList const &);
void operator=(TextClassList const &);
///
mutable ClassList classlist_;
};
///
extern TextClassList textclasslist;
///
textclass_type defaultTextclass();
} // namespace lyx
#endif