]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiParagraph.h
* fix spelling in comments to please John.
[lyx.git] / src / frontends / qt4 / GuiParagraph.h
index 1bc66578142dccdbdf16087ce136d1b296147280..408765bbe433c0472641b62ecd9ba28ad63e1f4a 100644 (file)
@@ -6,6 +6,7 @@
  *
  * \author Edwin Leuven
  * \author John Levon
+ * \author Abdelrazak Younes
  *
  * Full author contact details are available in file CREDITS.
  */
 #ifndef GUIPARAGRAPH_H
 #define GUIPARAGRAPH_H
 
-#include "ControlParagraph.h"
-#include "Layout.h"
+#include "DialogView.h"
+#include "GuiView.h"
+#include "qt_helpers.h"
 #include "ui_ParagraphUi.h"
 
-#include <QWidget>
+#include "Layout.h"
+#include "ParagraphParameters.h"
+
+#include <QDialog>
+#include <QShowEvent>
+#include <QGridLayout>
 
 #include <map>
 
 namespace lyx {
 namespace frontend {
 
-class GuiParagraph : public QWidget, public Ui::ParagraphUi
+class GuiParagraph
+       : public DialogView, public Ui::ParagraphUi
 {
        Q_OBJECT
 public:
-       GuiParagraph(ControlParagraph & controller);
+       GuiParagraph(GuiView & lv);
 
-       /// update
+       /// 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:
        ///
@@ -39,14 +56,20 @@ private:
        ///
        void alignmentToRadioButtons(LyXAlignment align = LYX_ALIGN_LAYOUT);
        ///
-       LyXAlignment getAlignmentFromDialog();
+       LyXAlignment getAlignmentFromDialog() const;
        ///
-       typedef std::map<LyXAlignment, QRadioButton *> RadioMap;
-       RadioMap radioMap;
-
-       ControlParagraph & controller_;
+       ParagraphParameters const & params() const;
+       ///
+       bool haveMultiParSelection() const;
+       ///
+       bool canIndent() const;
+       ///
+       bool hasLabelwidth() const;
+       ///
+       LyXAlignment alignPossible() const;
+       ///
+       LyXAlignment alignDefault() const;
 
-       QString const alignDefaultLabel;
 private Q_SLOTS:
        ///
        void changed();
@@ -58,6 +81,21 @@ private Q_SLOTS:
        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();
+
+private:
+       ///
+       typedef std::map<LyXAlignment, QRadioButton *> RadioMap;
+       ///
+       RadioMap radioMap_;
+
+       ///
+       QString alignDefaultLabel_;
+       ///
+       ParagraphParameters params_;
 };
 
 } // namespace frontend