Subversion Repositories Scribus

Rev

Rev 4259 | Rev 4430 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1307 fschmid 1
#ifndef TABPDF_OPTS_H
2
#define TABPDF_OPTS_H
2969 craig 3
 
1307 fschmid 4
#include <qtabwidget.h>
5
#include <qwidget.h>
6
#include <qlayout.h>
7
#include <qtooltip.h>
8
#include <qlistbox.h>
9
#include <qmap.h>
10
#include <qvaluelist.h>
11
#include <qbuttongroup.h>
12
#include <qgroupbox.h>
13
#include <qcheckbox.h>
14
#include <qcombobox.h>
15
#include <qradiobutton.h>
16
#include <qspinbox.h>
17
#include <qtabwidget.h>
18
#include <qwidget.h>
19
#include <qpushbutton.h>
20
#include <qtoolbutton.h>
21
#include <qlineedit.h>
22
#include <qlabel.h>
2969 craig 23
 
24
#include "scribusapi.h"
1307 fschmid 25
#include "bookmwin.h"
26
#include "mspinbox.h"
27
 
1972 craig 28
class PDFOptions;
4259 craig 29
class PDFExportDialog;
1972 craig 30
 
2969 craig 31
class SCRIBUS_API TabPDFOptions : public QTabWidget
1307 fschmid 32
{
33
        Q_OBJECT
34
 
35
public:
4260 craig 36
        TabPDFOptions(  QWidget* parent, PDFOptions & Optionen,
37
                        const SCFonts &AllFonts,
38
                        const ProfilesL & PDFXProfiles,
39
                        const QMap<QString,int> & DocFonts,
40
                        const QValueList<PDFPresentationData> & Eff,
41
                        int unitIndex, double PageH, double PageB,
42
                        ScribusView *vie = 0 );
1307 fschmid 43
        ~TabPDFOptions() {};
1828 fschmid 44
        void restoreDefaults();
1307 fschmid 45
 
4256 craig 46
        void unitChange(int newUnitIndex);
47
 
4253 craig 48
        // GUI member pointers
49
        // Remember to initialize these in the initializer list of the ctor when
50
        // you add new ones. Add them in the same order here and in the initalizer
51
        // list. To help out, the members are sorted alphabetically by name.
52
        QCheckBox* AddSec;
1307 fschmid 53
        QCheckBox* Article;
4253 craig 54
        MSpinBox* BleedBottom;
55
        MSpinBox* BleedLeft;
56
        MSpinBox* BleedRight;
57
        MSpinBox* BleedTop;
58
        QCheckBox* CheckBM;
59
        QCheckBox* CheckBox1;
1307 fschmid 60
        QComboBox* CMethod;
61
        QComboBox* ComboBind;
4253 craig 62
        QCheckBox* Compression;
63
        QRadioButton* continuousPages;
64
        QCheckBox* CopySec;
65
        QComboBox* CQuality;
66
        QRadioButton* doublePageLeft;
67
        QRadioButton* doublePageRight;
68
        QCheckBox* DSColor;
69
        QCheckBox* EmbedProfs;
70
        QCheckBox* EmbedProfs2;
71
        QCheckBox* Encry;
1307 fschmid 72
        QComboBox* ImageP;
4253 craig 73
        QComboBox* IntendI;
74
        QComboBox* IntendS;
75
        QToolButton* MirrorH;
76
        QToolButton* MirrorV;
77
        QCheckBox* ModifySec;
1307 fschmid 78
        QCheckBox* NoEmbedded;
4253 craig 79
        QComboBox* OutCombo;
80
        QListBox* Pages;
1307 fschmid 81
        QLineEdit* PassOwner;
82
        QLineEdit* PassUser;
4253 craig 83
        QComboBox* PDFVersionCombo;
84
        QComboBox* PrintProfC;
1307 fschmid 85
        QCheckBox* PrintSec;
4253 craig 86
        QSpinBox* Resolution;
87
        QComboBox* RotateDeg;
88
        QRadioButton* singlePage;
89
        QComboBox* SolidPr;
90
        QRadioButton* useBookmarks;
4197 fschmid 91
        QRadioButton* useFullScreen;
4253 craig 92
        QCheckBox* useLayers;
93
        QRadioButton* useLayers2;
94
        QCheckBox* UseLPI;
95
        QCheckBox* useSpot;
4197 fschmid 96
        QRadioButton* useThumbnails;
4253 craig 97
        QSpinBox* ValC;
98
        // End GUI member pointers
99
 
3388 fschmid 100
signals:
101
        void noInfo();
102
        void hasInfo();
103
 
1307 fschmid 104
public slots:
105
        void ToggleEncr();
106
        void BleedChanged();
107
        void EnablePDFX(int a);
108
        void DoDownsample();
109
        void RemoveEmbed();
110
        void PutToEmbed();
111
        void RemoveSubset();
112
        void PutToSubset();
113
        void SelAFont(QListBoxItem*);
114
        void SelEFont(QListBoxItem*);
115
        void SelSFont(QListBoxItem*);
116
        void EmbedAll();
117
        void SubsetAll();
118
        void PagePr();
119
        void SetPgEff(int nr);
120
        void SetEffOpts(int nr);
121
        void ValidDI(int nr);
122
        void PDFMirror();
123
        void Rotation(int value);
124
        void DoEffects();
125
        void EffectOnAll();
126
        void SelRange(bool e);
127
        void EnablePr(int a);
128
        void EnablePG();
129
        void EnablePGI();
130
        void EnablePGI2();
131
        void EnableLPI(int a);
132
        void EnableLPI2();
133
        void SelLPIcol(int);
134
        void enableCMS(bool enable);
3388 fschmid 135
        void checkInfo();
1307 fschmid 136
 
137
protected:
4259 craig 138
        // PDFExportDialog should really privately inherit from us, but it can't
139
        // since it needs to be a dialog not a tab widget. Allow it access to
140
        // protected and private members instead. If we ever clean up the direct
141
        // widget access in this class, it might be able to privately inheirit and
142
        // be added to a very thin dialog class instead.
143
        friend class PDFExportDialog;
144
        int PgSel;
145
        QValueList<PDFPresentationData> EffVal;
146
        QString SelLPIcolor;
147
        QValueList<QString> FontsToEmbed;
148
        QValueList<QString> FontsToSubset;
4258 craig 149
 
4259 craig 150
        // PDFExportDialog needs access to these GUI members
151
        // but they don't need to be exposed to the rest of Scribus.
152
        QComboBox* actionCombo;
153
        QRadioButton* AllPages;
154
        QCheckBox* CheckBox10;
155
        QComboBox* EDirection;
156
        QComboBox* EDirection_2;
157
        QComboBox* EDirection_2_2;
158
        QSpinBox* EffectTime;
159
        QComboBox* EffectType;
160
        QCheckBox* fitWindow;
161
        QCheckBox* hideMenuBar;
162
        QCheckBox* hideToolBar;
163
        QLineEdit* InfoString;
164
        QSpinBox* LPIangle;
165
        QSpinBox* LPIfreq;
166
        QComboBox* LPIfunc;
167
        QLineEdit* PageNr;
168
        QSpinBox* PageTime;
169
 
170
private:
171
        // Private GUI member pointers, should not be used outside the class its
172
        // self.  Please ry to keep members here genuinely private, ie don't use
173
        // them even from friends. If you need to access it from a friend like
174
        // PDFExportDialog please move it to the protected section.
175
 
4255 craig 176
        QLabel* actionLabel;
177
        QListBox* AvailFlist;
178
        QGroupBox* BleedGroup;
179
        QGridLayout* BleedGroupLayout;
180
        QLabel* BleedIcon;
181
        QGroupBox* CBox;
1307 fschmid 182
        QGridLayout* CBoxLayout;
4255 craig 183
        QGroupBox* ColorGroup;
184
        QHBoxLayout* ColorGroupLayout;
185
        QLabel* ColorText1;
186
        QGroupBox* Effects;
187
        QGridLayout* EffectsLayout;
188
        QCheckBox* EmbedFonts;
189
        QListBox* EmbedList;
190
        QPushButton* EonAllPg;
191
        QPushButton* FromEmbed;
192
        QPushButton* FromSubset;
193
        QGroupBox* GroupBox1;
194
        QGridLayout* GroupBox1Layout;
195
        QGridLayout* GroupBox2Layout;
196
        QGroupBox* GroupBox9;
197
        QGridLayout* GroupBox9Layout;
198
        QGroupBox* groupDisplay;
199
        QVBoxLayout* groupDisplayLayout;
200
        QGroupBox* GroupFont;
201
        QHBoxLayout* GroupFontLayout;
202
        QGroupBox* groupJava;
203
        QHBoxLayout* groupJavaLayout;
204
        QButtonGroup* groupNavigation;
205
        QVBoxLayout* groupNavigationLayout;
206
        QGroupBox* GroupPass;
207
        QGridLayout* GroupPassLayout;
208
        QGroupBox* GroupSecSet;
209
        QVBoxLayout* GroupSecSetLayout;
210
        QGridLayout* Layout11;
211
        QGridLayout* Layout11a;
212
        QHBoxLayout* Layout13;
213
        QHBoxLayout* Layout2;
1307 fschmid 214
        QVBoxLayout* Layout3;
215
        QVBoxLayout* Layout4_2;
216
        QVBoxLayout* Layout5_2;
217
        QHBoxLayout* Layout5_2a;
218
        QVBoxLayout* Layout6;
4255 craig 219
        QHBoxLayout* LayoutSpecial;
220
        QComboBox* LPIcolor;
221
        QGroupBox* LPIgroup;
222
        QGridLayout* LPIgroupLayout;
223
        QRadioButton* OnlySome;
224
        QButtonGroup* pageLayout;
225
        QVBoxLayout* pageLayoutLayout;
226
        QCheckBox* PagePrev;
227
        QLabel* PDFX1;
228
        QLabel* PDFX2;
229
        QCheckBox* PrintSec2;
230
        QGroupBox* ProfsGroup;
231
        QGridLayout* ProfsGroupLayout;
232
        QLabel* ProfsTxt1;
233
        QLabel* ProfsTxt2;
234
        QLabel* ProfsTxt3;
235
        QLabel* ProfsTxt4;
236
        QButtonGroup* RangeGroup;
237
        QVBoxLayout* RangeGroupLayout;
238
        QCheckBox* SubsetFonts;
239
        QListBox* SubsetList;
240
        QWidget* tabColor;
241
        QVBoxLayout* tabColorLayout;
242
        QWidget* tabFonts;
243
        QWidget* tabGeneral;
244
        QVBoxLayout* tabLayout;
245
        QVBoxLayout* tabLayout_3;
1307 fschmid 246
        QGridLayout* tabLayout_5;
247
        QGridLayout* tabOptionsGridLayout;
4255 craig 248
        QWidget* tabPDFX;
1307 fschmid 249
        QVBoxLayout* tabPDFXLayout;
4255 craig 250
        QWidget* tabPresentation;
251
        QWidget* tabSecurity;
1307 fschmid 252
        QVBoxLayout* tabSecurityLayout;
4255 craig 253
        QWidget* tabSpecial;
4197 fschmid 254
        QVBoxLayout* tabSpecialLayout;
4255 craig 255
        QLabel* TextCom1;
256
        QLabel* TextCom2;
257
        QLabel* TextFont1;
258
        QLabel* TextFont1_2;
259
        QLabel* TextFont1_2a;
260
        QLabel* TextLabel1;
261
        QLabel* TextLabel1e;
262
        QLabel* TextLabel1x;
263
        QLabel* TextLabel2;
264
        QLabel* TextLabel2e;
265
        QLabel* TextLabel3;
266
        QLabel* TextLabel3e;
267
        QLabel* TextLabel4e;
268
        QLabel* TextLabel5e;
269
        QLabel* TextLabel6e;
270
        QLabel* textLPI1;
271
        QLabel* textLPI2;
272
        QLabel* textLPI3;
273
        QLabel* TextSec1;
274
        QLabel* TextSec2;
275
        QPushButton* ToEmbed;
276
        QPushButton* ToSubset;
277
        QRadioButton* useViewDefault;
278
        QGroupBox* X3Group;
279
        QGridLayout* X3GroupLayout;
280
        // end protected GUI member pointers
4197 fschmid 281
 
4259 craig 282
        // Non-GUI protected members
283
        QString unit;
284
        int precision;
285
        double unitRatio;
286
        ScribusView * const view;
4260 craig 287
        const SCFonts & AllFonts;
288
        PDFOptions & Opts;
4259 craig 289
        double pageH;
290
        double pageB;
291
        bool cms;
292
 
1307 fschmid 293
};
294
#endif