Subversion Repositories Scribus

Rev

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