CQIllustratorAlignToolbar *
CQIllustratorAlignMode::
createToolbar()
{
  toolbar_ = new CQIllustratorAlignToolbar(this);

  connect(toolbar_, SIGNAL(alignLeft()), this, SLOT(alignLSlot()));
  connect(toolbar_, SIGNAL(alignLeftPreview()), this, SLOT(alignLPreviewSlot()));

  connect(toolbar_, SIGNAL(alignBottom()), this, SLOT(alignBSlot()));
  connect(toolbar_, SIGNAL(alignBottomPreview()), this, SLOT(alignBPreviewSlot()));

  connect(toolbar_, SIGNAL(alignRight()), this, SLOT(alignRSlot()));
  connect(toolbar_, SIGNAL(alignRightPreview()), this, SLOT(alignRPreviewSlot()));

  connect(toolbar_, SIGNAL(alignTop()), this, SLOT(alignTSlot()));
  connect(toolbar_, SIGNAL(alignTopPreview()), this, SLOT(alignTPreviewSlot()));

  connect(toolbar_, SIGNAL(alignHorizontal()), this, SLOT(alignHSlot()));
  connect(toolbar_, SIGNAL(alignHorizontalPreview()), this, SLOT(alignHPreviewSlot()));
  connect(toolbar_, SIGNAL(alignVertical()), this, SLOT(alignVSlot()));
  connect(toolbar_, SIGNAL(alignVerticalPreview()), this, SLOT(alignVPreviewSlot()));

  connect(toolbar_, SIGNAL(alignPreviewClear()), this, SLOT(alignPreviewClearSlot()));

  connect(toolbar_, SIGNAL(selectAnchorObject()), illustrator_, SLOT(anchorObjectSlot()));
  connect(toolbar_, SIGNAL(selectAnchorPosition()), illustrator_, SLOT(anchorPositionSlot()));
  connect(toolbar_, SIGNAL(cancelSelectAnchor()), illustrator_, SLOT(cancelAnchorSlot()));

  return toolbar_;
}
Example #2
0
 void PixelRegion::align(Side side, int pos) {
     switch (side) {
     case LEFT: alignLeft(pos); break;
     case TOP: alignTop(pos); break;
     case RIGHT: alignRight(pos); break;
     case BOTTOM: alignBottom(pos); break;
     }
 }
CQAlignButtons::
CQAlignButtons() :
 QWidget(0)
{
  QGridLayout *agrid = new QGridLayout(this);
  agrid->setMargin(0); agrid->setSpacing(8);

  CQToolButton *alignl  = new CQToolButton(CQPixmapCacheInst->getIcon("ALIGN_TO_LEFT"));
  CQToolButton *alignb  = new CQToolButton(CQPixmapCacheInst->getIcon("ALIGN_TO_BOTTOM"));
  CQToolButton *alignr  = new CQToolButton(CQPixmapCacheInst->getIcon("ALIGN_TO_RIGHT"));
  CQToolButton *alignt  = new CQToolButton(CQPixmapCacheInst->getIcon("ALIGN_TO_TOP"));
  CQToolButton *alignhc = new CQToolButton(CQPixmapCacheInst->getIcon("ALIGN_HORIZONTALLY"));
  CQToolButton *alignvc = new CQToolButton(CQPixmapCacheInst->getIcon("ALIGN_VERTICALLY"));

  alignl ->setToolTip("Align Left");
  alignb ->setToolTip("Align Bottom");
  alignr ->setToolTip("Align Right");
  alignt ->setToolTip("Align Top");
  alignhc->setToolTip("Align Horizontal Center");
  alignvc->setToolTip("Align Vertical Center");

  agrid->addWidget(alignl , 0, 0);
  agrid->addWidget(alignb , 0, 1);
  agrid->addWidget(alignr , 0, 2);
  agrid->addWidget(alignt , 0, 3);
  agrid->addWidget(alignhc, 0, 4);
  agrid->addWidget(alignvc, 0, 5);

  agrid->setColumnStretch(6, 1);

  connect(alignl , SIGNAL(clicked()), this, SIGNAL(alignLeft()));
  connect(alignb , SIGNAL(clicked()), this, SIGNAL(alignBottom()));
  connect(alignr , SIGNAL(clicked()), this, SIGNAL(alignRight()));
  connect(alignt , SIGNAL(clicked()), this, SIGNAL(alignTop()));
  connect(alignhc, SIGNAL(clicked()), this, SIGNAL(alignHorizontal()));
  connect(alignvc, SIGNAL(clicked()), this, SIGNAL(alignVertical()));

  connect(alignl , SIGNAL(previewStart()), this, SIGNAL(alignLeftPreview()));
  connect(alignb , SIGNAL(previewStart()), this, SIGNAL(alignBottomPreview()));
  connect(alignr , SIGNAL(previewStart()), this, SIGNAL(alignRightPreview()));
  connect(alignt , SIGNAL(previewStart()), this, SIGNAL(alignTopPreview()));
  connect(alignhc, SIGNAL(previewStart()), this, SIGNAL(alignHorizontalPreview()));
  connect(alignvc, SIGNAL(previewStart()), this, SIGNAL(alignVerticalPreview()));

  connect(alignl , SIGNAL(previewStop()), this, SIGNAL(alignPreviewClear()));
  connect(alignb , SIGNAL(previewStop()), this, SIGNAL(alignPreviewClear()));
  connect(alignr , SIGNAL(previewStop()), this, SIGNAL(alignPreviewClear()));
  connect(alignt , SIGNAL(previewStop()), this, SIGNAL(alignPreviewClear()));
  connect(alignhc, SIGNAL(previewStop()), this, SIGNAL(alignPreviewClear()));
  connect(alignvc, SIGNAL(previewStop()), this, SIGNAL(alignPreviewClear()));
}
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);
}
Example #5
0
MainWindow::MainWindow(QWidget *parent) :
	QMainWindow(parent),
	ui(new Ui::MainWindow)
{
	ui->setupUi(this);

	for (int i = 0; i < MaxRecentFiles; ++i)
	{
		recentFileActions[i] = new QAction(this);
		recentFileActions[i]->setVisible(false);
		connect(recentFileActions[i], SIGNAL(triggered()), this, SLOT(openRecentFile()));
		ui->menuFile->insertAction(ui->actionExit, recentFileActions[i]);
	}
	recentFilesSeparator = ui->menuFile->insertSeparator(ui->actionExit);

	form = new Form(this);
	view = new GraphicsView(form, this);
	setCentralWidget(view);

	itemWidget = new ItemWidget(ui->propertyWidget);
	itemWidget->setHidden(true);
	connect(view, SIGNAL(mouseDoubleClick()), itemWidget, SLOT(selectPicture()));

	formWidget = new FormWidget(ui->propertyWidget);
	formWidget->connectForm(form);
	formWidget->update(form);
	ui->propertyWidget->setWidget(formWidget);

	fontCombo = new QFontComboBox(this);
	ui->formatToolBar->insertWidget(ui->actionBold, fontCombo);

	insertGroup = new QActionGroup(this);
	insertGroup->addAction(ui->actionSelect);
	insertGroup->addAction(ui->actionPaint);
	connect(insertGroup, SIGNAL(triggered(QAction*)), this, SLOT(insertObject(QAction*)));

	ui->actionLeft->setData(Qt::AlignLeft);
	ui->actionCenter->setData(Qt::AlignHCenter);
	ui->actionRight->setData(Qt::AlignRight);

	zoomGroup = new QActionGroup(this);
	zoomGroup->addAction(ui->actionActualSize);
	zoomGroup->addAction(ui->actionFitWidth);
	zoomGroup->addAction(ui->actionFitHeight);
	connect(zoomGroup, SIGNAL(triggered(QAction*)), this, SLOT(zoom(QAction*)));

	ui->actionActualSize->setData(GraphicsView::ActualSize);
	ui->actionFitWidth->setData(GraphicsView::FitWidth);
	ui->actionFitHeight->setData(GraphicsView::FitHeight);

	horzAlignGroup = new QActionGroup(this);
	horzAlignGroup->addAction(ui->actionLeft);
	horzAlignGroup->addAction(ui->actionCenter);
	horzAlignGroup->addAction(ui->actionRight);
	connect(horzAlignGroup, SIGNAL(triggered(QAction*)), this, SLOT(horzAlign(QAction*)));

	sizeGroup = new QActionGroup(this);
	sizeGroup->addAction(ui->actionShrinkWidth);
	sizeGroup->addAction(ui->actionGrowWidth);
	sizeGroup->addAction(ui->actionPageWidth);
	sizeGroup->addAction(ui->actionShrinkHeight);
	sizeGroup->addAction(ui->actionGrowHeight);
	sizeGroup->addAction(ui->actionPageHeight);
	sizeGroup->addAction(ui->actionShrinkBoth);
	sizeGroup->addAction(ui->actionGrowBoth);
	sizeGroup->addAction(ui->actionPageBoth);

	ui->actionShrinkWidth->setData(Form::ShrinkWidth);
	ui->actionGrowWidth->setData(Form::GrowWidth);
	ui->actionPageWidth->setData(Form::PageWidth);
	ui->actionShrinkHeight->setData(Form::ShrinkHeight);
	ui->actionGrowHeight->setData(Form::GrowHeight);
	ui->actionPageHeight->setData(Form::PageHeight);
	ui->actionShrinkBoth->setData(Form::ShrinkBoth);
	ui->actionGrowBoth->setData(Form::GrowBoth);
	ui->actionPageBoth->setData(Form::PageBoth);

	connect(sizeGroup, SIGNAL(triggered(QAction*)), this, SLOT(size(QAction*)));

	connect(ui->actionNew, SIGNAL(triggered()), this, SLOT(newForm()));
	connect(ui->actionOpen, SIGNAL(triggered()), this, SLOT(openForm()));
	connect(ui->actionReload, SIGNAL(triggered()), this, SLOT(reload()));
	connect(ui->actionSave, SIGNAL(triggered()), this, SLOT(saveForm()));
	connect(ui->actionSaveAs, SIGNAL(triggered()), this, SLOT(saveFormAs()));
	connect(ui->actionSaveAsPDF, SIGNAL(triggered()), this, SLOT(saveFormAsPdf()));
	connect(ui->actionAbout, SIGNAL(triggered()), this, SLOT(about()));
	connect(ui->actionOpenPrintData, SIGNAL(triggered()), this, SLOT(openPrintData()));
	connect(ui->actionPageSetup, SIGNAL(triggered()), form, SLOT(pageSetup()));
	connect(ui->actionPagePreview, SIGNAL(triggered()), this, SLOT(preview()));
	connect(ui->actionSend, SIGNAL(triggered()), this, SLOT(email()));
	connect(ui->actionPrint, SIGNAL(triggered()), this, SLOT(print()));
	connect(ui->actionFullScreen, SIGNAL(triggered()), this, SLOT(fullScreen()));
	connect(ui->actionMargins, SIGNAL(toggled(bool)), form, SLOT(showMargins(bool)));
	connect(ui->actionGrid, SIGNAL(toggled(bool)), form, SLOT(showGrid(bool)));
	connect(ui->actionPrintData, SIGNAL(toggled(bool)), form, SLOT(showData(bool)));
	connect(ui->actionSelectAll, SIGNAL(triggered()), form, SLOT(selectAll()));
	connect(ui->actionDelete, SIGNAL(triggered()), form, SLOT(deleteSelected()));
	connect(ui->actionProperties, SIGNAL(toggled(bool)), ui->propertyWidget, SLOT(setVisible(bool)));
	connect(ui->actionMoveForwards, SIGNAL(triggered()), form, SLOT(moveForwards()));
	connect(ui->actionMoveBackwards, SIGNAL(triggered()), form, SLOT(moveBackwards()));
	connect(ui->actionAlignLeft, SIGNAL(triggered()), form, SLOT(alignLeft()));
	connect(ui->actionAlignRight, SIGNAL(triggered()), form, SLOT(alignRight()));
	connect(ui->actionAlignTop, SIGNAL(triggered()), form, SLOT(alignTop()));
	connect(ui->actionAlignBottom, SIGNAL(triggered()), form, SLOT(alignBottom()));
	connect(ui->actionCut, SIGNAL(triggered()), form, SLOT(cut()));
	connect(ui->actionCopy, SIGNAL(triggered()), form, SLOT(copy()));
	connect(ui->actionPaste, SIGNAL(triggered()), this, SLOT(paste()));
	connect(ui->actionFirstPage, SIGNAL(triggered()), this, SLOT(firstPage()));
	connect(ui->actionPreviousPage, SIGNAL(triggered()), this, SLOT(previousPage()));
	connect(ui->actionNextPage, SIGNAL(triggered()), this, SLOT(nextPage()));
	connect(ui->actionLastPage, SIGNAL(triggered()), this, SLOT(lastPage()));

	connect(ui->menuView, SIGNAL(aboutToShow()), this, SLOT(updateViewMenu()));
	connect(form, SIGNAL(selectionChanged()), this, SLOT(selectionChanged()));
	connect(form, SIGNAL(changed()), this, SLOT(formChanged()));
	connect(view, SIGNAL(doneRubberBanding(QRectF)), this, SLOT(doneRubberBanding(QRectF)));

	connectForm();
	loadSettings();
	QTimer::singleShot(0, this, SLOT(init()));
}