Subversion Repositories Scribus

Rev

Rev 1187 | Rev 1208 | 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>
10
#include <qvaluevector.h> 
11
#include <qstring.h>
839 cbradney 12
#include <vector>
838 cbradney 13
 
14
#include "scfonts.h"
15
#include "cmykcolor.h"
16
#include "fpointarray.h"
17
#include "vgradient.h"
18
#include "pageitem.h"
19
 
20
/* Struktur fuer Pageitem Text */
1065 cbradney 21
struct ScText
844 fschmid 22
{
1065 cbradney 23
        bool cselect;
844 fschmid 24
        int csize;
25
        int cshade;
26
        int cshade2;
27
        int cstyle;
28
        int cab;
1065 cbradney 29
        int cscale;
30
        double cextra;
31
        double xp;
32
        double yp;
844 fschmid 33
        int PtransX;
34
        int PtransY;
35
        double PRot;
1065 cbradney 36
        QString cfont;
37
        QString ccolor;
38
        QString cstroke;
39
        QString ch;
844 fschmid 40
};
838 cbradney 41
 
1065 cbradney 42
struct CopyPasteBuffer
844 fschmid 43
{
44
        int PType;
45
        double Xpos;
46
        double Ypos;
47
        double Width;
48
        double Height;
49
        double RadRect;
50
        int FrameType;
51
        bool ClipEdited;
52
        double Pwidth;
53
        QString Pcolor;
54
        QString Pcolor2;
55
        int Shade;
56
        int Shade2;
57
        QString GrColor;
58
        QString GrColor2;
59
        int GrShade;
60
        int GrShade2;
61
        VGradient fill_gradient;
62
        int GrType;
63
        double GrStartX;
64
        double GrStartY;
65
        double GrEndX;
66
        double GrEndY;
67
        QString TxtStroke;
68
        QString TxtFill;
69
        int ShTxtStroke;
70
        int ShTxtFill;
71
        int TxtScale;
72
        int TxTStyle;
73
        double Rot;
74
        int PLineArt;
75
        int PLineJoin;
76
        int PLineEnd;
77
        double LineSp;
78
        double ExtraV;
79
        double LocalScX;
80
        double LocalScY;
81
        double LocalX;
82
        double LocalY;
83
        bool PicArt;
84
        int flippedH;
85
        int flippedV;
86
        double BBoxX;
87
        double BBoxH;
88
        bool isPrintable;
89
        bool isBookmark;
90
        int BMnr;
91
        bool isAnnotation;
92
        int AnType;
93
        QString AnAction;
94
        QString An_E_act;
95
        QString An_X_act;
96
        QString An_D_act;
97
        QString An_Fo_act;
98
        QString An_Bl_act;
99
        QString An_K_act;
100
        QString An_F_act;
101
        QString An_V_act;
102
        QString An_C_act;
103
        QString An_Extern;
104
        int AnZiel;
105
        int AnActType;
106
        QString AnName;
107
        QString AnToolTip;
108
        QString AnRollOver;
109
        QString AnDown;
110
        QString AnBColor;
111
        int AnBwid;
112
        int AnBsty;
113
        int AnFeed;
114
        int AnFlag;
115
        int AnMaxChar;
116
        int AnVis;
117
        int AnFont;
118
        int AnChkStil;
119
        int AnFormat;
120
        bool AnIsChk;
121
        bool AnAAact;
122
        bool AnHTML;
123
        bool AnUseIcons;
124
        int AnIPlace;
125
        int AnScaleW;
126
        double Extra;
127
        double TExtra;
128
        double BExtra;
129
        double RExtra;
130
        QString Pfile;
131
        QString Pfile2;
132
        QString Pfile3;
133
        QString IProfile;
134
        QString EmProfile;
135
        int IRender;
136
        bool UseEmbedded;
1065 cbradney 137
        QString itemText;
844 fschmid 138
        QPointArray Clip;
139
        FPointArray PoLine;
140
        FPointArray ContourLine;
141
        bool PoShow;
142
        double BaseOffs;
143
        bool Textflow;
144
        bool Textflow2;
145
        bool UseContour;
1065 cbradney 146
        int textAlignment;
844 fschmid 147
        QString IFont;
148
        int ISize;
149
        QValueStack<int> Groups;
150
        int LayerNr;
151
        bool ScaleType;
152
        bool AspectRatio;
153
        bool Locked;
154
        bool LockRes;
155
        double Transparency;
156
        double TranspStroke;
157
        bool Reverse;
158
        bool InvPict;
159
        QString NamedLStyle;
160
        QString Language;
161
        QString guiLanguage;
162
        int Cols;
163
        double ColGap;
164
        QValueList<double> TabValues;
165
        QValueList<double> DashValues;
166
        double DashOffset;
167
        bool isTableItem;
168
        bool TopLine;
169
        bool LeftLine;
170
        bool RightLine;
171
        bool BottomLine;
172
        int LeftLinkID;
173
        int RightLinkID;
174
        int TopLinkID;
175
        int BottomLinkID;
176
        int startArrowIndex;
177
        int endArrowIndex;
178
};
838 cbradney 179
 
1065 cbradney 180
  /** Pagemargins */
181
struct MarginStruct
844 fschmid 182
{
183
        double Top;
184
        double Left;
185
        double Right;
186
        double Bottom;
187
};
838 cbradney 188
 
1065 cbradney 189
struct ParagraphStyle
844 fschmid 190
{
191
        QString Vname;
192
        double LineSpa;
1065 cbradney 193
        int textAlignment;
844 fschmid 194
        double Indent;
195
        double First;
1065 cbradney 196
        double gapBefore;
197
        double gapAfter;
844 fschmid 198
        QString Font;
199
        int FontSize;
200
        QValueList<double> TabValues;
201
        bool Drop;
202
        int DropLin;
203
        int FontEffect;
204
        QString FColor;
205
        int FShade;
206
        QString SColor;
207
        int SShade;
208
        bool BaseAdj;
209
};
838 cbradney 210
 
1065 cbradney 211
struct CMSData
844 fschmid 212
{
213
        QString DefaultMonitorProfile;
214
        QString DefaultPrinterProfile;
215
        QString DefaultInputProfile;
216
        QString DefaultInputProfile2;
217
        int ComponentsInput2;
218
        int ComponentsPrinter;
219
        int DefaultIntentMonitor;
220
        int DefaultIntentMonitor2;
221
        int DefaultIntentPrinter;
222
        bool CMSinUse;
223
        bool SoftProofOn;
224
        bool GamutCheck;
225
        bool BlackPoint;
226
} ;
838 cbradney 227
 
844 fschmid 228
struct UndoData
229
{
230
        PageItem* Item;
231
        uint PageNr;
232
        uint ItemNr;
233
        double Xpos;
234
        double Ypos;
235
        double Width;
236
        double Height;
237
        double Rot;
238
        double Gx;
239
        double Gy;
240
        double Gw;
241
        double Gh;
242
        int UnCode;
243
};
838 cbradney 244
 
1065 cbradney 245
struct SingleLine
844 fschmid 246
{
247
        double Width;
248
        int Dash;
249
        int LineEnd;
250
        int LineJoin;
251
        QString Color;
252
        int Shade;
253
};
838 cbradney 254
 
1065 cbradney 255
struct ArrowDesc
844 fschmid 256
{
257
        QString name;
258
        bool userArrow;
259
        FPointArray points;
260
};
838 cbradney 261
 
844 fschmid 262
struct Layer
263
{
264
        int LNr;
265
        int Level;
266
        QString Name;
1065 cbradney 267
        bool isPrintable;
268
        bool isViewable;
844 fschmid 269
};
838 cbradney 270
 
1065 cbradney 271
struct PDFPresentationData
844 fschmid 272
{
1065 cbradney 273
        int pageEffectDuration;
274
        int pageViewDuration;
275
        int effectType;
844 fschmid 276
        int Dm;
277
        int M;
278
        int Di;
279
};
838 cbradney 280
 
1065 cbradney 281
struct LPIData
844 fschmid 282
{
283
        int Frequency;
284
        int Angle;
285
        int SpotFunc;
286
};
838 cbradney 287
 
1065 cbradney 288
struct PDFOptions
844 fschmid 289
{
290
        bool Thumbnails;
291
        bool Articles;
292
        bool Compress;
293
        int CompressMethod;
294
        int Quality;
295
        bool RecalcPic;
296
        bool Bookmarks;
297
        int PicRes;
298
        int Version;
299
        int Resolution;
300
        int Binding;
301
        QValueList<QString> EmbedList;
302
        QValueList<QString> SubsetList;
303
        bool MirrorH;
304
        bool MirrorV;
305
        int RotateDeg;
306
        bool PresentMode;
1065 cbradney 307
        QValueList<PDFPresentationData> PresentVals;
844 fschmid 308
        QString Datei;
309
        bool UseRGB;
310
        bool UseProfiles;
311
        bool UseProfiles2;
312
        bool UseLPI;
1065 cbradney 313
        QMap<QString,LPIData> LPISettings;
844 fschmid 314
        QString SolidProf;
315
        int SComp;
316
        QString ImageProf;
317
        bool EmbeddedI;
318
        int Intent2;
319
        QString PrintProf;
320
        QString Info;
321
        int Intent;
322
        double BleedTop;
323
        double BleedLeft;
324
        double BleedRight;
325
        double BleedBottom;
326
        bool Encrypt;
327
        QString PassOwner;
328
        QString PassUser;
329
        int Permissions;
330
};
838 cbradney 331
 
844 fschmid 332
struct Keys
333
{
334
        QString Name;
335
        int MenuID;
336
        int KeyID;
337
};
838 cbradney 338
 
844 fschmid 339
/** Definition der Farbenlisten */
1065 cbradney 340
typedef QMap<QString,CMYKColor> ColorList;
838 cbradney 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;
350
        double valueBaseGrid;
351
        double offsetBaseGrid;
352
};
838 cbradney 353
 
1065 cbradney 354
struct windowPrefs
844 fschmid 355
{
356
        int xPosition;
357
        int yPosition;
358
        int width;
359
        int height;
360
        bool visible;
361
        bool docked;
362
};
363
 
1065 cbradney 364
struct guidesPrefs
879 fschmid 365
{
366
        bool gridShown;
367
        QColor majorColor;
368
        double majorGrid;
369
        double minorGrid;
370
        QColor minorColor;
371
        double guideRad;
372
        int grabRad;
373
        bool framesShown;
374
        bool guidesShown;
375
        bool marginsShown;
376
        bool baseShown;
377
        bool linkShown;
378
        bool showPic;
1187 fschmid 379
        bool before;
879 fschmid 380
        QColor guideColor;
381
        QColor baseColor;
382
        QColor margColor;
383
};
384
 
1194 fschmid 385
struct toolPrefs
386
{
387
        /* Texttool */
388
        QString defFont;
389
        int defSize;
390
        QString dPenText;
391
        QString dStrokeText;
392
        int dCols;
393
        double dGap;
394
        /* ShapeTool */
395
        QString dPen;
396
        QString dBrush;
397
        int dShade;
398
        int dShade2;
399
        int dLineArt;
400
        double dWidth;
401
        /* Line Tool */
402
        QString dPenLine;
403
        int dShadeLine;
404
        double dWidthLine;
405
        int dLstyleLine;
406
        int dStartArrow;
407
        int dEndArrow;
408
        /* Regular Polygon Tool */
409
        int polyC;
410
        int polyFd;
411
        double polyF;
412
        bool polyS;
413
        double polyR;
414
        /* Picture Tool */
415
        QString dBrushPict;
416
        int shadePict;
417
        double scaleX;
418
        double scaleY;
419
        bool scaleType;
420
        bool aspectRatio;
421
        /* Magnifier Tool */
422
        int magMin;
423
        int magMax;
424
        int magStep;
425
};
426
 
1065 cbradney 427
struct ApplicationPrefs
844 fschmid 428
{
429
        SCFonts AvailFonts;
1065 cbradney 430
        QValueList<ArrowDesc> arrowStyles;
431
        ColorList DColors;
844 fschmid 432
        int Wheelval;
433
        int AppFontSize;
434
        QColor DpapColor;
435
        QString GUI;
1065 cbradney 436
        guidesPrefs guidesSettings;
437
        typoPrefs typographicSetttings;
1194 fschmid 438
        toolPrefs toolSettings;
1065 cbradney 439
        int docUnitIndex;
440
        windowPrefs mainToolBarSettings;
441
        windowPrefs pdfToolBarSettings;
442
        windowPrefs mPaletteSettings;
443
        windowPrefs measurePalSettings;
444
        windowPrefs treePalSettings;
445
        windowPrefs nodePalSettings;
446
        windowPrefs mainWinSettings;
447
        windowPrefs scrapPalSettings;
448
        windowPrefs layerPalSettings;
449
        windowPrefs pagePalSettings;
450
        windowPrefs bookmPalSettings;
844 fschmid 451
        bool SepalT;
452
        bool SepalN;
453
        int PSize;
454
        bool SaveAtQ;
1065 cbradney 455
        bool marginColored;
844 fschmid 456
        QStringList RecentDocs;
457
        uint RecentDCount;
1065 cbradney 458
        CMSData DCMSset;
844 fschmid 459
        QMap<int,Keys> KeyActions;
460
        QString PrinterName;
461
        QString PrinterFile;
462
        QString PrinterCommand;
463
        int PageFormat;
464
        int Ausrichtung;
465
        double PageBreite;
466
        double PageHoehe;
467
        double RandOben;
468
        double RandUnten;
469
        double RandLinks;
470
        double RandRechts;
471
        bool DoppelSeiten;
472
        bool ErsteLinks;
473
        int MinWordLen;
474
        int HyCount;
475
        QString Language;
476
        QString guiLanguage;
477
        bool Automatic;
478
        bool AutoCheck;
479
        QString DocDir;
480
        QString ProfileDir;
481
        QString ScriptDir;
482
        QString TemplateDir;
483
        QMap<QString,QString> GFontSub;
484
        bool AutoSave;
485
        int AutoSaveTime;
486
        double DisScale;
487
        QString DColorSet;
488
        QStringList CustomColorSets;
489
        bool PrPr_Mode;
490
        bool Gcr_Mode;
491
        bool PrPr_AlphaText;
492
        bool PrPr_AlphaGraphics;
493
        bool PrPr_Transparency;
494
        bool PrPr_C;
495
        bool PrPr_M;
496
        bool PrPr_Y;
497
        bool PrPr_K;
498
        QString gs_exe;
499
        bool gs_antiText;
500
        bool gs_antiGraph;
501
        QString gimp_exe;
502
        bool ClipMargin;
503
        bool GCRMode;
504
        QColor STEcolor;
505
        QString STEfont;
506
        double ScratchLeft;
507
        double ScratchRight;
508
        double ScratchTop;
509
        double ScratchBottom;
510
};
511
 
512
struct PrintOptions
513
{
838 cbradney 514
        QString printer;
515
        QString filename;
516
        bool toFile;
517
        bool useAltPrintCommand;
518
        QString printerCommand;
519
        int PSLevel;
520
        bool outputSeparations;
521
        QString separationName;
522
        bool useColor;
523
        bool mirrorH;
524
        bool mirrorV;
525
        bool useICC;
526
        bool doGCR;
527
        int copies;
528
        std::vector<int> pageNumbers;
529
        QString printerOptions;
530
};
531
 
844 fschmid 532
typedef QMap<QString,QString> ProfilesL;
1065 cbradney 533
typedef QValueVector<SingleLine> multiLine;
534
enum AppMode
535
{
536
        NormalMode,
537
        DrawShapes,
538
        StartStoryEditor,
539
        DrawPicture,
540
        DrawText,
541
        Magnifier,
542
        EditMode,
543
        DrawLine,
544
        Rotation,
545
        LinkFrames,
546
        UnlinkFrames,
547
        DrawRegularPolygon,
548
        DrawBezierLine,
549
        InsertPDFButton,
550
        InsertPDFTextfield,
551
        InsertPDFCheckbox,
552
        InsertPDFCombobox,
553
        InsertPDFListbox,
554
        InsertPDFTextAnnotation,
555
        InsertPDFLinkAnnotation,
556
        DrawFreehandLine,
557
        DrawTable,
558
        PanningMode,
559
        MeasurementTool,
560
        EditGradientVectors
561
};
844 fschmid 562
 
838 cbradney 563
#endif
564