X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiTabular.h;h=1d90afa60445f1f3938034432c2350a27b0fe297;hb=72f91cb394e180419cd3ab85f710b8ad538208f9;hp=d9bcc9abe25d429ce51be56e4a4e14135f6f875c;hpb=fc36725282df43059aee9a821f098309ccdbd523;p=lyx.git diff --git a/src/frontends/qt4/GuiTabular.h b/src/frontends/qt4/GuiTabular.h index d9bcc9abe2..1d90afa604 100644 --- a/src/frontends/qt4/GuiTabular.h +++ b/src/frontends/qt4/GuiTabular.h @@ -6,8 +6,8 @@ * * \author John Levon * \author Kalle Dalheimer - * \author Jürgen Spitzmüller - * \author Herbert Voß + * \author Jürgen Spitzmüller + * \author Herbert Voß * * Full author contact details are available in file CREDITS. */ @@ -15,96 +15,51 @@ #ifndef GUITABULAR_H #define GUITABULAR_H -#include "GuiDialogView.h" -#include "ControlTabular.h" +#include "InsetParamsWidget.h" #include "ui_TabularUi.h" - -#include +#include "insets/InsetTabular.h" namespace lyx { namespace frontend { -class GuiTabular; - -class GuiTabularDialog : public QDialog, public Ui::TabularUi +class GuiTabular : public InsetParamsWidget, public Ui::TabularUi { Q_OBJECT -public: - GuiTabularDialog(GuiTabular * form); - -protected Q_SLOTS: - virtual void change_adaptor(); - - virtual void topspace_changed(); - virtual void bottomspace_changed(); - virtual void interlinespace_changed(); - virtual void booktabsChanged(bool); - virtual void close_clicked(); - virtual void borderSet_clicked(); - virtual void borderUnset_clicked(); - virtual void leftBorder_changed(); - virtual void rightBorder_changed(); - virtual void topBorder_changed(); - virtual void bottomBorder_changed(); - virtual void multicolumn_clicked(); - virtual void rotateTabular(); - virtual void rotateCell(); - virtual void hAlign_changed(int align); - virtual void vAlign_changed(int align); - virtual void specialAlignment_changed(); - virtual void width_changed(); - virtual void longTabular(); - virtual void ltNewpage_clicked(); - virtual void ltHeaderStatus_clicked(); - virtual void ltHeaderBorderAbove_clicked(); - virtual void ltHeaderBorderBelow_clicked(); - virtual void ltFirstHeaderStatus_clicked(); - virtual void ltFirstHeaderBorderAbove_clicked(); - virtual void ltFirstHeaderBorderBelow_clicked(); - virtual void ltFirstHeaderEmpty_clicked(); - virtual void ltFooterStatus_clicked(); - virtual void ltFooterBorderAbove_clicked(); - virtual void ltFooterBorderBelow_clicked(); - virtual void ltLastFooterStatus_clicked(); - virtual void ltLastFooterBorderAbove_clicked(); - virtual void ltLastFooterBorderBelow_clicked(); - virtual void ltLastFooterEmpty_clicked(); - -protected: - virtual void closeEvent(QCloseEvent * e); -private: - GuiTabular * form_; -}; - - -class GuiTabular : public GuiView -{ public: - friend class GuiTabularDialog; - - GuiTabular(Dialog &); + GuiTabular(QWidget * parent = 0); - /// parent controller - ControlTabular & controller() - { return static_cast(this->getController()); } - /// parent controller - ControlTabular const & controller() const - { return static_cast(this->getController()); } -protected: - virtual bool isValid(); +private Q_SLOTS: + void checkEnabled(); + void borderSet_clicked(); + void borderUnset_clicked(); + void on_topspaceCO_activated(int index); + void on_bottomspaceCO_activated(int index); + void on_interlinespaceCO_activated(int index); private: - /// We can't use this ... - virtual void apply() {} - /// update borders - virtual void update_borders(); - /// update - virtual void update_contents(); - /// build the dialog - virtual void build_dialog(); - /// save some values before closing the gui - virtual void closeGUI(); + /// \name InsetParamsWidget inherited methods + //@{ + InsetCode insetCode() const { return TABULAR_CODE; } + FuncCode creationCode() const { return LFUN_TABULAR_INSERT; } + void paramsToDialog(Inset const *); + docstring dialogToParams() const; + //@} + + /// + void setHAlign(std::string & param_str) const; + /// + void setVAlign(std::string & param_str) const; + /// + void setTableAlignment(std::string & param_str) const; + /// + void setWidthAndAlignment(); + /// + bool funcEnabled(Tabular::Feature f) const; + /// + bool firstheader_suppressable_; + /// + bool lastfooter_suppressable_; }; } // namespace frontend