Subversion Repositories Scribus

Rev

Rev 2309 | Rev 2382 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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