]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiParagraph.h
do what the FIXME suggested
[lyx.git] / src / frontends / qt4 / GuiParagraph.h
index 1bc66578142dccdbdf16087ce136d1b296147280..ee9a06bf9976b29ae22822c3f26253d753384515 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 "support/debug.h"
+
+#include <QDialog>
+#include <QSettings>
+#include <QShowEvent>
+#include <QGridLayout>
 
 #include <map>
+#include <string>
 
 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 updateView();
+       void dispatchParams();
+       void enableView(bool enable);
+       bool isBufferDependent() const { return true; }
+       virtual kb_action getLfun() const { return LFUN_PARAGRAPH_PARAMS_APPLY; }
+       //@}
 
 private:
        ///
@@ -41,12 +59,18 @@ private:
        ///
        LyXAlignment getAlignmentFromDialog();
        ///
-       typedef std::map<LyXAlignment, QRadioButton *> RadioMap;
-       RadioMap radioMap;
-
-       ControlParagraph & controller_;
+       ParagraphParameters & params();
+       ///
+       ParagraphParameters const & params() const;
+       ///
+       bool haveMultiParSelection();
+       ///
+       bool canIndent() const;
+       ///
+       LyXAlignment alignPossible() const;
+       ///
+       LyXAlignment alignDefault() const;
 
-       QString const alignDefaultLabel;
 private Q_SLOTS:
        ///
        void changed();
@@ -58,6 +82,20 @@ private Q_SLOTS:
        void on_linespacing_activated(int);
        /// Apply changes
        void on_applyPB_clicked();
+
+private:
+       ///
+       typedef std::map<LyXAlignment, QRadioButton *> RadioMap;
+       ///
+       RadioMap radioMap;
+       ///
+       typedef std::map<LyXAlignment, docstring> AlignmentLabels;
+       ///
+       AlignmentLabels labelMap;
+       ///
+       QString const alignDefaultLabel;
+       ///
+       ParagraphParameters multiparsel_;
 };
 
 } // namespace frontend