Subversion Repositories Scribus

Rev

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