Subversion Repositories Scribus

Rev

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

Rev Author Line No. Line
838 cbradney 1
#ifndef SCRIBUSSTRUCTS_H
2
#define SCRIBUSSTRUCTS_H
3
 
4
#ifdef HAVE_CONFIG_H
5
#include <config.h>
6
#endif
7
 
8
#include <qvaluestack.h>
9
#include <qvaluelist.h>
1429 subik 10
#include <qvaluevector.h>
838 cbradney 11
#include <qstring.h>
1208 cbradney 12
#include <qaction.h>
839 cbradney 13
#include <vector>
838 cbradney 14
 
15
#include "scfonts.h"
16
#include "cmykcolor.h"
17
#include "fpointarray.h"
18
#include "vgradient.h"
19
#include "pageitem.h"
1208 cbradney 20
#include "scraction.h"
1972 craig 21
#include "pdfoptions.h"
838 cbradney 22
 
23
/* Struktur fuer Pageitem Text */
1065 cbradney 24
struct ScText
1429 subik 25
{
1065 cbradney 26
        bool cselect;
844 fschmid 27
        int csize;
1781 fschmid 28
        short cshade;
29
        short cshade2;
30
        short cstyle;
2185 fschmid 31
/*      Meaning of the values in cstyle
32
        1                       = Superscript
33
        2                       = Subscript
34
        4                       = Outline
35
        8                       = Underline
36
        16              = Strikethru
37
        32              = All Caps
38
        64              = Small Caps
39
        128             = Hypenation possible here (Smart Hyphen)
40
        256     = Shadowed (not implemented yet)
2219 fschmid 41
        512     = Underline Words
2185 fschmid 42
        1024    = Fake Italic (not implemented yet)
43
        2048    = free, not used in the moment
44
        4096    = internal use in PageItem (Suppresses spaces when in Block alignment)
45
        8192    = Smart Hyphen visible at line end
46
        16384   = Start of Line
47
*/
1781 fschmid 48
        short cab;
49
        short cscale;
2230 fschmid 50
        short cscalev;
2234 fschmid 51
        short cbase;
2247 fschmid 52
        short cshadowx;
53
        short cshadowy;
1781 fschmid 54
        float cextra;
55
        float xp;
56
        float yp;
57
        float PtransX;
58
        float PtransY;
59
        float PRot;
1789 fschmid 60
        Foi* cfont;
1065 cbradney 61
        QString ccolor;
62
        QString cstroke;
63
        QString ch;
844 fschmid 64
};
838 cbradney 65
 
1065 cbradney 66
struct CopyPasteBuffer
1429 subik 67
{
1460 cbradney 68
        PageItem::ItemType PType;
844 fschmid 69
        double Xpos;
70
        double Ypos;
71
        double Width;
72
        double Height;
73
        double RadRect;
74
        int FrameType;
75
        bool ClipEdited;
76
        double Pwidth;
77
        QString Pcolor;
78
        QString Pcolor2;
79
        int Shade;
80
        int Shade2;
81
        QString GrColor;
82
        QString GrColor2;
83
        int GrShade;
84
        int GrShade2;
85
        VGradient fill_gradient;
86
        int GrType;
87
        double GrStartX;
88
        double GrStartY;
89
        double GrEndX;
90
        double GrEndY;
91
        QString TxtStroke;
92
        QString TxtFill;
93
        int ShTxtStroke;
94
        int ShTxtFill;
95
        int TxtScale;
2230 fschmid 96
        int TxtScaleV;
844 fschmid 97
        int TxTStyle;
2234 fschmid 98
        int TxTBase;
2247 fschmid 99
        int TxtShadowX;
100
        int TxtShadowY;
844 fschmid 101
        double Rot;
102
        int PLineArt;
103
        int PLineJoin;
104
        int PLineEnd;
105
        double LineSp;
106
        double ExtraV;
107
        double LocalScX;
108
        double LocalScY;
109
        double LocalX;
110
        double LocalY;
111
        bool PicArt;
1392 cbradney 112
        bool flippedH;
113
        bool flippedV;
844 fschmid 114
        double BBoxX;
115
        double BBoxH;
116
        bool isPrintable;
117
        bool isBookmark;
118
        int BMnr;
119
        bool isAnnotation;
120
        int AnType;
121
        QString AnAction;
122
        QString An_E_act;
123
        QString An_X_act;
124
        QString An_D_act;
125
        QString An_Fo_act;
126
        QString An_Bl_act;
127
        QString An_K_act;
128
        QString An_F_act;
129
        QString An_V_act;
130
        QString An_C_act;
131
        QString An_Extern;
132
        int AnZiel;
133
        int AnActType;
134
        QString AnName;
135
        QString AnToolTip;
136
        QString AnRollOver;
137
        QString AnDown;
138
        QString AnBColor;
139
        int AnBwid;
140
        int AnBsty;
141
        int AnFeed;
142
        int AnFlag;
143
        int AnMaxChar;
144
        int AnVis;
145
        int AnFont;
146
        int AnChkStil;
147
        int AnFormat;
148
        bool AnIsChk;
149
        bool AnAAact;
150
        bool AnHTML;
151
        bool AnUseIcons;
152
        int AnIPlace;
153
        int AnScaleW;
154
        double Extra;
155
        double TExtra;
156
        double BExtra;
157
        double RExtra;
158
        QString Pfile;
159
        QString Pfile2;
160
        QString Pfile3;
161
        QString IProfile;
162
        QString EmProfile;
163
        int IRender;
164
        bool UseEmbedded;
1065 cbradney 165
        QString itemText;
844 fschmid 166
        QPointArray Clip;
167
        FPointArray PoLine;
168
        FPointArray ContourLine;
169
        bool PoShow;
170
        double BaseOffs;
171
        bool Textflow;
172
        bool Textflow2;
173
        bool UseContour;
1065 cbradney 174
        int textAlignment;
844 fschmid 175
        QString IFont;
176
        int ISize;
177
        QValueStack<int> Groups;
178
        int LayerNr;
179
        bool ScaleType;
180
        bool AspectRatio;
181
        bool Locked;
182
        bool LockRes;
183
        double Transparency;
184
        double TranspStroke;
185
        bool Reverse;
186
        QString NamedLStyle;
187
        QString Language;
188
        QString guiLanguage;
189
        int Cols;
190
        double ColGap;
191
        QValueList<double> TabValues;
192
        QValueList<double> DashValues;
193
        double DashOffset;
194
        bool isTableItem;
195
        bool TopLine;
196
        bool LeftLine;
197
        bool RightLine;
198
        bool BottomLine;
199
        int LeftLinkID;
200
        int RightLinkID;
201
        int TopLinkID;
202
        int BottomLinkID;
203
        int startArrowIndex;
204
        int endArrowIndex;
1655 cbradney 205
        ObjAttrVector pageItemAttributes;
844 fschmid 206
};
838 cbradney 207
 
1065 cbradney 208
  /** Pagemargins */
209
struct MarginStruct
1429 subik 210
{
844 fschmid 211
        double Top;
212
        double Left;
213
        double Right;
214
        double Bottom;
215
};
838 cbradney 216
 
1065 cbradney 217
struct ParagraphStyle
1429 subik 218
{
844 fschmid 219
        QString Vname;
220
        double LineSpa;
1065 cbradney 221
        int textAlignment;
844 fschmid 222
        double Indent;
223
        double First;
1065 cbradney 224
        double gapBefore;
225
        double gapAfter;
844 fschmid 226
        QString Font;
227
        int FontSize;
228
        QValueList<double> TabValues;
2219 fschmid 229
        QString tabFillChar;
844 fschmid 230
        bool Drop;
231
        int DropLin;
232
        int FontEffect;
233
        QString FColor;
234
        int FShade;
235
        QString SColor;
236
        int SShade;
237
        bool BaseAdj;
238
};
838 cbradney 239
 
1065 cbradney 240
struct CMSData
844 fschmid 241
{
242
        QString DefaultMonitorProfile;
243
        QString DefaultPrinterProfile;
244
        QString DefaultInputProfile;
245
        QString DefaultInputProfile2;
246
        int ComponentsInput2;
247
        int ComponentsPrinter;
248
        int DefaultIntentMonitor;
249
        int DefaultIntentMonitor2;
250
        int DefaultIntentPrinter;
251
        bool CMSinUse;
252
        bool SoftProofOn;
253
        bool GamutCheck;
254
        bool BlackPoint;
255
} ;
838 cbradney 256
 
1065 cbradney 257
struct SingleLine
1429 subik 258
{
844 fschmid 259
        double Width;
260
        int Dash;
261
        int LineEnd;
262
        int LineJoin;
263
        QString Color;
264
        int Shade;
265
};
838 cbradney 266
 
1065 cbradney 267
struct ArrowDesc
844 fschmid 268
{
269
        QString name;
270
        bool userArrow;
271
        FPointArray points;
272
};
838 cbradney 273
 
844 fschmid 274
struct Layer
1429 subik 275
{
844 fschmid 276
        int LNr;
277
        int Level;
278
        QString Name;
1065 cbradney 279
        bool isPrintable;
280
        bool isViewable;
844 fschmid 281
};
838 cbradney 282
 
1065 cbradney 283
struct PDFPresentationData
1429 subik 284
{
1065 cbradney 285
        int pageEffectDuration;
286
        int pageViewDuration;
287
        int effectType;
844 fschmid 288
        int Dm;
289
        int M;
290
        int Di;
291
};
838 cbradney 292
 
1065 cbradney 293
struct LPIData
1429 subik 294
{
844 fschmid 295
        int Frequency;
296
        int Angle;
297
        int SpotFunc;
298
};
838 cbradney 299
 
844 fschmid 300
struct Keys
1429 subik 301
{
1230 cbradney 302
        QString actionName;
1392 cbradney 303
        QString cleanMenuText;
304
        QString keySequence;
305
        int tableRow;
844 fschmid 306
};
838 cbradney 307
 
844 fschmid 308
/** Definition der Farbenlisten */
1065 cbradney 309
typedef QMap<QString,CMYKColor> ColorList;
838 cbradney 310
 
1235 fschmid 311
struct checkerPrefs
312
{
313
        bool ignoreErrors;
314
        bool autoCheck;
315
        bool checkGlyphs;
316
        bool checkOverflow;
317
        bool checkOrphans;
318
        bool checkPictures;
319
        bool checkResolution;
320
        double minResolution;
321
        bool checkTransparency;
1284 fschmid 322
        bool checkAnnotations;
323
        bool checkRasterPDF;
1235 fschmid 324
};
325
 
1065 cbradney 326
struct typoPrefs
844 fschmid 327
{
328
        int valueSuperScript;
329
        int scalingSuperScript;
330
        int valueSubScript;
331
        int scalingSubScript;
332
        int valueSmallCaps;
333
        int autoLineSpacing;
2163 fschmid 334
        int valueUnderlinePos;
335
        int valueUnderlineWidth;
336
        int valueStrikeThruPos;
337
        int valueStrikeThruWidth;
844 fschmid 338
        double valueBaseGrid;
339
        double offsetBaseGrid;
340
};
838 cbradney 341
 
1065 cbradney 342
struct windowPrefs
844 fschmid 343
{
344
        int xPosition;
345
        int yPosition;
346
        int width;
347
        int height;
348
        bool visible;
349
        bool docked;
350
};
351
 
1065 cbradney 352
struct guidesPrefs
879 fschmid 353
{
354
        bool gridShown;
355
        QColor majorColor;
356
        double majorGrid;
357
        double minorGrid;
358
        QColor minorColor;
359
        double guideRad;
360
        int grabRad;
361
        bool framesShown;
362
        bool guidesShown;
363
        bool marginsShown;
364
        bool baseShown;
365
        bool linkShown;
366
        bool showPic;
1187 fschmid 367
        bool before;
879 fschmid 368
        QColor guideColor;
369
        QColor baseColor;
370
        QColor margColor;
371
};
372
 
1194 fschmid 373
struct toolPrefs
374
{
375
        /* Texttool */
376
        QString defFont;
377
        int defSize;
378
        QString dPenText;
379
        QString dStrokeText;
380
        int dCols;
381
        double dGap;
2219 fschmid 382
        QString tabFillChar;
1194 fschmid 383
        /* ShapeTool */
384
        QString dPen;
385
        QString dBrush;
386
        int dShade;
387
        int dShade2;
388
        int dLineArt;
389
        double dWidth;
390
        /* Line Tool */
391
        QString dPenLine;
392
        int dShadeLine;
393
        double dWidthLine;
394
        int dLstyleLine;
395
        int dStartArrow;
396
        int dEndArrow;
397
        /* Regular Polygon Tool */
398
        int polyC;
399
        int polyFd;
400
        double polyF;
401
        bool polyS;
402
        double polyR;
403
        /* Picture Tool */
404
        QString dBrushPict;
405
        int shadePict;
406
        double scaleX;
407
        double scaleY;
408
        bool scaleType;
409
        bool aspectRatio;
2025 fschmid 410
        int lowResType;
2040 fschmid 411
        bool useEmbeddedPath;
1194 fschmid 412
        /* Magnifier Tool */
413
        int magMin;
414
        int magMax;
415
        int magStep;
416
};
417
 
1065 cbradney 418
struct ApplicationPrefs
1429 subik 419
{
844 fschmid 420
        SCFonts AvailFonts;
1065 cbradney 421
        QValueList<ArrowDesc> arrowStyles;
422
        ColorList DColors;
844 fschmid 423
        int Wheelval;
424
        int AppFontSize;
425
        QColor DpapColor;
426
        QString GUI;
1065 cbradney 427
        guidesPrefs guidesSettings;
428
        typoPrefs typographicSetttings;
1194 fschmid 429
        toolPrefs toolSettings;
1261 fschmid 430
        QMap<QString, checkerPrefs> checkerProfiles;
431
        QString curCheckProfile;
1065 cbradney 432
        int docUnitIndex;
433
        windowPrefs mainToolBarSettings;
434
        windowPrefs pdfToolBarSettings;
435
        windowPrefs mainWinSettings;
1972 craig 436
 
1545 cbradney 437
        PDFOptions PDF_Options;
1649 cbradney 438
        ObjAttrVector defaultItemAttributes;
1701 cbradney 439
        ToCSetupVector defaultToCSetups;
844 fschmid 440
        bool SepalT;
441
        bool SepalN;
442
        int PSize;
443
        bool SaveAtQ;
1065 cbradney 444
        bool marginColored;
844 fschmid 445
        QStringList RecentDocs;
446
        uint RecentDCount;
1065 cbradney 447
        CMSData DCMSset;
1392 cbradney 448
        QMap<QString,Keys> KeyActions;
844 fschmid 449
        QString PrinterName;
450
        QString PrinterFile;
451
        QString PrinterCommand;
1542 cbradney 452
        QString pageSize;
1545 cbradney 453
        int pageOrientation;
454
        double PageWidth;
455
        double PageHeight;
844 fschmid 456
        double RandOben;
457
        double RandUnten;
458
        double RandLinks;
459
        double RandRechts;
1545 cbradney 460
        bool FacingPages;
461
        bool LeftPageFirst;
844 fschmid 462
        int MinWordLen;
463
        int HyCount;
464
        QString Language;
465
        QString guiLanguage;
466
        bool Automatic;
467
        bool AutoCheck;
468
        QString DocDir;
469
        QString ProfileDir;
470
        QString ScriptDir;
2093 cbradney 471
        QString documentTemplatesDir;
844 fschmid 472
        QMap<QString,QString> GFontSub;
473
        bool AutoSave;
474
        int AutoSaveTime;
475
        double DisScale;
476
        QString DColorSet;
477
        QStringList CustomColorSets;
478
        bool PrPr_Mode;
479
        bool Gcr_Mode;
480
        bool PrPr_AlphaText;
481
        bool PrPr_AlphaGraphics;
482
        bool PrPr_Transparency;
483
        bool PrPr_C;
484
        bool PrPr_M;
485
        bool PrPr_Y;
486
        bool PrPr_K;
487
        QString gs_exe;
1545 cbradney 488
        bool gs_AntiAliasText;
489
        bool gs_AntiAliasGraphics;
2150 cbradney 490
        QString imageEditorExecutable;
844 fschmid 491
        bool ClipMargin;
492
        bool GCRMode;
493
        QColor STEcolor;
494
        QString STEfont;
495
        double ScratchLeft;
496
        double ScratchRight;
497
        double ScratchTop;
498
        double ScratchBottom;
1468 fschmid 499
        bool askBeforeSubstituite;
844 fschmid 500
};
501
 
1429 subik 502
struct PrintOptions
844 fschmid 503
{
838 cbradney 504
        QString printer;
505
        QString filename;
506
        bool toFile;
507
        bool useAltPrintCommand;
508
        QString printerCommand;
509
        int PSLevel;
510
        bool outputSeparations;
511
        QString separationName;
512
        bool useColor;
513
        bool mirrorH;
514
        bool mirrorV;
515
        bool useICC;
516
        bool doGCR;
1861 fschmid 517
        bool setDevParam;
838 cbradney 518
        int copies;
519
        std::vector<int> pageNumbers;
520
        QString printerOptions;
521
};
522
 
844 fschmid 523
typedef QMap<QString,QString> ProfilesL;
1065 cbradney 524
typedef QValueVector<SingleLine> multiLine;
1229 fschmid 525
typedef QMap<int, int> errorCodes;
1460 cbradney 526
 
1065 cbradney 527
enum AppMode
528
{
529
        NormalMode,
530
        DrawShapes,
531
        StartStoryEditor,
532
        DrawPicture,
533
        DrawText,
534
        Magnifier,
535
        EditMode,
536
        DrawLine,
537
        Rotation,
538
        LinkFrames,
539
        UnlinkFrames,
540
        DrawRegularPolygon,
541
        DrawBezierLine,
542
        InsertPDFButton,
543
        InsertPDFTextfield,
544
        InsertPDFCheckbox,
545
        InsertPDFCombobox,
546
        InsertPDFListbox,
547
        InsertPDFTextAnnotation,
548
        InsertPDFLinkAnnotation,
549
        DrawFreehandLine,
550
        DrawTable,
551
        PanningMode,
552
        MeasurementTool,
1814 cbradney 553
        EditGradientVectors,
1840 fschmid 554
        EyeDropper,
555
        CopyProperties
1065 cbradney 556
};
844 fschmid 557
 
1641 cbradney 558
 
559
 
838 cbradney 560
#endif