* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Jürgen Spitzmüller
- * \ author Martin Vermeer
+ * \author Jürgen Spitzmüller
+ * \author Martin Vermeer (with useful hints from Angus Leeming)
*
* Full author contact details are available in file CREDITS.
*/
-#ifndef QBOX_H
-#define QBOX_H
-
-#include "GuiDialogView.h"
+#ifndef GUIBOX_H
+#define GUIBOX_H
+#include "InsetParamsWidget.h"
#include "ui_BoxUi.h"
-
-#include <QCloseEvent>
-#include <QDialog>
-
-#include <vector>
-
+#include "Font.h"
namespace lyx {
namespace frontend {
-class ControlBox;
-class GuiBox;
-
-class GuiBoxDialog : public QDialog, public Ui::BoxUi {
+class GuiBox : public InsetParamsWidget, public Ui::BoxUi
+{
Q_OBJECT
+
public:
- GuiBoxDialog(GuiBox * form);
-protected Q_SLOTS:
- virtual void change_adaptor();
- virtual void innerBoxChanged(const QString &);
- virtual void typeChanged(int);
- virtual void restoreClicked();
-protected:
- virtual void closeEvent(QCloseEvent * e);
-private:
- GuiBox * form_;
-};
+ GuiBox(QWidget * parent = 0);
+private Q_SLOTS:
+ void on_innerBoxCO_activated(int);
+ void on_typeCO_activated(int);
+ void on_frameColorCO_currentIndexChanged(int);
+ void initDialog();
+ void on_widthCB_stateChanged(int state);
+ void on_heightCB_stateChanged(int state);
+ void on_pagebreakCB_stateChanged();
-///
-class GuiBox
- : public QController<ControlBox, GuiView<GuiBoxDialog> >
-{
-public:
- ///
- friend class GuiBoxDialog;
- ///
- GuiBox(Dialog &);
+private:
+ /// \name DialogView inherited methods
+ //@{
+ InsetCode insetCode() const { return BOX_CODE; }
+ FuncCode creationCode() const { return LFUN_BOX_INSERT; }
+ void paramsToDialog(Inset const *);
+ docstring dialogToParams() const;
+ bool checkWidgets(bool readonly) const;
+ //@}
+
+ /// Fill the color combos
+ void fillComboColor(QComboBox * combo, bool const is_none);
/// add and remove special lengths
void setSpecial(bool ibox);
/// only show valid inner box items
- void setInnerType(bool frameless, int i);
-private:
- /// Apply changes
- virtual void apply();
- /// update
- virtual void update_contents();
- /// build the dialog
- virtual void build_dialog();
+ void setInnerType(bool frameless, QString const & type);
+
+ QStringList ids_;
///
- std::vector<std::string> ids_;
+ QStringList gui_names_;
///
- std::vector<docstring> gui_names_;
+ QStringList ids_spec_;
///
- std::vector<std::string> ids_spec_;
+ QStringList gui_names_spec_;
///
- std::vector<docstring> gui_names_spec_;
+ QList<ColorCode> color_codes_;
};
} // namespace frontend
} // namespace lyx
-#endif // QBOX_H
+#endif // GUIBOX_H