lyx_mirror/src/frontends/qt4/TocWidget.h
Abdelrazak Younes 61dde5d797 Cleanup of the Toc model and controller: The objective is to let the View (TocWidget) decide which kind of list it want to show. The type given by InsetCommandParam() (as read by the controller (ControlToc) then just becomes a hint to the View. Most of the commit is about getting rid of the controller maintained list of types.
* TocBackend
  - addType(), types_, types(): deleted.

* ControlToc
  - tocs(): new
  - selectedType(): access to selected_type_
  - initialiseParams(): transfer code from QToc::update() and look for selected type.
  - getTypes(), getContents(): deleted

* QToc: do not maintain current type. Get the info from the View.
  - setTocModel(): deleted

* TocWidget: always pass the currently selected type to the model/controller.
  - setTocModel(): new slot.
  - updateGui(): transfer code to setTocModel().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17455 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-16 14:14:55 +00:00

74 lines
1.4 KiB
C++

// -*- C++ -*-
/**
* \file TocWidget.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author John Levon
* \author Abdelrazak Younes
*
* Full author contact details are available in file CREDITS.
*/
#ifndef TOC_WIDGET_H
#define TOC_WIDGET_H
#include "ui/QTocUi.h"
#include <QWidget>
namespace lyx {
namespace frontend {
class QToc;
class TocWidget : public QWidget, public Ui::QTocUi {
Q_OBJECT
public:
TocWidget(QToc * form, QWidget * parent = 0);
/// Update the display of the dialog whilst it is still visible.
void update();
protected Q_SLOTS:
/// Update Gui of the display.
void updateGui();
///
void setTocModel(size_t type);
///
void select(QModelIndex const & index);
///
void selectionChanged(const QModelIndex & current,
const QModelIndex & previous);
void on_updatePB_clicked();
void on_depthSL_valueChanged(int depth);
void on_typeCO_activated(int value);
void on_moveUpPB_clicked();
void on_moveDownPB_clicked();
void on_moveInPB_clicked();
void on_moveOutPB_clicked();
protected:
///
void enableButtons(bool enable = true);
///
int getIndexDepth(QModelIndex const & index, int depth = -1);
///
void setTreeDepth(int depth);
private:
/// Reconnects the selection model change signal when TOC changed.
void reconnectSelectionModel();
QToc * form_;
/// depth of list shown
int depth_;
};
} // namespace frontend
} // namespace lyx
#endif // TOC_WIDGET_H