mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-10 20:04:46 +00:00
next one
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20800 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
64e0e5663b
commit
e117f67786
@ -1,145 +0,0 @@
|
|||||||
/**
|
|
||||||
* \file ControlToc.cpp
|
|
||||||
* This file is part of LyX, the document processor.
|
|
||||||
* Licence details can be found in the file COPYING.
|
|
||||||
*
|
|
||||||
* \author Angus Leeming
|
|
||||||
* \author Abdelrazak Younes
|
|
||||||
*
|
|
||||||
* Full author contact details are available in file CREDITS.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <config.h>
|
|
||||||
|
|
||||||
#include "ControlToc.h"
|
|
||||||
|
|
||||||
#include "Buffer.h"
|
|
||||||
#include "BufferView.h"
|
|
||||||
#include "BufferParams.h"
|
|
||||||
#include "debug.h"
|
|
||||||
#include "FloatList.h"
|
|
||||||
#include "FuncRequest.h"
|
|
||||||
#include "gettext.h"
|
|
||||||
|
|
||||||
#include "frontends/LyXView.h"
|
|
||||||
|
|
||||||
#include "support/convert.h"
|
|
||||||
|
|
||||||
using std::string;
|
|
||||||
|
|
||||||
|
|
||||||
namespace lyx {
|
|
||||||
namespace frontend {
|
|
||||||
|
|
||||||
ControlToc::ControlToc(Dialog & d)
|
|
||||||
: ControlCommand(d, "toc")
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
TocList const & ControlToc::tocs() const
|
|
||||||
{
|
|
||||||
return buffer().getMasterBuffer()->tocBackend().tocs();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool ControlToc::initialiseParams(string const & data)
|
|
||||||
{
|
|
||||||
if (!ControlCommand::initialiseParams(data))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
types_.clear();
|
|
||||||
type_names_.clear();
|
|
||||||
TocList const & tocs = buffer().getMasterBuffer()->
|
|
||||||
tocBackend().tocs();
|
|
||||||
TocList::const_iterator it = tocs.begin();
|
|
||||||
TocList::const_iterator end = tocs.end();
|
|
||||||
for (; it != end; ++it) {
|
|
||||||
types_.push_back(it->first);
|
|
||||||
type_names_.push_back(getGuiName(it->first));
|
|
||||||
}
|
|
||||||
|
|
||||||
string selected_type ;
|
|
||||||
if(params()["type"].empty()) //Then plain toc...
|
|
||||||
selected_type = params().getCmdName();
|
|
||||||
else
|
|
||||||
selected_type = to_ascii(params()["type"]);
|
|
||||||
selected_type_ = -1;
|
|
||||||
for (size_t i = 0; i != types_.size(); ++i) {
|
|
||||||
if (selected_type == types_[i]) {
|
|
||||||
selected_type_ = i;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void ControlToc::goTo(TocItem const & item)
|
|
||||||
{
|
|
||||||
string const tmp = convert<string>(item.id());
|
|
||||||
lyxview().dispatch(FuncRequest(LFUN_PARAGRAPH_GOTO, tmp));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool ControlToc::canOutline(size_t type) const
|
|
||||||
{
|
|
||||||
return types_[type] == "tableofcontents";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void ControlToc::outlineUp()
|
|
||||||
{
|
|
||||||
dispatch(FuncRequest(LFUN_OUTLINE_UP));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void ControlToc::outlineDown()
|
|
||||||
{
|
|
||||||
dispatch(FuncRequest(LFUN_OUTLINE_DOWN));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void ControlToc::outlineIn()
|
|
||||||
{
|
|
||||||
dispatch(FuncRequest(LFUN_OUTLINE_IN));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void ControlToc::outlineOut()
|
|
||||||
{
|
|
||||||
dispatch(FuncRequest(LFUN_OUTLINE_OUT));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void ControlToc::updateBackend()
|
|
||||||
{
|
|
||||||
buffer().getMasterBuffer()->tocBackend().update();
|
|
||||||
buffer().structureChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
TocIterator const ControlToc::getCurrentTocItem(size_t type) const
|
|
||||||
{
|
|
||||||
BOOST_ASSERT(bufferview());
|
|
||||||
ParConstIterator it(bufferview()->cursor());
|
|
||||||
Buffer const * master = buffer().getMasterBuffer();
|
|
||||||
return master->tocBackend().item(types_[type], it);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
docstring const ControlToc::getGuiName(string const & type) const
|
|
||||||
{
|
|
||||||
if (type == "tableofcontents")
|
|
||||||
return _("Table of Contents");
|
|
||||||
|
|
||||||
FloatList const & floats = buffer().params().getTextClass().floats();
|
|
||||||
if (floats.typeExist(type))
|
|
||||||
return _(floats.getType(type).listName());
|
|
||||||
else
|
|
||||||
return _(type);
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace frontend
|
|
||||||
} // namespace lyx
|
|
@ -1,78 +0,0 @@
|
|||||||
// -*- C++ -*-
|
|
||||||
/**
|
|
||||||
* \file ControlToc.h
|
|
||||||
* This file is part of LyX, the document processor.
|
|
||||||
* Licence details can be found in the file COPYING.
|
|
||||||
*
|
|
||||||
* \author Angus Leeming
|
|
||||||
* \author Abdelrazak Younes
|
|
||||||
*
|
|
||||||
* Full author contact details are available in file CREDITS.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef CONTROLTOC_H
|
|
||||||
#define CONTROLTOC_H
|
|
||||||
|
|
||||||
|
|
||||||
#include "ControlCommand.h"
|
|
||||||
#include "TocBackend.h"
|
|
||||||
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
namespace lyx {
|
|
||||||
namespace frontend {
|
|
||||||
|
|
||||||
/** A controller for TOC dialogs.
|
|
||||||
*/
|
|
||||||
class ControlToc : public ControlCommand {
|
|
||||||
public:
|
|
||||||
///
|
|
||||||
ControlToc(Dialog &);
|
|
||||||
///
|
|
||||||
virtual ~ControlToc() {}
|
|
||||||
|
|
||||||
/// \c ControlCommand inherited method.
|
|
||||||
virtual bool initialiseParams(std::string const & data);
|
|
||||||
|
|
||||||
///
|
|
||||||
TocList const & tocs() const;
|
|
||||||
|
|
||||||
/// Goto this paragraph id
|
|
||||||
void goTo(TocItem const &);
|
|
||||||
|
|
||||||
/// Return the list of types available
|
|
||||||
std::vector<docstring> const & typeNames() const
|
|
||||||
{ return type_names_; }
|
|
||||||
|
|
||||||
///
|
|
||||||
int selectedType() { return selected_type_; }
|
|
||||||
|
|
||||||
/// Return the first TocItem before the cursor
|
|
||||||
TocIterator const getCurrentTocItem(size_t type) const;
|
|
||||||
|
|
||||||
/// Apply the selected outlining operation
|
|
||||||
void outlineUp();
|
|
||||||
///
|
|
||||||
void outlineDown();
|
|
||||||
///
|
|
||||||
void outlineIn();
|
|
||||||
///
|
|
||||||
void outlineOut();
|
|
||||||
/// Test if outlining operation is possible
|
|
||||||
bool canOutline(size_t type) const;
|
|
||||||
///
|
|
||||||
void updateBackend();
|
|
||||||
|
|
||||||
private:
|
|
||||||
std::vector<std::string> types_;
|
|
||||||
std::vector<docstring> type_names_;
|
|
||||||
int selected_type_;
|
|
||||||
|
|
||||||
/// Return the guiname from a given cmdName of the TOC param
|
|
||||||
docstring const getGuiName(std::string const & type) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace frontend
|
|
||||||
} // namespace lyx
|
|
||||||
|
|
||||||
#endif // CONTROLTOC_H
|
|
@ -19,7 +19,6 @@ SOURCEFILES = \
|
|||||||
ControlPrefs.cpp \
|
ControlPrefs.cpp \
|
||||||
ControlPrint.cpp \
|
ControlPrint.cpp \
|
||||||
ControlSearch.cpp \
|
ControlSearch.cpp \
|
||||||
ControlToc.cpp \
|
|
||||||
frontend_helpers.cpp
|
frontend_helpers.cpp
|
||||||
|
|
||||||
HEADERFILES = \
|
HEADERFILES = \
|
||||||
@ -34,7 +33,6 @@ HEADERFILES = \
|
|||||||
ControlPrefs.h \
|
ControlPrefs.h \
|
||||||
ControlPrint.h \
|
ControlPrint.h \
|
||||||
ControlSearch.h \
|
ControlSearch.h \
|
||||||
ControlToc.h \
|
|
||||||
frontend_helpers.h
|
frontend_helpers.h
|
||||||
|
|
||||||
if MONOLITHIC_CONTROLLERS
|
if MONOLITHIC_CONTROLLERS
|
||||||
|
@ -29,7 +29,6 @@
|
|||||||
#include "GuiPrint.h"
|
#include "GuiPrint.h"
|
||||||
#include "GuiSearch.h"
|
#include "GuiSearch.h"
|
||||||
#include "GuiShowFile.h"
|
#include "GuiShowFile.h"
|
||||||
#include "GuiToc.h"
|
|
||||||
#include "GuiView.h"
|
#include "GuiView.h"
|
||||||
#include "TocWidget.h"
|
#include "TocWidget.h"
|
||||||
#include "GuiURL.h"
|
#include "GuiURL.h"
|
||||||
@ -116,6 +115,7 @@ Dialog * createGuiSpellchecker(LyXView & lv);
|
|||||||
Dialog * createGuiTabularCreate(LyXView & lv);
|
Dialog * createGuiTabularCreate(LyXView & lv);
|
||||||
Dialog * createGuiTabular(LyXView & lv);
|
Dialog * createGuiTabular(LyXView & lv);
|
||||||
Dialog * createGuiTexInfo(LyXView & lv);
|
Dialog * createGuiTexInfo(LyXView & lv);
|
||||||
|
Dialog * createGuiToc(LyXView & lv);
|
||||||
Dialog * createGuiThesaurus(LyXView & lv);
|
Dialog * createGuiThesaurus(LyXView & lv);
|
||||||
Dialog * createGuiURL(LyXView & lv);
|
Dialog * createGuiURL(LyXView & lv);
|
||||||
Dialog * createGuiVSpace(LyXView & lv);
|
Dialog * createGuiVSpace(LyXView & lv);
|
||||||
@ -216,15 +216,8 @@ Dialog * Dialogs::build(string const & name)
|
|||||||
if (name == "thesaurus")
|
if (name == "thesaurus")
|
||||||
return createGuiThesaurus(lyxview_);
|
return createGuiThesaurus(lyxview_);
|
||||||
#endif
|
#endif
|
||||||
if (name == "toc") {
|
if (name == "toc")
|
||||||
#ifdef Q_WS_MACX
|
return createGuiToc(lyxview_);
|
||||||
// On Mac show as a drawer at the right
|
|
||||||
return new DockView<GuiToc, TocWidget>(guiview, name,
|
|
||||||
Qt::RightDockWidgetArea, Qt::Drawer);
|
|
||||||
#else
|
|
||||||
return new DockView<GuiToc, TocWidget>(guiview, name);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
if (name == "url")
|
if (name == "url")
|
||||||
return new GuiURLDialog(lyxview_);
|
return new GuiURLDialog(lyxview_);
|
||||||
if (name == "vspace")
|
if (name == "vspace")
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
*
|
*
|
||||||
* \author John Levon
|
* \author John Levon
|
||||||
* \author Abdelrazak Younes
|
* \author Abdelrazak Younes
|
||||||
|
* \author Angus Leeming
|
||||||
*
|
*
|
||||||
* Full author contact details are available in file CREDITS.
|
* Full author contact details are available in file CREDITS.
|
||||||
*/
|
*/
|
||||||
@ -12,34 +13,40 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#include "GuiToc.h"
|
#include "GuiToc.h"
|
||||||
|
#include "GuiView.h"
|
||||||
|
#include "DockView.h"
|
||||||
|
#include "TocWidget.h"
|
||||||
|
|
||||||
#include "TocModel.h"
|
#include "TocModel.h"
|
||||||
#include "qt_helpers.h"
|
#include "qt_helpers.h"
|
||||||
|
|
||||||
|
#include "Buffer.h"
|
||||||
|
#include "BufferView.h"
|
||||||
|
#include "BufferParams.h"
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
|
#include "FloatList.h"
|
||||||
|
#include "FuncRequest.h"
|
||||||
|
#include "gettext.h"
|
||||||
|
|
||||||
|
#include "frontends/LyXView.h"
|
||||||
|
|
||||||
|
#include "support/convert.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
using std::endl;
|
using std::endl;
|
||||||
|
using std::string;
|
||||||
|
|
||||||
|
|
||||||
namespace lyx {
|
namespace lyx {
|
||||||
namespace frontend {
|
namespace frontend {
|
||||||
|
|
||||||
|
|
||||||
GuiToc::GuiToc(Dialog & dialog)
|
GuiToc::GuiToc(Dialog & dialog)
|
||||||
: ControlToc(dialog)
|
: ControlCommand(dialog, "toc")
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool GuiToc::canOutline(int type) const
|
|
||||||
{
|
|
||||||
if (type < 0)
|
|
||||||
return false;
|
|
||||||
return ControlToc::canOutline(type);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int GuiToc::getTocDepth(int type)
|
int GuiToc::getTocDepth(int type)
|
||||||
{
|
{
|
||||||
if (type < 0)
|
if (type < 0)
|
||||||
@ -68,7 +75,7 @@ QStandardItemModel * GuiToc::tocModel(int type)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QModelIndex const GuiToc::getCurrentIndex(int type) const
|
QModelIndex GuiToc::currentIndex(int type) const
|
||||||
{
|
{
|
||||||
if (type < 0)
|
if (type < 0)
|
||||||
return QModelIndex();
|
return QModelIndex();
|
||||||
@ -79,7 +86,7 @@ QModelIndex const GuiToc::getCurrentIndex(int type) const
|
|||||||
if(!canOutline(type))
|
if(!canOutline(type))
|
||||||
return QModelIndex();
|
return QModelIndex();
|
||||||
|
|
||||||
return toc_models_[type]->modelIndex(getCurrentTocItem(type));
|
return toc_models_[type]->modelIndex(currentTocItem(type));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -99,17 +106,8 @@ void GuiToc::goTo(int type, QModelIndex const & index)
|
|||||||
|
|
||||||
LYXERR(Debug::GUI) << "GuiToc::goTo " << to_utf8(it->str()) << endl;
|
LYXERR(Debug::GUI) << "GuiToc::goTo " << to_utf8(it->str()) << endl;
|
||||||
|
|
||||||
ControlToc::goTo(*it);
|
string const tmp = convert<string>(it->id());
|
||||||
}
|
lyxview().dispatch(FuncRequest(LFUN_PARAGRAPH_GOTO, tmp));
|
||||||
|
|
||||||
|
|
||||||
bool GuiToc::initialiseParams(std::string const & data)
|
|
||||||
{
|
|
||||||
if (!ControlToc::initialiseParams(data))
|
|
||||||
return false;
|
|
||||||
updateView();
|
|
||||||
modelReset();
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -123,6 +121,120 @@ void GuiToc::updateView()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
TocList const & GuiToc::tocs() const
|
||||||
|
{
|
||||||
|
return buffer().getMasterBuffer()->tocBackend().tocs();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool GuiToc::initialiseParams(string const & data)
|
||||||
|
{
|
||||||
|
if (!ControlCommand::initialiseParams(data))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
updateView();
|
||||||
|
modelReset();
|
||||||
|
|
||||||
|
types_.clear();
|
||||||
|
type_names_.clear();
|
||||||
|
TocList const & tocs = buffer().getMasterBuffer()->
|
||||||
|
tocBackend().tocs();
|
||||||
|
TocList::const_iterator it = tocs.begin();
|
||||||
|
TocList::const_iterator end = tocs.end();
|
||||||
|
for (; it != end; ++it) {
|
||||||
|
types_.push_back(it->first);
|
||||||
|
type_names_.push_back(guiName(it->first));
|
||||||
|
}
|
||||||
|
|
||||||
|
string selected_type ;
|
||||||
|
if(params()["type"].empty()) //Then plain toc...
|
||||||
|
selected_type = params().getCmdName();
|
||||||
|
else
|
||||||
|
selected_type = to_ascii(params()["type"]);
|
||||||
|
selected_type_ = -1;
|
||||||
|
for (size_t i = 0; i != types_.size(); ++i) {
|
||||||
|
if (selected_type == types_[i]) {
|
||||||
|
selected_type_ = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool GuiToc::canOutline(int type) const
|
||||||
|
{
|
||||||
|
return types_[type] == "tableofcontents";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GuiToc::outlineUp()
|
||||||
|
{
|
||||||
|
dispatch(FuncRequest(LFUN_OUTLINE_UP));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GuiToc::outlineDown()
|
||||||
|
{
|
||||||
|
dispatch(FuncRequest(LFUN_OUTLINE_DOWN));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GuiToc::outlineIn()
|
||||||
|
{
|
||||||
|
dispatch(FuncRequest(LFUN_OUTLINE_IN));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GuiToc::outlineOut()
|
||||||
|
{
|
||||||
|
dispatch(FuncRequest(LFUN_OUTLINE_OUT));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GuiToc::updateBackend()
|
||||||
|
{
|
||||||
|
buffer().getMasterBuffer()->tocBackend().update();
|
||||||
|
buffer().structureChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
TocIterator GuiToc::currentTocItem(int type) const
|
||||||
|
{
|
||||||
|
BOOST_ASSERT(bufferview());
|
||||||
|
ParConstIterator it(bufferview()->cursor());
|
||||||
|
Buffer const * master = buffer().getMasterBuffer();
|
||||||
|
return master->tocBackend().item(types_[type], it);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
docstring GuiToc::guiName(string const & type) const
|
||||||
|
{
|
||||||
|
if (type == "tableofcontents")
|
||||||
|
return _("Table of Contents");
|
||||||
|
|
||||||
|
FloatList const & floats = buffer().params().getTextClass().floats();
|
||||||
|
if (floats.typeExist(type))
|
||||||
|
return _(floats.getType(type).listName());
|
||||||
|
|
||||||
|
return _(type);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Dialog * createGuiToc(LyXView & lv)
|
||||||
|
{
|
||||||
|
GuiViewBase & guiview = static_cast<GuiViewBase &>(lv);
|
||||||
|
#ifdef Q_WS_MACX
|
||||||
|
// On Mac show as a drawer at the right
|
||||||
|
return new DockView<GuiToc, TocWidget>(guiview, "toc",
|
||||||
|
Qt::RightDockWidgetArea, Qt::Drawer);
|
||||||
|
#else
|
||||||
|
return new DockView<GuiToc, TocWidget>(guiview, "toc");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
} // namespace frontend
|
} // namespace frontend
|
||||||
} // namespace lyx
|
} // namespace lyx
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
*
|
*
|
||||||
* \author John Levon
|
* \author John Levon
|
||||||
* \author Kalle Dalheimer
|
* \author Kalle Dalheimer
|
||||||
|
* \author Angus Leeming
|
||||||
* \author Abdelrazak Younes
|
* \author Abdelrazak Younes
|
||||||
*
|
*
|
||||||
* Full author contact details are available in file CREDITS.
|
* Full author contact details are available in file CREDITS.
|
||||||
@ -14,18 +15,21 @@
|
|||||||
#ifndef GUITOC_H
|
#ifndef GUITOC_H
|
||||||
#define GUITOC_H
|
#define GUITOC_H
|
||||||
|
|
||||||
#include "ControlToc.h"
|
#include "ControlCommand.h"
|
||||||
|
#include "TocBackend.h"
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QStandardItemModel>
|
#include <QStandardItemModel>
|
||||||
#include <QStringListModel>
|
#include <QStringListModel>
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
namespace lyx {
|
namespace lyx {
|
||||||
namespace frontend {
|
namespace frontend {
|
||||||
|
|
||||||
class TocModel;
|
class TocModel;
|
||||||
|
|
||||||
class GuiToc : public QObject, public ControlToc
|
class GuiToc : public QObject, public ControlCommand
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
@ -33,16 +37,16 @@ public:
|
|||||||
///
|
///
|
||||||
GuiToc(Dialog &);
|
GuiToc(Dialog &);
|
||||||
|
|
||||||
/// \c ControlToc inherited method.
|
///
|
||||||
virtual bool initialiseParams(std::string const & data);
|
bool initialiseParams(std::string const & data);
|
||||||
///
|
///
|
||||||
void updateView();
|
void updateView();
|
||||||
///
|
/// Test if outlining operation is possible
|
||||||
bool canOutline(int type) const;
|
bool canOutline(int type) const;
|
||||||
|
|
||||||
QStandardItemModel * tocModel(int type);
|
QStandardItemModel * tocModel(int type);
|
||||||
///
|
///
|
||||||
QModelIndex const getCurrentIndex(int type) const;
|
QModelIndex currentIndex(int type) const;
|
||||||
///
|
///
|
||||||
void goTo(int type, QModelIndex const & index);
|
void goTo(int type, QModelIndex const & index);
|
||||||
///
|
///
|
||||||
@ -55,8 +59,41 @@ Q_SIGNALS:
|
|||||||
void modelReset();
|
void modelReset();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
friend class TocWidget;
|
||||||
///
|
///
|
||||||
std::vector<TocModel *> toc_models_;
|
std::vector<TocModel *> toc_models_;
|
||||||
|
|
||||||
|
///
|
||||||
|
TocList const & tocs() const;
|
||||||
|
|
||||||
|
/// Return the list of types available
|
||||||
|
std::vector<docstring> const & typeNames() const
|
||||||
|
{ return type_names_; }
|
||||||
|
|
||||||
|
///
|
||||||
|
int selectedType() { return selected_type_; }
|
||||||
|
|
||||||
|
/// Return the first TocItem before the cursor
|
||||||
|
TocIterator currentTocItem(int type) const;
|
||||||
|
|
||||||
|
/// Apply the selected outlining operation
|
||||||
|
void outlineUp();
|
||||||
|
///
|
||||||
|
void outlineDown();
|
||||||
|
///
|
||||||
|
void outlineIn();
|
||||||
|
///
|
||||||
|
void outlineOut();
|
||||||
|
///
|
||||||
|
void updateBackend();
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::vector<std::string> types_;
|
||||||
|
std::vector<docstring> type_names_;
|
||||||
|
int selected_type_;
|
||||||
|
|
||||||
|
/// Return the guiname from a given cmdName of the TOC param
|
||||||
|
docstring guiName(std::string const & type) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace frontend
|
} // namespace frontend
|
||||||
|
@ -232,7 +232,7 @@ void TocWidget::enableControls(bool enable)
|
|||||||
void TocWidget::updateView()
|
void TocWidget::updateView()
|
||||||
{
|
{
|
||||||
LYXERR(Debug::GUI) << "In TocWidget::updateView()" << endl;
|
LYXERR(Debug::GUI) << "In TocWidget::updateView()" << endl;
|
||||||
select(form_.getCurrentIndex(typeCO->currentIndex()));
|
select(form_.currentIndex(typeCO->currentIndex()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -289,7 +289,7 @@ void TocWidget::setTocModel(size_t type)
|
|||||||
|
|
||||||
LYXERR(Debug::GUI) << "In TocWidget::updateGui()" << endl;
|
LYXERR(Debug::GUI) << "In TocWidget::updateGui()" << endl;
|
||||||
|
|
||||||
select(form_.getCurrentIndex(typeCO->currentIndex()));
|
select(form_.currentIndex(typeCO->currentIndex()));
|
||||||
|
|
||||||
if (toc_model) {
|
if (toc_model) {
|
||||||
LYXERR(Debug::GUI)
|
LYXERR(Debug::GUI)
|
||||||
|
Loading…
Reference in New Issue
Block a user