1 // -*- C++ -*-
2 /**
3  * \file GuiBox.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author Jürgen Spitzmüller
8  * \author Martin Vermeer (with useful hints from Angus Leeming)
9  *
10  * Full author contact details are available in file CREDITS.
11  */
12 
13 #ifndef GUIBOX_H
14 #define GUIBOX_H
15 
16 #include "InsetParamsWidget.h"
17 #include "ui_BoxUi.h"
18 #include "Font.h"
19 
20 namespace lyx {
21 namespace frontend {
22 
23 class GuiBox : public InsetParamsWidget, public Ui::BoxUi
24 {
25 	Q_OBJECT
26 
27 public:
28 	GuiBox(QWidget * parent = 0);
29 
30 private Q_SLOTS:
31 	void on_innerBoxCO_activated(int);
32 	void on_typeCO_activated(int);
33 	void on_frameColorCO_currentIndexChanged(int);
34 	void initDialog();
35 	void on_widthCB_stateChanged(int state);
36 	void on_heightCB_stateChanged(int state);
37 	void on_pagebreakCB_stateChanged();
38 
39 private:
40 	/// \name DialogView inherited methods
41 	//@{
insetCode()42 	InsetCode insetCode() const { return BOX_CODE; }
creationCode()43 	FuncCode creationCode() const { return LFUN_BOX_INSERT; }
dialogTitle()44 	QString dialogTitle() const { return qt_("Box Settings"); }
45 	void paramsToDialog(Inset const *);
46 	docstring dialogToParams() const;
47 	bool checkWidgets(bool readonly) const;
48 	//@}
49 
50 	/// Fill the color combos
51 	void fillComboColor(QComboBox * combo, bool const is_none);
52 	/// add and remove special lengths
53 	void setSpecial(bool ibox);
54 	/// only show valid inner box items
55 	void setInnerType(bool frameless, QString const & type);
56 
57 	QStringList ids_;
58 	///
59 	QStringList gui_names_;
60 	///
61 	QStringList ids_spec_;
62 	///
63 	QStringList gui_names_spec_;
64 	///
65 	QList<ColorCode> color_codes_;
66 };
67 
68 } // namespace frontend
69 } // namespace lyx
70 
71 #endif // GUIBOX_H
72