Subversion Repositories Scribus

Rev

Rev 2434 | Rev 2688 | 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
2434 fschmid 32
        1                       = Superscript
33
        2                       = Subscript
34
        4                       = Outline
35
        8                       = Underline
2185 fschmid 36
        16              = Strikethru
37
        32              = All Caps
38
        64              = Small Caps
2434 fschmid 39
        128             = Hyphenation possible here (Smart Hyphen)
2257 fschmid 40
        256     = Shadowed
2219 fschmid 41
        512     = Underline Words
2257 fschmid 42
        1024    = free, not used in the moment
2362 fschmid 43
        2048    = Char is a DropCap
2185 fschmid 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;
2257 fschmid 54
        short coutline;
2262 fschmid 55
        short cunderpos;
56
        short cunderwidth;
2272 fschmid 57
        short cstrikepos;
58
        short cstrikewidth;
2382 fschmid 59
        short cextra;
1781 fschmid 60
        float xp;
61
        float yp;
62
        float PtransX;
63
        float PtransY;
64
        float PRot;
1789 fschmid 65
        Foi* cfont;
2434 fschmid 66
        PageItem* cembedded;
1065 cbradney 67
        QString ccolor;
68
        QString cstroke;
69
        QString ch;
844 fschmid 70
};
838 cbradney 71
 
1065 cbradney 72
struct CopyPasteBuffer
1429 subik 73
{
1460 cbradney 74
        PageItem::ItemType PType;
844 fschmid 75
        double Xpos;
76
        double Ypos;
77
        double Width;
78
        double Height;
79
        double RadRect;
80
        int FrameType;
81
        bool ClipEdited;
82
        double Pwidth;
83
        QString Pcolor;
84
        QString Pcolor2;
85
        int Shade;
86
        int Shade2;
87
        QString GrColor;
88
        QString GrColor2;
89
        int GrShade;
90
        int GrShade2;
91
        VGradient fill_gradient;
92
        int GrType;
93
        double GrStartX;
94
        double GrStartY;
95
        double GrEndX;
96
        double GrEndY;
97
        QString TxtStroke;
98
        QString TxtFill;
99
        int ShTxtStroke;
100
        int ShTxtFill;
101
        int TxtScale;
2230 fschmid 102
        int TxtScaleV;
844 fschmid 103
        int TxTStyle;
2234 fschmid 104
        int TxTBase;
2247 fschmid 105
        int TxtShadowX;
106
        int TxtShadowY;
2257 fschmid 107
        int TxtOutline;
2262 fschmid 108
        int TxtUnderPos;
109
        int TxtUnderWidth;
2272 fschmid 110
        int TxtStrikePos;
111
        int TxtStrikeWidth;
844 fschmid 112
        double Rot;
113
        int PLineArt;
114
        int PLineJoin;
115
        int PLineEnd;
116
        double LineSp;
2309 fschmid 117
        int LineSpMode;
2382 fschmid 118
        int ExtraV;
844 fschmid 119
        double LocalScX;
120
        double LocalScY;
121
        double LocalX;
122
        double LocalY;
123
        bool PicArt;
1392 cbradney 124
        bool flippedH;
125
        bool flippedV;
844 fschmid 126
        double BBoxX;
127
        double BBoxH;
128
        bool isPrintable;
129
        bool isBookmark;
130
        int BMnr;
131
        bool isAnnotation;
132
        int AnType;
133
        QString AnAction;
134
        QString An_E_act;
135
        QString An_X_act;
136
        QString An_D_act;
137
        QString An_Fo_act;
138
        QString An_Bl_act;
139
        QString An_K_act;
140
        QString An_F_act;
141
        QString An_V_act;
142
        QString An_C_act;
143
        QString An_Extern;
144
        int AnZiel;
145
        int AnActType;
146
        QString AnName;
147
        QString AnToolTip;
148
        QString AnRollOver;
149
        QString AnDown;
150
        QString AnBColor;
151
        int AnBwid;
152
        int AnBsty;
153
        int AnFeed;
154
        int AnFlag;
155
        int AnMaxChar;
156
        int AnVis;
157
        int AnFont;
158
        int AnChkStil;
159
        int AnFormat;
160
        bool AnIsChk;
161
        bool AnAAact;
162
        bool AnHTML;
163
        bool AnUseIcons;
164
        int AnIPlace;
165
        int AnScaleW;
166
        double Extra;
167
        double TExtra;
168
        double BExtra;
169
        double RExtra;
170
        QString Pfile;
171
        QString Pfile2;
172
        QString Pfile3;
173
        QString IProfile;
174
        QString EmProfile;
175
        int IRender;
176
        bool UseEmbedded;
1065 cbradney 177
        QString itemText;
844 fschmid 178
        QPointArray Clip;
179
        FPointArray PoLine;
180
        FPointArray ContourLine;
181
        bool PoShow;
182
        double BaseOffs;
183
        bool Textflow;
184
        bool Textflow2;
185
        bool UseContour;
1065 cbradney 186
        int textAlignment;
844 fschmid 187
        QString IFont;
188
        int ISize;
189
        QValueStack<int> Groups;
190
        int LayerNr;
191
        bool ScaleType;
192
        bool AspectRatio;
193
        bool Locked;
194
        bool LockRes;
195
        double Transparency;
196
        double TranspStroke;
197
        bool Reverse;
198
        QString NamedLStyle;
199
        QString Language;
200
        QString guiLanguage;
201
        int Cols;
202
        double ColGap;
2282 fschmid 203
        QValueList<PageItem::TabRecord> TabValues;
844 fschmid 204
        QValueList<double> DashValues;
205
        double DashOffset;
206
        bool isTableItem;
207
        bool TopLine;
208
        bool LeftLine;
209
        bool RightLine;
210
        bool BottomLine;
211
        int LeftLinkID;
212
        int RightLinkID;
213
        int TopLinkID;
214
        int BottomLinkID;
215
        int startArrowIndex;
216
        int endArrowIndex;
1655 cbradney 217
        ObjAttrVector pageItemAttributes;
844 fschmid 218
};
838 cbradney 219
 
1065 cbradney 220
  /** Pagemargins */
221
struct MarginStruct
1429 subik 222
{
844 fschmid 223
        double Top;
224
        double Left;
225
        double Right;
226
        double Bottom;
227
};
838 cbradney 228
 
1065 cbradney 229
struct ParagraphStyle
1429 subik 230
{
844 fschmid 231
        QString Vname;
2379 fschmid 232
        int LineSpaMode;      // 0 = fixed; 1 = Automatic; 2 = Adjust to Baseline Grid
844 fschmid 233
        double LineSpa;
1065 cbradney 234
        int textAlignment;
844 fschmid 235
        double Indent;
236
        double First;
1065 cbradney 237
        double gapBefore;
238
        double gapAfter;
844 fschmid 239
        QString Font;
240
        int FontSize;
2282 fschmid 241
        QValueList<PageItem::TabRecord> TabValues;
844 fschmid 242
        bool Drop;
243
        int DropLin;
2362 fschmid 244
        double DropDist;
844 fschmid 245
        int FontEffect;
246
        QString FColor;
247
        int FShade;
248
        QString SColor;
249
        int SShade;
250
        bool BaseAdj;
2273 fschmid 251
        int txtShadowX;
252
        int txtShadowY;
253
        int txtOutline;
254
        int txtUnderPos;
255
        int txtUnderWidth;
256
        int txtStrikePos;
257
        int txtStrikeWidth;
2379 fschmid 258
        int scaleH;
259
        int scaleV;
260
        int baseOff;
2434 fschmid 261
        int kernVal;
844 fschmid 262
};
838 cbradney 263
 
1065 cbradney 264
struct CMSData
844 fschmid 265
{
266
        QString DefaultMonitorProfile;
267
        QString DefaultPrinterProfile;
268
        QString DefaultInputProfile;
269
        QString DefaultInputProfile2;
270
        int ComponentsInput2;
271
        int ComponentsPrinter;
272
        int DefaultIntentMonitor;
273
        int DefaultIntentMonitor2;
274
        int DefaultIntentPrinter;
275
        bool CMSinUse;
276
        bool SoftProofOn;
277
        bool GamutCheck;
278
        bool BlackPoint;
279
} ;
838 cbradney 280
 
1065 cbradney 281
struct SingleLine
1429 subik 282
{
844 fschmid 283
        double Width;
284
        int Dash;
285
        int LineEnd;
286
        int LineJoin;
287
        QString Color;
288
        int Shade;
289
};
838 cbradney 290
 
1065 cbradney 291
struct ArrowDesc
844 fschmid 292
{
293
        QString name;
294
        bool userArrow;
295
        FPointArray points;
296
};
838 cbradney 297
 
844 fschmid 298
struct Layer
1429 subik 299
{
844 fschmid 300
        int LNr;
301
        int Level;
302
        QString Name;
1065 cbradney 303
        bool isPrintable;
304
        bool isViewable;
844 fschmid 305
};
838 cbradney 306
 
1065 cbradney 307
struct PDFPresentationData
1429 subik 308
{
1065 cbradney 309
        int pageEffectDuration;
310
        int pageViewDuration;
311
        int effectType;
844 fschmid 312
        int Dm;
313
        int M;
314
        int Di;
315
};
838 cbradney 316
 
1065 cbradney 317
struct LPIData
1429 subik 318
{
844 fschmid 319
        int Frequency;
320
        int Angle;
321
        int SpotFunc;
322
};
838 cbradney 323
 
844 fschmid 324
struct Keys
1429 subik 325
{
1230 cbradney 326
        QString actionName;
1392 cbradney 327
        QString cleanMenuText;
328
        QString keySequence;
329
        int tableRow;
844 fschmid 330
};
838 cbradney 331
 
844 fschmid 332
/** Definition der Farbenlisten */
1065 cbradney 333
typedef QMap<QString,CMYKColor> ColorList;
838 cbradney 334
 
1235 fschmid 335
struct checkerPrefs
336
{
337
        bool ignoreErrors;
338
        bool autoCheck;
339
        bool checkGlyphs;
340
        bool checkOverflow;
341
        bool checkOrphans;
342
        bool checkPictures;
343
        bool checkResolution;
344
        double minResolution;
345
        bool checkTransparency;
1284 fschmid 346
        bool checkAnnotations;
347
        bool checkRasterPDF;
1235 fschmid 348
};
349
 
1065 cbradney 350
struct typoPrefs
844 fschmid 351
{
352
        int valueSuperScript;
353
        int scalingSuperScript;
354
        int valueSubScript;
355
        int scalingSubScript;
356
        int valueSmallCaps;
357
        int autoLineSpacing;
2163 fschmid 358
        int valueUnderlinePos;
359
        int valueUnderlineWidth;
360
        int valueStrikeThruPos;
361
        int valueStrikeThruWidth;
844 fschmid 362
        double valueBaseGrid;
363
        double offsetBaseGrid;
364
};
838 cbradney 365
 
1065 cbradney 366
struct windowPrefs
844 fschmid 367
{
368
        int xPosition;
369
        int yPosition;
370
        int width;
371
        int height;
372
        bool visible;
373
        bool docked;
374
};
375
 
1065 cbradney 376
struct guidesPrefs
879 fschmid 377
{
378
        bool gridShown;
379
        QColor majorColor;
380
        double majorGrid;
381
        double minorGrid;
382
        QColor minorColor;
383
        double guideRad;
384
        int grabRad;
385
        bool framesShown;
386
        bool guidesShown;
387
        bool marginsShown;
388
        bool baseShown;
389
        bool linkShown;
390
        bool showPic;
2353 fschmid 391
        bool showControls;
1187 fschmid 392
        bool before;
879 fschmid 393
        QColor guideColor;
394
        QColor baseColor;
395
        QColor margColor;
396
};
397
 
1194 fschmid 398
struct toolPrefs
399
{
400
        /* Texttool */
401
        QString defFont;
402
        int defSize;
403
        QString dPenText;
404
        QString dStrokeText;
405
        int dCols;
406
        double dGap;
2219 fschmid 407
        QString tabFillChar;
2285 fschmid 408
        double dTabWidth;
1194 fschmid 409
        /* ShapeTool */
410
        QString dPen;
411
        QString dBrush;
412
        int dShade;
413
        int dShade2;
414
        int dLineArt;
415
        double dWidth;
416
        /* Line Tool */
417
        QString dPenLine;
418
        int dShadeLine;
419
        double dWidthLine;
420
        int dLstyleLine;
421
        int dStartArrow;
422
        int dEndArrow;
423
        /* Regular Polygon Tool */
424
        int polyC;
425
        int polyFd;
426
        double polyF;
427
        bool polyS;
428
        double polyR;
429
        /* Picture Tool */
430
        QString dBrushPict;
431
        int shadePict;
432
        double scaleX;
433
        double scaleY;
434
        bool scaleType;
435
        bool aspectRatio;
2025 fschmid 436
        int lowResType;
2040 fschmid 437
        bool useEmbeddedPath;
1194 fschmid 438
        /* Magnifier Tool */
439
        int magMin;
440
        int magMax;
441
        int magStep;
442
};
443
 
1065 cbradney 444
struct ApplicationPrefs
1429 subik 445
{
844 fschmid 446
        SCFonts AvailFonts;
1065 cbradney 447
        QValueList<ArrowDesc> arrowStyles;
448
        ColorList DColors;
844 fschmid 449
        int Wheelval;
450
        int AppFontSize;
451
        QColor DpapColor;
452
        QString GUI;
1065 cbradney 453
        guidesPrefs guidesSettings;
454
        typoPrefs typographicSetttings;
1194 fschmid 455
        toolPrefs toolSettings;
1261 fschmid 456
        QMap<QString, checkerPrefs> checkerProfiles;
457
        QString curCheckProfile;
1065 cbradney 458
        int docUnitIndex;
459
        windowPrefs mainToolBarSettings;
460
        windowPrefs pdfToolBarSettings;
461
        windowPrefs mainWinSettings;
1972 craig 462
 
1545 cbradney 463
        PDFOptions PDF_Options;
1649 cbradney 464
        ObjAttrVector defaultItemAttributes;
1701 cbradney 465
        ToCSetupVector defaultToCSetups;
844 fschmid 466
        bool SepalT;
467
        bool SepalN;
468
        int PSize;
469
        bool SaveAtQ;
1065 cbradney 470
        bool marginColored;
844 fschmid 471
        QStringList RecentDocs;
472
        uint RecentDCount;
1065 cbradney 473
        CMSData DCMSset;
1392 cbradney 474
        QMap<QString,Keys> KeyActions;
844 fschmid 475
        QString PrinterName;
476
        QString PrinterFile;
477
        QString PrinterCommand;
1542 cbradney 478
        QString pageSize;
1545 cbradney 479
        int pageOrientation;
480
        double PageWidth;
481
        double PageHeight;
844 fschmid 482
        double RandOben;
483
        double RandUnten;
484
        double RandLinks;
485
        double RandRechts;
1545 cbradney 486
        bool FacingPages;
487
        bool LeftPageFirst;
844 fschmid 488
        int MinWordLen;
489
        int HyCount;
490
        QString Language;
491
        QString guiLanguage;
492
        bool Automatic;
493
        bool AutoCheck;
494
        QString DocDir;
495
        QString ProfileDir;
496
        QString ScriptDir;
2093 cbradney 497
        QString documentTemplatesDir;
844 fschmid 498
        QMap<QString,QString> GFontSub;
499
        bool AutoSave;
500
        int AutoSaveTime;
501
        double DisScale;
502
        QString DColorSet;
503
        QStringList CustomColorSets;
504
        bool PrPr_Mode;
505
        bool Gcr_Mode;
506
        bool PrPr_AlphaText;
507
        bool PrPr_AlphaGraphics;
508
        bool PrPr_Transparency;
509
        bool PrPr_C;
510
        bool PrPr_M;
511
        bool PrPr_Y;
512
        bool PrPr_K;
513
        QString gs_exe;
1545 cbradney 514
        bool gs_AntiAliasText;
515
        bool gs_AntiAliasGraphics;
2150 cbradney 516
        QString imageEditorExecutable;
844 fschmid 517
        bool ClipMargin;
518
        bool GCRMode;
519
        QColor STEcolor;
520
        QString STEfont;
521
        double ScratchLeft;
522
        double ScratchRight;
523
        double ScratchTop;
524
        double ScratchBottom;
1468 fschmid 525
        bool askBeforeSubstituite;
2263 fschmid 526
        bool haveStylePreview;
844 fschmid 527
};
528
 
1429 subik 529
struct PrintOptions
844 fschmid 530
{
838 cbradney 531
        QString printer;
532
        QString filename;
533
        bool toFile;
534
        bool useAltPrintCommand;
535
        QString printerCommand;
536
        int PSLevel;
537
        bool outputSeparations;
538
        QString separationName;
539
        bool useColor;
540
        bool mirrorH;
541
        bool mirrorV;
542
        bool useICC;
543
        bool doGCR;
1861 fschmid 544
        bool setDevParam;
838 cbradney 545
        int copies;
546
        std::vector<int> pageNumbers;
547
        QString printerOptions;
548
};
549
 
844 fschmid 550
typedef QMap<QString,QString> ProfilesL;
1065 cbradney 551
typedef QValueVector<SingleLine> multiLine;
1229 fschmid 552
typedef QMap<int, int> errorCodes;
1460 cbradney 553
 
1065 cbradney 554
enum AppMode
555
{
2603 cbradney 556
        modeNormal,
557
        modeDrawShapes,
558
        modeStoryEditor,
559
        modeDrawPicture,
560
        modeDrawText,
561
        modeMagnifier,
562
        modeEdit,
563
        modeDrawLine,
564
        modeRotation,
565
        modeLinkFrames,
566
        modeUnlinkFrames,
567
        modeDrawRegularPolygon,
568
        modeDrawBezierLine,
569
        modeInsertPDFButton,
570
        modeInsertPDFTextfield,
571
        modeInsertPDFCheckbox,
572
        modeInsertPDFCombobox,
573
        modeInsertPDFListbox,
574
        modeInsertPDFTextAnnotation,
575
        modeInsertPDFLinkAnnotation,
576
        modeDrawFreehandLine,
577
        modeDrawTable,
578
        modePanning,
579
        modeMeasurementTool,
580
        modeEditGradientVectors,
581
        modeEyeDropper,
582
        modeCopyProperties
1065 cbradney 583
};
844 fschmid 584
 
2355 cbradney 585
struct AlignObjs
586
{
587
        int ObjNr;
588
        int Group;
589
        double x1;
590
        double y1;
591
        double x2;
592
        double y2;
2380 cbradney 593
        double width;
594
        double height;
2355 cbradney 595
        QPtrList<PageItem> Objects;
596
};
1641 cbradney 597
 
838 cbradney 598
#endif