Annota::Annota(QWidget* parent, PageItem *it, int Seite, int b, int h, ScribusView* vie) : QDialog(parent) { setModal(true); setWindowTitle( tr( "Annotation Properties" ) ); item = it; Width = b; Height = h; OriWidth = b; OriHeight = h; view = vie; MaxSeite = Seite; QStringList tl; if ((item->annotation().ActionType() == 2) || (item->annotation().ActionType() == 7) || (item->annotation().ActionType() == 9)) { QString tm = item->annotation().Action(); tl = tm.split(" ", QString::SkipEmptyParts); } else { tl.append("0"); tl.append("0"); } AnnotLayout = new QVBoxLayout( this ); AnnotLayout->setSpacing( 5 ); AnnotLayout->setMargin( 10 ); Layout1 = new QHBoxLayout; Layout1->setSpacing( 5 ); Layout1->setMargin( 0 ); ComboBox1 = new QComboBox(this); if (!view->Doc->masterPageMode()) ComboBox1->addItem( tr("Text")); ComboBox1->addItem( tr("Link")); ComboBox1->addItem( tr("External Link")); ComboBox1->addItem( tr("External Web-Link")); ComboBox1->setEditable(false); TextLabel1 = new QLabel( tr("&Type:"), this); TextLabel1->setBuddy(ComboBox1); Layout1->addWidget( TextLabel1 ); Layout1->addWidget( ComboBox1 ); AnnotLayout->addLayout( Layout1 ); if (view->Doc->masterPageMode()) { if (item->annotation().Type() < 2) ComboBox1->setCurrentIndex(item->annotation().Type() - 1); else ComboBox1->setCurrentIndex(item->annotation().Type()-11); if ((item->annotation().ActionType() == 7) || (item->annotation().ActionType() == 8)) ComboBox1->setCurrentIndex(item->annotation().ActionType() - 6); if (item->annotation().ActionType() == 9) ComboBox1->setCurrentIndex(1); } else { if (item->annotation().Type() < 2) ComboBox1->setCurrentIndex(item->annotation().Type()); else ComboBox1->setCurrentIndex(item->annotation().Type()-10); if ((item->annotation().ActionType() == 7) || (item->annotation().ActionType() == 8)) ComboBox1->setCurrentIndex(item->annotation().ActionType() - 5); if (item->annotation().ActionType() == 9) ComboBox1->setCurrentIndex(2); } Fram = new QStackedWidget(this); AnnotLayout->addWidget( Fram ); Frame9 = new QFrame( this ); Frame9->setFrameShape( QFrame::NoFrame ); Frame9->setFrameShadow( QFrame::Plain ); Fram->addWidget(Frame9); GroupBox1 = new QGroupBox( this ); GroupBox1->setTitle( tr( "Destination" ) ); GroupBox1Layout = new QGridLayout( GroupBox1 ); GroupBox1Layout->setAlignment( Qt::AlignTop ); GroupBox1Layout->setSpacing( 5 ); GroupBox1Layout->setMargin( 10 ); Destfile = new QLineEdit(GroupBox1); Destfile->setText(item->annotation().Extern()); Destfile->setReadOnly(true); GroupBox1Layout->addWidget( Destfile, 0, 0, 1, 2 ); ChFile = new QPushButton(GroupBox1); ChFile->setText( tr("C&hange...")); GroupBox1Layout->addWidget( ChFile, 0, 2 ); useAbsolute = new QCheckBox( tr("Export absolute Filename"), GroupBox1); GroupBox1Layout->addWidget( useAbsolute, 1, 0, 1, 3 ); if (item->annotation().ActionType() == 7) useAbsolute->setChecked(false); else if (item->annotation().ActionType() == 9) useAbsolute->setChecked(true); if ((item->annotation().ActionType() != 7) && (item->annotation().ActionType() != 8) && (item->annotation().ActionType() != 9)) { Destfile->hide(); ChFile->hide(); useAbsolute->hide(); } SpinBox1 = new QSpinBox( GroupBox1); SpinBox1->setMinimum(1); SpinBox1->setMaximum(((item->annotation().ActionType() == 7) || (item->annotation().ActionType() == 9)) ? 1000 : Seite); TextLabel3 = new QLabel( tr("&Page:"), GroupBox1); TextLabel3->setBuddy(SpinBox1); GroupBox1Layout->addWidget( TextLabel3, 2, 0 ); GroupBox1Layout->addWidget( SpinBox1, 2, 1 ); if ((!Destfile->text().isEmpty()) && ((item->annotation().ActionType() == 7) || (item->annotation().ActionType() == 9))) Pg = new Navigator( GroupBox1, 100, item->annotation().Ziel()+1, view, item->annotation().Extern()); else { if (item->annotation().Ziel() < view->Doc->Pages->count()) Pg = new Navigator( GroupBox1, 100, item->annotation().Ziel(), view); else { item->annotation().setZiel(view->Doc->currentPageNumber()); Pg = new Navigator( GroupBox1, 100, item->annotation().Ziel(), view); } } SpinBox1->setValue(item->annotation().Ziel()+1); Pg->setMinimumSize(QSize(Pg->pmx.width(), Pg->pmx.height())); GroupBox1Layout->addWidget(Pg, 2, 2, 3, 1); SpinBox2 = new QSpinBox( GroupBox1); SpinBox2->setSuffix( tr( " pt" ) ); SpinBox2->setMaximum(Width); SpinBox2->setValue(tl[0].toInt()); TextLabel4 = new QLabel( tr("&X-Pos"), GroupBox1 ); TextLabel4->setBuddy(SpinBox2); GroupBox1Layout->addWidget( TextLabel4, 3, 0 ); GroupBox1Layout->addWidget( SpinBox2, 3, 1 ); SpinBox3 = new QSpinBox( GroupBox1 ); SpinBox3->setMaximum(Height); SpinBox3->setSuffix( tr( " pt" ) ); SpinBox3->setValue(Height-tl[1].toInt()); TextLabel5 = new QLabel( tr("&Y-Pos:"), GroupBox1 ); TextLabel5->setBuddy(SpinBox3); GroupBox1Layout->addWidget( TextLabel5, 4, 0 ); GroupBox1Layout->addWidget( SpinBox3, 4, 1 ); Fram->addWidget(GroupBox1); Layout1_2 = new QHBoxLayout; Layout1_2->setSpacing( 5 ); Layout1_2->setMargin( 0 ); QSpacerItem* spacer = new QSpacerItem( 2, 2, QSizePolicy::Expanding, QSizePolicy::Minimum ); Layout1_2->addItem( spacer ); PushButton1 = new QPushButton( CommonStrings::tr_OK, this ); PushButton1->setDefault( true ); Layout1_2->addWidget( PushButton1 ); PushButton2 = new QPushButton( CommonStrings::tr_Cancel, this ); Layout1_2->addWidget( PushButton2 ); AnnotLayout->addLayout( Layout1_2 ); connect(PushButton1, SIGNAL(clicked()), this, SLOT(SetValues())); connect(PushButton2, SIGNAL(clicked()), this, SLOT(reject())); connect(ComboBox1, SIGNAL(activated(int)), this, SLOT(SetTarget(int))); connect(SpinBox1, SIGNAL(valueChanged(int)), this, SLOT(SetPage(int))); connect(Pg, SIGNAL(Coords(double, double)), this, SLOT(SetCoords(double, double))); connect(SpinBox2, SIGNAL(valueChanged(int)), this, SLOT(SetCross())); connect(SpinBox3, SIGNAL(valueChanged(int)), this, SLOT(SetCross())); connect(ChFile, SIGNAL(clicked()), this, SLOT(GetFile())); if (view->Doc->masterPageMode()) SetTarget(item->annotation().Type() - 1); else SetTarget(item->annotation().Type()); SetCross(); }
void Matrix3::SetCross(unsigned index, Vec3Param crossVector) { SetCross(index, crossVector[0], crossVector[1], crossVector[2]); }