00001
00002
00003
00004
00005
00006
00007
00008
00009 #include "propertiespalette.h"
00010
00011 #include <QButtonGroup>
00012 #include <QCheckBox>
00013 #include <QCloseEvent>
00014 #include <QComboBox>
00015 #include <QEvent>
00016 #include <QFocusEvent>
00017 #include <QFrame>
00018 #include <QGridLayout>
00019 #include <QGroupBox>
00020 #include <QHBoxLayout>
00021 #include <QImage>
00022 #include <QKeyEvent>
00023 #include <QLabel>
00024 #include <QListView>
00025 #include <QMatrix>
00026 #include <QMenu>
00027 #include <QMessageBox>
00028 #include <QObject>
00029 #include <QPixmap>
00030 #include <QPoint>
00031 #include <QPushButton>
00032 #include <QRadioButton>
00033 #include <QRegExp>
00034 #include <QSpacerItem>
00035 #include <QSpinBox>
00036 #include <QStackedWidget>
00037 #include <QTimer>
00038 #include <QToolBox>
00039 #include <QToolTip>
00040 #include <QVBoxLayout>
00041 #include <QValidator>
00042 #include <QWidget>
00043
00044
00045 #include <cmath>
00046 #include "arrowchooser.h"
00047 #include "autoform.h"
00048 #include "commonstrings.h"
00049 #include "colorlistbox.h"
00050 #include "sccolorengine.h"
00051 #include "cpalette.h"
00052 #include "pageitem_textframe.h"
00053 #include "sccombobox.h"
00054 #include "scfonts.h"
00055 #include "scribus.h"
00056 #include "scribuscore.h"
00057 #include "scraction.h"
00058 #include "scribusview.h"
00059 #include "selection.h"
00060 #include "spalette.h"
00061 #include "styleselect.h"
00062 #include "tabmanager.h"
00063 #include "units.h"
00064 #include "undomanager.h"
00065 #include "util.h"
00066 #include "util_icon.h"
00067 #include "text/nlsconfig.h"
00068 #include "dasheditor.h"
00069
00070 using namespace std;
00071
00072
00073 LineFormatValue::LineFormatValue() : m_Line(), m_doc(NULL), m_name() {};
00074
00075 LineFormatValue::LineFormatValue( const multiLine& line, ScribusDoc* doc, const QString name ) : m_Line(line), m_doc(doc), m_name(name) {};
00076
00077 LineFormatValue::LineFormatValue(const LineFormatValue& other)
00078 {
00079 m_name = other.m_name;
00080 m_Line = other.m_Line;
00081 m_doc = other.m_doc;
00082 }
00083
00084 LineFormatValue& LineFormatValue::operator= (const LineFormatValue& other)
00085 {
00086 m_name = other.m_name;
00087 m_Line = other.m_Line;
00088 m_doc = other.m_doc;
00089 return *this;
00090 }
00091
00092
00093 void LineFormatItemDelegate::redraw(const QVariant& data) const
00094 {
00095 const LineFormatValue& item(data.value<LineFormatValue>());
00096 QColor tmpf;
00097 pmap->fill(Qt::white);
00098 QPainter p;
00099 p.begin(pmap.get());
00100 for (int its = item.m_Line.size()-1; its > -1; its--)
00101 {
00102 const ScColor& col = item.m_doc->PageColors[item.m_Line[its].Color];
00103 tmpf = ScColorEngine::getDisplayColor(col, item.m_doc, item.m_Line[its].Shade);
00104 QPen pen;
00105 QList<double> m_array;
00106 if (item.m_Line[its].Dash == 1)
00107 pen.setStyle(Qt::SolidLine);
00108 else
00109 {
00110 getDashArray(item.m_Line[its].Dash, 1, m_array);
00111 pen.setDashPattern(m_array.toVector());
00112 }
00113 pen.setColor(tmpf);
00114 pen.setWidth(qMax(static_cast<int>(item.m_Line[its].Width), 1));
00115 pen.setCapStyle(static_cast<Qt::PenCapStyle>(item.m_Line[its].LineEnd));
00116 pen.setJoinStyle(static_cast<Qt::PenJoinStyle>(item.m_Line[its].LineJoin));
00117 p.setPen(pen);
00118 p.drawLine(0, 18, 37, 18);
00119 }
00120 p.end();
00121 }
00122
00123 QString LineFormatItemDelegate::text(const QVariant& data) const
00124 {
00125 return data.toString();
00126 }
00127
00128 NameWidget::NameWidget(QWidget* parent) : QLineEdit(parent)
00129 {
00130 setObjectName("namewidget");
00131 QRegExp rx( "\\w+" );
00132 QValidator* validator = new QRegExpValidator( rx, this );
00133 setValidator( validator );
00134 }
00135
00136 void NameWidget::focusOutEvent(QFocusEvent *e)
00137 {
00138 emit Leaved();
00139 QLineEdit::focusOutEvent(e);
00140 }
00141
00142 PropertiesPalette::PropertiesPalette( QWidget* parent) : ScrPaletteBase( parent, "PropertiesPalette", false, 0)
00143 {
00144 m_ScMW=0;
00145 doc=0;
00146 HaveDoc = false;
00147 HaveItem = false;
00148 RoVal = 0;
00149 m_unitRatio = 1.0;
00150 setSizePolicy( QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum));
00151
00152 _userActionOn = false;
00153 userActionSniffer = new UserActionSniffer(this);
00154 connect(userActionSniffer, SIGNAL(actionStart()), this, SLOT(spinboxStartUserAction()));
00155 connect(userActionSniffer, SIGNAL(actionEnd()), this, SLOT(spinboxFinishUserAction()));
00156
00157 MpalLayout = new QVBoxLayout( this );
00158 MpalLayout->setMargin(5);
00159 MpalLayout->setSpacing(1);
00160 setOrientation(Qt::Vertical);
00161 QFont f(font());
00162 f.setPointSize(f.pointSize()-1);
00163 setFont(f);
00164
00165 TabStack = new QToolBox( this );
00166
00167 page = new QWidget( TabStack );
00168 pageLayout = new QVBoxLayout( page );
00169 pageLayout->setMargin(0);
00170 pageLayout->setSpacing(5);
00171
00172 NameGroup = new QGroupBox( page );
00173 NameGroupLayout = new QHBoxLayout( NameGroup );
00174 NameGroupLayout->setMargin(5);
00175 NameGroupLayout->setSpacing(4);
00176 NameGroupLayout->setAlignment( Qt::AlignTop );
00177 NameEdit = new NameWidget(NameGroup);
00178 NameEdit->setFocusPolicy(Qt::ClickFocus);
00179 NameGroupLayout->addWidget( NameEdit );
00180 pageLayout->addWidget( NameGroup );
00181
00182 GeoGroup = new QGroupBox(page);
00183 GeoGroupLayout = new QGridLayout( GeoGroup );
00184 GeoGroupLayout->setMargin(5);
00185 GeoGroupLayout->setSpacing(4);
00186 GeoGroupLayout->setAlignment( Qt::AlignTop );
00187
00188 Xpos = new ScrSpinBox( -3000, 3000, GeoGroup, 0 );
00189 installSniffer(Xpos);
00190 GeoGroupLayout->addWidget( Xpos, 0, 1 );
00191 Ypos = new ScrSpinBox( -3000, 3000, GeoGroup, 0 );
00192 installSniffer(Ypos);
00193 GeoGroupLayout->addWidget( Ypos, 1, 1 );
00194 Width = new ScrSpinBox( GeoGroup, 0 );
00195 installSniffer(Width);
00196 GeoGroupLayout->addWidget( Width, 2, 1 );
00197 Height = new ScrSpinBox( GeoGroup, 0 );
00198 installSniffer(Height);
00199 GeoGroupLayout->addWidget( Height, 3, 1 );
00200
00201 xposLabel = new QLabel( "&X-Pos:", GeoGroup );
00202 xposLabel->setBuddy(Xpos);
00203 GeoGroupLayout->addWidget( xposLabel, 0, 0 );
00204 yposLabel = new QLabel( "&Y-Pos:", GeoGroup );
00205 yposLabel->setBuddy(Ypos);
00206 GeoGroupLayout->addWidget( yposLabel, 1, 0 );
00207 widthLabel = new QLabel( "&Width:", GeoGroup );
00208 widthLabel->setBuddy(Width);
00209 GeoGroupLayout->addWidget( widthLabel, 2, 0 );
00210 heightLabel = new QLabel( "&Height:", GeoGroup );
00211 heightLabel->setBuddy(Height);
00212 GeoGroupLayout->addWidget( heightLabel, 3, 0 );
00213
00214 keepFrameWHRatioButton = new LinkButton( GeoGroup );
00215 keepFrameWHRatioButton->setCheckable( true );
00216 keepFrameWHRatioButton->setAutoRaise( true );
00217 keepFrameWHRatioButton->setMaximumSize( QSize( 15, 32767 ) );
00218 keepFrameWHRatioButton->setChecked(true);
00219 GeoGroupLayout->addWidget( keepFrameWHRatioButton, 2, 2, 2, 1 );
00220 Rot = new ScrSpinBox( GeoGroup, 6);
00221 Rot->setWrapping( true );
00222 installSniffer(Rot);
00223 rotationLabel = new QLabel( "&Rotation:", GeoGroup );
00224 rotationLabel->setBuddy(Rot);
00225 GeoGroupLayout->addWidget( rotationLabel, 4, 0 );
00226 GeoGroupLayout->addWidget( Rot, 4, 1 );
00227 basepointLabel = new QLabel( "Basepoint:", GeoGroup );
00228 GeoGroupLayout->addWidget( basepointLabel, 5, 0 );
00229 RotationGroup = new QButtonGroup( GeoGroup );
00230 Layout12 = new QGridLayout;
00231 Layout12->setMargin(0);
00232 Layout12->setSpacing(0);
00233 TopLeft = new QRadioButton( GeoGroup );
00234 RotationGroup->addButton(TopLeft, 0);
00235 TopLeft->setText( "" );
00236 TopLeft->setChecked( true );
00237 TopLeft->setLayoutDirection(Qt::RightToLeft);
00238 TopLeft->setMaximumSize( TopLeft->iconSize() );
00239 Layout12->addWidget( TopLeft, 0, 0, Qt::AlignCenter );
00240 Line1 = new QFrame( GeoGroup);
00241 Line1->setMinimumSize( QSize( 20, 4 ) );
00242 Line1->setMaximumSize( QSize( 20, 4 ) );
00243 Line1->setFrameShape( QFrame::HLine );
00244 Line1->setFrameShadow( QFrame::Plain );
00245 Line1->setLineWidth( 3 );
00246 Line1->setFrameShape( QFrame::HLine );
00247 Layout12->addWidget( Line1, 0, 1, Qt::AlignCenter );
00248 TopRight = new QRadioButton( GeoGroup );
00249 RotationGroup->addButton(TopRight, 1);
00250 TopRight->setText( "" );
00251 TopRight->setMaximumSize( TopRight->iconSize() );
00252 Layout12->addWidget( TopRight, 0, 2, Qt::AlignCenter );
00253 Line2 = new QFrame( GeoGroup );
00254 Line2->setMinimumSize( QSize( 4, 20 ) );
00255 Line2->setMaximumSize( QSize( 4, 20 ) );
00256 Line2->setFrameShape( QFrame::VLine );
00257 Line2->setFrameShadow( QFrame::Plain );
00258 Line2->setLineWidth( 3 );
00259 Line2->setFrameShape( QFrame::VLine );
00260 Layout12->addWidget( Line2, 1, 0, Qt::AlignCenter );
00261 Center = new QRadioButton( GeoGroup );
00262 RotationGroup->addButton(Center, 2);
00263 Center->setText( "" );
00264 Center->setMaximumSize( Center->iconSize() );
00265 Layout12->addWidget( Center, 1, 1, Qt::AlignCenter );
00266 Line4 = new QFrame( GeoGroup );
00267 Line4->setMinimumSize( QSize( 4, 20 ) );
00268 Line4->setMaximumSize( QSize( 4, 20 ) );
00269 Line4->setFrameShadow( QFrame::Plain );
00270 Line4->setLineWidth( 3 );
00271 Line4->setFrameShape( QFrame::VLine );
00272 Layout12->addWidget( Line4, 1, 2, Qt::AlignCenter );
00273 BottomLeft = new QRadioButton( GeoGroup );
00274 RotationGroup->addButton(BottomLeft, 3);
00275 BottomLeft->setText( "" );
00276 BottomLeft->setLayoutDirection(Qt::RightToLeft);
00277 BottomLeft->setMaximumSize( BottomLeft->iconSize() );
00278 Layout12->addWidget( BottomLeft, 2, 0, Qt::AlignCenter );
00279 Line5 = new QFrame( GeoGroup );
00280 Line5->setMinimumSize( QSize( 20, 4 ) );
00281 Line5->setMaximumSize( QSize( 20, 4 ) );
00282 Line5->setFrameShape( QFrame::HLine );
00283 Line5->setFrameShadow( QFrame::Plain );
00284 Line5->setLineWidth( 3 );
00285 Line5->setFrameShape( QFrame::HLine );
00286 Layout12->addWidget( Line5, 2, 1, Qt::AlignCenter );
00287 BottomRight = new QRadioButton( GeoGroup );
00288 RotationGroup->addButton(BottomRight, 4);
00289 BottomRight->setText( "" );
00290 BottomRight->setMaximumSize( BottomRight->iconSize() );
00291 Layout12->addWidget( BottomRight, 2, 2, Qt::AlignCenter );
00292 GeoGroupLayout->addLayout( Layout12, 5, 1, 1, 1, Qt::AlignLeft);
00293 pageLayout->addWidget( GeoGroup );
00294
00295 layout60 = new QHBoxLayout;
00296 layout60->setMargin(0);
00297 layout60->setSpacing(5);
00298
00299 LayerGroup = new QGroupBox( "Level", page );
00300 LayerGroupLayout = new QGridLayout( LayerGroup );
00301 LayerGroupLayout->setSpacing( 4 );
00302 LayerGroupLayout->setMargin( 5 );
00303 LayerGroupLayout->setAlignment( Qt::AlignTop );
00304 Zup = new QToolButton( LayerGroup );
00305 Zup->setMaximumSize( QSize( 22, 22 ) );
00306 Zup->setIcon(QIcon(loadIcon("16/go-up.png")));
00307 LayerGroupLayout->addWidget( Zup, 0, 0 );
00308 ZDown = new QToolButton( LayerGroup );
00309 ZDown->setMaximumSize( QSize( 22, 22 ) );
00310 ZDown->setIcon(QIcon(loadIcon("16/go-down.png")));
00311 LayerGroupLayout->addWidget( ZDown, 1, 0 );
00312 ZTop = new QToolButton( LayerGroup );
00313 ZTop->setMaximumSize( QSize( 22, 22 ) );
00314 ZTop->setIcon(QIcon(loadIcon("16/go-top.png")));
00315 LayerGroupLayout->addWidget( ZTop, 0, 1 );
00316 ZBottom = new QToolButton( LayerGroup );
00317 ZBottom->setMaximumSize( QSize( 22, 22 ) );
00318 ZBottom->setIcon(QIcon(loadIcon("16/go-bottom.png")));
00319 LayerGroupLayout->addWidget( ZBottom, 1, 1 );
00320 LevelTxt = new QLabel( " 1", LayerGroup );
00321 LevelTxt->setAlignment( Qt::AlignCenter );
00322 LayerGroupLayout->addWidget( LevelTxt, 0, 2, 2, 1 );
00323
00324 layout60->addWidget( LayerGroup );
00325 QSpacerItem* spacer2 = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
00326 layout60->addItem( spacer2 );
00327
00328 Layout44 = new QGridLayout;
00329 Layout44->setSpacing( 4 );
00330 Layout44->setMargin( 5 );
00331
00332 DoGroup = new QToolButton( page );
00333 DoGroup->setIcon(QIcon(loadIcon("group.png")));
00334 Layout44->addWidget( DoGroup, 0, 0 );
00335 DoUnGroup = new QToolButton( page );
00336 DoUnGroup->setIcon(QIcon(loadIcon("ungroup.png")));
00337 Layout44->addWidget( DoUnGroup, 1, 0 );
00338
00339 FlipH = new QToolButton( page );
00340 FlipH->setIcon(QIcon(loadIcon("16/flip-object-horizontal.png")));
00341 FlipH->setCheckable( true );
00342 Layout44->addWidget( FlipH, 0, 1 );
00343 FlipV = new QToolButton( page );
00344 FlipV->setIcon(QIcon(loadIcon("16/flip-object-vertical.png")));
00345 FlipV->setCheckable( true );
00346 Layout44->addWidget( FlipV, 1, 1 );
00347 Locked = new QToolButton( page );
00348 Locked->setCheckable( true );
00349 QIcon a = QIcon();
00350 a.addPixmap(loadIcon("16/lock.png"), QIcon::Normal, QIcon::On);
00351 a.addPixmap(loadIcon("16/lock-unlocked.png"), QIcon::Normal, QIcon::Off);
00352 Locked->setIcon(a);
00353 Layout44->addWidget( Locked, 0, 2 );
00354 NoPrint = new QToolButton( page );
00355 NoPrint->setCheckable( true );
00356 QIcon a2 = QIcon();
00357 a2.addPixmap(loadIcon("NoPrint.png"), QIcon::Normal, QIcon::On);
00358 a2.addPixmap(loadIcon("16/document-print.png"), QIcon::Normal, QIcon::Off);
00359 NoPrint->setIcon(a2);
00360 Layout44->addWidget( NoPrint, 1, 2 );
00361 NoResize = new QToolButton( page );
00362 NoResize->setCheckable( true );
00363 QIcon a3 = QIcon();
00364 a3.addPixmap(loadIcon("framenoresize.png"), QIcon::Normal, QIcon::On);
00365 a3.addPixmap(loadIcon("frameresize.png"), QIcon::Normal, QIcon::Off);
00366 NoResize->setIcon(a3);
00367 Layout44->addWidget( NoResize, 0, 3 );
00368 layout60->addLayout( Layout44 );
00369
00370 pageLayout->addLayout( layout60 );
00371
00372 QSpacerItem* spacer13 = new QSpacerItem( 0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding );
00373 pageLayout->addItem( spacer13 );
00374 idXYZItem = TabStack->addItem( page, "X, Y, &Z" );
00375
00376 page_2 = new QWidget( TabStack );
00377 pageLayout_2 = new QVBoxLayout( page_2 );
00378 pageLayout_2->setSpacing( 5 );
00379 pageLayout_2->setMargin( 0 );
00380
00381 ShapeGroup = new QGroupBox( page_2 );
00382 ShapeGroupLayout = new QHBoxLayout( ShapeGroup );
00383 ShapeGroupLayout->setSpacing( 2 );
00384 ShapeGroupLayout->setMargin( 0 );
00385 ShapeGroupLayout->setAlignment( Qt::AlignTop );
00386 SRect = new QLabel( "Shape:", ShapeGroup );
00387 ShapeGroupLayout->addWidget( SRect );
00388 SCustom = new Autoforms( ShapeGroup );
00389 ShapeGroupLayout->addWidget( SCustom );
00390
00391 EditShape = new QToolButton( ShapeGroup );
00392
00393 ShapeGroupLayout->addWidget( EditShape );
00394 pageLayout_2->addWidget( ShapeGroup );
00395
00396 Layout13 = new QHBoxLayout;
00397 Layout13->setSpacing( 2 );
00398 Layout13->setMargin( 0 );
00399
00400 RoundRect = new ScrSpinBox( page_2, 0 );
00401 rndcornersLabel = new QLabel( "R&ound\nCorners:", page_2 );
00402 rndcornersLabel->setBuddy(RoundRect);
00403 Layout13->addWidget( rndcornersLabel );
00404 Layout13->addWidget( RoundRect );
00405 pageLayout_2->addLayout( Layout13 );
00406
00407 textFlowOptions = new QGroupBox( page_2 );
00408 textFlowOptionsLayout = new QVBoxLayout( textFlowOptions );
00409 textFlowOptionsLayout->setSpacing( 5 );
00410 textFlowOptionsLayout->setMargin( 5 );
00411 textFlowOptionsLayout->setAlignment( Qt::AlignTop );
00412 textFlowDisabled = new QToolButton( textFlowOptions );
00413 textFlowDisabled->setCheckable( true );
00414 textFlowDisabled->setAutoExclusive(true);
00415 textFlowDisabled->setToolButtonStyle( Qt::ToolButtonTextBesideIcon );
00416 textFlowDisabled->setText( "Disabled" );
00417 textFlowDisabled->setIcon(QIcon(loadIcon("flow-none.png")));
00418 textFlowOptionsLayout->addWidget( textFlowDisabled );
00419 textFlowUsesFrameShape = new QToolButton( textFlowOptions );
00420 textFlowUsesFrameShape->setCheckable( true );
00421 textFlowUsesFrameShape->setAutoExclusive(true);
00422 textFlowUsesFrameShape->setToolButtonStyle( Qt::ToolButtonTextBesideIcon );
00423 textFlowUsesFrameShape->setText( "Use &Frame Shape" );
00424 textFlowUsesFrameShape->setIcon(QIcon(loadIcon("flow-frame.png")));
00425 textFlowOptionsLayout->addWidget( textFlowUsesFrameShape );
00426 textFlowUsesBoundingBox = new QToolButton( textFlowOptions );
00427 textFlowUsesBoundingBox->setCheckable( true );
00428 textFlowUsesBoundingBox->setAutoExclusive(true);
00429 textFlowUsesBoundingBox->setToolButtonStyle( Qt::ToolButtonTextBesideIcon );
00430 textFlowUsesBoundingBox->setText( "Use &Bounding Box" );
00431 textFlowUsesBoundingBox->setIcon(QIcon(loadIcon("flow-bounding.png")));
00432 textFlowOptionsLayout->addWidget( textFlowUsesBoundingBox );
00433 textFlowUsesContourLine = new QToolButton( textFlowOptions );
00434 textFlowUsesContourLine->setCheckable( true );
00435 textFlowUsesContourLine->setAutoExclusive(true);
00436 textFlowUsesContourLine->setToolButtonStyle( Qt::ToolButtonTextBesideIcon );
00437 textFlowUsesContourLine->setText( "&Use Contour Line" );
00438 textFlowUsesContourLine->setIcon(QIcon(loadIcon("flow-contour.png")));
00439 textFlowOptionsLayout->addWidget( textFlowUsesContourLine );
00440 textFlowUsesImageClipping = new QToolButton( textFlowOptions );
00441 textFlowUsesImageClipping->setCheckable( true );
00442 textFlowUsesImageClipping->setAutoExclusive(true);
00443 textFlowUsesImageClipping->setToolButtonStyle( Qt::ToolButtonTextBesideIcon );
00444 textFlowUsesImageClipping->setText( "Use Image Clip Path" );
00445 textFlowUsesImageClipping->setIcon(QIcon(loadIcon("flow-contour.png")));
00446 textFlowOptionsLayout->addWidget( textFlowUsesImageClipping );
00447 pageLayout_2->addWidget( textFlowOptions );
00448 textFlowDisabled->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
00449 textFlowUsesFrameShape->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
00450 textFlowUsesBoundingBox->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
00451 textFlowUsesContourLine->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
00452 textFlowUsesImageClipping->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
00453 textFlowOptionsB = new QButtonGroup( page_2 );
00454 textFlowOptionsB->addButton(textFlowDisabled, 0);
00455 textFlowOptionsB->addButton(textFlowUsesFrameShape, 1);
00456 textFlowOptionsB->addButton(textFlowUsesBoundingBox, 2);
00457 textFlowOptionsB->addButton(textFlowUsesContourLine, 3);
00458 textFlowOptionsB->addButton(textFlowUsesImageClipping, 4);
00459
00460 TabStack2 = new QStackedWidget( page_2 );
00461
00462 page_2a = new QWidget( TabStack2 );
00463 pageLayout_2a = new QVBoxLayout( page_2a );
00464 pageLayout_2a->setSpacing( 5 );
00465 pageLayout_2a->setMargin( 0 );
00466 Distance = new QGroupBox( page_2a );
00467 DistanceLayout = new QGridLayout( Distance );
00468 DistanceLayout->setSpacing( 2 );
00469 DistanceLayout->setMargin( 5 );
00470 DistanceLayout->setAlignment( Qt::AlignTop );
00471
00472 DCol = new QSpinBox(Distance );
00473 DCol->setMaximum( 3000 );
00474 DCol->setMinimum( 1 );
00475 columnsLabel = new QLabel( "Colu&mns:", Distance );
00476 columnsLabel->setBuddy(DCol);
00477 DistanceLayout->addWidget( columnsLabel, 0, 0 );
00478 DistanceLayout->addWidget( DCol, 0, 1 );
00479
00480 dGap = new ScrSpinBox( 0, 300, Distance, 0 );
00481
00482
00483 colgapLabel = new ScComboBox( Distance );
00484 DistanceLayout->addWidget( colgapLabel, 1, 0, Qt::AlignLeft );
00485 DistanceLayout->addWidget( dGap, 1, 1 );
00486
00487 DTop = new ScrSpinBox( 0, 300, Distance, 0 );
00488 topLabel = new QLabel( "To&p:", Distance );
00489 topLabel->setBuddy(DTop);
00490 DistanceLayout->addWidget( topLabel, 2, 0 );
00491 DistanceLayout->addWidget( DTop, 2, 1 );
00492
00493 DBottom = new ScrSpinBox( 0, 300, Distance, 0 );
00494 bottomLabel = new QLabel( "&Bottom:", Distance );
00495 bottomLabel->setBuddy(DBottom);
00496 DistanceLayout->addWidget( bottomLabel, 3, 0 );
00497 DistanceLayout->addWidget( DBottom, 3, 1 );
00498
00499 DLeft = new ScrSpinBox( 0, 300, Distance, 0 );
00500 leftLabel = new QLabel( "&Left:", Distance );
00501 leftLabel->setBuddy(DLeft);
00502 DistanceLayout->addWidget( leftLabel, 4, 0 );
00503 DistanceLayout->addWidget( DLeft, 4, 1 );
00504
00505 DRight = new ScrSpinBox( 0, 300, Distance, 0 );
00506 rightLabel = new QLabel( "&Right:", Distance );
00507 rightLabel->setBuddy(DRight);
00508 DistanceLayout->addWidget( rightLabel, 5, 0 );
00509 DistanceLayout->addWidget( DRight, 5, 1 );
00510
00511 TabsButton = new QToolButton( Distance );
00512 TabsButton->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
00513 DistanceLayout->addWidget( TabsButton, 6, 0, 1, 2 );
00514 pageLayout_2a->addWidget(Distance);
00515 TabStack2->addWidget( page_2a );
00516
00517 page_2b = new QWidget( TabStack2 );
00518 pageLayout_2b = new QVBoxLayout( page_2b );
00519 pageLayout_2b->setSpacing( 5 );
00520 pageLayout_2b->setMargin( 0 );
00521 Distance2 = new QGroupBox( "Path Text Properties", page_2b );
00522 DistanceLayout2 = new QGridLayout( Distance2 );
00523 DistanceLayout2->setSpacing( 2 );
00524 DistanceLayout2->setMargin( 5 );
00525 DistanceLayout2->setAlignment( Qt::AlignTop );
00526
00527 pathTextType = new ScComboBox( Distance2 );
00528 DistanceLayout2->addWidget( pathTextType, 0, 1);
00529 pathTextTypeLabel = new QLabel( "Type:", Distance2 );
00530 DistanceLayout2->addWidget( pathTextTypeLabel, 0, 0);
00531
00532 startoffsetLabel = new QLabel( "Start Offset:", Distance2 );
00533 DistanceLayout2->addWidget( startoffsetLabel, 1, 0);
00534 Dist = new ScrSpinBox( 0, 30000, Distance2, 0 );
00535 Dist->setSingleStep(10);
00536 DistanceLayout2->addWidget( Dist, 1, 1);
00537
00538 distfromcurveLabel = new QLabel( "Distance from Curve:", Distance2 );
00539 DistanceLayout2->addWidget( distfromcurveLabel, 2, 0);
00540 LineW = new ScrSpinBox( -300, 300, Distance2, 0 );
00541 LineW->setSingleStep(10);
00542 DistanceLayout2->addWidget( LineW, 2, 1);
00543
00544 flippedPathText = new QCheckBox( Distance2 );
00545 flippedPathText->setText( "Flip Text" );
00546 DistanceLayout2->addWidget( flippedPathText, 3, 0, 1, 2 );
00547
00548 showcurveCheckBox = new QCheckBox( Distance2 );
00549 showcurveCheckBox->setText( "Show Curve" );
00550 DistanceLayout2->addWidget( showcurveCheckBox, 4, 0, 1, 2 );
00551
00552 pageLayout_2b->addWidget(Distance2);
00553 TabStack2->addWidget( page_2b );
00554
00555 page_2c = new QWidget( TabStack2 );
00556 pageLayout_2c = new QVBoxLayout( page_2c );
00557 pageLayout_2c->setSpacing( 5 );
00558 pageLayout_2c->setMargin( 0 );
00559 Distance3 = new QGroupBox( page_2c );
00560 DistanceLayout3 = new QVBoxLayout( Distance3 );
00561 DistanceLayout3->setSpacing( 2 );
00562 DistanceLayout3->setMargin( 5 );
00563 DistanceLayout3->setAlignment( Qt::AlignTop );
00564 EvenOdd = new QRadioButton( "Even-Odd", Distance3 );
00565 DistanceLayout3->addWidget( EvenOdd );
00566 NonZero = new QRadioButton( "Non Zero", Distance3 );
00567 DistanceLayout3->addWidget( NonZero );
00568 EvenOdd->setChecked( true );
00569 Distance3->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Minimum);
00570 pageLayout_2c->addWidget(Distance3);
00571 TabStack2->addWidget( page_2c );
00572
00573 pageLayout_2->addWidget( TabStack2 );
00574
00575 QSpacerItem* spacer6 = new QSpacerItem( 0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding );
00576 pageLayout_2->addItem( spacer6 );
00577 idShapeItem = TabStack->addItem( page_2, "&Shape" );
00578
00579 page_group = new QWidget(TabStack);
00580 page_group_layout = new QVBoxLayout( page_group );
00581 page_group_layout->setSpacing( 5 );
00582 page_group_layout->setMargin( 0 );
00583
00584 ShapeGroup2 = new QGroupBox( page_group );
00585 ShapeGroupLayout2 = new QHBoxLayout( ShapeGroup2 );
00586 ShapeGroupLayout2->setSpacing( 2 );
00587 ShapeGroupLayout2->setMargin( 0 );
00588 ShapeGroupLayout2->setAlignment( Qt::AlignTop );
00589 SRect2 = new QLabel( "Shape:", ShapeGroup2 );
00590 ShapeGroupLayout2->addWidget( SRect2 );
00591 SCustom2 = new Autoforms( ShapeGroup2 );
00592 ShapeGroupLayout2->addWidget( SCustom2 );
00593 EditShape2 = new QToolButton( ShapeGroup2 );
00594
00595 ShapeGroupLayout2->addWidget( EditShape2 );
00596 page_group_layout->addWidget( ShapeGroup2 );
00597
00598 textFlowOptions2 = new QGroupBox( page_group );
00599 textFlowOptionsLayout2 = new QVBoxLayout( textFlowOptions2 );
00600 textFlowOptionsLayout2->setSpacing( 5 );
00601 textFlowOptionsLayout2->setMargin( 5 );
00602 textFlowOptionsLayout2->setAlignment( Qt::AlignTop );
00603 textFlowDisabled2 = new QToolButton( textFlowOptions2 );
00604 textFlowDisabled2->setCheckable( true );
00605 textFlowDisabled2->setAutoExclusive(true);
00606 textFlowDisabled2->setToolButtonStyle( Qt::ToolButtonTextBesideIcon );
00607 textFlowDisabled2->setText( "Disabled" );
00608 textFlowDisabled2->setIcon(QIcon(loadIcon("flow-none.png")));
00609 textFlowOptionsLayout2->addWidget( textFlowDisabled2 );
00610 textFlowUsesFrameShape2 = new QToolButton( textFlowOptions2 );
00611 textFlowUsesFrameShape2->setCheckable( true );
00612 textFlowUsesFrameShape2->setAutoExclusive(true);
00613 textFlowUsesFrameShape2->setToolButtonStyle( Qt::ToolButtonTextBesideIcon );
00614 textFlowUsesFrameShape2->setText( "Use &Frame Shape" );
00615 textFlowUsesFrameShape2->setIcon(QIcon(loadIcon("flow-frame.png")));
00616 textFlowOptionsLayout2->addWidget( textFlowUsesFrameShape2 );
00617 textFlowUsesBoundingBox2 = new QToolButton( textFlowOptions2 );
00618 textFlowUsesBoundingBox2->setCheckable( true );
00619 textFlowUsesBoundingBox2->setAutoExclusive(true);
00620 textFlowUsesBoundingBox2->setToolButtonStyle( Qt::ToolButtonTextBesideIcon );
00621 textFlowUsesBoundingBox2->setText( "Use &Bounding Box" );
00622 textFlowUsesBoundingBox2->setIcon(QIcon(loadIcon("flow-bounding.png")));
00623 textFlowOptionsLayout2->addWidget( textFlowUsesBoundingBox2 );
00624 textFlowUsesContourLine2 = new QToolButton( textFlowOptions2 );
00625 textFlowUsesContourLine2->setCheckable( true );
00626 textFlowUsesContourLine2->setAutoExclusive(true);
00627 textFlowUsesContourLine2->setToolButtonStyle( Qt::ToolButtonTextBesideIcon );
00628 textFlowUsesContourLine2->setText( "&Use Contour Line" );
00629 textFlowUsesContourLine2->setIcon(QIcon(loadIcon("flow-contour.png")));
00630 textFlowOptionsLayout2->addWidget( textFlowUsesContourLine2 );
00631 textFlowUsesImageClipping2 = new QToolButton( textFlowOptions2 );
00632 textFlowUsesImageClipping2->setCheckable( true );
00633 textFlowUsesImageClipping2->setAutoExclusive(true);
00634 textFlowUsesImageClipping2->setToolButtonStyle( Qt::ToolButtonTextBesideIcon );
00635 textFlowUsesImageClipping2->setText( "Use Image Clip Path" );
00636 textFlowUsesImageClipping2->setIcon(QIcon(loadIcon("flow-contour.png")));
00637 textFlowOptionsLayout2->addWidget( textFlowUsesImageClipping2 );
00638 page_group_layout->addWidget( textFlowOptions2 );
00639 textFlowDisabled2->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
00640 textFlowUsesFrameShape2->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
00641 textFlowUsesBoundingBox2->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
00642 textFlowUsesContourLine2->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
00643 textFlowUsesImageClipping2->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
00644 textFlowOptionsB2 = new QButtonGroup( page_group );
00645 textFlowOptionsB2->addButton(textFlowDisabled2, 0);
00646 textFlowOptionsB2->addButton(textFlowUsesFrameShape2, 1);
00647 textFlowOptionsB2->addButton(textFlowUsesBoundingBox2, 2);
00648 textFlowOptionsB2->addButton(textFlowUsesContourLine2, 3);
00649 textFlowOptionsB2->addButton(textFlowUsesImageClipping2, 4);
00650
00651 TransGroup = new QGroupBox( tr( "Transparency Settings" ), page_group );
00652 Layout1t = new QGridLayout( TransGroup );
00653 Layout1t->setAlignment( Qt::AlignTop );
00654 Layout1t->setSpacing( 5 );
00655 Layout1t->setMargin( 5 );
00656 TransTxt = new QLabel( TransGroup );
00657 Layout1t->addWidget( TransTxt, 0, 0 );
00658 TransSpin = new QSpinBox( TransGroup );
00659 TransSpin->setMinimum(0);
00660 TransSpin->setMaximum(100);
00661 TransSpin->setSingleStep(10);
00662 TransSpin->setValue(100);
00663 Layout1t->addWidget(TransSpin, 0, 1);
00664 TransTxt2 =