void CQAlignAnchorObject:: selectSlot(bool enabled) { if (enabled) emit selectObject(); else emit cancelSelect(); }
CQAlignAnchor:: CQAlignAnchor(QWidget *parent) : QWidget(parent) { QGridLayout *layout = new QGridLayout(this); layout->setMargin(0); layout->setSpacing(2); QLabel *anchorLabel = new QLabel("<small><b>Anchor</b></small>"); layout->addWidget(anchorLabel, 0, 0, 1, 2); objectCombo_ = new QComboBox; objectCombo_->addItem("Selection"); objectCombo_->addItem("Object"); objectCombo_->addItem("Position"); connect(objectCombo_, SIGNAL(activated(const QString &)), this, SLOT(objectSlot(const QString &))); layout->addWidget(objectCombo_, 1, 0); anchorStack_ = new QStackedWidget; anchorLabel_ = new QWidget; anchorObject_ = new CQAlignAnchorObject; anchorPoint_ = new CQAlignAnchorPoint; anchorStack_->addWidget(anchorLabel_); anchorStack_->addWidget(anchorObject_); anchorStack_->addWidget(anchorPoint_); layout->addWidget(anchorStack_, 1, 1); connect(anchorObject_, SIGNAL(selectObject()), this, SIGNAL(selectObject())); connect(anchorObject_, SIGNAL(cancelSelect()), this, SIGNAL(cancelSelect())); connect(anchorPoint_, SIGNAL(selectPoint()), this, SIGNAL(selectPosition())); connect(anchorPoint_, SIGNAL(cancelSelect()), this, SIGNAL(cancelSelect())); //----- updateState(); }
void CQIllustratorAlignToolbar:: addWidgets() { QBoxLayout *layout = qobject_cast<QBoxLayout *>(CQIllustratorToolbar::layout()); QGridLayout *grid = new QGridLayout; grid->setMargin(0); grid->setSpacing(2); layout->addLayout(grid); //----- QTabWidget *tab = new QTabWidget; QFont font = tab->font(); font.setPointSizeF(font.pointSizeF()*0.7); tab->setFont(font); //------ alignw_ = new CQAlignButtons; tab->addTab(alignw_, "Align"); connect(alignw_, SIGNAL(alignLeft()), this, SIGNAL(alignLeft())); connect(alignw_, SIGNAL(alignBottom()), this, SIGNAL(alignBottom())); connect(alignw_, SIGNAL(alignRight()), this, SIGNAL(alignRight())); connect(alignw_, SIGNAL(alignTop()), this, SIGNAL(alignTop())); connect(alignw_, SIGNAL(alignHorizontal()), this, SIGNAL(alignHorizontal())); connect(alignw_, SIGNAL(alignVertical()), this, SIGNAL(alignVertical())); connect(alignw_, SIGNAL(alignLeftPreview()), this, SIGNAL(alignLeftPreview())); connect(alignw_, SIGNAL(alignBottomPreview()), this, SIGNAL(alignBottomPreview())); connect(alignw_, SIGNAL(alignRightPreview()), this, SIGNAL(alignRightPreview())); connect(alignw_, SIGNAL(alignTopPreview()), this, SIGNAL(alignTopPreview())); connect(alignw_, SIGNAL(alignHorizontalPreview()), this, SIGNAL(alignHorizontalPreview())); connect(alignw_, SIGNAL(alignVerticalPreview()), this, SIGNAL(alignVerticalPreview())); connect(alignw_, SIGNAL(alignPreviewClear()), this, SIGNAL(alignPreviewClear())); //------ distw_ = new CQDistButtons; tab->addTab(distw_, "Distribute"); //------ spreadw_ = new CQSpreadButtons; tab->addTab(spreadw_, "Spread"); //------ grid->addWidget(tab, 0, 0, 2, 1); //------ QLabel *olabel = new QLabel("<small><b>Offset</b></small>"); offset_ = new CQRealEdit(0.0); offset_->setFocusPolicy(Qt::ClickFocus); grid->addWidget(olabel , 0, 1); grid->addWidget(offset_, 1, 1); //------ anchor_ = new CQAlignAnchor; connect(anchor_, SIGNAL(selectObject()), this, SIGNAL(selectAnchorObject())); connect(anchor_, SIGNAL(selectPosition()), this, SIGNAL(selectAnchorPosition())); connect(anchor_, SIGNAL(cancelSelect()), this, SIGNAL(cancelSelectAnchor())); grid->addWidget(anchor_, 0, 2, 2, 1); //------ grid->setColumnStretch(3, 1); }
// -------------------------------------------------------------------------------- void QmvSelect::init() { current_item = -1; setCaption( tr( "Select" ) ); // ------------------------------------------------------------ // Top level layout - add a groupbox, and manage it manually // ------------------------------------------------------------ QVBoxLayout * vl_top = new QVBoxLayout( this ); QLabel * lbl = new QLabel( "Select from list", this, "selection list" ); vl_top->addWidget( lbl ); // ------------------------------------------------------------ // Create the listview. // ------------------------------------------------------------ list_view = new QListView( this, "select list" ); vl_top->addWidget( list_view ); list_view->setAllColumnsShowFocus(TRUE); bool increasing = (sort_by >= 0) ? true : false; if ( sort_by < 0 ) sort_by = -sort_by; list_view->setSorting( sort_by, increasing ); list_view->setShowSortIndicator( true ); // clicked connect( list_view, SIGNAL( currentChanged( QListViewItem * ) ), this, SLOT( highlighted( QListViewItem * ) ) ); // select connect( list_view, SIGNAL( doubleClicked( QListViewItem * ) ), this, SLOT( selected( QListViewItem * ) ) ); // ---------------- // Column Headings: // ---------------- num_cols = label_list.count(); for ( int col = 0; col < num_cols; col++ ) list_view->addColumn( label_list[col] ); // Add the index column at the right index_column = list_view->addColumn( "#" ); // ---------------- // Load the rows. // ---------------- list_view->clear(); list_view->setFocusPolicy(StrongFocus); QListViewItem * item = 0; QListViewItem * after = 0; // load the rows num_rows = value_list.count(); for ( int row = 0; row < num_rows; row++) { // Place first item at top of list. if ( row == 0 ) item = new QListViewItem( list_view ); else item = new QListViewItem( list_view, after ); // Extract the stringlist first QStringList * sl = value_list.at(row); if (sl) { // Load the strings into items for ( int col = 0; col < num_cols; col++ ) { if (sl->at(col) == sl->end()) // at() returns iterator continue; item->setText( col, (*(sl->at(col))) ); } } // Extract the pixmap list QList<QPixmap> * pl = pixmap_list.at(row); if (pl) { // Load the pixmaps int pm_count = pl->count(); for ( int col = 0; col < num_cols; col++ ) { QPixmap * pm; pm = pl->at(col); // at() returns pointer to pixmap if (!pm || pm->isNull() ) continue; item->setPixmap( col, *pm ); item->setText( col, ""); // unset the text } } // the index column int index = 1 + static_cast<int> (floor(log10(num_rows))); QString format = QString("0%1d").arg(index); format.prepend("%"); item->setText( num_cols, QString("%1").sprintf(format,row) ); after = item; } QHBoxLayout * hl_button = new QHBoxLayout( vl_top ); QPushButton *pb; pb = new QPushButton("OK", this ); pb->setDefault(TRUE); hl_button->addWidget( pb ); connect( pb, SIGNAL( clicked() ), this, SLOT( accept() ) ); pb = new QPushButton( "Cancel", this ); hl_button->addWidget( pb ); connect( pb, SIGNAL( clicked() ), this, SLOT( reject() ) ); // cancel connect( this, SIGNAL( escapePressed() ), this, SLOT( cancelSelect() ) ); // Highlight the first row QListViewItem *first = list_view->firstChild(); if ( first ) { list_view->setCurrentItem( first ); list_view->setSelected( first, TRUE ); } else { pb->setFocus(); } setFocusProxy( list_view ); adjustSize(); updateGeometry(); // no need to set focus - has been set above by setCurrentItem // setFocus(); }