X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiParagraph.h;h=408765bbe433c0472641b62ecd9ba28ad63e1f4a;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=746f7cc276f883aecbcb285da436439cdd5cd498;hpb=fc36725282df43059aee9a821f098309ccdbd523;p=lyx.git diff --git a/src/frontends/qt4/GuiParagraph.h b/src/frontends/qt4/GuiParagraph.h index 746f7cc276..408765bbe4 100644 --- a/src/frontends/qt4/GuiParagraph.h +++ b/src/frontends/qt4/GuiParagraph.h @@ -6,6 +6,7 @@ * * \author Edwin Leuven * \author John Levon + * \author Abdelrazak Younes * * Full author contact details are available in file CREDITS. */ @@ -13,66 +14,88 @@ #ifndef GUIPARAGRAPH_H #define GUIPARAGRAPH_H -#include "GuiDialogView.h" -#include "ControlParagraph.h" -#include "Layout.h" +#include "DialogView.h" +#include "GuiView.h" +#include "qt_helpers.h" #include "ui_ParagraphUi.h" +#include "Layout.h" +#include "ParagraphParameters.h" + #include +#include +#include #include namespace lyx { namespace frontend { -class GuiParagraph; - -class GuiParagraphDialog : public QDialog, public Ui::ParagraphUi { +class GuiParagraph + : public DialogView, public Ui::ParagraphUi +{ Q_OBJECT public: - GuiParagraphDialog(GuiParagraph * form); + GuiParagraph(GuiView & lv); + + /// Dialog inherited methods + //@{ + void applyView(); + void updateView(); + void dispatchParams(); + void enableView(bool enable); + bool isBufferDependent() const { return true; } + virtual FuncCode getLfun() const { return LFUN_PARAGRAPH_PARAMS_APPLY; } + void saveSession() const; + void restoreSession(); + //@} + +private: /// void checkAlignmentRadioButtons(); /// void alignmentToRadioButtons(LyXAlignment align = LYX_ALIGN_LAYOUT); /// - LyXAlignment getAlignmentFromDialog(); -protected: - void closeEvent (QCloseEvent * e); -private: - GuiParagraph * form_; - typedef std::map QPRadioMap; - QPRadioMap radioMap; - typedef std::map QPAlignmentLabels; - QPAlignmentLabels labelMap; - -protected Q_SLOTS: + LyXAlignment getAlignmentFromDialog() const; /// - void change_adaptor(); + ParagraphParameters const & params() const; /// - void enableLinespacingValue(int); -}; - + bool haveMultiParSelection() const; + /// + bool canIndent() const; + /// + bool hasLabelwidth() const; + /// + LyXAlignment alignPossible() const; + /// + LyXAlignment alignDefault() const; -class GuiParagraph : public GuiView -{ -public: - friend class GuiParagraphDialog; +private Q_SLOTS: + /// + void changed(); + /// + void on_synchronizedViewCB_toggled(); + /// + void on_restorePB_clicked(); + /// + void on_linespacing_activated(int); + /// Apply changes + void on_applyPB_clicked(); + /// Apply changes and close + void on_okPB_clicked(); + /// Close/Cancel dialog + void on_closePB_clicked(); - GuiParagraph(Dialog &); - /// parent controller - ControlParagraph & controller() - { return static_cast(this->getController()); } - /// parent controller - ControlParagraph const & controller() const - { return static_cast(this->getController()); } private: - /// Apply changes - virtual void apply(); - /// update - virtual void update_contents(); - /// build the dialog - virtual void build_dialog(); + /// + typedef std::map RadioMap; + /// + RadioMap radioMap_; + + /// + QString alignDefaultLabel_; + /// + ParagraphParameters params_; }; } // namespace frontend