Subversion Repositories Scribus

Rev

Rev 2273 | Rev 2285 | 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;
2282 fschmid 201
        QValueList<PageItem::TabRecord> TabValues;
844 fschmid 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;
2282 fschmid 238
        QValueList<PageItem::TabRecord> TabValues;
844 fschmid 239
        bool Drop;
240
        int DropLin;
241
        int FontEffect;
242
        QString FColor;
243
        int FShade;
244
        QString SColor;
245
        int SShade;
246
        bool BaseAdj;
2273 fschmid 247
        int txtShadowX;
248
        int txtShadowY;
249
        int txtOutline;
250
        int txtUnderPos;
251
        int txtUnderWidth;
252
        int txtStrikePos;
253
        int txtStrikeWidth;
844 fschmid 254
};
838 cbradney 255
 
1065 cbradney 256
struct CMSData
844 fschmid 257
{
258
        QString DefaultMonitorProfile;
259
        QString DefaultPrinterProfile;
260
        QString DefaultInputProfile;
261
        QString DefaultInputProfile2;
262
        int ComponentsInput2;
263
        int ComponentsPrinter;
264
        int DefaultIntentMonitor;
265
        int DefaultIntentMonitor2;
266
        int DefaultIntentPrinter;
267
        bool CMSinUse;
268
        bool SoftProofOn;
269
        bool GamutCheck;
270
        bool BlackPoint;
271
} ;
838 cbradney 272
 
1065 cbradney 273
struct SingleLine
1429 subik 274
{
844 fschmid 275
        double Width;
276
        int Dash;
277
        int LineEnd;
278
        int LineJoin;
279
        QString Color;
280
        int Shade;
281
};
838 cbradney 282
 
1065 cbradney 283
struct ArrowDesc
844 fschmid 284
{
285
        QString name;
286
        bool userArrow;
287
        FPointArray points;
288
};
838 cbradney 289
 
844 fschmid 290
struct Layer
1429 subik 291
{
844 fschmid 292
        int LNr;
293
        int Level;
294
        QString Name;
1065 cbradney 295
        bool isPrintable;
296
        bool isViewable;
844 fschmid 297
};
838 cbradney 298
 
1065 cbradney 299
struct PDFPresentationData
1429 subik 300
{
1065 cbradney 301
        int pageEffectDuration;
302
        int pageViewDuration;
303
        int effectType;
844 fschmid 304
        int Dm;
305
        int M;
306
        int Di;
307
};
838 cbradney 308
 
1065 cbradney 309
struct LPIData
1429 subik 310
{
844 fschmid 311
        int Frequency;
312
        int Angle;
313
        int SpotFunc;
314
};
838 cbradney 315
 
844 fschmid 316
struct Keys
1429 subik 317
{
1230 cbradney 318
        QString actionName;
1392 cbradney 319
        QString cleanMenuText;
320
        QString keySequence;
321
        int tableRow;
844 fschmid 322
};
838 cbradney 323
 
844 fschmid 324
/** Definition der Farbenlisten */
1065 cbradney 325
typedef QMap<QString,CMYKColor> ColorList;
838 cbradney 326
 
1235 fschmid 327
struct checkerPrefs
328
{
329
        bool ignoreErrors;
330
        bool autoCheck;
331
        bool checkGlyphs;
332
        bool checkOverflow;
333
        bool checkOrphans;
334
        bool checkPictures;
335
        bool checkResolution;
336
        double minResolution;
337
        bool checkTransparency;
1284 fschmid 338
        bool checkAnnotations;
339
        bool checkRasterPDF;
1235 fschmid 340
};
341
 
1065 cbradney 342
struct typoPrefs
844 fschmid 343
{
344
        int valueSuperScript;
345
        int scalingSuperScript;
346
        int valueSubScript;
347
        int scalingSubScript;
348
        int valueSmallCaps;
349
        int autoLineSpacing;
2163 fschmid 350
        int valueUnderlinePos;
351
        int valueUnderlineWidth;
352
        int valueStrikeThruPos;
353
        int valueStrikeThruWidth;
844 fschmid 354
        double valueBaseGrid;
355
        double offsetBaseGrid;
356
};
838 cbradney 357
 
1065 cbradney 358
struct windowPrefs
844 fschmid 359
{
360
        int xPosition;
361
        int yPosition;
362
        int width;
363
        int height;
364
        bool visible;
365
        bool docked;
366
};
367
 
1065 cbradney 368
struct guidesPrefs
879 fschmid 369
{
370
        bool gridShown;
371
        QColor majorColor;
372
        double majorGrid;
373
        double minorGrid;
374
        QColor minorColor;
375
        double guideRad;
376
        int grabRad;
377
        bool framesShown;
378
        bool guidesShown;
379
        bool marginsShown;
380
        bool baseShown;
381
        bool linkShown;
382
        bool showPic;
1187 fschmid 383
        bool before;
879 fschmid 384
        QColor guideColor;
385
        QColor baseColor;
386
        QColor margColor;
387
};
388
 
1194 fschmid 389
struct toolPrefs
390
{
391
        /* Texttool */
392
        QString defFont;
393
        int defSize;
394
        QString dPenText;
395
        QString dStrokeText;
396
        int dCols;
397
        double dGap;
2219 fschmid 398
        QString tabFillChar;
1194 fschmid 399
        /* ShapeTool */
400
        QString dPen;
401
        QString dBrush;
402
        int dShade;
403
        int dShade2;
404
        int dLineArt;
405
        double dWidth;
406
        /* Line Tool */
407
        QString dPenLine;
408
        int dShadeLine;
409
        double dWidthLine;
410
        int dLstyleLine;
411
        int dStartArrow;
412
        int dEndArrow;
413
        /* Regular Polygon Tool */
414
        int polyC;
415
        int polyFd;
416
        double polyF;
417
        bool polyS;
418
        double polyR;
419
        /* Picture Tool */
420
        QString dBrushPict;
421
        int shadePict;
422
        double scaleX;
423
        double scaleY;
424
        bool scaleType;
425
        bool aspectRatio;
2025 fschmid 426
        int lowResType;
2040 fschmid 427
        bool useEmbeddedPath;
1194 fschmid 428
        /* Magnifier Tool */
429
        int magMin;
430
        int magMax;
431
        int magStep;
432
};
433
 
1065 cbradney 434
struct ApplicationPrefs
1429 subik 435
{
844 fschmid 436
        SCFonts AvailFonts;
1065 cbradney 437
        QValueList<ArrowDesc> arrowStyles;
438
        ColorList DColors;
844 fschmid 439
        int Wheelval;
440
        int AppFontSize;
441
        QColor DpapColor;
442
        QString GUI;
1065 cbradney 443
        guidesPrefs guidesSettings;
444
        typoPrefs typographicSetttings;
1194 fschmid 445
        toolPrefs toolSettings;
1261 fschmid 446
        QMap<QString, checkerPrefs> checkerProfiles;
447
        QString curCheckProfile;
1065 cbradney 448
        int docUnitIndex;
449
        windowPrefs mainToolBarSettings;
450
        windowPrefs pdfToolBarSettings;
451
        windowPrefs mainWinSettings;
1972 craig 452
 
1545 cbradney 453
        PDFOptions PDF_Options;
1649 cbradney 454
        ObjAttrVector defaultItemAttributes;
1701 cbradney 455
        ToCSetupVector defaultToCSetups;
844 fschmid 456
        bool SepalT;
457
        bool SepalN;
458
        int PSize;
459
        bool SaveAtQ;
1065 cbradney 460
        bool marginColored;
844 fschmid 461
        QStringList RecentDocs;
462
        uint RecentDCount;
1065 cbradney 463
        CMSData DCMSset;
1392 cbradney 464
        QMap<QString,Keys> KeyActions;
844 fschmid 465
        QString PrinterName;
466
        QString PrinterFile;
467
        QString PrinterCommand;
1542 cbradney 468
        QString pageSize;
1545 cbradney 469
        int pageOrientation;
470
        double PageWidth;
471
        double PageHeight;
844 fschmid 472
        double RandOben;
473
        double RandUnten;
474
        double RandLinks;
475
        double RandRechts;
1545 cbradney 476
        bool FacingPages;
477
        bool LeftPageFirst;
844 fschmid 478
        int MinWordLen;
479
        int HyCount;
480
        QString Language;
481
        QString guiLanguage;
482
        bool Automatic;
483
        bool AutoCheck;
484
        QString DocDir;
485
        QString ProfileDir;
486
        QString ScriptDir;
2093 cbradney 487
        QString documentTemplatesDir;
844 fschmid 488
        QMap<QString,QString> GFontSub;
489
        bool AutoSave;
490
        int AutoSaveTime;
491
        double DisScale;
492
        QString DColorSet;
493
        QStringList CustomColorSets;
494
        bool PrPr_Mode;
495
        bool Gcr_Mode;
496
        bool PrPr_AlphaText;
497
        bool PrPr_AlphaGraphics;
498
        bool PrPr_Transparency;
499
        bool PrPr_C;
500
        bool PrPr_M;
501
        bool PrPr_Y;
502
        bool PrPr_K;
503
        QString gs_exe;
1545 cbradney 504
        bool gs_AntiAliasText;
505
        bool gs_AntiAliasGraphics;
2150 cbradney 506
        QString imageEditorExecutable;
844 fschmid 507
        bool ClipMargin;
508
        bool GCRMode;
509
        QColor STEcolor;
510
        QString STEfont;
511
        double ScratchLeft;
512
        double ScratchRight;
513
        double ScratchTop;
514
        double ScratchBottom;
1468 fschmid 515
        bool askBeforeSubstituite;
2263 fschmid 516
        bool haveStylePreview;
844 fschmid 517
};
518
 
1429 subik 519
struct PrintOptions
844 fschmid 520
{
838 cbradney 521
        QString printer;
522
        QString filename;
523
        bool toFile;
524
        bool useAltPrintCommand;
525
        QString printerCommand;
526
        int PSLevel;
527
        bool outputSeparations;
528
        QString separationName;
529
        bool useColor;
530
        bool mirrorH;
531
        bool mirrorV;
532
        bool useICC;
533
        bool doGCR;
1861 fschmid 534
        bool setDevParam;
838 cbradney 535
        int copies;
536
        std::vector<int> pageNumbers;
537
        QString printerOptions;
538
};
539
 
844 fschmid 540
typedef QMap<QString,QString> ProfilesL;
1065 cbradney 541
typedef QValueVector<SingleLine> multiLine;
1229 fschmid 542
typedef QMap<int, int> errorCodes;
1460 cbradney 543
 
1065 cbradney 544
enum AppMode
545
{
546
        NormalMode,
547
        DrawShapes,
548
        StartStoryEditor,
549
        DrawPicture,
550
        DrawText,
551
        Magnifier,
552
        EditMode,
553
        DrawLine,
554
        Rotation,
555
        LinkFrames,
556
        UnlinkFrames,
557
        DrawRegularPolygon,
558
        DrawBezierLine,
559
        InsertPDFButton,
560
        InsertPDFTextfield,
561
        InsertPDFCheckbox,
562
        InsertPDFCombobox,
563
        InsertPDFListbox,
564
        InsertPDFTextAnnotation,
565
        InsertPDFLinkAnnotation,
566
        DrawFreehandLine,
567
        DrawTable,
568
        PanningMode,
569
        MeasurementTool,
1814 cbradney 570
        EditGradientVectors,
1840 fschmid 571
        EyeDropper,
572
        CopyProperties
1065 cbradney 573
};
844 fschmid 574
 
1641 cbradney 575
 
576
 
838 cbradney 577
#endif