Subversion Repositories Scribus

Rev

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

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