lyx_mirror/src/frontends/controllers/ControlToc.C
Angus Leeming 2a31934f38 Wrap most of the frontend code up inside namespace lyx::frontend.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8766 a592a061-630c-0410-9148-cb99ea01b6c8
2004-05-19 15:11:37 +00:00

61 lines
1.0 KiB
C

/**
* \file ControlToc.C
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Angus Leeming
*
* Full author contact details are available in file CREDITS.
*/
#include <config.h>
#include "ControlToc.h"
using std::vector;
using std::string;
class Buffer;
namespace lyx {
namespace frontend {
ControlToc::ControlToc(Dialog & d)
: ControlCommand(d, "toc")
{}
void ControlToc::goTo(toc::TocItem const & item)
{
item.goTo(kernel().lyxview());
}
vector<string> const ControlToc::getTypes() const
{
return toc::getTypes(kernel().buffer());
}
toc::Toc const ControlToc::getContents(string const & type) const
{
toc::Toc empty_list;
// This shouldn't be possible...
if (!kernel().isBufferAvailable()) {
return empty_list;
}
toc::TocList tmp = toc::getTocList(kernel().buffer());
toc::TocList::iterator it = tmp.find(type);
if (it == tmp.end()) {
return empty_list;
}
return it->second;
}
} // namespace frontend
} // namespace lyx