Subversion Repositories Scribus

Rev

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