Scribus
Open source desktop publishing at your fingertips
guidemanager.h
1 /*
2 For general Scribus (>=1.3.2) copyright and licensing information please refer
3 to the COPYING file provided with the program. Following this notice may exist
4 a copyright and/or license notice that predates the release of Scribus 1.3.2
5 for which a new license (GPL+exception) is in place.
6 */
7 #ifndef GUIDEMANAGER_H
8 #define GUIDEMANAGER_H
9 
10 #include "scribusapi.h"
11 #include "scrspinbox.h"
12 #include "ui_guidemanager.h"
13 #include "guidemanagercore.h"
14 #include "ui/scrpalettebase.h"
15 #include "scribusstructs.h"
16 #include "scpage.h"
17 
18 class GuidesModel;
19 class ScribusDoc;
20 
21 
22 
32 class SCRIBUS_API GuideManager : public ScrPaletteBase, Ui::GuideManager
33 {
34  Q_OBJECT
35 
36 public:
37  GuideManager(QWidget* parent);
38  ~GuideManager(){};
39 
41  void setDoc(ScribusDoc* doc);
42 
45  void setupPage(bool storeValues = true);
46  void setupGui();
47 
49  void clearRestoreHorizontalList();
51  void clearRestoreVerticalList();
52 
56  Guides selectedHorizontals();
60  Guides selectedVerticals();
61 
65  int pageNr() const { return ((currentPage) ? currentPage->pageNr() : -1); }
66 
67  int currentIndex() { return tabWidget->currentIndex(); }
68 
69  void setGuideLock(bool guidesLocked);
70 
71  virtual void changeEvent(QEvent *e);
72 
73 private:
75  GuidesModel * horizontalModel;
77  GuidesModel * verticalModel;
78 
79  ScribusDoc* m_Doc;
81  ScPage * currentPage;
83  bool m_drawGuides;
84 
86  void unitChange();
87 
89  int docUnitIndex;
90 
92  QString suffix;
93 
97  void copyGuidesToAllPages(GuideManagerCore::GuideType t);
98 
102  void storePageValues(ScPage * page);
103 
108  Guides getAutoHorizontals(ScPage * p);
109 
114  Guides getAutoVerticals(ScPage * p);
115 
120  void resetSelectionForPage();
121 
123  void drawGuides();
124 
128  void setHorizontalRefer(int button);
129  int horizontalRefer();
130  void setVerticalRefer(int button);
131  int verticalRefer();
132  void languageChange();
133 
134 private slots:
136  void forceDrawGuides(const QItemSelection &, const QItemSelection &);
137  void verticalModel_valueChanged();
138  void horizontalModel_valueChanged();
139  void addHorButton_clicked();
140  void delHorButton_clicked();
141  void addVerButton_clicked();
142  void delVerButton_clicked();
143  void applyToAllStdButton_clicked();
144  void lockCheck_stateChanged( int );
145  void horizontalAutoGapCheck_stateChanged( int );
146  void verticalAutoGapCheck_stateChanged( int );
147  void applyToAllAutoButton_clicked();
148  void horizontalAutoCountSpin_valueChanged( double );
149  void verticalAutoCountSpin_valueChanged( double );
150  void horizontalAutoGapSpin_valueChanged(double);
151  void verticalAutoGapSpin_valueChanged(double);
152  void horizontalPageAutoButton_toggled(bool);
153  void horizontalMarginsAutoButton_toggled(bool);
154  void horizontalSelectionAutoButton_toggled(bool);
155  void verticalPageAutoButton_toggled(bool);
156  void verticalMarginsAutoButton_toggled(bool);
157  void verticalSelectionAutoButton_toggled(bool);
158  void tabWidget_currentChanged( QWidget * );
159  void deletePageButton_clicked();
160  void deleteAllGuides_clicked();
161 };
162 
163 #endif // GUIDEMANAGER_H
Definition: scpage.h:46
the Document Class
Definition: scribusdoc.h:90
Definition: scrpalettebase.h:38
A model for guides lists. It holds guides as a double QList (it will be expanded later because of RFE...
Definition: guidesmodel.h:22
int pageNr() const
check the current page number to prevent drawing marks on the others pages. See GuideManagerCore::dra...
Definition: guidemanager.h:65