Subversion Repositories Scribus

Rev

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