Subversion Repositories Scribus

Rev

Rev 387 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
3 paul 1
#include "mpalette.h"
2
#include "mpalette.moc"
3
#include <cmath>
4
#include <qpoint.h>
5
#include <qwmatrix.h>
68 Franz 6
#include <qmessagebox.h>
7
#include "query.h"
8
#include "scribusview.h"
121 Franz 9
#include "autoform.h"
140 Franz 10
#include "tabmanager.h"
173 Franz 11
#include "scribus.h"
3 paul 12
extern QPixmap loadIcon(QString nam);
80 Franz 13
extern double UmReFaktor;
68 Franz 14
extern ProfilesL InputProfiles;
173 Franz 15
extern ScribusApp* ScApp;
3 paul 16
 
265 Franz 17
LabelButton::LabelButton(QWidget* parent, QString text1, QString text2) : QLabel(parent)
18
{
19
        state = true;
20
        setTexts(text1, text2);
21
}
22
 
23
void LabelButton::setTexts(QString text1, QString text2)
24
{
25
        TextA = text1;
26
        TextB = text2;
27
        if (state)
28
                setText(TextA);
29
        else
30
                setText(TextB);
31
}
32
 
33
bool LabelButton::getState()
34
{
35
        return state;
36
}
37
 
266 Franz 38
void LabelButton::enterEvent(QEvent*)
39
{
40
        setFrameStyle( QFrame::Panel | QFrame::Raised );
41
        setLineWidth( 2 );
42
}
43
 
44
void LabelButton::leaveEvent(QEvent*)
45
{
46
        setFrameStyle( QFrame::Panel | QFrame::Plain );
47
        setLineWidth( 0 );
48
}
49
 
50
void LabelButton::mousePressEvent(QMouseEvent*)
51
{
52
        setFrameStyle( QFrame::Panel | QFrame::Sunken );
53
        setLineWidth( 2 );
54
}
55
 
265 Franz 56
void LabelButton::mouseReleaseEvent(QMouseEvent*)
57
{
58
        state = !state;
59
        if (state)
60
                setText(TextA);
61
        else
62
                setText(TextB);
266 Franz 63
        setFrameStyle( QFrame::Panel | QFrame::Raised );
64
        setLineWidth( 2 );
265 Franz 65
        emit clicked();
66
}
67
 
68 Franz 68
NameWidget::NameWidget(QWidget* parent) : QLineEdit(parent)
217 Franz 69
{}
68 Franz 70
 
332 Franz 71
void NameWidget::focusOutEvent(QFocusEvent *e)
68 Franz 72
{
73
        emit Leaved();
332 Franz 74
        QLineEdit::focusOutEvent(e);
68 Franz 75
}
76
 
91 Franz 77
Mpalette::Mpalette( QWidget* parent, preV *Prefs) : QDialog( parent, "Mdouble", false, 0)
3 paul 78
{
217 Franz 79
        setCaption( tr( "Properties" ) );
80
        HaveDoc = false;
81
        HaveItem = false;
215 Franz 82
        RoVal = 0;
83
        Umrech = UmReFaktor;
217 Franz 84
        setIcon( loadIcon("AppIcon.png") );
85
        setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)1, (QSizePolicy::SizeType)1, 0, 0, sizePolicy().hasHeightForWidth() ) );
3 paul 86
 
217 Franz 87
        MpalLayout = new QVBoxLayout( this, 5, 1, "MpalLayout");
88
        setOrientation(Qt::Vertical);
89
        QFont f(font());
90
        f.setPointSize(f.pointSize()-1);
91
        setFont(f);
332 Franz 92
 
93
        proppalButtonGrp = new QButtonGroup( QString::null, this, "proppalButtonGrp" );
94
        proppalButtonGrp->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)5, 0, 0, proppalButtonGrp->sizePolicy().hasHeightForWidth() ) );
95
        proppalButtonGrp->setFrameShape( QButtonGroup::NoFrame );
96
        proppalButtonGrp->setExclusive( true );
97
        proppalButtonGrp->setColumnLayout(0, Qt::Vertical );
98
        proppalButtonGrp->layout()->setSpacing( 0 );
99
        proppalButtonGrp->layout()->setMargin( 0 );
100
        proppalButtonGrpLayout = new QGridLayout( proppalButtonGrp->layout() );
101
        proppalButtonGrpLayout->setAlignment( Qt::AlignTop );
102
 
103
        SGeom = new QToolButton( proppalButtonGrp, "toolButton24" );
217 Franz 104
        SGeom->setToggleButton( true );
105
        SGeom->setOn( true );
106
        SGeom->setFont(f);
348 Franz 107
        SGeom->setText( tr( "X, Y, &Z" ) );
332 Franz 108
        proppalButtonGrpLayout->addWidget( SGeom, 0, 0 );
109
 
110
        SShape = new QToolButton( proppalButtonGrp, "toolButton25" );
217 Franz 111
        SShape->setToggleButton( true );
112
        SShape->setFont(f);
348 Franz 113
        SShape->setText( tr( "&Shape" ) );
332 Franz 114
        proppalButtonGrpLayout->addWidget( SShape, 0, 1 );
115
 
116
        SText = new QToolButton( proppalButtonGrp, "toolButton26" );
217 Franz 117
        SText->setToggleButton( true );
118
        SText->setFont(f);
348 Franz 119
        SText->setText( tr( "&Text" ) );
332 Franz 120
        proppalButtonGrpLayout->addWidget( SText, 1, 0 );
121
 
122
        SImage = new QToolButton( proppalButtonGrp, "toolButton27" );
217 Franz 123
        SImage->setToggleButton( true );
124
        SImage->setFont(f);
348 Franz 125
        SImage->setText( tr( "&Image" ) );
332 Franz 126
        proppalButtonGrpLayout->addWidget( SImage, 1, 1 );
127
 
128
        SLine = new QToolButton( proppalButtonGrp, "toolButton28" );
217 Franz 129
        SLine->setToggleButton( true );
130
        SLine->setFont(f);
348 Franz 131
        SLine->setText( tr( "&Line" ) );
332 Franz 132
        proppalButtonGrpLayout->addWidget( SLine, 2, 0 );
133
 
134
        SColor = new QToolButton( proppalButtonGrp, "toolButton29" );
217 Franz 135
        SColor->setToggleButton( true );
136
        SColor->setFont(f);
348 Franz 137
        SColor->setText( tr( "&Colors" ) );
332 Franz 138
        proppalButtonGrpLayout->addWidget( SColor, 2, 1 );
139
 
140
        MpalLayout->addWidget( proppalButtonGrp );
217 Franz 141
        TabStack = new QWidgetStack( this, "TabStack" );
142
        TabStack->setFrameShape( QWidgetStack::NoFrame );
3 paul 143
 
217 Franz 144
        page = new QWidget( TabStack, "page" );
145
        pageLayout = new QVBoxLayout( page, 0, 5, "pageLayout");
3 paul 146
 
332 Franz 147
        NameGroup = new QGroupBox( tr( "Name" ), page, "NameGroup" );
217 Franz 148
        NameGroup->setColumnLayout(0, Qt::Vertical );
149
        NameGroup->layout()->setSpacing( 4 );
150
        NameGroup->layout()->setMargin( 5 );
151
        NameGroupLayout = new QHBoxLayout( NameGroup->layout() );
152
        NameGroupLayout->setAlignment( Qt::AlignTop );
215 Franz 153
        NameEdit = new NameWidget(NameGroup);
217 Franz 154
        NameGroupLayout->addWidget( NameEdit );
155
        pageLayout->addWidget( NameGroup );
68 Franz 156
 
332 Franz 157
        GeoGroup = new QGroupBox( tr( "Geometry" ), page, "GeoGroup" );
217 Franz 158
        GeoGroup->setColumnLayout(0, Qt::Vertical );
159
        GeoGroup->layout()->setSpacing( 4 );
160
        GeoGroup->layout()->setMargin( 5 );
161
        GeoGroupLayout = new QGridLayout( GeoGroup->layout() );
162
        GeoGroupLayout->setAlignment( Qt::AlignTop );
332 Franz 163
 
333 Franz 164
        Xpos = new MSpinBox( -3000, 3000, GeoGroup, 2 );
217 Franz 165
        Xpos->setSuffix( tr( " pt" ) );
166
        GeoGroupLayout->addWidget( Xpos, 0, 1 );
333 Franz 167
        Ypos = new MSpinBox( -3000, 3000, GeoGroup, 2 );
217 Franz 168
        Ypos->setSuffix( tr( " pt" ) );
169
        GeoGroupLayout->addWidget( Ypos, 1, 1 );
170
        Width = new MSpinBox( GeoGroup, 2 );
171
        Width->setSuffix( tr( " pt" ) );
172
        GeoGroupLayout->addWidget( Width, 2, 1 );
173
        Height = new MSpinBox( GeoGroup, 2 );
174
        Height->setSuffix( tr( " pt" ) );
175
        GeoGroupLayout->addWidget( Height, 3, 1 );
348 Franz 176
 
177
        xposLabel = new QLabel( Xpos, tr( "&X-Pos:" ), GeoGroup, "xposLabel" );
178
        GeoGroupLayout->addWidget( xposLabel, 0, 0 );
179
        yposLabel = new QLabel( Ypos, tr( "&Y-Pos:"), GeoGroup, "yposLabel" );
180
        GeoGroupLayout->addWidget( yposLabel, 1, 0 );
181
        widthLabel = new QLabel( Width, tr( "&Width:" ), GeoGroup, "widthLabel" );
182
        GeoGroupLayout->addWidget( widthLabel, 2, 0 );
183
        heightLabel = new QLabel( Height, tr( "&Height:" ), GeoGroup, "heightLabel" );
184
        GeoGroupLayout->addWidget( heightLabel, 3, 0 );
185
 
238 Franz 186
        Kette2 = new LinkButton( GeoGroup );
187
        Kette2->setToggleButton( true );
188
        Kette2->setAutoRaise( true );
189
        Kette2->setMaximumSize( QSize( 15, 32767 ) );
190
        GeoGroupLayout->addMultiCellWidget( Kette2, 2, 3, 2, 2 );
217 Franz 191
        Rot = new MSpinBox( GeoGroup, 2);
262 Franz 192
        Rot->setSuffix( QString::fromUtf8(" °"));
217 Franz 193
        Rot->setWrapping( true );
348 Franz 194
        rotationLabel = new QLabel( Rot, tr( "&Rotation:" ), GeoGroup, "rotationLabel" );
195
        GeoGroupLayout->addWidget( rotationLabel, 4, 0 );
217 Franz 196
        GeoGroupLayout->addWidget( Rot, 4, 1 );
332 Franz 197
        basepointLabel = new QLabel( tr( "Basepoint:" ), GeoGroup, "basepointLabel" );
198
        GeoGroupLayout->addWidget( basepointLabel, 5, 0 );
199
        RotationGroup = new QButtonGroup( "", GeoGroup, "RotationGroup" );
217 Franz 200
        RotationGroup->setFrameShape( QButtonGroup::NoFrame );
201
        RotationGroup->setColumnLayout(0, Qt::Vertical );
202
        RotationGroup->layout()->setSpacing( 0 );
203
        RotationGroup->layout()->setMargin( 0 );
204
        RotationGroupLayout = new QHBoxLayout( RotationGroup->layout() );
205
        RotationGroupLayout->setAlignment( Qt::AlignTop );
206
        Layout12 = new QGridLayout( 0, 1, 1, 0, 0, "Layout12");
207
        TopLeft = new QRadioButton( RotationGroup, "TopLeft" );
283 Franz 208
        TopLeft->setText( "" );
217 Franz 209
        TopLeft->setChecked( true );
210
        Layout12->addWidget( TopLeft, 0, 0, Qt::AlignCenter );
211
        Line1 = new QFrame( RotationGroup, "Line1" );
212
        Line1->setMinimumSize( QSize( 20, 4 ) );
213
        Line1->setMaximumSize( QSize( 20, 4 ) );
214
        Line1->setFrameShape( QFrame::HLine );
215
        Line1->setFrameShadow( QFrame::Plain );
216
        Line1->setLineWidth( 3 );
217
        Line1->setFrameShape( QFrame::HLine );
218
        Layout12->addWidget( Line1, 0, 1, Qt::AlignCenter );
219
        TopRight = new QRadioButton( RotationGroup, "TopRight" );
283 Franz 220
        TopRight->setText( "" );
217 Franz 221
        Layout12->addWidget( TopRight, 0, 2, Qt::AlignCenter );
222
        Line2 = new QFrame( RotationGroup, "Line2" );
223
        Line2->setMinimumSize( QSize( 4, 20 ) );
224
        Line2->setMaximumSize( QSize( 4, 20 ) );
225
        Line2->setFrameShape( QFrame::VLine );
226
        Line2->setFrameShadow( QFrame::Plain );
227
        Line2->setLineWidth( 3 );
228
        Line2->setFrameShape( QFrame::VLine );
229
        Layout12->addWidget( Line2, 1, 0, Qt::AlignCenter );
230
        Center = new QRadioButton( RotationGroup, "Center" );
283 Franz 231
        Center->setText( "" );
217 Franz 232
        Layout12->addWidget( Center, 1, 1, Qt::AlignCenter );
233
        Line4 = new QFrame( RotationGroup, "Line4" );
234
        Line4->setMinimumSize( QSize( 4, 20 ) );
235
        Line4->setMaximumSize( QSize( 4, 20 ) );
236
        Line4->setFrameShadow( QFrame::Plain );
237
        Line4->setLineWidth( 3 );
238
        Line4->setFrameShape( QFrame::VLine );
239
        Layout12->addWidget( Line4, 1, 2, Qt::AlignCenter );
240
        BottomLeft = new QRadioButton( RotationGroup, "BottomLeft" );
283 Franz 241
        BottomLeft->setText( "" );
217 Franz 242
        Layout12->addWidget( BottomLeft, 2, 0, Qt::AlignCenter );
243
        Line5 = new QFrame( RotationGroup, "Line5" );
244
        Line5->setMinimumSize( QSize( 20, 4 ) );
245
        Line5->setMaximumSize( QSize( 20, 4 ) );
246
        Line5->setFrameShape( QFrame::HLine );
247
        Line5->setFrameShadow( QFrame::Plain );
248
        Line5->setLineWidth( 3 );
249
        Line5->setFrameShape( QFrame::HLine );
250
        Layout12->addWidget( Line5, 2, 1, Qt::AlignCenter );
251
        BottomRight = new QRadioButton( RotationGroup, "BottomRight" );
283 Franz 252
        BottomRight->setText( "" );
217 Franz 253
        Layout12->addWidget( BottomRight, 2, 2, Qt::AlignCenter );
254
        RotationGroupLayout->addLayout( Layout12 );
255
        QSpacerItem* spacer12 = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
256
        RotationGroupLayout->addItem( spacer12 );
257
        GeoGroupLayout->addWidget( RotationGroup, 5, 1 );
258
        pageLayout->addWidget( GeoGroup );
3 paul 259
 
217 Franz 260
        layout60 = new QHBoxLayout( 0, 0, 5, "layout60");
3 paul 261
 
332 Franz 262
        LayerGroup = new QGroupBox( tr( "Level" ), page, "LayerGroup" );
217 Franz 263
        LayerGroup->setColumnLayout(0, Qt::Vertical );
264
        LayerGroup->layout()->setSpacing( 4 );
265
        LayerGroup->layout()->setMargin( 5 );
266
        LayerGroupLayout = new QGridLayout( LayerGroup->layout() );
267
        LayerGroupLayout->setAlignment( Qt::AlignTop );
268
        Zup = new QToolButton( LayerGroup, "Zup" );
269
        Zup->setMaximumSize( QSize( 22, 22 ) );
270
        Zup->setPixmap(loadIcon("up.png"));
271
        LayerGroupLayout->addWidget( Zup, 0, 0 );
272
        ZDown = new QToolButton( LayerGroup, "ZDown" );
273
        ZDown->setMaximumSize( QSize( 22, 22 ) );
274
        ZDown->setPixmap(loadIcon("down.png"));
275
        LayerGroupLayout->addWidget( ZDown, 1, 0 );
276
        ZTop = new QToolButton( LayerGroup, "ZTop" );
277
        ZTop->setMaximumSize( QSize( 22, 22 ) );
278
        ZTop->setPixmap(loadIcon("top.png"));
279
        LayerGroupLayout->addWidget( ZTop, 0, 1 );
280
        ZBottom = new QToolButton( LayerGroup, "ZBottom" );
281
        ZBottom->setMaximumSize( QSize( 22, 22 ) );
282
        ZBottom->setPixmap(loadIcon("bottom.png"));
283
        LayerGroupLayout->addWidget( ZBottom, 1, 1 );
332 Franz 284
        LevelTxt = new QLabel( "  0", LayerGroup, "LevelTxt" );
272 Franz 285
        LevelTxt->setAlignment( Qt::AlignCenter );
286
        LayerGroupLayout->addMultiCellWidget( LevelTxt, 0, 1, 2, 2 );
3 paul 287
 
217 Franz 288
        layout60->addWidget( LayerGroup );
289
        QSpacerItem* spacer2 = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
290
        layout60->addItem( spacer2 );
3 paul 291
 
217 Franz 292
        Layout44 = new QGridLayout( 0, 1, 1, 8, 4, "Layout44");
293
        FlipH = new QToolButton( page, "MirrorH" );
294
        FlipH->setPixmap(loadIcon("FlipH.xpm"));
295
        FlipH->setToggleButton( true );
296
        Layout44->addWidget( FlipH, 0, 0 );
297
        FlipV = new QToolButton( page, "MirrorV" );
298
        FlipV->setPixmap(loadIcon("FlipV.xpm"));
299
        FlipV->setToggleButton( true );
300
        Layout44->addWidget( FlipV, 1, 0 );
301
        Locked = new QToolButton( page, "Lock" );
302
        Locked->setToggleButton( true );
215 Franz 303
        QIconSet a = QIconSet();
217 Franz 304
        a.setPixmap(loadIcon("locked.png"), QIconSet::Automatic, QIconSet::Normal, QIconSet::On);
305
        a.setPixmap(loadIcon("unlock.png"), QIconSet::Automatic, QIconSet::Normal, QIconSet::Off);
215 Franz 306
        Locked->setIconSet(a);
217 Franz 307
        Layout44->addWidget( Locked, 0, 1 );
308
        NoPrint = new QToolButton( page, "NoPrint" );
309
        NoPrint->setToggleButton( true );
215 Franz 310
        QIconSet a2 = QIconSet();
217 Franz 311
        a2.setPixmap(loadIcon("NoPrint.png"), QIconSet::Automatic, QIconSet::Normal, QIconSet::On);
312
        a2.setPixmap(loadIcon("DateiPrint16.png"), QIconSet::Automatic, QIconSet::Normal, QIconSet::Off);
215 Franz 313
        NoPrint->setIconSet(a2);
217 Franz 314
        Layout44->addWidget( NoPrint, 1, 1 );
315
        NoResize = new QToolButton( page, "NoResize" );
316
        NoResize->setToggleButton( true );
215 Franz 317
        QIconSet a3 = QIconSet();
217 Franz 318
        a3.setPixmap(loadIcon("framenoresize.png"), QIconSet::Automatic, QIconSet::Normal, QIconSet::On);
319
        a3.setPixmap(loadIcon("frameresize.png"), QIconSet::Automatic, QIconSet::Normal, QIconSet::Off);
215 Franz 320
        NoResize->setIconSet(a3);
217 Franz 321
        Layout44->addWidget( NoResize, 0, 2 );
322
        layout60->addLayout( Layout44 );
68 Franz 323
 
217 Franz 324
        pageLayout->addLayout( layout60 );
3 paul 325
 
217 Franz 326
        QSpacerItem* spacer13 = new QSpacerItem( 0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding );
327
        pageLayout->addItem( spacer13 );
328
        TabStack->addWidget( page, 0 );
3 paul 329
 
217 Franz 330
        page_2 = new QWidget( TabStack, "page_2" );
331
        pageLayout_2 = new QVBoxLayout( page_2, 0, 5, "pageLayout_2");
3 paul 332
 
332 Franz 333
        ShapeGroup = new QButtonGroup( "", page_2, "ShapeGroup" );
217 Franz 334
        ShapeGroup->setFrameShape( QButtonGroup::NoFrame );
335
        ShapeGroup->setExclusive( true );
336
        ShapeGroup->setColumnLayout(0, Qt::Vertical );
337
        ShapeGroup->layout()->setSpacing( 2 );
338
        ShapeGroup->layout()->setMargin( 0 );
339
        ShapeGroupLayout = new QHBoxLayout( ShapeGroup->layout() );
340
        ShapeGroupLayout->setAlignment( Qt::AlignTop );
332 Franz 341
        SRect = new QLabel( tr( "Shape:" ), ShapeGroup, "SRect" );
217 Franz 342
        ShapeGroupLayout->addWidget( SRect );
343
        SCustom = new Autoforms( ShapeGroup );
344
        ShapeGroupLayout->addWidget( SCustom );
345
        pageLayout_2->addWidget( ShapeGroup );
3 paul 346
 
217 Franz 347
        EditShape = new QToolButton( page_2, "EditShape" );
348 Franz 348
        EditShape->setText( tr( "&Edit Shape..." ) );
217 Franz 349
        pageLayout_2->addWidget( EditShape );
3 paul 350
 
217 Franz 351
        Layout13 = new QHBoxLayout( 0, 0, 2, "Layout13");
3 paul 352
 
217 Franz 353
        RoundRect = new MSpinBox( page_2, 1 );
354
        RoundRect->setSuffix( tr( " pt" ) );
348 Franz 355
        rndcornersLabel = new QLabel( RoundRect, tr( "R&ound\nCorners:" ), page_2, "rndcornersLabel" );
356
        Layout13->addWidget( rndcornersLabel );
217 Franz 357
        Layout13->addWidget( RoundRect );
358
        pageLayout_2->addLayout( Layout13 );
3 paul 359
 
217 Franz 360
        TabStack2 = new QWidgetStack( page_2, "TabStack2" );
361
        TabStack2->setFrameShape( QWidgetStack::NoFrame );
68 Franz 362
 
217 Franz 363
        page_2a = new QWidget( TabStack2, "page" );
364
        pageLayout_2a = new QVBoxLayout( page_2a, 0, 5, "pageLayout_2");
332 Franz 365
        Distance = new QGroupBox( tr( "Distance of Text" ), page_2a, "Distance" );
217 Franz 366
        Distance->setColumnLayout(0, Qt::Vertical );
367
        Distance->layout()->setSpacing( 2 );
368
        Distance->layout()->setMargin( 5 );
369
        DistanceLayout = new QGridLayout( Distance->layout() );
370
        DistanceLayout->setAlignment( Qt::AlignTop );
348 Franz 371
 
333 Franz 372
        DCol = new QSpinBox(Distance, "Cols" );
373
    DCol->setMaxValue( 3000 );
374
    DCol->setMinValue( 1 );
348 Franz 375
        columnsLabel = new QLabel( DCol, tr( "Colu&mns:" ), Distance, "columnsLabel" );
376
        DistanceLayout->addWidget( columnsLabel, 0, 0 );
217 Franz 377
        DistanceLayout->addWidget( DCol, 0, 1 );
333 Franz 378
 
379
        DGap = new MSpinBox( 0, 300, Distance, 1 );
217 Franz 380
        DGap->setSuffix( tr( " pt" ) );
348 Franz 381
        colgapLabel = new LabelButton( Distance, tr("&Gap:"), tr("&Width:"));
382
        colgapLabel->setBuddy(DGap);
383
        DistanceLayout->addWidget( colgapLabel, 1, 0 );
217 Franz 384
        DistanceLayout->addWidget( DGap, 1, 1 );
333 Franz 385
 
386
        DTop = new MSpinBox( 0, 300, Distance, 1 );
217 Franz 387
        DTop->setSuffix( tr( " pt" ) );
348 Franz 388
        topLabel = new QLabel( DTop, tr( "To&p:" ), Distance, "topLabel" );
389
        DistanceLayout->addWidget( topLabel, 2, 0 );
217 Franz 390
        DistanceLayout->addWidget( DTop, 2, 1 );
333 Franz 391
 
392
        DBottom = new MSpinBox( 0, 300, Distance, 1 );
217 Franz 393
        DBottom->setSuffix( tr( " pt" ) );
348 Franz 394
        bottomLabel = new QLabel( DBottom, tr( "&Bottom:" ), Distance, "bottomLabel" );
395
        DistanceLayout->addWidget( bottomLabel, 3, 0 );
217 Franz 396
        DistanceLayout->addWidget( DBottom, 3, 1 );
333 Franz 397
 
398
        DLeft = new MSpinBox( 0, 300, Distance, 1 );
217 Franz 399
        DLeft->setSuffix( tr( " pt" ) );
348 Franz 400
        leftLabel = new QLabel( DLeft, tr( "&Left:" ), Distance, "leftLabel" );
401
        DistanceLayout->addWidget( leftLabel, 4, 0 );
217 Franz 402
        DistanceLayout->addWidget( DLeft, 4, 1 );
333 Franz 403
 
404
        DRight = new MSpinBox( 0, 300, Distance, 1 );
217 Franz 405
        DRight->setSuffix( tr( " pt" ) );
348 Franz 406
        rightLabel = new QLabel( DRight, tr( "&Right:" ), Distance, "rightLabel" );
407
        DistanceLayout->addWidget( rightLabel, 5, 0 );
217 Franz 408
        DistanceLayout->addWidget( DRight, 5, 1 );
333 Franz 409
 
348 Franz 410
        TabsButton = new QPushButton( tr("T&abulators..."), Distance, "Tabul" );
215 Franz 411
        TabsButton->setDefault( false );
412
        TabsButton->setAutoDefault( false );
413
        DistanceLayout->addMultiCellWidget( TabsButton, 6, 6, 0, 1 );
414
        pageLayout_2a->addWidget(Distance);
217 Franz 415
        TabStack2->addWidget( page_2a, 0 );
68 Franz 416
 
217 Franz 417
        page_2b = new QWidget( TabStack2, "page" );
418
        pageLayout_2b = new QVBoxLayout( page_2b, 0, 5, "pageLayout_2");
332 Franz 419
        Distance2 = new QGroupBox( tr( "Path Text Properties" ), page_2b, "Distance" );
217 Franz 420
        Distance2->setColumnLayout(0, Qt::Vertical );
421
        Distance2->layout()->setSpacing( 2 );
422
        Distance2->layout()->setMargin( 5 );
423
        DistanceLayout2 = new QGridLayout( Distance2->layout() );
424
        DistanceLayout2->setAlignment( Qt::AlignTop );
332 Franz 425
        showcurveCheckBox = new QCheckBox( Distance2, "showcurveCheckBox" );
426
        showcurveCheckBox->setText( tr( "Show Curve" ) );
427
        DistanceLayout2->addMultiCellWidget( showcurveCheckBox, 0, 0, 0, 1 );
428
        startoffsetLabel = new QLabel( tr( "Start Offset:" ), Distance2, "startoffsetLabel" );
429
        DistanceLayout2->addWidget( startoffsetLabel, 1, 0);
387 Franz 430
        Dist = new MSpinBox( 0, 30000, Distance2, 1 );
217 Franz 431
        Dist->setSuffix( tr( " pt" ) );
432
        Dist->setLineStep(10);
433
        DistanceLayout2->addWidget( Dist, 1, 1);
333 Franz 434
 
332 Franz 435
        distfromcurveLabel = new QLabel( tr( "Distance from Curve:" ), Distance2, "distfromcurveLabel" );
436
        DistanceLayout2->addWidget( distfromcurveLabel, 2, 0);
333 Franz 437
        LineW = new MSpinBox( -300, 300, Distance2, 1 );
217 Franz 438
        LineW->setSuffix( tr( " pt" ) );
215 Franz 439
        LineW->setLineStep(10);
217 Franz 440
        DistanceLayout2->addWidget( LineW, 2, 1);
215 Franz 441
        pageLayout_2b->addWidget(Distance2);
217 Franz 442
        TabStack2->addWidget( page_2b, 1 );
134 Franz 443
 
217 Franz 444
        pageLayout_2->addWidget( TabStack2 );
351 Franz 445
 
446
        Textflow = new QCheckBox( page_2, "Textflow" );
447
        Textflow->setText( tr( "Text &Flows Around Frame" ) );
448
        pageLayout_2->addWidget( Textflow );
449
        Textflow2 = new QCheckBox( page_2, "Textflow2" );
450
        Textflow2->setText( tr( "Use &Bounding Box" ) );
451
        pageLayout_2->addWidget( Textflow2 );
452
        Textflow3 = new QCheckBox( page_2, "Textflow3" );
453
        Textflow3->setText( tr( "&Use Contour Line" ) );
454
        pageLayout_2->addWidget( Textflow3 );
455
 
217 Franz 456
        QSpacerItem* spacer6 = new QSpacerItem( 0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding );
457
        pageLayout_2->addItem( spacer6 );
458
        TabStack->addWidget( page_2, 1 );
3 paul 459
 
217 Franz 460
        page_3 = new QWidget( TabStack, "page_3" );
461
        pageLayout_3 = new QVBoxLayout( page_3, 0, 5, "pageLayout_3");
3 paul 462
 
217 Franz 463
        layout47 = new QHBoxLayout( 0, 0, 5, "layout47");
3 paul 464
 
217 Franz 465
        layout46 = new QVBoxLayout( 0, 0, 5, "layout46");
3 paul 466
 
217 Franz 467
        layout41 = new QGridLayout( 0, 1, 1, 0, 5, "layout41");
3 paul 468
 
217 Franz 469
        Fonts = new FontCombo(page_3, Prefs);
215 Franz 470
        Fonts->setMaximumSize(190, 30);
217 Franz 471
        layout41->addMultiCellWidget( Fonts, 0, 0, 0, 1 );
3 paul 472
 
333 Franz 473
        Size = new MSpinBox( 1, 1024, page_3, 1 );
217 Franz 474
        Size->setPrefix( "" );
475
        Size->setSuffix( tr( " pt" ) );
348 Franz 476
        fontsizeLabel = new QLabel( Size, tr("&Font Size:"), page_3, "fontsizeLabel" );
477
        layout41->addWidget( fontsizeLabel, 1, 0 );
217 Franz 478
        layout41->addWidget( Size, 1, 1 );
479
        layout46->addLayout( layout41 );
3 paul 480
 
217 Franz 481
        layout22 = new QHBoxLayout( 0, 0, 5, "layout22");
482
        ChScale = new QSpinBox( page_3, "ChScale" );
483
        ChScale->setMaxValue( 400 );
484
        ChScale->setMinValue( 25 );
485
        ChScale->setValue( 100 );
486
        ChScale->setSuffix( tr( " %" ) );
348 Franz 487
        ScaleTxt = new QLabel( ChScale, tr("&Width:"), page_3, "ScaleTxt" );
488
        layout22->addWidget( ScaleTxt );
217 Franz 489
        layout22->addWidget( ChScale );
490
        layout46->addLayout( layout22 );
68 Franz 491
 
217 Franz 492
        layout23 = new QHBoxLayout( 0, 0, 5, "layout23");
332 Franz 493
        StrokeIcon = new QLabel( "", page_3, "StrokeIcon" );
217 Franz 494
        StrokeIcon->setPixmap(loadIcon("Stiftalt.xpm"));
495
        StrokeIcon->setScaledContents( false );
496
        layout23->addWidget( StrokeIcon );
497
        TxStroke = new QComboBox( true, page_3, "TxStroke" );
215 Franz 498
        TxStroke->setEditable(false);
217 Franz 499
        layout23->addWidget( TxStroke );
500
        QSpacerItem* spacer2S = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
501
        layout23->addItem( spacer2S );
332 Franz 502
        ShadeTxt1 = new QLabel( tr( "Shade:" ), page_3, "ShadeTxt" );
215 Franz 503
        layout23->addWidget( ShadeTxt1 );
173 Franz 504
        PM1 = new ShadeButton(page_3);
217 Franz 505
        layout23->addWidget( PM1 );
506
        layout46->addLayout( layout23 );
507
        layout24 = new QHBoxLayout( 0, 0, 5, "layout24");
332 Franz 508
        FillIcon = new QLabel( "", page_3, "FillIcon" );
217 Franz 509
        FillIcon->setPixmap(loadIcon("fill.png"));
215 Franz 510
        FillIcon->setScaledContents( false );
217 Franz 511
        layout24->addWidget( FillIcon );
512
        TxFill = new QComboBox( true, page_3, "TxFill" );
169 Franz 513
        TxFill->setEditable(false);
217 Franz 514
        layout24->addWidget( TxFill );
515
        QSpacerItem* spacer2Sf = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
516
        layout24->addItem( spacer2Sf );
332 Franz 517
        ShadeTxt2 = new QLabel( tr( "Shade:" ), page_3, "ShadeTxt" );
215 Franz 518
        layout24->addWidget( ShadeTxt2 );
173 Franz 519
        PM2 = new ShadeButton(page_3);
217 Franz 520
        layout24->addWidget( PM2 );
521
        layout46->addLayout( layout24 );
68 Franz 522
 
217 Franz 523
        Layout1 = new QHBoxLayout( 0, 0, 0, "Layout1");
167 Franz 524
        SeStyle = new StyleSelect(page_3);
525
        Layout1->addWidget(SeStyle);
217 Franz 526
        Revert = new QToolButton( page_3, "Bold" );
527
        Revert->setMaximumSize( QSize( 22, 22 ) );
528
        Revert->setText("");
529
        Revert->setPixmap(loadIcon("Revers.png"));
530
        Revert->setToggleButton( true );
531
        Layout1->addWidget( Revert );
532
        QSpacerItem* spacer7 = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
533
        Layout1->addItem( spacer7 );
534
        layout46->addLayout( Layout1 );
535
        layout47->addLayout( layout46 );
536
        pageLayout_3->addLayout( layout47 );
3 paul 537
 
217 Franz 538
        GroupAlign = new AlignSelect(page_3);
539
        pageLayout_3->addWidget( GroupAlign );
3 paul 540
 
332 Franz 541
        GroupBox3 = new QGroupBox( tr( "Custom Spacing" ), page_3, "GroupBox3" );
217 Franz 542
        GroupBox3->setColumnLayout(0, Qt::Vertical );
543
        GroupBox3->layout()->setSpacing( 2 );
544
        GroupBox3->layout()->setMargin( 5 );
545
        GroupBox3Layout = new QGridLayout( GroupBox3->layout() );
546
        GroupBox3Layout->setAlignment( Qt::AlignTop );
3 paul 547
 
217 Franz 548
        LineSp = new MSpinBox( GroupBox3, 1 );
549
        LineSp->setSuffix( tr( " pt" ) );
550
        GroupBox3Layout->addWidget( LineSp, 1, 1 );
3 paul 551
 
217 Franz 552
        Extra = new MSpinBox( GroupBox3, 1 );
553
        Extra->setSuffix( tr( " pt" ) );
554
        GroupBox3Layout->addWidget( Extra, 0, 1 );
3 paul 555
 
348 Franz 556
        kerningLabel = new QLabel( Extra, tr( "&Kerning:" ), GroupBox3, "kerningLabel" );
332 Franz 557
        GroupBox3Layout->addWidget( kerningLabel, 0, 0 );
3 paul 558
 
348 Franz 559
        linespacingLabel = new QLabel( LineSp, tr( "L&ine Spacing:" ), GroupBox3, "linespacingLabel" );
332 Franz 560
        GroupBox3Layout->addWidget( linespacingLabel, 1, 0 );
3 paul 561
 
217 Franz 562
        pageLayout_3->addWidget( GroupBox3 );
3 paul 563
 
244 Franz 564
        GroupBox3aLayout = new QGridLayout( 0, 1, 1, 0, 5, "Layout25");
348 Franz 565
        Spal = new Spalette(page_3);
566
        styleLabel = new QLabel( Spal, tr("St&yle:"), page_3, "styleLabel" );
332 Franz 567
        GroupBox3aLayout->addWidget( styleLabel, 0, 0 );
244 Franz 568
        GroupBox3aLayout->addWidget( Spal, 0, 1 );
332 Franz 569
        langCombo = new QComboBox( true, page_3, "Lang" );
570
        langCombo->setEditable(false);
348 Franz 571
        langLabel = new QLabel( langCombo, tr("Lan&guage:"), page_3, "langLabel" );
572
        GroupBox3aLayout->addWidget( langLabel, 1, 0 );
332 Franz 573
        GroupBox3aLayout->addWidget( langCombo, 1, 1 );
244 Franz 574
        pageLayout_3->addLayout(GroupBox3aLayout);
68 Franz 575
 
217 Franz 576
        QSpacerItem* spacer8 = new QSpacerItem( 0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding );
577
        pageLayout_3->addItem( spacer8 );
578
        TabStack->addWidget( page_3, 2 );
3 paul 579
 
217 Franz 580
        page_4 = new QWidget( TabStack, "page_4" );
581
        pageLayout_4 = new QVBoxLayout( page_4, 0, 5, "pageLayout_4");
3 paul 582
 
348 Franz 583
        FreeScale = new QRadioButton( tr( "&Free Scaling" ), page_4, "FreeScale" );
217 Franz 584
        FreeScale->setChecked( true );
585
        pageLayout_4->addWidget( FreeScale );
3 paul 586
 
217 Franz 587
        layout43 = new QGridLayout( 0, 1, 1, 0, 5, "layout43");
588
        LXpos = new MSpinBox( page_4, 2 );
589
        LXpos->setSuffix( tr( " pt" ) );
348 Franz 590
        xposImgLabel = new QLabel( LXpos, tr( "&X-Pos:" ), page_4, "xposImgLabel" );
591
        layout43->addWidget( xposImgLabel, 0, 0 );
217 Franz 592
        layout43->addWidget( LXpos, 0, 1 );
593
        LYpos = new MSpinBox( page_4, 2 );
594
        LYpos->setSuffix( tr( " pt" ) );
348 Franz 595
        yposImgLabel = new QLabel( LYpos, tr( "&Y-Pos:" ), page_4, "yposImgLabel" );
596
        layout43->addWidget( yposImgLabel, 1, 0 );
217 Franz 597
        layout43->addWidget( LYpos, 1, 1 );
598
        ScaleX = new MSpinBox( page_4, 1 );
599
        ScaleX->setSuffix( tr( " %" ) );
348 Franz 600
        xscaleLabel = new QLabel( ScaleX, tr( "X-Sc&ale:" ), page_4, "xscaleLabel" );
601
        layout43->addWidget( xscaleLabel, 2, 0 );
217 Franz 602
        layout43->addWidget( ScaleX, 2, 1 );
603
        ScaleY = new MSpinBox( page_4, 1 );
604
        ScaleY->setSuffix( tr( " %" ) );
348 Franz 605
        yscaleLabel = new QLabel( ScaleY, tr( "Y-Scal&e:" ), page_4, "yscaleLabel" );
606
        layout43->addWidget( yscaleLabel, 3, 0 );
217 Franz 607
        layout43->addWidget( ScaleY, 3, 1 );
608
        Kette = new LinkButton( page_4 );
609
        Kette->setToggleButton( true );
610
        Kette->setAutoRaise( true );
611
        Kette->setMaximumSize( QSize( 15, 32767 ) );
612
        layout43->addMultiCellWidget( Kette, 2, 3, 2, 2 );
613
        pageLayout_4->addLayout( layout43 );
3 paul 614
 
217 Franz 615
        Layout24 = new QVBoxLayout( 0, 0, 3, "Layout24");
3 paul 616
 
217 Franz 617
        FrameScale = new QRadioButton( page_4, "FixedScale" );
348 Franz 618
        FrameScale->setText( tr( "Scale &To Frame Size" ) );
217 Franz 619
        Layout24->addWidget( FrameScale );
3 paul 620
 
217 Franz 621
        Layout18 = new QHBoxLayout( 0, 0, 6, "Layout18");
3 paul 622
 
217 Franz 623
        Frame4 = new QFrame( page_4, "Frame4" );
624
        Frame4->setMinimumSize( QSize( 15, 2 ) );
625
        Frame4->setMaximumSize( QSize( 15, 10 ) );
626
        Frame4->setFrameShape( QFrame::NoFrame );
627
        Frame4->setFrameShadow( QFrame::Plain );
628
        Layout18->addWidget( Frame4 );
3 paul 629
 
217 Franz 630
        Aspect = new QCheckBox( page_4, "Aspect" );
631
        Aspect->setEnabled( false );
348 Franz 632
        Aspect->setText( tr( "P&roportional" ) );
217 Franz 633
        Aspect->setChecked( true );
215 Franz 634
 
217 Franz 635
        Layout18->addWidget( Aspect );
636
        Layout24->addLayout( Layout18 );
637
        pageLayout_4->addLayout( Layout24 );
129 Franz 638
 
332 Franz 639
        GroupBoxCM = new QGroupBox( "", page_4, "GroupBoxcm" );
217 Franz 640
        GroupBoxCM->setColumnLayout(0, Qt::Vertical );
641
        GroupBoxCM->layout()->setSpacing( 2 );
642
        GroupBoxCM->layout()->setMargin( 5 );
643
        GroupBoxCM->setFrameShape( QFrame::NoFrame );
644
        GroupBoxCM->setFrameShadow( QFrame::Plain );
645
        GroupBoxCMLayout = new QVBoxLayout( GroupBoxCM->layout() );
646
        GroupBoxCMLayout->setAlignment( Qt::AlignTop );
332 Franz 647
        TextCms1 = new QLabel( tr( "Input Profile:" ), GroupBoxCM, "xposLabel" );
215 Franz 648
        GroupBoxCMLayout->addWidget( TextCms1 );
217 Franz 649
        InputP = new QComboBox( true, GroupBoxCM, "InputP" );
650
        InputP->setEditable(false);
651
        GroupBoxCMLayout->addWidget(InputP);
332 Franz 652
        TextCms2 = new QLabel( tr( "Rendering Intent:" ), GroupBoxCM, "TextCms2" );
215 Franz 653
        GroupBoxCMLayout->addWidget(TextCms2);
217 Franz 654
        MonitorI = new QComboBox( true, GroupBoxCM, "MonitorI" );
655
        MonitorI->insertItem( tr( "Perceptual" ) );
656
        MonitorI->insertItem( tr( "Relative Colorimetric" ) );
657
        MonitorI->insertItem( tr( "Saturation" ) );
658
        MonitorI->insertItem( tr( "Absolute Colorimetric" ) );
659
        MonitorI->setEditable(false);
660
        GroupBoxCMLayout->addWidget(MonitorI);
661
        pageLayout_4->addWidget(GroupBoxCM);
68 Franz 662
 
217 Franz 663
        QSpacerItem* spacer9 = new QSpacerItem( 0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding );
664
        pageLayout_4->addItem( spacer9 );
665
        TabStack->addWidget( page_4, 3 );
3 paul 666
 
217 Franz 667
        page_5 = new QWidget( TabStack, "page_5" );
668
        pageLayout_5 = new QVBoxLayout( page_5, 0, 5, "pageLayout_5");
3 paul 669
 
217 Franz 670
        Layout13_2 = new QHBoxLayout( 0, 0, 4, "Layout13_2");
671
        LineMode = new QComboBox( true, page_5, "LMode" );
215 Franz 672
        LineMode->setEditable(false);
217 Franz 673
        LineMode->insertItem( tr( "Left Point" ) );
674
        LineMode->insertItem( tr( "End Points" ) );
348 Franz 675
        LineModeT = new QLabel( LineMode, tr( "&Basepoint:" ), page_5, "LModeText" );
676
        Layout13_2->addWidget( LineModeT );
217 Franz 677
        Layout13_2->addWidget( LineMode );
215 Franz 678
        LMode = false;
217 Franz 679
        QSpacerItem* spacer10 = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
680
        Layout13_2->addItem( spacer10 );
681
        pageLayout_5->addLayout( Layout13_2 );
3 paul 682
 
217 Franz 683
        Layout12_2 = new QGridLayout( 0, 1, 1, 0, 3, "Layout12_2");
348 Franz 684
        LStyle = new LineCombo(page_5);
685
        linetypeLabel = new QLabel( LStyle, tr( "T&ype of Line:" ), page_5, "linetypeLabel" );
332 Franz 686
        Layout12_2->addWidget( linetypeLabel, 0, 0 );
217 Franz 687
        Layout12_2->addWidget( LStyle, 1, 0 );
688
        LSize = new MSpinBox( page_5, 1 );
689
        LSize->setSuffix( tr( " pt" ) );
348 Franz 690
        linewidthLabel = new QLabel(LSize, tr( "Line &Width:" ), page_5, "linewidthLabel" );
691
        Layout12_2->addWidget( linewidthLabel, 2, 0 );
217 Franz 692
        Layout12_2->addWidget( LSize, 3, 0 );
693
        LJoinStyle = new QComboBox( true, page_5, "LJoin" );
694
        LJoinStyle->setEditable(false);
695
        LJoinStyle->insertItem(loadIcon("MiterJoin.png"), tr( "Miter Join" ) );
696
        LJoinStyle->insertItem(loadIcon("BevelJoin.png"), tr( "Bevel Join" ) );
697
        LJoinStyle->insertItem(loadIcon("RoundJoin.png"), tr( "Round Join" ) );
348 Franz 698
        edgesLabel = new QLabel( LJoinStyle, tr( "Ed&ges:" ), page_5, "edgesLabel" );
699
        Layout12_2->addWidget( edgesLabel, 4, 0 );
217 Franz 700
        Layout12_2->addWidget( LJoinStyle, 5, 0 );
701
        LEndStyle = new QComboBox( true, page_5, "LCap" );
702
        LEndStyle->setEditable(false);
703
        LEndStyle->insertItem(loadIcon("ButtCap.png"), tr( "Flat Cap" ) );
704
        LEndStyle->insertItem(loadIcon("SquareCap.png"), tr( "Square Cap" ) );
705
        LEndStyle->insertItem(loadIcon("RoundCap.png"), tr( "Round Cap" ) );
348 Franz 706
        endingsLabel = new QLabel( LEndStyle, tr( "&Endings:" ), page_5, "endingsLabel" );
707
        Layout12_2->addWidget( endingsLabel, 6, 0 );
217 Franz 708
        Layout12_2->addWidget( LEndStyle, 7, 0 );
709
        pageLayout_5->addLayout( Layout12_2 );
3 paul 710
 
232 Franz 711
        TabStack3 = new QWidgetStack( page_5, "TabStack3" );
712
        TabStack3->setFrameShape( QWidgetStack::NoFrame );
713
 
714
        page_5a = new QWidget( TabStack3, "page" );
715
        pageLayout_5a = new QVBoxLayout( page_5a, 0, 5, "pageLayout_5a");
716
        StyledLine = new QListBox(page_5a, "StyledL");
215 Franz 717
        StyledLine->insertItem( tr("No Style"), 0);
232 Franz 718
        pageLayout_5a->addWidget(StyledLine);
719
        TabStack3->addWidget( page_5a, 0 );
27 Franz 720
 
232 Franz 721
        page_5b = new QWidget( TabStack3, "page" );
722
        pageLayout_5b = new QVBoxLayout( page_5b, 0, 5, "pageLayout_5a");
332 Franz 723
        TLines = new QGroupBox( tr( "Cell Lines" ), page_5b, "Distance" );
232 Franz 724
        TLines->setColumnLayout(0, Qt::Vertical );
725
        TLines->layout()->setSpacing( 2 );
726
        TLines->layout()->setMargin( 5 );
727
        TLineLayout = new QVBoxLayout( TLines->layout() );
728
        TLineLayout->setAlignment( Qt::AlignTop );
729
        TopLine = new QCheckBox( TLines, "TopLine" );
730
        TopLine->setText( tr( "Line at Top" ) );
731
        TLineLayout->addWidget(TopLine);
732
        LeftLine = new QCheckBox( TLines, "TopLine" );
733
        LeftLine->setText( tr( "Line at the Left" ) );
734
        TLineLayout->addWidget(LeftLine);
735
        RightLine = new QCheckBox( TLines, "TopLine" );
736
        RightLine->setText( tr( "Line at the Right " ) );
737
        TLineLayout->addWidget(RightLine);
738
        BottomLine = new QCheckBox( TLines, "TopLine" );
739
        BottomLine->setText( tr( "Line at Bottom" ) );
740
        TLineLayout->addWidget(BottomLine);
741
        pageLayout_5b->addWidget(TLines);
742
        TabStack3->addWidget( page_5b, 1 );
743
        pageLayout_5->addWidget( TabStack3 );
217 Franz 744
        TabStack->addWidget( page_5, 4 );
745
        Cpal = new Cpalette(this);
746
        TabStack->addWidget(Cpal, 5);
747
        MpalLayout->addWidget( TabStack );
332 Franz 748
 
216 Franz 749
        QToolTip::add( NameEdit, tr( "Name of selected object" ) );
750
        QToolTip::add( Xpos, tr( "Horizontal position of current basepoint" ) );
751
        QToolTip::add( Ypos, tr( "Vertical position of current basepoint" ) );
752
        QToolTip::add( Width, tr( "Width" ) );
753
        QToolTip::add( Height, tr( "Height" ) );
754
        QToolTip::add( Rot, tr( "Rotation of object at current basepoint" ) );
332 Franz 755
        QToolTip::add( basepointLabel, tr( "Point from which measurements or rotation angles are referenced" ) );
216 Franz 756
        QToolTip::add( TopLeft, tr( "Select top left for basepoint" ) );
757
        QToolTip::add( TopRight, tr( "Select top right for basepoint" ) );
758
        QToolTip::add( BottomLeft, tr( "Select bottom left for basepoint" ) );
759
        QToolTip::add( BottomRight, tr( "Select bottom right for basepoint" ) );
760
        QToolTip::add( Center, tr( "Select center for basepoint" ) );
217 Franz 761
        QToolTip::add( FlipH, tr( "Flip Horizontal" ) );
762
        QToolTip::add( FlipV, tr( "Flip Vertical" ) );
763
        QToolTip::add( Zup, tr( "Move one level up" ) );
764
        QToolTip::add( ZDown, tr( "Move one level down" ) );
765
        QToolTip::add( ZTop, tr( "Move to front" ) );
766
        QToolTip::add( ZBottom, tr( "Move to back" ) );
272 Franz 767
        QToolTip::add( LevelTxt, tr( "Indicates the level the object is on, 0 means the object is at the bottom" ) );
217 Franz 768
        QToolTip::add( Locked, tr( "Lock or unlock the object" ) );
769
        QToolTip::add( NoResize, tr( "Lock or unlock the size of the object" ) );
770
        QToolTip::add( NoPrint, tr( "Enable or disable printing of the object" ) );
270 Franz 771
        QToolTip::add( Textflow, tr( "Make text in lower frames flow around the object shape" ) );
360 Franz 772
        QToolTip::add( Textflow2, tr( "Use a surrounding box instead of the frame's shape for text flow" ) );
773
        QToolTip::add( Textflow3, tr( "Use a second line originally based on the frame's shape for text flow" ) );
216 Franz 774
 
775
        QToolTip::add( Fonts, tr( "Font of selected text or object" ) );
217 Franz 776
        QToolTip::add( Size, tr( "Font Size" ) );
216 Franz 777
        QToolTip::add( ChScale, tr( "Scaling width of characters" ) );
778
        QToolTip::add( TxStroke, tr( "Color of text stroke" ) );
779
        QToolTip::add( TxFill, tr( "Color of text fill" ) );
780
        QToolTip::add( PM1, tr( "Saturation of color of text stroke" ) );
781
        QToolTip::add( PM2, tr( "Saturation of color of text fill" ) );
217 Franz 782
        QToolTip::add( Revert, tr( "Reverse Writing" ) );
783
        QToolTip::add( Extra, tr( "Manual Kerning" ) );
784
        QToolTip::add( LineSp, tr( "Line Spacing" ) );
785
        QToolTip::add( Spal, tr( "Style of current paragraph" ) );
356 Franz 786
        QToolTip::add( langCombo, tr( "Hyphenation language of frame" ) );
216 Franz 787
 
217 Franz 788
        QToolTip::add( LineMode, tr( "Change settings for left or end points" ) );
789
        QToolTip::add( LStyle, tr( "Pattern of line" ) );
790
        QToolTip::add( LSize, tr( "Thickness of line" ) );
791
        QToolTip::add( LJoinStyle, tr( "Type of line joins" ) );
792
        QToolTip::add( LEndStyle, tr( "Type of line end" ) );
793
        QToolTip::add( StyledLine, tr( "Line style of current object" ) );
216 Franz 794
 
217 Franz 795
        QToolTip::add( SCustom, tr( "Choose the shape of frame..." ) );
796
        QToolTip::add( EditShape, tr( "Edit shape of the frame..." ) );
797
        QToolTip::add( RoundRect, tr( "Set radius of corner rounding" ) );
798
        QToolTip::add( DCol, tr( "Number of columns in text frame" ) );
332 Franz 799
        QToolTip::add( colgapLabel, tr("Switches between Gap or Column width"));
217 Franz 800
        QToolTip::add( DGap, tr( "Distance between columns" ) );
801
        QToolTip::add( DTop, tr( "Distance of text from top of frame" ) );
802
        QToolTip::add( DBottom, tr( "Distance of text from bottom of frame" ) );
803
        QToolTip::add( DLeft, tr( "Distance of text from left of frame" ) );
804
        QToolTip::add( DRight, tr( "Distance of text from right of frame" ) );
805
        QToolTip::add( TabsButton, tr( "Edit tab settings of text frame..." ) );
216 Franz 806
 
217 Franz 807
        QToolTip::add( FreeScale, tr( "Allow the image to be a different size to the frame" ) );
808
        QToolTip::add( LXpos, tr( "Horizontal offset of image within frame" ) );
809
        QToolTip::add( LYpos, tr( "Vertical offset of image within frame" ) );
810
        QToolTip::add( ScaleX, tr( "Resize the image horizontally" ) );
811
        QToolTip::add( ScaleY, tr( "Resize the image vertically" ) );
812
        QToolTip::add( Kette, tr( "Keep the X and Y scaling the same" ) );
238 Franz 813
        QToolTip::add( Kette2, tr( "Keep the aspect ratio" ) );
217 Franz 814
        QToolTip::add( FrameScale, tr( "Make the image fit within the size of the frame" ) );
815
        QToolTip::add( Aspect, tr( "Use image proportions rather than those of the frame" ) );
240 Franz 816
        QToolTip::add( InputP, tr( "Source profile of the image" ) );
817
        QToolTip::add( MonitorI, tr( "Rendering intent for the image" ) );
216 Franz 818
 
217 Franz 819
        connect(Xpos, SIGNAL(valueChanged(int)), this, SLOT(NewX()));
820
        connect(Ypos, SIGNAL(valueChanged(int)), this, SLOT(NewY()));
821
        connect(Width, SIGNAL(valueChanged(int)), this, SLOT(NewW()));
822
        connect(Height, SIGNAL(valueChanged(int)), this, SLOT(NewH()));
823
        connect(Rot, SIGNAL(valueChanged(int)), this, SLOT(NewR()));
824
        connect(RoundRect, SIGNAL(valueChanged(int)), this, SLOT(NewRR()));
825
        connect(LineSp, SIGNAL(valueChanged(int)), this, SLOT(NewLsp()));
826
        connect(Size, SIGNAL(valueChanged(int)), this, SLOT(NewSize()));
827
        connect(Extra, SIGNAL(valueChanged(int)), this, SLOT(NewExtra()));
828
        connect(ScaleX, SIGNAL(valueChanged(int)), this, SLOT(HChange()));
829
        connect(ScaleY, SIGNAL(valueChanged(int)), this, SLOT(VChange()));
830
        connect(LXpos, SIGNAL(valueChanged(int)), this, SLOT(NewLocalXY()));
831
        connect(LYpos, SIGNAL(valueChanged(int)), this, SLOT(NewLocalXY()));
832
        connect(LSize, SIGNAL(valueChanged(int)), this, SLOT(NewLS()));
833
        connect(LStyle, SIGNAL(activated(int)), this, SLOT(NewLSty()));
834
        connect(LJoinStyle, SIGNAL(activated(int)), this, SLOT(NewLJoin()));
835
        connect(LEndStyle, SIGNAL(activated(int)), this, SLOT(NewLEnd()));
836
        connect(LineMode, SIGNAL(activated(int)), this, SLOT(NewLMode()));
837
        connect(Kette, SIGNAL(clicked()), this, SLOT(ToggleKette()));
838
        connect(FlipH, SIGNAL(clicked()), this, SLOT(DoFlipH()));
839
        connect(FlipV, SIGNAL(clicked()), this, SLOT(DoFlipV()));
840
        connect(GroupAlign, SIGNAL(State(int)), this, SLOT(NewAli(int)));
841
        connect(Revert, SIGNAL(clicked()), this, SLOT(DoRevert()));
842
        connect(SeStyle, SIGNAL(State(int)), this, SLOT(setTypeStyle(int)));
843
        connect(FreeScale, SIGNAL(clicked()), this, SLOT(ChangeScaling()));
844
        connect(FrameScale, SIGNAL(clicked()), this, SLOT(ChangeScaling()));
845
        connect(Aspect, SIGNAL(clicked()), this, SLOT(ChangeScaling()));
846
        connect(Zup, SIGNAL(clicked()), this, SLOT(DoRaise()));
847
        connect(ZDown, SIGNAL(clicked()), this, SLOT(DoLower()));
848
        connect(ZTop, SIGNAL(clicked()), this, SLOT(DoFront()));
849
        connect(ZBottom, SIGNAL(clicked()), this, SLOT(DoBack()));
850
        connect(RotationGroup, SIGNAL(clicked(int)), this, SLOT(NewRotMode(int)));
851
        connect(Textflow, SIGNAL(clicked()), this, SLOT(DoFlow()));
852
        connect(Textflow2, SIGNAL(clicked()), this, SLOT(DoFlow2()));
340 Franz 853
        connect(Textflow3, SIGNAL(clicked()), this, SLOT(DoFlow3()));
217 Franz 854
        connect(SCustom, SIGNAL(FormSel(int, int, double *)), this, SLOT(MakeIrre(int, int, double *)));
855
        connect(EditShape, SIGNAL(clicked()), this, SLOT(EditSh()));
856
        connect(DGap, SIGNAL(valueChanged(int)), this, SLOT(NewGap()));
857
        connect(DCol, SIGNAL(valueChanged(int)), this, SLOT(NewCols()));
858
        connect(DTop, SIGNAL(valueChanged(int)), this, SLOT(NewTDist()));
859
        connect(DLeft, SIGNAL(valueChanged(int)), this, SLOT(NewTDist()));
860
        connect(DRight, SIGNAL(valueChanged(int)), this, SLOT(NewTDist()));
861
        connect(DBottom, SIGNAL(valueChanged(int)), this, SLOT(NewTDist()));
332 Franz 862
        connect(proppalButtonGrp, SIGNAL(clicked(int)), this, SLOT(SelTab(int)));
217 Franz 863
        connect(StyledLine, SIGNAL(clicked(QListBoxItem*)), this, SLOT(SetSTline(QListBoxItem*)));
864
        connect(Fonts, SIGNAL(activated(int)), this, SLOT(NewTFont(int)));
865
        connect(TxFill, SIGNAL(activated(int)), this, SLOT(newTxtFill()));
866
        connect(TxStroke, SIGNAL(activated(int)), this, SLOT(newTxtStroke()));
867
        connect(PM1, SIGNAL(clicked()), this, SLOT(setActShade()));
868
        connect(PM2, SIGNAL(clicked()), this, SLOT(setActShade()));
869
        connect(ChScale, SIGNAL(valueChanged(int)), this, SLOT(NewTScale()));
870
        connect(Locked, SIGNAL(clicked()), this, SLOT(handleLock()));
871
        connect(NoPrint, SIGNAL(clicked()), this, SLOT(handlePrint()));
872
        connect(NoResize, SIGNAL(clicked()), this, SLOT(handleResize()));
332 Franz 873
        connect(showcurveCheckBox, SIGNAL(clicked()), this, SLOT(handlePathLine()));
217 Franz 874
        connect(Dist, SIGNAL(valueChanged(int)), this, SLOT(handlePathDist()));
875
        connect(LineW, SIGNAL(valueChanged(int)), this, SLOT(handlePathOffs()));
876
        connect(InputP, SIGNAL(activated(const QString&)), this, SLOT(ChProf(const QString&)));
877
        connect(MonitorI, SIGNAL(activated(int)), this, SLOT(ChIntent()));
215 Franz 878
        connect(NameEdit, SIGNAL(Leaved()), this, SLOT(NewName()));
332 Franz 879
        connect(langCombo, SIGNAL(activated(int)), this, SLOT(NewLanguage()));
217 Franz 880
        connect( TabsButton, SIGNAL( clicked() ), this, SLOT( ManageTabs() ) );
232 Franz 881
        connect( TopLine, SIGNAL( clicked() ), this, SLOT( HandleTLines() ) );
882
        connect( LeftLine, SIGNAL( clicked() ), this, SLOT( HandleTLines() ) );
883
        connect( RightLine, SIGNAL( clicked() ), this, SLOT( HandleTLines() ) );
884
        connect( BottomLine, SIGNAL( clicked() ), this, SLOT( HandleTLines() ) );
332 Franz 885
        connect( colgapLabel, SIGNAL( clicked() ), this, SLOT( HandleGapSwitch() ) );
294 Franz 886
        connect( Cpal, SIGNAL(NewSpecial(double, double, double, double )), this, SLOT(NewSpGradient(double, double, double, double )));
215 Franz 887
        HaveItem = false;
888
        Xpos->setValue(0);
889
        Ypos->setValue(0);
890
        Width->setValue(0);
891
        Height->setValue(0);
892
        Rot->setValue(0);
893
        RoundRect->setValue(0);
232 Franz 894
        TabStack3->raiseWidget(0);
215 Franz 895
        TabStack2->raiseWidget(0);
896
        TabStack->raiseWidget(0);
897
        TabStack->widget(0)->setEnabled(false);
898
        SGeom->setEnabled(false);
899
        SShape->setEnabled(false);
900
        SText->setEnabled(false);
901
        SImage->setEnabled(false);
902
        SLine->setEnabled(false);
903
        SColor->setEnabled(false);
904
        StrokeIcon->setEnabled(false);
905
        TxStroke->setEnabled(false);
906
        PM1->setEnabled(false);
3 paul 907
}
908
 
356 Franz 909
void Mpalette::keyPressEvent(QKeyEvent *k)
910
{
366 Franz 911
        int KeyMod;
912
        int kk = k->key();
913
        switch (k->state())
914
        {
915
        case ShiftButton:
916
                KeyMod = 0x00200000;
917
                break;
918
        case AltButton:
919
                KeyMod = 0x00800000;
920
                break;
921
        case ControlButton:
922
                KeyMod = 0x00400000;
923
                break;
924
        default:
925
                KeyMod = 0;
926
                break;
927
        }
928
        if (kk == Key_F10)
356 Franz 929
                emit ToggleAllPalettes();
366 Franz 930
        if ((kk + KeyMod) == ScApp->Prefs.KeyActions[46].KeyID)
931
                emit Schliessen();
367 Franz 932
        if ((kk + KeyMod) == ScApp->Prefs.KeyActions[47].KeyID)
933
                emit CloseTpal();
934
        if ((kk + KeyMod) == ScApp->Prefs.KeyActions[48].KeyID)
935
                emit CloseBpal();
356 Franz 936
        QDialog::keyPressEvent(k);
937
}
938
 
3 paul 939
void Mpalette::closeEvent(QCloseEvent *ce)
940
{
941
        emit Schliessen();
942
        ce->accept();
943
}
944
 
248 Franz 945
void Mpalette::reject()
946
{
947
        emit Schliessen();
948
        QDialog::reject();
949
}
950
 
3 paul 951
void Mpalette::SelTab(int t)
952
{
173 Franz 953
        if (ScApp->ScriptRunning)
954
                return;
3 paul 955
        TabStack->raiseWidget(t);
296 Franz 956
        if ((HaveDoc) && (HaveItem) && (t == 5))
295 Franz 957
        {
296 Franz 958
                Cpal->setActGradient(CurItem->GrType);
295 Franz 959
                Cpal->setSpecialGradient(CurItem->GrStartX * UmReFaktor, CurItem->GrStartY * UmReFaktor,
960
                                                                                        CurItem->GrEndX * UmReFaktor, CurItem->GrEndY * UmReFaktor,
961
                                                                                        CurItem->Width * UmReFaktor, CurItem->Height * UmReFaktor);
297 Franz 962
                Cpal->GradEdit->Preview->fill_gradient = CurItem->fill_gradient;
963
                Cpal->GradEdit->Preview->updateDisplay();
295 Franz 964
        }
3 paul 965
}
966
 
967
void Mpalette::SetDoc(ScribusDoc *d)
968
{
969
        doc = d;
335 Franz 970
        double maxXYWHVal=(QMAX(doc->PageB, doc->PageH) + QMAX(doc->PageB, doc->PageH) * 0.1) * UmReFaktor;
971
        double minXYVal=-3000 * UmReFaktor;
3 paul 972
        HaveDoc = true;
186 Franz 973
        HaveItem = false;
335 Franz 974
 
975
        Xpos->setValues( minXYVal, maxXYWHVal, 100, minXYVal);
976
        Ypos->setValues( minXYVal, maxXYWHVal, 100, minXYVal);
977
        Width->setValues( UmReFaktor, maxXYWHVal, 100, UmReFaktor);
978
        Height->setValues( UmReFaktor, maxXYWHVal, 100, UmReFaktor);
979
        LXpos->setValues( -3000, maxXYWHVal, 100, 0);
980
        LYpos->setValues( -3000, maxXYWHVal, 100, 0);
981
 
982
        Rot->setValues( 0, 360, 100, 0);
983
        RoundRect->setValues( -300, 300, 10, 0);
984
        Extra->setValues( -300, 300, 10, 0);
985
        Size->setValues( 1, 1024, 10, 1);
986
        LineSp->setValues( 1, 300, 10, 1);
987
        ScaleX->setValues( 1, 3000, 10, 1);
988
        ScaleY->setValues( 1, 3000, 10, 1);
989
 
215 Franz 990
        DGap->setDecimals(10);
991
        DTop->setDecimals(10);
992
        DLeft->setDecimals(10);
993
        DBottom->setDecimals(10);
994
        DRight->setDecimals(10);
146 Franz 995
        LSize->setMaxValue( 36 );
174 Franz 996
        LSize->setMinValue( 0 );
392 Franz 997
        Dist->setMaxValue( 30000 );
68 Franz 998
        Dist->setMinValue( 0 );
999
        Dist->setLineStep(10);
146 Franz 1000
        LineW->setMaxValue( 300 );
1001
        LineW->setMinValue( -300 );
68 Franz 1002
        LineW->setLineStep(10);
335 Franz 1003
 
68 Franz 1004
        updateCList();
3 paul 1005
}
1006
 
1007
void Mpalette::UnsetDoc()
1008
{
1009
        HaveDoc = false;
1010
}
1011
 
1012
void Mpalette::SetCurItem(PageItem *i)
1013
{
173 Franz 1014
        if (ScApp->ScriptRunning)
1015
                return;
217 Franz 1016
        disconnect(StyledLine, SIGNAL(clicked(QListBoxItem*)), this, SLOT(SetSTline(QListBoxItem*)));
68 Franz 1017
        disconnect(NameEdit, SIGNAL(Leaved()), this, SLOT(NewName()));
3 paul 1018
        HaveItem = false;
1019
        CurItem = i;
296 Franz 1020
        if (TabStack->id(TabStack->visibleWidget()) == 5)
1021
                Cpal->setActGradient(CurItem->GrType);
294 Franz 1022
        Cpal->setSpecialGradient(CurItem->GrStartX * UmReFaktor, CurItem->GrStartY * UmReFaktor,
1023
                                                                                  CurItem->GrEndX * UmReFaktor, CurItem->GrEndY * UmReFaktor,
1024
                                                                                  CurItem->Width * UmReFaktor, CurItem->Height * UmReFaktor);
297 Franz 1025
        Cpal->GradEdit->Preview->fill_gradient = CurItem->fill_gradient;
1026
        Cpal->GradEdit->Preview->updateDisplay();
188 Franz 1027
        if (i->FrameType == 0)
1028
                SCustom->setPixmap(SCustom->getIconPixmap(0));
1029
        if (i->FrameType == 1)
1030
                SCustom->setPixmap(SCustom->getIconPixmap(1));
1031
        if (i->FrameType > 3)
1032
                SCustom->setPixmap(SCustom->getIconPixmap(i->FrameType-2));
1033
        NameEdit->setText(i->AnName);
146 Franz 1034
        RoundRect->setValue(i->RadRect*UmReFaktor);
272 Franz 1035
        QString tm;
1036
        LevelTxt->setText(tm.setNum(i->ItemNr));
135 Franz 1037
        DCol->setMaxValue(QMAX(qRound(i->Width / QMAX(i->ColGap, 10.0)), 1));
1038
        DCol->setMinValue(1);
1039
        DGap->setMinValue(0);
183 Franz 1040
        DCol->setValue(i->Cols);
332 Franz 1041
        if (colgapLabel->getState())
265 Franz 1042
        {
1043
                DGap->setMaxValue(QMAX((i->Width / i->Cols - i->Extra - i->RExtra)*UmReFaktor, 0));
1044
                DGap->setValue(i->ColGap*UmReFaktor);
1045
        }
1046
        else
1047
        {
1048
                double lineCorr;
1049
                if (i->Pcolor2 != "None")
1050
                        lineCorr = i->Pwidth;
1051
                else
1052
                        lineCorr = 0;
1053
                double ColWidth = (i->Width - (i->ColGap * (i->Cols - 1)) - i->Extra - i->RExtra - lineCorr) / i->Cols;
1054
                DGap->setMaxValue(QMAX((i->Width / i->Cols)*UmReFaktor, 0));
1055
                DGap->setValue(ColWidth*UmReFaktor);
1056
        }
215 Franz 1057
        DLeft->setValue(i->Extra*UmReFaktor);
1058
        DTop->setValue(i->TExtra*UmReFaktor);
1059
        DBottom->setValue(i->BExtra*UmReFaktor);
1060
        DRight->setValue(i->RExtra*UmReFaktor);
1061
        Revert->setOn(i->Reverse);
340 Franz 1062
        disconnect(Textflow2, SIGNAL(clicked()), this, SLOT(DoFlow2()));
1063
        disconnect(Textflow3, SIGNAL(clicked()), this, SLOT(DoFlow3()));
68 Franz 1064
        Textflow->setChecked(i->Textflow);
1065
        Textflow2->setChecked(i->Textflow2);
340 Franz 1066
        Textflow3->setChecked(i->UseContour);
1067
        connect(Textflow2, SIGNAL(clicked()), this, SLOT(DoFlow2()));
1068
        connect(Textflow3, SIGNAL(clicked()), this, SLOT(DoFlow3()));
68 Franz 1069
        ToggleFlow();
369 Franz 1070
        langCombo->setCurrentText(ScApp->LangTransl[i->Language]);
80 Franz 1071
        bool setter;
27 Franz 1072
        if (i->NamedLStyle == "")
215 Franz 1073
        {
1074
                StyledLine->setCurrentItem(0);
1075
                setter = true;
1076
        }
27 Franz 1077
        else
215 Franz 1078
        {
1079
                StyledLine->setSelected(StyledLine->findItem(i->NamedLStyle), true);
1080
                setter = false;
1081
        }
80 Franz 1082
        LStyle->setEnabled(setter);
1083
        LSize->setEnabled(setter);
1084
        LJoinStyle->setEnabled(setter);
1085
        LEndStyle->setEnabled(setter);
216 Franz 1086
        connect(StyledLine, SIGNAL(clicked(QListBoxItem*)), this, SLOT(SetSTline(QListBoxItem*)));
68 Franz 1087
        connect(NameEdit, SIGNAL(Leaved()), this, SLOT(NewName()));
205 Franz 1088
        NoPrint->setOn(!i->isPrintable);
335 Franz 1089
        setter = i->Locked;
238 Franz 1090
        Kette2->setOn(false);
335 Franz 1091
        Width->setReadOnly(setter);
1092
        Height->setReadOnly(setter);
338 Franz 1093
        RoundRect->setEnabled(!setter);
1094
        EditShape->setEnabled(!setter);
1095
        ShapeGroup->setEnabled(!setter);
1096
        LayerGroup->setEnabled(!setter);
335 Franz 1097
        Locked->setOn(setter);
232 Franz 1098
        if ((i->isTableItem) && (i->isSingleSel))
1099
        {
335 Franz 1100
                setter = true;
232 Franz 1101
                TabStack3->raiseWidget(1);
1102
                TopLine->setChecked(i->TopLine);
1103
                LeftLine->setChecked(i->LeftLine);
1104
                RightLine->setChecked(i->RightLine);
1105
                BottomLine->setChecked(i->BottomLine);
1106
        }
1107
        else
1108
                TabStack3->raiseWidget(0);
339 Franz 1109
        LayerGroup->setEnabled(!setter);
335 Franz 1110
        Xpos->setReadOnly(setter);
1111
        Ypos->setReadOnly(setter);
1112
        Rot->setReadOnly(setter);
205 Franz 1113
        setter = i->LockRes;
1114
        NoResize->setOn(setter);
1115
        if (!i->Locked)
1116
        {
335 Franz 1117
                Width->setReadOnly(setter);
1118
                Height->setReadOnly(setter);
205 Franz 1119
        }
80 Franz 1120
        if (i->Locked)
215 Franz 1121
        {
68 Franz 1122
                HaveItem = true;
3 paul 1123
                return;
215 Franz 1124
        }
68 Franz 1125
        if (i->PType == 8)
215 Franz 1126
        {
68 Franz 1127
                TabStack2->raiseWidget(1);
332 Franz 1128
                showcurveCheckBox->setChecked(i->PoShow);
217 Franz 1129
                LineW->setValue(i->BaseOffs * -1);
1130
                Dist->setValue(i->Extra);
215 Franz 1131
        }
68 Franz 1132
        else
1133
                TabStack2->raiseWidget(0);
3 paul 1134
        if (((i->PType == 4) || (i->PType == 2) || (i->PType == 3)) &&  (!i->ClipEdited))
1135
                RoundRect->setEnabled(true);
1136
        else
217 Franz 1137
        {
1138
                if ((i->PType == 6) && ((i->FrameType == 0) || (i->FrameType == 2)))
1139
                        RoundRect->setEnabled(true);
1140
                else
1141
                        RoundRect->setEnabled(false);
1142
        }
332 Franz 1143
 
1144
        if ((i->PType == 5) && LMode) {
348 Franz 1145
                xposLabel->setText( tr( "&X1:" ) );
1146
                widthLabel->setText( tr( "X&2:" ) );
1147
                yposLabel->setText( tr( "Y&1:" ) );
1148
                heightLabel->setText( tr( "&Y2:" ) );
332 Franz 1149
                Rot->setEnabled(false);
1150
        } else {
348 Franz 1151
                xposLabel->setText( tr( "&X-Pos:" ) );
1152
                widthLabel->setText( tr( "&Width:" ) );
1153
                yposLabel->setText( tr( "&Y-Pos:" ) );
1154
                heightLabel->setText( tr( "&Height:" ) );
332 Franz 1155
                Rot->setEnabled(true);
1156
        }
1157
 
3 paul 1158
        if (i->PType == 5)
215 Franz 1159
        {
238 Franz 1160
                Kette2->setEnabled(false);
215 Franz 1161
                if (LMode)
3 paul 1162
                        Height->setEnabled(true);
1163
                else
1164
                        Height->setEnabled(false);
215 Franz 1165
        }
3 paul 1166
        else
215 Franz 1167
        {
238 Franz 1168
                Kette2->setEnabled(true);
215 Franz 1169
                if (i->PType == 2)
3 paul 1170
                {
68 Franz 1171
                        updateCmsList();
162 Franz 1172
                        setter = i->ScaleType;
80 Franz 1173
                        FreeScale->setChecked(setter);
1174
                        FrameScale->setChecked(!setter);
162 Franz 1175
                        if (setter == false)
1176
                                Kette->setOn(setter);
1177
                        Aspect->setEnabled(!setter);
1178
                        Aspect->setChecked(i->AspectRatio);
1179
                        LXpos->setEnabled(setter);
1180
                        LYpos->setEnabled(setter);
1181
                        ScaleX->setEnabled(setter);
1182
                        ScaleY->setEnabled(setter);
3 paul 1183
                }
215 Franz 1184
        }
3 paul 1185
        HaveItem = true;
1186
}
1187
 
1188
void Mpalette::NewSel(int nr)
1189
{
173 Franz 1190
        if (ScApp->ScriptRunning)
1191
                return;
86 Franz 1192
        int visID;
3 paul 1193
        if (doc->ActPage->GroupSel)
215 Franz 1194
        {
131 Franz 1195
                RoVal = 0;
129 Franz 1196
                double gx, gy, gh, gw;
1197
                doc->ActPage->getGroupRect(&gx, &gy, &gw, &gh);
217 Franz 1198
                if (TopLeft->isChecked())
130 Franz 1199
                        doc->ActPage->RCenter = FPoint(gx, gy);
217 Franz 1200
                if (TopRight->isChecked())
130 Franz 1201
                        doc->ActPage->RCenter = FPoint(gx + gw, gy);
217 Franz 1202
                if (Center->isChecked())
130 Franz 1203
                        doc->ActPage->RCenter = FPoint(gx + gw / 2.0, gy + gh / 2.0);
217 Franz 1204
                if (BottomLeft->isChecked())
130 Franz 1205
                        doc->ActPage->RCenter = FPoint(gx, gy + gh);
217 Franz 1206
                if (BottomRight->isChecked())
130 Franz 1207
                        doc->ActPage->RCenter = FPoint(gx + gw, gy + gh);
348 Franz 1208
                xposLabel->setText( tr( "&X-Pos:" ) );
1209
                widthLabel->setText( tr( "&Width:" ) );
1210
                yposLabel->setText( tr( "&Y-Pos:" ) );
1211
                heightLabel->setText( tr( "&Height:" ) );
3 paul 1212
                HaveItem = false;
1213
                Xpos->setValue(0);
1214
                Ypos->setValue(0);
1215
                Width->setValue(0);
1216
                Height->setValue(0);
1217
                Rot->setValue(0);
1218
                RoundRect->setValue(0);
1219
                HaveItem = true;
1220
                Xpos->setEnabled(true);
1221
                Ypos->setEnabled(true);
1222
                Width->setEnabled(true);
1223
                Height->setEnabled(true);
1224
                Rot->setEnabled(true);
32 Franz 1225
                SGeom->setEnabled(true);
1226
                TabStack->widget(0)->setEnabled(true);
68 Franz 1227
                NameEdit->setEnabled(false);
215 Franz 1228
        }
3 paul 1229
        else
215 Franz 1230
        {
68 Franz 1231
                NameEdit->setEnabled(true);
3 paul 1232
                FlipH->setEnabled(false);
1233
                FlipV->setEnabled(false);
1234
                ShapeGroup->setEnabled(false);
1235
                RoundRect->setEnabled(false);
1236
                Distance->setEnabled(false);
1237
                EditShape->setEnabled(false);
1238
                LineMode->setEnabled(false);
1239
                TopLeft->setEnabled(true);
1240
                TopRight->setEnabled(true);
1241
                BottomLeft->setEnabled(true);
1242
                BottomRight->setEnabled(true);
1243
                Center->setEnabled(true);
207 Franz 1244
                visID = TabStack->id(TabStack->visibleWidget());
3 paul 1245
                TabStack->widget(0)->setEnabled(true);
1246
                TabStack->widget(1)->setEnabled(false);
1247
                TabStack->widget(2)->setEnabled(false);
1248
                TabStack->widget(3)->setEnabled(false);
1249
                TabStack->widget(4)->setEnabled(false);
1250
                TabStack->widget(5)->setEnabled(true);
1251
                SColor->setEnabled(true);
1252
                switch (nr)
215 Franz 1253
                {
217 Franz 1254
                case -1:
348 Franz 1255
                        xposLabel->setText( tr( "&X-Pos:" ) );
1256
                        widthLabel->setText( tr( "&Width:" ) );
1257
                        yposLabel->setText( tr( "&Y-Pos:" ) );
1258
                        heightLabel->setText( tr( "&Height:" ) );
217 Franz 1259
                        Rot->setEnabled(true);
1260
                        Height->setEnabled(true);
1261
                        HaveItem = false;
1262
                        Xpos->setValue(0);
1263
                        Ypos->setValue(0);
1264
                        Width->setValue(0);
1265
                        Height->setValue(0);
1266
                        Rot->setValue(0);
1267
                        RoundRect->setValue(0);
1268
                        for (int ws = 0; ws < 6; ++ws)
1269
                                TabStack->widget(ws)->setEnabled(false);
1270
                        SGeom->setEnabled(false);
1271
                        SShape->setEnabled(false);
1272
                        SText->setEnabled(false);
1273
                        SImage->setEnabled(false);
1274
                        SLine->setEnabled(false);
1275
                        SColor->setEnabled(false);
294 Franz 1276
                        Cpal->ChooseGrad(0);
217 Franz 1277
                        //                              SGeom->setOn(true);
1278
                        break;
1279
                case 2:
1280
                        SGeom->setEnabled(true);
1281
                        SShape->setEnabled(true);
1282
                        SText->setEnabled(false);
1283
                        SImage->setEnabled(true);
1284
                        SLine->setEnabled(true);
1285
                        TabStack->widget(1)->setEnabled(true);
1286
                        TabStack->widget(3)->setEnabled(true);
1287
                        TabStack->widget(4)->setEnabled(true);
1288
                        FlipH->setEnabled(true);
1289
                        FlipV->setEnabled(true);
1290
                        ShapeGroup->setEnabled(true);
1291
                        if ((doc->ActPage->SelItem.at(0)->FrameType == 0) || (doc->ActPage->SelItem.at(0)->FrameType == 2))
3 paul 1292
                                RoundRect->setEnabled(true);
217 Franz 1293
                        EditShape->setEnabled(true);
1294
                        if (visID == 2)
1295
                        {
1296
                                TabStack->raiseWidget(0);
1297
                                SGeom->setOn(true);
1298
                        }
1299
                        HaveItem = true;
1300
                        break;
1301
                case 4:
1302
                        SGeom->setEnabled(true);
1303
                        SShape->setEnabled(true);
1304
                        SText->setEnabled(true);
1305
                        SImage->setEnabled(false);
1306
                        SLine->setEnabled(true);
1307
                        TabStack->widget(1)->setEnabled(true);
1308
                        TabStack->widget(2)->setEnabled(true);
1309
                        TabStack->widget(4)->setEnabled(true);
1310
                        FlipH->setEnabled(true);
1311
                        FlipV->setEnabled(true);
1312
                        ShapeGroup->setEnabled(true);
1313
                        if ((doc->ActPage->SelItem.at(0)->FrameType == 0) || (doc->ActPage->SelItem.at(0)->FrameType == 2))
1314
                                RoundRect->setEnabled(true);
1315
                        Distance->setEnabled(true);
1316
                        EditShape->setEnabled(true);
1317
                        if (visID == 3)
1318
                        {
1319
                                TabStack->raiseWidget(0);
1320
                                SGeom->setOn(true);
1321
                        }
1322
                        HaveItem = true;
1323
                        break;
1324
                case 5:
1325
                        SGeom->setEnabled(true);
1326
                        SShape->setEnabled(false);
1327
                        SText->setEnabled(false);
1328
                        SImage->setEnabled(false);
1329
                        SLine->setEnabled(true);
1330
                        TabStack->widget(4)->setEnabled(true);
1331
                        LineMode->setEnabled(true);
1332
                        TopLeft->setEnabled(false);
1333
                        TopRight->setEnabled(false);
1334
                        BottomLeft->setEnabled(false);
1335
                        BottomRight->setEnabled(false);
1336
                        Center->setEnabled(false);
1337
                        if ((visID == 1) || (visID == 2) || (visID == 3))
1338
                        {
1339
                                TabStack->raiseWidget(0);
1340
                                SGeom->setOn(true);
1341
                        }
1342
                        HaveItem = true;
1343
                        break;
302 Franz 1344
                case 1:
1345
                case 3:
217 Franz 1346
                case 6:
1347
                        SGeom->setEnabled(true);
1348
                        SShape->setEnabled(true);
1349
                        SText->setEnabled(false);
1350
                        SImage->setEnabled(false);
1351
                        SLine->setEnabled(true);
1352
                        TabStack->widget(1)->setEnabled(true);
1353
                        TabStack->widget(4)->setEnabled(true);
1354
                        ShapeGroup->setEnabled(true);
1355
                        EditShape->setEnabled(true);
218 Franz 1356
                        FlipH->setEnabled(true);
1357
                        FlipV->setEnabled(true);
217 Franz 1358
                        if ((doc->ActPage->SelItem.at(0)->FrameType == 0) || (doc->ActPage->SelItem.at(0)->FrameType == 2))
1359
                                RoundRect->setEnabled(true);
1360
                        if ((visID == 2) || (visID == 3))
1361
                        {
1362
                                TabStack->raiseWidget(0);
1363
                                SGeom->setOn(true);
1364
                        }
1365
                        HaveItem = true;
1366
                        break;
1367
                case 7:
1368
                        SGeom->setEnabled(true);
1369
                        SShape->setEnabled(true);
1370
                        SText->setEnabled(false);
1371
                        SImage->setEnabled(false);
1372
                        SLine->setEnabled(true);
218 Franz 1373
                        FlipH->setEnabled(true);
1374
                        FlipV->setEnabled(true);
217 Franz 1375
                        TabStack->widget(1)->setEnabled(true);
1376
                        TabStack->widget(4)->setEnabled(true);
1377
                        EditShape->setEnabled(true);
1378
                        if ((visID == 2) || (visID == 3))
1379
                        {
1380
                                TabStack->raiseWidget(0);
1381
                                SGeom->setOn(true);
1382
                        }
1383
                        HaveItem = true;
1384
                        break;
1385
                case 8:
1386
                        SGeom->setEnabled(true);
1387
                        SShape->setEnabled(true);
1388
                        SText->setEnabled(true);
1389
                        SImage->setEnabled(false);
1390
                        SLine->setEnabled(true);
1391
                        TabStack->widget(1)->setEnabled(true);
1392
                        TabStack->widget(2)->setEnabled(true);
1393
                        TabStack->widget(4)->setEnabled(true);
1394
                        EditShape->setEnabled(true);
1395
                        if (visID == 3)
1396
                        {
1397
                                TabStack->raiseWidget(0);
1398
                                SGeom->setOn(true);
1399
                        }
1400
                        HaveItem = true;
1401
                        break;
3 paul 1402
                }
215 Franz 1403
        }
3 paul 1404
        updateGeometry();
1405
        setFocus();
1406
        repaint();
1407
}
1408
 
1409
void Mpalette::UnitChange()
1410
{
80 Franz 1411
        double old = Umrech;
335 Franz 1412
        Umrech = UmReFaktor;
3 paul 1413
        bool tmp = HaveItem;
1414
        HaveItem = false;
335 Franz 1415
        double maxXYWHVal=(QMAX(doc->PageB, doc->PageH) + QMAX(doc->PageB, doc->PageH) * 0.1) * UmReFaktor;
1416
        double minXYVal=-3000 * UmReFaktor;
1417
 
1418
        double newX = Xpos->value() / old * UmReFaktor;
1419
        double newY = Ypos->value() / old * UmReFaktor;
1420
        double newW = Width->value() / old * UmReFaktor;
1421
        double newH = Height->value() / old * UmReFaktor;
1422
        double newLX = LXpos->value() / old * UmReFaktor;
1423
        double newLY = LYpos->value() / old * UmReFaktor;
1424
        double newG = DGap->value() / old * UmReFaktor;
1425
        double newGM = DGap->maxValue() / old * UmReFaktor;
1426
        double newDT = DTop->value() / old * UmReFaktor;
1427
        double newDL = DLeft->value() / old * UmReFaktor;
1428
        double newDB = DBottom->value() / old * UmReFaktor;
1429
        double newDR = DRight->value() / old * UmReFaktor;
1430
        double newRR = RoundRect->value() / old * UmReFaktor;
1431
        double newRM = RoundRect->maxValue() / old * UmReFaktor;
1432
 
236 Franz 1433
        QString point[] = { tr(" pt"), tr(" mm"), tr(" in"), tr(" p")};
215 Franz 1434
        if (doc->Einheit > 3)
1435
                doc->Einheit = 0;
335 Franz 1436
        QString ein = point[doc->Einheit];
1437
 
3 paul 1438
        Xpos->setSuffix( ein );
1439
        Ypos->setSuffix( ein );
1440
        Width->setSuffix( ein );
1441
        Height->setSuffix( ein );
1442
        LXpos->setSuffix( ein );
1443
        LYpos->setSuffix( ein );
139 Franz 1444
        DGap->setSuffix( ein );
1445
        DLeft->setSuffix( ein );
1446
        DTop->setSuffix( ein );
1447
        DBottom->setSuffix( ein );
1448
        DRight->setSuffix( ein );
1449
        RoundRect->setSuffix( ein );
335 Franz 1450
 
1451
    int dp[] = {100, 1000, 10000, 100};
1452
    int xywhdecimals = dp[doc->Einheit];
1453
    int dp2[] = {10, 1000, 10000, 10};
1454
    int distdecimals = dp2[doc->Einheit];
1455
 
1456
        Xpos->setValues( minXYVal, maxXYWHVal, xywhdecimals, newX );
1457
        Ypos->setValues( minXYVal, maxXYWHVal, xywhdecimals, newY );
1458
        Width->setValues( UmReFaktor, maxXYWHVal, xywhdecimals, newW );
1459
        Height->setValues( UmReFaktor, maxXYWHVal, xywhdecimals, newH );
1460
 
1461
        LXpos->setMaxValue( maxXYWHVal );
1462
        LXpos->setDecimals(xywhdecimals);
1463
        LXpos->setValue(newLX);
1464
 
1465
        LYpos->setValue(newLY);
1466
        LYpos->setDecimals(xywhdecimals);
1467
        LYpos->setMaxValue( maxXYWHVal );
1468
 
1469
        DGap->setDecimals(distdecimals);
1470
        DGap->setMaxValue(newGM);
1471
        DGap->setValue(newG);
1472
 
1473
        DLeft->setDecimals(distdecimals);
1474
        DLeft->setMaxValue( 300 );
1475
        DLeft->setValue(newDL);
1476
 
1477
        DTop->setDecimals(distdecimals);
217 Franz 1478
        DTop->setMaxValue( 300 );
335 Franz 1479
        DTop->setValue(newDT);
1480
 
1481
        DBottom->setDecimals(distdecimals);
1482
        DBottom->setMaxValue( 300 );
1483
        DBottom->setValue(newDB);
1484
 
1485
        DRight->setDecimals(distdecimals);
217 Franz 1486
        DRight->setMaxValue( 300 );
335 Franz 1487
        DRight->setValue(newDR);
1488
 
1489
        RoundRect->setDecimals(distdecimals);
1490
        RoundRect->setMaxValue(newRM);
1491
        RoundRect->setValue(newRR);
1492
 
294 Franz 1493
        Cpal->UnitChange(old, UmReFaktor, doc->Einheit);
3 paul 1494
        HaveItem = tmp;
1495
}
1496
 
272 Franz 1497
void Mpalette::setLevel(uint l)
1498
{
1499
        QString tm;
1500
        LevelTxt->setText(tm.setNum(l));
1501
}
1502
 
80 Franz 1503
void Mpalette::setXY(double x, double y)
3 paul 1504
{
173 Franz 1505
        if (ScApp->ScriptRunning)
1506
                return;
237 Franz 1507
        disconnect(Xpos, SIGNAL(valueChanged(int)), this, SLOT(NewX()));
1508
        disconnect(Ypos, SIGNAL(valueChanged(int)), this, SLOT(NewY()));
3 paul 1509
        bool tmp = HaveItem;
133 Franz 1510
        double inX, inY, b, h, r, dummy1, dummy2;
132 Franz 1511
        QWMatrix ma;
1512
        FPoint n;
1513
        if (HaveItem)
215 Franz 1514
        {
1515
                if (doc->ActPage->GroupSel)
132 Franz 1516
                {
133 Franz 1517
                        doc->ActPage->getGroupRect(&dummy1, &dummy2, &b, &h);
1518
                        r = 0.0;
215 Franz 1519
                }
133 Franz 1520
                else
215 Franz 1521
                {
133 Franz 1522
                        b = CurItem->Width;
1523
                        h = CurItem->Height;
1524
                        r = CurItem->Rot;
132 Franz 1525
                }
215 Franz 1526
        }
132 Franz 1527
        else
215 Franz 1528
        {
132 Franz 1529
                b = 0.0;
1530
                h = 0.0;
1531
                r = 0.0;
215 Franz 1532
        }
3 paul 1533
        HaveItem = false;
132 Franz 1534
        ma.translate(x, y);
1535
        ma.rotate(r);
215 Franz 1536
        if (TopLeft->isChecked())
132 Franz 1537
                n = FPoint(0.0, 0.0);
1538
        if (TopRight->isChecked())
1539
                n = FPoint(b, 0.0);
215 Franz 1540
        if (Center->isChecked())
132 Franz 1541
                n = FPoint(b / 2.0, h / 2.0);
1542
        if (BottomLeft->isChecked())
1543
                n = FPoint(0.0, h);
1544
        if (BottomRight->isChecked())
1545
                n = FPoint(b, h);
1546
        inX = ma.m11() * n.x() + ma.m21() * n.y() + ma.dx();
1547
        inY = ma.m22() * n.y() + ma.m12() * n.x() + ma.dy();
146 Franz 1548
        Xpos->setValue(inX*UmReFaktor);
1549
        Ypos->setValue(inY*UmReFaktor);
132 Franz 1550
        if ((LMode) && (tmp))
3 paul 1551
                setBH(CurItem->Width, CurItem->Height);
1552
        HaveItem = tmp;
237 Franz 1553
        connect(Xpos, SIGNAL(valueChanged(int)), this, SLOT(NewX()));
1554
        connect(Ypos, SIGNAL(valueChanged(int)), this, SLOT(NewY()));
3 paul 1555
}
1556
 
80 Franz 1557
void Mpalette::setBH(double x, double y)
3 paul 1558
{
173 Franz 1559
        if (ScApp->ScriptRunning)
1560
                return;
3 paul 1561
        bool tmp = HaveItem;
1562
        HaveItem = false;
1563
        QWMatrix ma;
1564
        QPoint dp;
1565
        if ((LMode) && (CurItem->PType == 5))
215 Franz 1566
        {
150 Franz 1567
                ma.translate(static_cast<double>(Xpos->value()) / UmReFaktor, static_cast<double>(Ypos->value()) / UmReFaktor);
1568
                ma.rotate(static_cast<double>(Rot->value())*(-1));
3 paul 1569
                dp = ma * QPoint(static_cast<int>(x), static_cast<int>(y));
146 Franz 1570
                Width->setValue(dp.x()*UmReFaktor);
1571
                Height->setValue(dp.y()*UmReFaktor);
215 Franz 1572
        }
3 paul 1573
        else
215 Franz 1574
        {
146 Franz 1575
                RoundRect->setMaxValue(QMIN(x, y)/2*UmReFaktor);
1576
                Width->setValue(x*UmReFaktor);
1577
                Height->setValue(y*UmReFaktor);
215 Franz 1578
        }
3 paul 1579
        HaveItem = tmp;
1580
}
1581
 
80 Franz 1582
void Mpalette::setR(double r)
3 paul 1583
{
173 Franz 1584
        if (ScApp->ScriptRunning)
1585
                return;
3 paul 1586
        bool tmp = HaveItem;
80 Franz 1587
        double rr = r;
3 paul 1588
        if (r > 0)
1589
                rr = 360 - rr;
1590
        HaveItem = false;
146 Franz 1591
        Rot->setValue(fabs(rr));
3 paul 1592
        HaveItem = tmp;
1593
}
1594
 
80 Franz 1595
void Mpalette::setRR(double r)
3 paul 1596
{
173 Franz 1597
        if (ScApp->ScriptRunning)
1598
                return;
3 paul 1599
        bool tmp = HaveItem;
1600
        HaveItem = false;
146 Franz 1601
        RoundRect->setValue(r*UmReFaktor);
3 paul 1602
        HaveItem = tmp;
1603
}
1604
 
135 Franz 1605
void Mpalette::setCols(int r, double g)
134 Franz 1606
{
173 Franz 1607
        if (ScApp->ScriptRunning)
1608
                return;
134 Franz 1609
        bool tmp = HaveItem;
1610
        HaveItem = false;
1611
        DCol->setValue(r);
146 Franz 1612
        DGap->setValue(g*UmReFaktor);
135 Franz 1613
        if (tmp)
215 Franz 1614
        {
135 Franz 1615
                DCol->setMaxValue(QMAX(qRound(CurItem->Width / QMAX(CurItem->ColGap, 10.0)), 1));
332 Franz 1616
                if (colgapLabel->getState())
265 Franz 1617
                {
1618
                        DGap->setMaxValue(QMAX((CurItem->Width / CurItem->Cols - CurItem->Extra - CurItem->RExtra)*UmReFaktor, 0));
1619
                        DGap->setValue(CurItem->ColGap*UmReFaktor);
1620
                }
1621
                else
1622
                {
1623
                        double lineCorr;
1624
                        if (CurItem->Pcolor2 != "None")
1625
                                lineCorr = CurItem->Pwidth;
1626
                        else
1627
                                lineCorr = 0;
1628
                        double ColWidth = (CurItem->Width - (CurItem->ColGap * (CurItem->Cols - 1)) - CurItem->Extra - CurItem->RExtra - lineCorr) / CurItem->Cols;
1629
                        DGap->setMaxValue(QMAX((CurItem->Width / CurItem->Cols)*UmReFaktor, 0));
1630
                        DGap->setValue(ColWidth*UmReFaktor);
1631
                }
215 Franz 1632
        }
135 Franz 1633
        DCol->setMinValue(1);
1634
        DGap->setMinValue(0);
134 Franz 1635
        HaveItem = tmp;
1636
}
1637
 
80 Franz 1638
void Mpalette::setLsp(double r)
3 paul 1639
{
173 Franz 1640
        if (ScApp->ScriptRunning)
1641
                return;
3 paul 1642
        bool tmp = HaveItem;
1643
        HaveItem = false;
146 Franz 1644
        LineSp->setValue(r);
3 paul 1645
        HaveItem = tmp;
1646
}
1647
 
275 Franz 1648
void Mpalette::setDvals(double left, double top, double bottom, double right)
1649
{
1650
        if (ScApp->ScriptRunning)
1651
                return;
1652
        bool tmp = HaveItem;
1653
        HaveItem = false;
1654
        DLeft->setValue(left*UmReFaktor);
1655
        DTop->setValue(top*UmReFaktor);
1656
        DBottom->setValue(bottom*UmReFaktor);
1657
        DRight->setValue(right*UmReFaktor);
1658
        HaveItem = tmp;
1659
}
1660
 
3 paul 1661
void Mpalette::setSize(int s)
1662
{
173 Franz 1663
        if (ScApp->ScriptRunning)
1664
                return;
3 paul 1665
        bool tmp = HaveItem;
1666
        HaveItem = false;
146 Franz 1667
        Size->setValue(s / 10.0);
3 paul 1668
        HaveItem = tmp;
1669
}
1670
 
80 Franz 1671
void Mpalette::setExtra(double e)
3 paul 1672
{
173 Franz 1673
        if (ScApp->ScriptRunning)
1674
                return;
3 paul 1675
        bool tmp = HaveItem;
1676
        HaveItem = false;
146 Franz 1677
        Extra->setValue(e);
3 paul 1678
        HaveItem = tmp;
1679
}
1680
 
1681
void Mpalette::ChangeScaling()
1682
{
173 Franz 1683
        if (ScApp->ScriptRunning)
1684
                return;
3 paul 1685
        if (FreeScale == sender())
215 Franz 1686
        {
3 paul 1687
                FrameScale->setChecked(false);
1688
                FreeScale->setChecked(true);
1689
                Aspect->setEnabled(false);
162 Franz 1690
                LXpos->setEnabled(true);
1691
                LYpos->setEnabled(true);
1692
                ScaleX->setEnabled(true);
1693
                ScaleY->setEnabled(true);
215 Franz 1694
        }
3 paul 1695
        if (FrameScale == sender())
215 Franz 1696
        {
3 paul 1697
                FrameScale->setChecked(true);
1698
                FreeScale->setChecked(false);
1699
                Aspect->setEnabled(true);
162 Franz 1700
                LXpos->setEnabled(false);
1701
                LYpos->setEnabled(false);
1702
                ScaleX->setEnabled(false);
1703
                ScaleY->setEnabled(false);
215 Franz 1704
        }
3 paul 1705
        if ((HaveDoc) && (HaveItem))
215 Franz 1706
        {
3 paul 1707
                CurItem->ScaleType = FreeScale->isChecked();
1708
                CurItem->AspectRatio = Aspect->isChecked();
1709
                if (!CurItem->ScaleType)
1710
                        doc->ActPage->AdjustPictScale(CurItem);
1711
                doc->ActPage->RefreshItem(CurItem);
162 Franz 1712
                emit UpdtGui(2);
3 paul 1713
                emit DocChanged();
1714
                setFocus();
215 Franz 1715
        }
3 paul 1716
}
1717
 
80 Franz 1718
void Mpalette::setLvalue(double scx, double scy, double x, double y)
3 paul 1719
{
173 Franz 1720
        if (ScApp->ScriptRunning)
1721
                return;
3 paul 1722
        bool tmp = HaveItem;
1723
        HaveItem = false;
146 Franz 1724
        LXpos->setValue(x * UmReFaktor);
1725
        LYpos->setValue(y * UmReFaktor);
1726
        ScaleX->setValue(scx * 100);
1727
        ScaleY->setValue(scy * 100);
3 paul 1728
        HaveItem = tmp;
1729
}
1730
 
80 Franz 1731
void Mpalette::setSvalue(double s)
3 paul 1732
{
173 Franz 1733
        if (ScApp->ScriptRunning)
1734
                return;
3 paul 1735
        bool tmp = HaveItem;
1736
        HaveItem = false;
146 Franz 1737
        LSize->setValue(s);
3 paul 1738
        HaveItem = tmp;
1739
}
1740
 
1741
void Mpalette::setLIvalue(PenStyle p, PenCapStyle pc, PenJoinStyle pj)
1742
{
173 Franz 1743
        if (ScApp->ScriptRunning)
1744
                return;
3 paul 1745
        bool tmp = HaveItem;
1746
        HaveItem = false;
1747
        switch (p)
215 Franz 1748
        {
217 Franz 1749
        case SolidLine:
1750
                LStyle->setCurrentItem(0);
1751
                break;
1752
        case DashLine:
1753
                LStyle->setCurrentItem(1);
1754
                break;
1755
        case DotLine:
1756
                LStyle->setCurrentItem(2);
1757
                break;
1758
        case DashDotLine:
1759
                LStyle->setCurrentItem(3);
1760
                break;
1761
        case DashDotDotLine:
1762
                LStyle->setCurrentItem(4);
1763
                break;
1764
        default:
1765
                LStyle->setCurrentItem(0);
1766
                break;
215 Franz 1767
        }
3 paul 1768
        switch (pc)
215 Franz 1769
        {
217 Franz 1770
        case FlatCap:
1771
                LEndStyle->setCurrentItem(0);
1772
                break;
1773
        case SquareCap:
1774
                LEndStyle->setCurrentItem(1);
1775
                break;
1776
        case RoundCap:
1777
                LEndStyle->setCurrentItem(2);
1778
                break;
1779
        default:
1780
                LEndStyle->setCurrentItem(0);
1781
                break;
215 Franz 1782
        }
3 paul 1783
        switch (pj)
215 Franz 1784
        {
217 Franz 1785
        case MiterJoin:
1786
                LJoinStyle->setCurrentItem(0);
1787
                break;
1788
        case BevelJoin:
1789
                LJoinStyle->setCurrentItem(1);
1790
                break;
1791
        case RoundJoin:
1792
                LJoinStyle->setCurrentItem(2);
1793
                break;
1794
        default:
1795
                LJoinStyle->setCurrentItem(0);
1796
                break;
215 Franz 1797
        }
3 paul 1798
        HaveItem = tmp;
1799
}
1800
 
1801
void Mpalette::setStil(int s)
1802
{
173 Franz 1803
        if (ScApp->ScriptRunning)
1804
                return;
68 Franz 1805
        StrokeIcon->setEnabled(false);
1806
        TxStroke->setEnabled(false);
1807
        PM1->setEnabled(false);
167 Franz 1808
        SeStyle->setStyle(s);
68 Franz 1809
        if (s & 4)
215 Franz 1810
        {
68 Franz 1811
                StrokeIcon->setEnabled(true);
1812
                TxStroke->setEnabled(true);
1813
                PM1->setEnabled(true);
215 Franz 1814
        }
3 paul 1815
}
1816
 
1817
void Mpalette::setAli(int e)
1818
{
173 Franz 1819
        if (ScApp->ScriptRunning)
1820
                return;
3 paul 1821
        bool tmp = HaveItem;
1822
        HaveItem = false;
279 Franz 1823
        if (e < 5)
1824
        {
1825
                GroupAlign->setEnabled(true);
1826
                GroupAlign->setStyle(e);
1827
        }
1828
        else
1829
                GroupAlign->setEnabled(false);
176 Franz 1830
        Spal->setFormat(e);
3 paul 1831
        HaveItem = tmp;
1832
}
1833
 
68 Franz 1834
void Mpalette::setTScale(int e)
1835
{
173 Franz 1836
        if (ScApp->ScriptRunning)
1837
                return;
68 Franz 1838
        bool tmp = HaveItem;
1839
        HaveItem = false;
215 Franz 1840
        ChScale->setValue(e);
68 Franz 1841
        HaveItem = tmp;
1842
}
1843
 
1844
void Mpalette::NewTScale()
1845
{
1846
        if ((HaveDoc) && (HaveItem))
215 Franz 1847
        {
68 Franz 1848
                doc->ActPage->ItemTextScale(ChScale->value());
1849
                doc->CurrTextScale = ChScale->value();
1850
                emit DocChanged();
215 Franz 1851
        }
68 Franz 1852
}
1853
 
3 paul 1854
void Mpalette::NewX()
1855
{
173 Franz 1856
        if (ScApp->ScriptRunning)
1857
                return;
132 Franz 1858
        double x,y,w,h, gx, gy, gh, gw, base;
1859
        QWMatrix ma;
146 Franz 1860
        x = Xpos->value() / UmReFaktor;
1861
        y = Ypos->value() / UmReFaktor;
1862
        w = Width->value() / UmReFaktor;
1863
        h = Height->value() / UmReFaktor;
3 paul 1864
        if ((HaveDoc) && (HaveItem))
215 Franz 1865
        {
1866
                if (doc->ActPage->GroupSel)
3 paul 1867
                {
1868
                        doc->ActPage->getGroupRect(&gx, &gy, &gw, &gh);
217 Franz 1869
                        if ((TopLeft->isChecked()) || (BottomLeft->isChecked()))
133 Franz 1870
                                base = gx;
217 Franz 1871
                        if (Center->isChecked())
133 Franz 1872
                                base = gx + gw / 2.0;
217 Franz 1873
                        if ((TopRight->isChecked()) || (BottomRight->isChecked()))
133 Franz 1874
                                base = gx + gw;
1875
                        doc->ActPage->moveGroup(x - base, 0, true);
215 Franz 1876
                }
3 paul 1877
                else
215 Franz 1878
                {
1879
                        if ((CurItem->PType == 5) && (LMode))
3 paul 1880
                        {
80 Franz 1881
                                double r = atan2(h-y,w-x)*(180.0/3.1415927);
3 paul 1882
                                w = sqrt(pow(w-x,2)+pow(h-y,2));
1883
                                doc->ActPage->MoveItem(x - CurItem->Xpos, 0, CurItem, true);
1884
                                doc->ActPage->SizeItem(w, CurItem->Height, CurItem->ItemNr, true);
1885
                                doc->ActPage->RotateItem(r, CurItem->ItemNr);
215 Franz 1886
                        }
3 paul 1887
                        else
215 Franz 1888
                        {
132 Franz 1889
                                ma.translate(CurItem->Xpos, CurItem->Ypos);
1890
                                ma.rotate(CurItem->Rot);
217 Franz 1891
                                if (TopLeft->isChecked())
132 Franz 1892
                                        base = CurItem->Xpos;
217 Franz 1893
                                if (Center->isChecked())
132 Franz 1894
                                        base = ma.m11() * (CurItem->Width / 2.0) + ma.m21() * (CurItem->Height / 2.0) + ma.dx();
217 Franz 1895
                                if (TopRight->isChecked())
132 Franz 1896
                                        base = ma.m11() * CurItem->Width + ma.m21() * 0.0 + ma.dx();
217 Franz 1897
                                if (BottomRight->isChecked())
132 Franz 1898
                                        base = ma.m11() * CurItem->Width + ma.m21() * CurItem->Height + ma.dx();
217 Franz 1899
                                if (BottomLeft->isChecked())
132 Franz 1900
                                        base = ma.m11() * 0.0 + ma.m21() * CurItem->Height + ma.dx();
1901
                                doc->ActPage->MoveItem(x - base, 0, CurItem, true);
3 paul 1902
                        }
1903
                }
217 Franz 1904
                emit DocChanged();
215 Franz 1905
        }
3 paul 1906
}
1907
 
1908
void Mpalette::NewY()
1909
{
173 Franz 1910
        if (ScApp->ScriptRunning)
1911
                return;
132 Franz 1912
        double x,y,w,h, gx, gy, gh, gw, base;
1913
        QWMatrix ma;
146 Franz 1914
        x = Xpos->value() / UmReFaktor;
1915
        y = Ypos->value() / UmReFaktor;
1916
        w = Width->value() / UmReFaktor;
1917
        h = Height->value() / UmReFaktor;
3 paul 1918
        if ((HaveDoc) && (HaveItem))
215 Franz 1919
        {
1920
                if (doc->ActPage->GroupSel)
3 paul 1921
                {
1922
                        doc->ActPage->getGroupRect(&gx, &gy, &gw, &gh);
217 Franz 1923
                        if ((TopLeft->isChecked()) || (TopRight->isChecked()))
133 Franz 1924
                                base = gy;
217 Franz 1925
                        if (Center->isChecked())
133 Franz 1926
                                base = gy + gh / 2.0;
217 Franz 1927
                        if ((BottomLeft->isChecked()) || (BottomRight->isChecked()))
133 Franz 1928
                                base = gy + gh;
1929
                        doc->ActPage->moveGroup(0, y - base, true);
215 Franz 1930
                }
3 paul 1931
                else
215 Franz 1932
                {
1933
                        if ((CurItem->PType == 5) && (LMode))
3 paul 1934
                        {
80 Franz 1935
                                double r = atan2(h-y,w-x)*(180.0/3.1415927);
3 paul 1936
                                w = sqrt(pow(w-x,2)+pow(h-y,2));
1937
                                doc->ActPage->MoveItem(0, y - CurItem->Ypos, CurItem, true);
1938
                                doc->ActPage->SizeItem(w, CurItem->Height, CurItem->ItemNr, true);
1939
                                doc->ActPage->RotateItem(r, CurItem->ItemNr);
215 Franz 1940
                        }
3 paul 1941
                        else
215 Franz 1942
                        {
132 Franz 1943
                                ma.translate(CurItem->Xpos, CurItem->Ypos);
1944
                                ma.rotate(CurItem->Rot);
217 Franz 1945
                                if (TopLeft->isChecked())
132 Franz 1946
                                        base = CurItem->Ypos;
217 Franz 1947
                                if (Center->isChec