lyx_mirror/src/lyxtextclasslist.h
Bo Peng 2b82051a81 First patch for auto-cls-layout feature, from Bo Peng (ben.bob@gmail.com)
layout file in the same directory as .lyx file will be used. .cls can also
	be in this directory.
	* src/buffer.C, bufferparams.C: move filepath to bufferparams so this
		info will be available in getToken() 
	* src/lyxtextclasslist.h, .C: add addTextClass() that read a .layout file
		from filepath.
	* src/lyxtextclass.h, .C: pass filepath to LyXTextClass::load(). .layout
		file in filepath will be loaded before system ones.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13611 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-09 04:35:24 +00:00

65 lines
1.4 KiB
C++

// -*- C++ -*-
/**
* \file lyxtextclasslist.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 LYXTEXTCLASSLIST_H
#define LYXTEXTCLASSLIST_H
#include "lyxtextclass.h"
#include "support/types.h"
#include <boost/utility.hpp>
#include <string>
#include <vector>
class LyXLayout;
/// Reads the style files
extern void LyXSetStyle();
///
class LyXTextClassList : boost::noncopyable {
public:
///
typedef std::vector<LyXTextClass> ClassList;
///
typedef ClassList::const_iterator const_iterator;
///
const_iterator begin() const { return classlist_.begin(); }
///
const_iterator end() const { return classlist_.end(); }
/// Gets textclass number from name, -1 if textclass name does not exist
std::pair<bool, lyx::textclass_type> const
numberOfClass(std::string const & textclass) const;
///
LyXTextClass const & operator[](lyx::textclass_type textclass) const;
/// Read textclass list. Returns false if this fails.
bool read();
/// add a textclass from user local directory.
/// Return ture/false, and textclass number
std::pair<bool, lyx::textclass_type> const
addTextClass(std::string const & textclass, std::string const & path);
private:
///
mutable ClassList classlist_;
};
///
extern LyXTextClassList textclasslist;
#endif