diff --git a/common_LOCAL_946.pri b/common_LOCAL_946.pri deleted file mode 100644 index 160fdce..0000000 --- a/common_LOCAL_946.pri +++ /dev/null @@ -1,174 +0,0 @@ -# uncomment to disable translations -#CONFIG += no_build_translations - -# uncomment to disable zint -#CONFIG += no_zint - -# uncomment to disable svg -#CONFIG += no_svg - -# uncomment to enable easy_profiler -#CONFIG *= easy_profiler - -isEmpty(BINARY_RESULT_DIR) { - BINARY_RESULT_DIR = $${PWD} -} - -!CONFIG(no_build_translations) { - CONFIG *= build_translations -} - -!CONFIG(no_zint) { - CONFIG *= zint -} - -!CONFIG(no_svg) { - QT *= svg - CONFIG *= svg - DEFINES *= HAVE_SVG -} - -CONFIG(easy_profiler) { - message(EasyProfiler) - INCLUDEPATH *= $$PWD/3rdparty/easyprofiler/easy_profiler_core/include - DEPENDPATH *= $$PWD/3rdparty/easyprofiler/easy_profiler_core/include - unix|win32: LIBS *= -L$$PWD/3rdparty/easyprofiler/build/bin/ -leasy_profiler - equals(QT_MAJOR_VERSION, 5) | equals(QT_MAJOR_VERSION, 6) { - DEFINES *= BUILD_WITH_EASY_PROFILER - } -} - -!CONFIG(qtscriptengine) { - equals(QT_MAJOR_VERSION, 4) { - CONFIG *= qtscriptengine - } - equals(QT_MAJOR_VERSION, 5) : lessThan(QT_MINOR_VERSION, 6) { - CONFIG *= qtscriptengine - } - equals(QT_MAJOR_VERSION, 5) : greaterThan(QT_MINOR_VERSION, 5) { - CONFIG *= qjsengine - } - equals(QT_MAJOR_VERSION, 6) { - CONFIG *= qjsengine - } -} - -CONFIG(qtscriptengine) { - CONFIG -= qjsengine - QT *= script - DEFINES *= USE_QTSCRIPTENGINE - message(qtscriptengine) -} - -!CONFIG(no_formdesigner) { - CONFIG *= dialogdesigner -} - -!CONFIG(no_embedded_designer) { - CONFIG *= embedded_designer - DEFINES *= HAVE_REPORT_DESIGNER - message(embedded designer) -} - -ZINT_PATH = $$PWD/3rdparty/zint-2.10.0 -CONFIG(zint) { - DEFINES *= HAVE_ZINT -} - -equals(QT_MAJOR_VERSION, 4) { - CONFIG *= uitools -} - -equals(QT_MAJOR_VERSION, 5) | equals(QT_MAJOR_VERSION, 6) { - QT *= uitools -} - -CONFIG(release, debug|release) { - message(Release) - BUILD_TYPE = release -}else{ - message(Debug) - BUILD_TYPE = debug -} - -BUILD_DIR = $${BINARY_RESULT_DIR}/build/$${QT_VERSION} - -DEST_INCLUDE_DIR = $$PWD/include - -unix{ - ARCH_DIR = $${OUT_PWD}/unix - ARCH_TYPE = unix - - macx{ - ARCH_DIR = $${OUT_PWD}/macx - ARCH_TYPE = macx - } - - linux{ - !contains(QT_ARCH, x86_64) { - message("Compiling for 32bit system") - ARCH_DIR = $${OUT_PWD}/linux32 - ARCH_TYPE = linux32 - }else{ - message("Compiling for 64bit system") - ARCH_DIR = $${OUT_PWD}/linux64 - ARCH_TYPE = linux64 - } - } -} - -win32 { - !contains(QT_ARCH, x86_64) { - message("Compiling for 32bit system") - ARCH_DIR = $${OUT_PWD}/win32 - ARCH_TYPE = win32 - } else { - message("Compiling for 64bit system") - ARCH_DIR = $${OUT_PWD}/win64 - ARCH_TYPE = win64 - } -} - -DEST_LIBS = $${BUILD_DIR}/$${ARCH_TYPE}/$${BUILD_TYPE}/lib -DEST_BINS = $${BUILD_DIR}/$${ARCH_TYPE}/$${BUILD_TYPE}/$${TARGET} - -MOC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/moc -UI_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/ui -UI_HEADERS_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/ui -UI_SOURCES_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/ui -OBJECTS_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/obj -RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc - -LIMEREPORT_VERSION_MAJOR = 1 -LIMEREPORT_VERSION_MINOR = 6 -LIMEREPORT_VERSION_RELEASE = 8 - -LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}' -DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\" - -QT *= xml sql - -REPORT_PATH = $$PWD/limereport -TRANSLATIONS_PATH = $$PWD/translations - -equals(QT_MAJOR_VERSION, 4) { - DEFINES *= HAVE_QT4 - CONFIG(uitools) { - message(uitools) - DEFINES *= HAVE_UI_LOADER - } -} - -equals(QT_MAJOR_VERSION, 5) | equals(QT_MAJOR_VERSION, 6) { - DEFINES *= HAVE_QT5 - QT *= printsupport widgets - contains(QT, uitools) { - message(uitools) - DEFINES *= HAVE_UI_LOADER - } - CONFIG(qjsengine) { - message(qjsengine) - DEFINES *= USE_QJSENGINE - QT *= qml - } -} diff --git a/limereport/items/lrbordereditor_BACKUP_426.cpp b/limereport/items/lrbordereditor_BACKUP_426.cpp deleted file mode 100644 index 4377e71..0000000 --- a/limereport/items/lrbordereditor_BACKUP_426.cpp +++ /dev/null @@ -1,170 +0,0 @@ -#include "lrbordereditor.h" -#include "ui_lrbordereditor.h" -#include -#include "lrbasedesignintf.h" - -namespace LimeReport{ - -BorderEditor::BorderEditor(QWidget *parent) : - QDialog(parent), - ui(new Ui::BorderEditor), - m_borderStyle(1), - m_borderWidth(1) -{ - ui->setupUi(this); - connect( - ui->borderFrame, SIGNAL(borderSideClicked(LimeReport::BaseDesignIntf::BorderSide, bool)), - this, SLOT(checkToolButtons(LimeReport::BaseDesignIntf::BorderSide, bool)) - ); - - -} - -void BorderEditor::loadItem(LimeReport::BaseDesignIntf *item) -{ - m_item = item; - - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine, - item->borderLines() & LimeReport::BaseDesignIntf::TopLine); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine, - item->borderLines() & LimeReport::BaseDesignIntf::LeftLine); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine, - item->borderLines() & LimeReport::BaseDesignIntf::RightLine); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine, - item->borderLines() & LimeReport::BaseDesignIntf::BottomLine); - - QPen pen; - pen.setWidthF(item->borderLineSize()); - pen.setColor(item->borderColor()); - pen.setStyle((Qt::PenStyle)item->borderStyle()); - ui->borderFrame->setPen(pen); - m_borderColor = item->borderColor().name(); - ui->listWidget->setCurrentRow((Qt::PenStyle)item->borderStyle()); - ui->comboBox->setCurrentText(QString::number(item->borderLineSize())); - m_borderWidth = ui->comboBox->currentText().toDouble(); - m_borderStyle =ui->listWidget->currentRow(); - ui->colorIndicator->setStyleSheet(QString("background-color:%1;").arg(m_borderColor)); -} - -LimeReport::BaseDesignIntf::BorderLines BorderEditor::borderSides() -{ - int borders = 0; - borders += (ui->topLine->isChecked()) ? LimeReport::BaseDesignIntf::TopLine : 0; - borders += (ui->bottomLine->isChecked()) ? LimeReport::BaseDesignIntf::BottomLine : 0; - borders += (ui->leftLine->isChecked()) ? LimeReport::BaseDesignIntf::LeftLine : 0; - borders += (ui->rightLine->isChecked()) ? LimeReport::BaseDesignIntf::RightLine : 0; - return (LimeReport::BaseDesignIntf::BorderLines) borders; -} - -LimeReport::BaseDesignIntf::BorderStyle BorderEditor::borderStyle() -{ - return (LimeReport::BaseDesignIntf::BorderStyle) m_borderStyle; -} - -QString BorderEditor::borderColor() -{ - return m_borderColor; -} - -double BorderEditor::borderWidth() -{ - return m_borderWidth; -} - - -bool BorderEditor::isPage() -{ - return QString(m_item->metaObject()->className()) == "LimeReport::PageItemDesignIntf"; -} - - -BorderEditor::~BorderEditor() -{ - delete ui; -} - -void BorderEditor::on_listWidget_currentRowChanged(int currentRow) -{ - QPen pen = ui->borderFrame->pen(); - pen.setStyle((Qt::PenStyle)currentRow); - m_borderStyle = currentRow; - ui->borderFrame->setPen(pen); -} - -void BorderEditor::on_comboBox_currentTextChanged(const QString &arg1) -{ - QPen pen = ui->borderFrame->pen(); - pen.setWidthF(arg1.toDouble()); - ui->borderFrame->setPen(pen); - m_borderWidth = arg1.toDouble(); -} - -void BorderEditor::checkToolButtons(LimeReport::BaseDesignIntf::BorderSide side, bool check) -{ - switch(side) - { - - - - case BaseDesignIntf::BorderSide::TopLine: - ui->topLine->setChecked(check); - break; - case BaseDesignIntf::BorderSide::BottomLine: - ui->bottomLine->setChecked(check); - break; - case BaseDesignIntf::BorderSide::LeftLine: - ui->leftLine->setChecked(check); - break; - case BaseDesignIntf::BorderSide::RightLine: - ui->rightLine->setChecked(check); - break; - - } -} - -void BorderEditor::on_topLine_clicked(bool checked){ - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine, checked); -} - -void BorderEditor::on_bottomLine_clicked(bool checked){ - emit ui->borderFrame->borderSideClicked(BaseDesignIntf::BorderSide::BottomLine, checked); -} - -void BorderEditor::on_leftLine_clicked(bool checked){ - emit ui->borderFrame->borderSideClicked(BaseDesignIntf::BorderSide::LeftLine, checked); -} - -void BorderEditor::on_rightLine_clicked(bool checked){ - emit ui->borderFrame->borderSideClicked(BaseDesignIntf::BorderSide::RightLine, checked); -} - - -void BorderEditor::on_allLines_clicked() -{ - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine, true); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine, true); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine, true); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine, true); -} - -void BorderEditor::on_noLines_clicked() -{ - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine, false); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine, false); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine, false); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine, false); -} - - -void BorderEditor::on_selectColor_clicked() -{ - QColorDialog cd(this); - if(cd.exec() == QDialog::Rejected) return; - QPen pen = ui->borderFrame->pen(); - pen.setColor(cd.selectedColor().name()); - m_borderColor = pen.color().name(); - ui->colorIndicator->setStyleSheet(QString("background-color:%1;").arg(m_borderColor)); - ui->borderFrame->setPen(pen); -} - -} // namespace LimeReport diff --git a/limereport/items/lrbordereditor_BASE_426.cpp b/limereport/items/lrbordereditor_BASE_426.cpp deleted file mode 100644 index e8e2af3..0000000 --- a/limereport/items/lrbordereditor_BASE_426.cpp +++ /dev/null @@ -1,182 +0,0 @@ -#include "lrbordereditor.h" -#include "ui_lrbordereditor.h" -#include -#include "lrbasedesignintf.h" -lrbordereditor::lrbordereditor(QWidget *parent) : - QDialog(parent), - ui(new Ui::lrbordereditor) -{ - ui->setupUi(this); - - connect(ui->borderFrame,SIGNAL(borderSideClicked(int, bool)), this, SLOT(checkToolButtons(int, bool))); -} - -void lrbordereditor::loadItem(LimeReport::BaseDesignIntf *i) -{ - item = i; - if(item->borderLines() & LimeReport::BaseDesignIntf::TopLine) - { - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine,true); - - } - if(item->borderLines() & LimeReport::BaseDesignIntf::LeftLine) - { - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine,true); - - } - if(item->borderLines() & LimeReport::BaseDesignIntf::RightLine) - { - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine,true); - - } - if(item->borderLines() & LimeReport::BaseDesignIntf::BottomLine) - { - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine,true); - } - QPen pen; - pen.setWidthF(item->borderLineSize()); - pen.setColor(item->borderColor()); - pen.setStyle((Qt::PenStyle)item->borderStyle()); - ui->borderFrame->setPen(pen); - border_color = item->borderColor().name(); - ui->listWidget->setCurrentRow((Qt::PenStyle)item->borderStyle()); - ui->comboBox->setCurrentText(QString::number(item->borderLineSize())); - borderWidth = ui->comboBox->currentText().toDouble(); - borderStyle =ui->listWidget->currentRow(); - ui->pushButton->setStyleSheet(QString("#pushButton{background-color:%1;}").arg(border_color)); -} - -LimeReport::BaseDesignIntf::BorderLines lrbordereditor::borderSides() -{ - int borders = 0; - borders += (ui->topLine->isChecked())?LimeReport::BaseDesignIntf::TopLine:0; - borders += (ui->bottomLine->isChecked())?LimeReport::BaseDesignIntf::BottomLine:0; - borders += (ui->leftLine->isChecked())?LimeReport::BaseDesignIntf::LeftLine:0; - borders += (ui->rightLine->isChecked())?LimeReport::BaseDesignIntf::RightLine:0; - return (LimeReport::BaseDesignIntf::BorderLines)borders; -} - -LimeReport::BaseDesignIntf::BorderStyle lrbordereditor::border_style() -{ - return (LimeReport::BaseDesignIntf::BorderStyle)borderStyle; -} - -QString lrbordereditor::borderColor() -{ - return border_color; -} - -double lrbordereditor::border_width() -{ - return borderWidth; -} - -lrbordereditor::~lrbordereditor() -{ - delete ui; -} - -void lrbordereditor::on_listWidget_currentRowChanged(int currentRow) -{ - QPen pen = ui->borderFrame->pen(); - pen.setStyle((Qt::PenStyle)currentRow); - borderStyle = currentRow; - ui->borderFrame->setPen(pen); - - -} - - -void lrbordereditor::on_comboBox_currentTextChanged(const QString &arg1) -{ - QPen pen = ui->borderFrame->pen(); - pen.setWidthF(arg1.toDouble()); - ui->borderFrame->setPen(pen); - borderWidth = arg1.toDouble(); -} - - -void lrbordereditor::on_pushButton_clicked() -{ - QColorDialog cd(this); - if(cd.exec() == QDialog::Rejected)return; - QPen pen = ui->borderFrame->pen(); - pen.setColor(cd.selectedColor().name()); - border_color = pen.color().name(); - - ui->pushButton->setStyleSheet(QString("#pushButton{background-color:%1;}").arg(border_color)); - ui->borderFrame->setPen(pen); -} - - -void lrbordereditor::on_toolButton_4_clicked() -{ - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine,true); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine,true); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine,true); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine,true); - QPen pen = ui->borderFrame->pen(); - - ui->borderFrame->setPen(pen); -} - - -void lrbordereditor::on_noLines_clicked() -{ - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine,false); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine,false); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine,false); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine,false); - -} - - -void lrbordereditor::on_topLine_clicked() -{ - - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine,ui->topLine->isChecked()); - -} - -void lrbordereditor::checkToolButtons(int side, bool check) -{ - - switch(side) - { - case LimeReport::BaseDesignIntf::BorderSide::TopLine: - { - ui->topLine->setChecked(check); - }break; - case LimeReport::BaseDesignIntf::BorderSide::BottomLine: - { - ui->bottomLine->setChecked(check); - }break; - case LimeReport::BaseDesignIntf::BorderSide::LeftLine: - { - ui->leftLine->setChecked(check); - }break; - case LimeReport::BaseDesignIntf::BorderSide::RightLine: - { - ui->rightLine->setChecked(check); - }break; - } -} - - -void lrbordereditor::on_bottomLine_clicked() -{ - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine,ui->bottomLine->isChecked()); -} - - -void lrbordereditor::on_leftLine_clicked() -{ - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine,ui->leftLine->isChecked()); -} - - -void lrbordereditor::on_toolButton_3_clicked() -{ - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine,ui->rightLine->isChecked()); -} - diff --git a/limereport/items/lrbordereditor_LOCAL_426.cpp b/limereport/items/lrbordereditor_LOCAL_426.cpp deleted file mode 100644 index ce923ef..0000000 --- a/limereport/items/lrbordereditor_LOCAL_426.cpp +++ /dev/null @@ -1,162 +0,0 @@ -#include "lrbordereditor.h" -#include "ui_lrbordereditor.h" -#include -#include "lrbasedesignintf.h" - -namespace LimeReport{ - -BorderEditor::BorderEditor(QWidget *parent) : - QDialog(parent), - ui(new Ui::BorderEditor), - m_borderStyle(1), - m_borderWidth(1) -{ - ui->setupUi(this); - connect( - ui->borderFrame, SIGNAL(borderSideClicked(LimeReport::BaseDesignIntf::BorderSide, bool)), - this, SLOT(checkToolButtons(LimeReport::BaseDesignIntf::BorderSide, bool)) - ); -} - -void BorderEditor::loadItem(LimeReport::BaseDesignIntf *item) -{ - m_item = item; - qDebug()<metaObject()->className(); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine, - item->borderLines() & LimeReport::BaseDesignIntf::TopLine); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine, - item->borderLines() & LimeReport::BaseDesignIntf::LeftLine); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine, - item->borderLines() & LimeReport::BaseDesignIntf::RightLine); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine, - item->borderLines() & LimeReport::BaseDesignIntf::BottomLine); - - QPen pen; - pen.setWidthF(item->borderLineSize()); - pen.setColor(item->borderColor()); - pen.setStyle((Qt::PenStyle)item->borderStyle()); - ui->borderFrame->setPen(pen); - m_borderColor = item->borderColor().name(); - ui->listWidget->setCurrentRow((Qt::PenStyle)item->borderStyle()); - ui->comboBox->setCurrentText(QString::number(item->borderLineSize())); - m_borderWidth = ui->comboBox->currentText().toDouble(); - m_borderStyle =ui->listWidget->currentRow(); - ui->colorIndicator->setStyleSheet(QString("background-color:%1;").arg(m_borderColor)); -} - -LimeReport::BaseDesignIntf::BorderLines BorderEditor::borderSides() -{ - int borders = 0; - borders += (ui->topLine->isChecked()) ? LimeReport::BaseDesignIntf::TopLine : 0; - borders += (ui->bottomLine->isChecked()) ? LimeReport::BaseDesignIntf::BottomLine : 0; - borders += (ui->leftLine->isChecked()) ? LimeReport::BaseDesignIntf::LeftLine : 0; - borders += (ui->rightLine->isChecked()) ? LimeReport::BaseDesignIntf::RightLine : 0; - return (LimeReport::BaseDesignIntf::BorderLines) borders; -} - -LimeReport::BaseDesignIntf::BorderStyle BorderEditor::borderStyle() -{ - return (LimeReport::BaseDesignIntf::BorderStyle) m_borderStyle; -} - -QString BorderEditor::borderColor() -{ - return m_borderColor; -} - -double BorderEditor::borderWidth() -{ - return m_borderWidth; -} - -bool BorderEditor::isPage() -{ - return QString(m_item->metaObject()->className()) == "LimeReport::PageItemDesignIntf"; -} - -BorderEditor::~BorderEditor() -{ - delete ui; -} - -void BorderEditor::on_listWidget_currentRowChanged(int currentRow) -{ - QPen pen = ui->borderFrame->pen(); - pen.setStyle((Qt::PenStyle)currentRow); - m_borderStyle = currentRow; - ui->borderFrame->setPen(pen); -} - -void BorderEditor::on_comboBox_currentTextChanged(const QString &arg1) -{ - QPen pen = ui->borderFrame->pen(); - pen.setWidthF(arg1.toDouble()); - ui->borderFrame->setPen(pen); - m_borderWidth = arg1.toDouble(); -} - -void BorderEditor::checkToolButtons(LimeReport::BaseDesignIntf::BorderSide side, bool check) -{ - switch(side) - { - case BaseDesignIntf::BorderSide::TopLine: - ui->topLine->setChecked(check); - break; - case BaseDesignIntf::BorderSide::BottomLine: - ui->bottomLine->setChecked(check); - break; - case BaseDesignIntf::BorderSide::LeftLine: - ui->leftLine->setChecked(check); - break; - case BaseDesignIntf::BorderSide::RightLine: - ui->rightLine->setChecked(check); - break; - } -} - -void BorderEditor::on_topLine_clicked(bool checked){ - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine, checked); -} - -void BorderEditor::on_bottomLine_clicked(bool checked){ - emit ui->borderFrame->borderSideClicked(BaseDesignIntf::BorderSide::BottomLine, checked); -} - -void BorderEditor::on_leftLine_clicked(bool checked){ - emit ui->borderFrame->borderSideClicked(BaseDesignIntf::BorderSide::LeftLine, checked); -} - -void BorderEditor::on_rightLine_clicked(bool checked){ - emit ui->borderFrame->borderSideClicked(BaseDesignIntf::BorderSide::RightLine, checked); -} - - -void BorderEditor::on_allLines_clicked() -{ - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine, true); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine, true); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine, true); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine, true); -} - -void BorderEditor::on_noLines_clicked() -{ - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine, false); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine, false); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine, false); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine, false); -} - - -void BorderEditor::on_selectColor_clicked() -{ - QColorDialog cd(this); - if(cd.exec() == QDialog::Rejected) return; - QPen pen = ui->borderFrame->pen(); - pen.setColor(cd.selectedColor().name()); - m_borderColor = pen.color().name(); - ui->colorIndicator->setStyleSheet(QString("background-color:%1;").arg(m_borderColor)); - ui->borderFrame->setPen(pen); -} - -} // namespace LimeReport diff --git a/limereport/items/lrbordereditor_REMOTE_426.cpp b/limereport/items/lrbordereditor_REMOTE_426.cpp deleted file mode 100644 index 63d8b88..0000000 --- a/limereport/items/lrbordereditor_REMOTE_426.cpp +++ /dev/null @@ -1,156 +0,0 @@ -#include "lrbordereditor.h" -#include "ui_lrbordereditor.h" -#include -#include "lrbasedesignintf.h" - -namespace LimeReport{ - -BorderEditor::BorderEditor(QWidget *parent) : - QDialog(parent), - ui(new Ui::BorderEditor), - m_borderStyle(1), - m_borderWidth(1) -{ - ui->setupUi(this); - connect( - ui->borderFrame, SIGNAL(borderSideClicked(LimeReport::BaseDesignIntf::BorderSide, bool)), - this, SLOT(checkToolButtons(LimeReport::BaseDesignIntf::BorderSide, bool)) - ); -} - -void BorderEditor::loadItem(LimeReport::BaseDesignIntf *item) -{ - m_item = item; - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine, - item->borderLines() & LimeReport::BaseDesignIntf::TopLine); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine, - item->borderLines() & LimeReport::BaseDesignIntf::LeftLine); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine, - item->borderLines() & LimeReport::BaseDesignIntf::RightLine); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine, - item->borderLines() & LimeReport::BaseDesignIntf::BottomLine); - - QPen pen; - pen.setWidthF(item->borderLineSize()); - pen.setColor(item->borderColor()); - pen.setStyle((Qt::PenStyle)item->borderStyle()); - ui->borderFrame->setPen(pen); - m_borderColor = item->borderColor().name(); - ui->listWidget->setCurrentRow((Qt::PenStyle)item->borderStyle()); - ui->comboBox->setCurrentText(QString::number(item->borderLineSize())); - m_borderWidth = ui->comboBox->currentText().toDouble(); - m_borderStyle =ui->listWidget->currentRow(); - ui->colorIndicator->setStyleSheet(QString("background-color:%1;").arg(m_borderColor)); -} - -LimeReport::BaseDesignIntf::BorderLines BorderEditor::borderSides() -{ - int borders = 0; - borders += (ui->topLine->isChecked()) ? LimeReport::BaseDesignIntf::TopLine : 0; - borders += (ui->bottomLine->isChecked()) ? LimeReport::BaseDesignIntf::BottomLine : 0; - borders += (ui->leftLine->isChecked()) ? LimeReport::BaseDesignIntf::LeftLine : 0; - borders += (ui->rightLine->isChecked()) ? LimeReport::BaseDesignIntf::RightLine : 0; - return (LimeReport::BaseDesignIntf::BorderLines) borders; -} - -LimeReport::BaseDesignIntf::BorderStyle BorderEditor::borderStyle() -{ - return (LimeReport::BaseDesignIntf::BorderStyle) m_borderStyle; -} - -QString BorderEditor::borderColor() -{ - return m_borderColor; -} - -double BorderEditor::borderWidth() -{ - return m_borderWidth; -} - -BorderEditor::~BorderEditor() -{ - delete ui; -} - -void BorderEditor::on_listWidget_currentRowChanged(int currentRow) -{ - QPen pen = ui->borderFrame->pen(); - pen.setStyle((Qt::PenStyle)currentRow); - m_borderStyle = currentRow; - ui->borderFrame->setPen(pen); -} - -void BorderEditor::on_comboBox_currentTextChanged(const QString &arg1) -{ - QPen pen = ui->borderFrame->pen(); - pen.setWidthF(arg1.toDouble()); - ui->borderFrame->setPen(pen); - m_borderWidth = arg1.toDouble(); -} - -void BorderEditor::checkToolButtons(LimeReport::BaseDesignIntf::BorderSide side, bool check) -{ - switch(side) - { - case BaseDesignIntf::BorderSide::TopLine: - ui->topLine->setChecked(check); - break; - case BaseDesignIntf::BorderSide::BottomLine: - ui->bottomLine->setChecked(check); - break; - case BaseDesignIntf::BorderSide::LeftLine: - ui->leftLine->setChecked(check); - break; - case BaseDesignIntf::BorderSide::RightLine: - ui->rightLine->setChecked(check); - break; - } -} - -void BorderEditor::on_topLine_clicked(bool checked){ - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine, checked); -} - -void BorderEditor::on_bottomLine_clicked(bool checked){ - emit ui->borderFrame->borderSideClicked(BaseDesignIntf::BorderSide::BottomLine, checked); -} - -void BorderEditor::on_leftLine_clicked(bool checked){ - emit ui->borderFrame->borderSideClicked(BaseDesignIntf::BorderSide::LeftLine, checked); -} - -void BorderEditor::on_rightLine_clicked(bool checked){ - emit ui->borderFrame->borderSideClicked(BaseDesignIntf::BorderSide::RightLine, checked); -} - - -void BorderEditor::on_allLines_clicked() -{ - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine, true); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine, true); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine, true); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine, true); -} - -void BorderEditor::on_noLines_clicked() -{ - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine, false); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine, false); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine, false); - emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine, false); -} - - -void BorderEditor::on_selectColor_clicked() -{ - QColorDialog cd(this); - if(cd.exec() == QDialog::Rejected) return; - QPen pen = ui->borderFrame->pen(); - pen.setColor(cd.selectedColor().name()); - m_borderColor = pen.color().name(); - ui->colorIndicator->setStyleSheet(QString("background-color:%1;").arg(m_borderColor)); - ui->borderFrame->setPen(pen); -} - -} // namespace LimeReport diff --git a/limereport/lrbasedesignintf_BACKUP_1195.cpp b/limereport/lrbasedesignintf_BACKUP_1195.cpp deleted file mode 100644 index 7db40cd..0000000 --- a/limereport/lrbasedesignintf_BACKUP_1195.cpp +++ /dev/null @@ -1,2072 +0,0 @@ -/*************************************************************************** - * This file is part of the Lime Report project * - * Copyright (C) 2021 by Alexander Arin * - * arin_a@bk.ru * - * * - ** GNU General Public License Usage ** - * * - * This library is free software: you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation, either version 3 of the License, or * - * (at your option) any later version. * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - * * - ** GNU Lesser General Public License ** - * * - * This library is free software: you can redistribute it and/or modify * - * it under the terms of the GNU Lesser General Public License as * - * published by the Free Software Foundation, either version 3 of the * - * License, or (at your option) any later version. * - * You should have received a copy of the GNU Lesser General Public * - * License along with this library. * - * If not, see . * - * * - * This library is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - ****************************************************************************/ -#include -#include "lrbasedesignintf.h" -#include "lrglobal.h" -#include "lrpagedesignintf.h" -#include "lrreportdesignwidget.h" -#include "qgraphicsitem.h" -#include "lrdesignelementsfactory.h" -#include "lrhorizontallayout.h" -#include "serializators/lrstorageintf.h" -#include "serializators/lrxmlreader.h" -#include "lrbordereditor.h" -#include -#include -#include -#include -#include -#include -#include -#include - -namespace LimeReport -{ - -BaseDesignIntf::BaseDesignIntf(const QString &storageTypeName, QObject *owner, QGraphicsItem *parent) : - QObject(owner), QGraphicsItem(parent), - m_resizeHandleSize(Const::RESIZE_HANDLE_SIZE*2), - m_selectionPenSize(Const::SELECTION_PEN_SIZE), - m_possibleResizeDirectionFlags(ResizeTop | ResizeBottom | ResizeLeft | ResizeRight), - m_possibleMoveDirectionFlags(All), - m_resizeDirectionFlags(0), - m_width(200), - m_height(50), - m_fontColor(Qt::black), - m_fixedPos(false), - m_borderLineSize(1), - m_BGMode(OpaqueMode), - m_opacity(100), - m_borderLinesFlags(BorderLines()), - m_borderStyle(BorderStyle::Solid), - m_storageTypeName(storageTypeName), - m_itemMode(DesignMode), - m_objectState(ObjectCreated), - m_backgroundBrushStyle(SolidPattern), - m_backgroundColor(Qt::white), - m_margin(4), - m_itemAlign(DesignedItemAlign), - m_changingItemAlign(false), - m_borderColor(Qt::black), - m_reportSettings(0), - m_patternName(""), - m_patternItem(0), - m_fillInSecondPass(false), - m_watermark(false), - m_hovered(false), - m_joinMarkerOn(false), - m_selectionMarker(0), - m_fillTransparentInDesignMode(true), - m_unitType(Millimeters), - m_itemGeometryLocked(false), - m_isChangingPos(false), - m_isMoveable(false), - m_shadow(false) - - -{ - setGeometry(QRectF(0, 0, m_width, m_height)); - if (BaseDesignIntf *item = dynamic_cast(parent)) { - m_font = item->font(); - } else{ - m_font = QFont("Arial",10); - } - initFlags(); -} - -QRectF BaseDesignIntf::boundingRect() const -{ - qreal halfpw = pen().widthF() / 2; - halfpw += 2; - return rect().adjusted(-halfpw, -halfpw, halfpw, halfpw); -} - -BaseDesignIntf::~BaseDesignIntf(void) { - -} - -void BaseDesignIntf::setParentReportItem(const QString &value) -{ - if (page() && !value.isEmpty()) { - BaseDesignIntf *p = page()->reportItemByName(value); - if (p) { - setParentItem(p); - setParent(p); - } - } -} - -QString BaseDesignIntf::parentReportItemName() const -{ - BaseDesignIntf *parent = dynamic_cast(parentItem()); - if (parent) return parent->objectName(); - else return ""; -} - -void BaseDesignIntf::setBackgroundBrushStyle(BrushStyle value) -{ - if ( value != m_backgroundBrushStyle ){ - BrushStyle oldValue = m_backgroundBrushStyle; - m_backgroundBrushStyle=value; - if (!isLoading()) update(); - notify("backgroundBrushStyle", static_cast(oldValue), static_cast(value)); - } -} - -void BaseDesignIntf::setBackgroundColor(QColor value) -{ - if (value != m_backgroundColor){ - QColor oldValue = m_backgroundColor; - m_backgroundColor=value; - if (!isLoading()) update(); - notify("backgroundColor", oldValue, value); - } -} - -QPen BaseDesignIntf::pen() const -{ - return m_pen; -} - -void BaseDesignIntf::setPen(QPen &pen) -{ - m_pen = pen; - update(); -} - -QFont BaseDesignIntf::font() const -{ - return m_font; -} - -void BaseDesignIntf::setFont(QFont &font) -{ - if (m_font != font){ - m_font = font; - if (!isLoading()) update(); - } -} - -qreal BaseDesignIntf::width() const -{ - return rect().width(); -} - -void BaseDesignIntf::setWidth(qreal width) -{ - setGeometry(QRectF(rect().x(), rect().y(), width, rect().height())); - if (!m_changingItemAlign) - updateItemAlign(); -} - -QString BaseDesignIntf::setItemWidth(qreal width) -{ - setWidth(width * unitFactor()); - return QString(); -} - -qreal BaseDesignIntf::height() const -{ - return rect().height(); -} - -QRect BaseDesignIntf::geometry() const -{ - return QRect(pos().x(), pos().y(), width(), height()); -} - -void BaseDesignIntf::setHeight(qreal height) -{ - setGeometry(QRectF(rect().x(), rect().y(), rect().width(), height)); -} - -QString BaseDesignIntf::setItemHeight(qreal height) -{ - setHeight(height * unitFactor()); - return QString(); -} - -qreal BaseDesignIntf::getItemWidth() -{ - return width() / unitFactor(); -} - -qreal BaseDesignIntf::getItemHeight() -{ - return height() / unitFactor(); -} - -qreal BaseDesignIntf::getItemPosX() -{ - return x() / unitFactor(); -} - -qreal BaseDesignIntf::getItemPosY() -{ - return y() / unitFactor(); -} - -qreal BaseDesignIntf::getAbsolutePosX() -{ - return calcAbsolutePosX(0,this); -} - -qreal BaseDesignIntf::getAbsolutePosY() -{ - return calcAbsolutePosY(0,this); -} - -QString BaseDesignIntf::setItemPosX(qreal xValue) -{ - setItemPos(xValue * unitFactor(),y()); - return QString(); -} - -QString BaseDesignIntf::setItemPosY(qreal yValue) -{ - setItemPos(x(),yValue * unitFactor()); - return QString(); -} - -QFont BaseDesignIntf::transformToSceneFont(const QFont& value) const -{ - QFont f = value; - f.setPixelSize(f.pointSize()*Const::fontFACTOR); - return f; -} - -QString BaseDesignIntf::expandDataFields(QString context, ExpandType expandType, DataSourceManager* dataManager) -{ - ScriptEngineManager& sm = ScriptEngineManager::instance(); - if (sm.dataManager() != dataManager) sm.setDataManager(dataManager); - return sm.expandDataFields(context, expandType, m_varValue, this); -} - -QString BaseDesignIntf::expandUserVariables(QString context, RenderPass pass, ExpandType expandType, DataSourceManager* dataManager) -{ - - ScriptEngineManager& sm = ScriptEngineManager::instance(); - if (sm.dataManager() != dataManager) sm.setDataManager(dataManager); - return sm.expandUserVariables(context, pass, expandType, m_varValue); - -} - -QString BaseDesignIntf::expandScripts(QString context, DataSourceManager* dataManager) -{ - - ScriptEngineManager& sm = ScriptEngineManager::instance(); - if (sm.dataManager() != dataManager) sm.setDataManager(dataManager); - return sm.expandScripts(context,m_varValue,this); - -} - -void BaseDesignIntf::setupPainter(QPainter *painter) const -{ - if (!painter) { - return; - } - painter->setFont(m_font); - painter->setPen(m_fontColor); -} - -BaseDesignIntf::BGMode BaseDesignIntf::backgroundMode() const -{ - return m_BGMode; -} -void BaseDesignIntf::setBackgroundMode(BGMode bgMode) -{ - m_BGMode = bgMode; - update(boundingRect()); -} - -int BaseDesignIntf::opacity() const -{ - return m_opacity; -} - -void BaseDesignIntf::setOpacity(int opacity) -{ - if (m_opacity!=opacity){ - if (opacity < 0) { - m_opacity = 0; - } - else if (opacity > 100) { - m_opacity = 100; - } - else { - m_opacity = opacity; - } - update(); - } -} - -void BaseDesignIntf::setSize(QSizeF size) -{ - setWidth(size.width()); - setHeight(size.height()); -} - -QSizeF BaseDesignIntf::size() const -{ - return QSizeF(width(), height()); -} - -QSizeF BaseDesignIntf::sizeMM() const -{ - return QSizeF(width() / Const::mmFACTOR, height() / Const::mmFACTOR); -} - -qreal BaseDesignIntf::widthMM() const -{ - return width() / Const::mmFACTOR; -} - -qreal BaseDesignIntf::heightMM() const -{ - return height() / Const::mmFACTOR; -} - -//void BaseDesignIntf::setUnitFactor(qreal unitFactor) -//{ -// m_unitFactor = unitFactor; -//} - -qreal BaseDesignIntf::unitFactor() const -{ - if (m_unitType == Millimeters) - return Const::mmFACTOR; - else return Const::mmFACTOR * 2.54; -} - -void BaseDesignIntf::setUnitType(BaseDesignIntf::UnitType value) -{ - foreach(BaseDesignIntf* child, childBaseItems()) - child->setUnitType(value); - m_unitType = value; -} - -BaseDesignIntf::UnitType BaseDesignIntf::unitType() -{ - return m_unitType; -} - -QPointF BaseDesignIntf::posMM() const -{ - return QPointF(pos().x() / Const::mmFACTOR, pos().y() / Const::mmFACTOR); -} - -QRectF BaseDesignIntf::rect() const -{ - return m_rect; -} - -void BaseDesignIntf::setFixedPos(bool fixedPos) -{ - m_fixedPos = fixedPos; -} - -void BaseDesignIntf::onChangeGeometryTimeOut(){ - m_isMoveable = true; -} - -void BaseDesignIntf::mousePressEvent(QGraphicsSceneMouseEvent *event) -{ - if (event->button() == Qt::LeftButton) { - m_isChangingPos = true; - m_resizeDirectionFlags = resizeDirectionFlags(event->pos()); - m_startPos = pos(); - m_oldGeometry = geometry(); - QGraphicsItem::mousePressEvent(event); - emit itemSelected(this); - m_isMoveable = false; - QTimer::singleShot(200, this, SLOT(onChangeGeometryTimeOut())); - } - else QGraphicsItem::mousePressEvent(event); -} - -void BaseDesignIntf::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) -{ - removeGuideLines(); - QRectF newGeometry = geometry(); - m_isChangingPos = false; - if (newGeometry != m_oldGeometry) { - geometryChangedEvent(newGeometry, m_oldGeometry); - emit posChanged(this, newGeometry.topLeft(), m_oldGeometry.topLeft()); - } - QGraphicsItem::mouseReleaseEvent(event); -} - -void BaseDesignIntf::paint(QPainter *ppainter, const QStyleOptionGraphicsItem *option, QWidget *widget) -{ - Q_UNUSED(option); - Q_UNUSED(widget); - - ppainter->save(); - setupPainter(ppainter); - if(!isPageItem()) - drawBorder(ppainter, rect()); - else - drawBorder(ppainter, page()->pageItem()->pageRect()); - if(m_shadow) - drawShadow(ppainter, rect(), 6); - // if (m_joinMarkerOn) { drawMarker(ppainter, Const::JOIN_COLOR);} - // if (isSelected() && !m_joinMarkerOn) {drawMarker(ppainter, Const::SELECTION_COLOR);} - drawResizeZone(ppainter); - ppainter->restore(); - // if (m_hovered) ppainter->drawImage( - // QRectF(QPointF(rect().topRight().x()-24, rect().bottomLeft().y()-24), - // QSizeF(24, 24)),QImage(":/items/images/settings.png")); -} - -QColor calcColor(QColor color){ - - int R = color.red(); - int G = color.green(); - int B = color.blue(); - - if (0.222*R + 0.707*G + 0.071*B <= 127) - return Qt::white; - else - return Qt::black; -} - -void BaseDesignIntf::prepareRect(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/) -{ - painter->save(); - - QRectF r = rect().adjusted(0, 0, borderLineSize(), borderLineSize()); - QBrush brush(m_backgroundColor,static_cast(m_backgroundBrushStyle)); - brush.setTransform(painter->worldTransform().inverted()); - - if (isSelected() && (opacity() == 100) && (m_BGMode!=TransparentMode)) { - painter->fillRect(r, brush); - } - else { - if (m_BGMode == OpaqueMode) { - qreal o = (itemMode() & DesignMode) ? 0.5 : qreal(m_opacity) / 100; - painter->setOpacity(o); - painter->fillRect(r, brush); - } else if ((itemMode() & DesignMode) && fillTransparentInDesignMode()){ - painter->setOpacity(0.1); - painter->fillRect(r, QBrush(QPixmap(":/report/images/empty"))); - } - } - painter->restore(); -} - -void BaseDesignIntf::hoverMoveEvent(QGraphicsSceneHoverEvent *event) -{ - if (page()) { - if (!page()->isItemInsertMode() && isSelected()) { - if (m_resizeDirectionFlags != resizeDirectionFlags(event->pos())) { - m_resizeDirectionFlags = resizeDirectionFlags(event->pos()); - QVectoroldResizeAreas(m_resizeAreas); - initResizeZones(); - invalidateRects(oldResizeAreas); - invalidateRects(m_resizeAreas); - switch (m_resizeDirectionFlags) { - case ResizeRight: - case ResizeLeft: - setCursor(Qt::SizeHorCursor); - break; - case ResizeBottom: - case ResizeTop: - setCursor(Qt::SizeVerCursor); - break; - case ResizeRight | ResizeBottom: - case ResizeLeft | ResizeTop: - setCursor(Qt::SizeFDiagCursor); - break; - case ResizeLeft | ResizeBottom: - case ResizeRight | ResizeTop: - setCursor(Qt::SizeBDiagCursor); - break; - default: - setCursor(Qt::ArrowCursor); - break; - } - } - } - } -} - -void BaseDesignIntf::invalidateRects(QVector rects) -{ - foreach(QRectF * rect, rects) - scene()->update(mapToScene(*rect).boundingRect()); -} - -void BaseDesignIntf::hoverLeaveEvent(QGraphicsSceneHoverEvent *) -{ - setCursor(QCursor(Qt::ArrowCursor)); - m_resizeDirectionFlags = 0; - scene()->update(sceneBoundingRect()); - m_resizeAreas.clear(); - m_hovered = false; - update(); -} - -void BaseDesignIntf::hoverEnterEvent(QGraphicsSceneHoverEvent * /*event*/) -{ - m_hovered = true; - update(); -} - - -void BaseDesignIntf::mouseMoveEvent(QGraphicsSceneMouseEvent *event) -{ - if (!m_isMoveable) return; - if (!isSelected()){ - QGraphicsItem::mouseMoveEvent(event); - return; - } - - - int hStep = dynamic_cast(scene())->horizontalGridStep(); - int vStep = dynamic_cast(scene())->verticalGridStep(); - - if (m_resizeDirectionFlags & ResizeLeft) { - if ((event->scenePos().x()) <= (mapToScene(0, 0).x() + (width() - Const::MINIMUM_ITEM_WIDTH)) && - (width() + (event->lastScenePos().x() - event->scenePos().x()) > Const::MINIMUM_ITEM_WIDTH) - ) { - qreal posRightCorner = mapToScene(0, 0).x() + width(); - qreal posLeftCorner = div(mapToParent(event->pos()).x(), hStep).quot * hStep; - if (posLeftCorner < 0 ) - posLeftCorner = 0; - setItemPos(posLeftCorner, y()); - setWidth(div(posRightCorner - mapToScene(0, 0).x(), hStep).quot * hStep); - } - } - - if (m_resizeDirectionFlags & ResizeRight) { - if ((event->scenePos().x() >= (mapToScene(0, 0).x() + Const::MINIMUM_ITEM_WIDTH)) || - (event->scenePos().x() >= (mapToScene(0, 0).x() + width()))) { - setWidth(div(event->scenePos().x() - mapToScene(0, 0).x(), hStep).quot * hStep); - } - } - - if (m_resizeDirectionFlags & ResizeTop) { - if ((event->scenePos().y()) <= (mapToScene(0, 0).y() + (height() - Const::MINIMUM_ITEM_HEIGHT)) && - (height() + (event->lastScenePos().y() - event->scenePos().y()) > Const::MINIMUM_ITEM_HEIGHT) - ) { - qreal posBottomCorner = mapToScene(0, 0).y() + height(); - qreal posTopCorner = div(mapToParent(event->pos()).y(), vStep).quot * vStep; - if (posTopCorner < 0 ) - posTopCorner = 0; - setItemPos(x(), posTopCorner); - setHeight(div(posBottomCorner - mapToScene(0, 0).y(), vStep).quot * vStep); - } - } - - if (m_resizeDirectionFlags & ResizeBottom) { - if ((event->scenePos().y() > (mapToScene(0, 0).y() + height())) || - (event->scenePos().y() > (mapToScene(0, 0).y() + Const::MINIMUM_ITEM_HEIGHT)) - ) { - setHeight(div(event->scenePos().y() - mapToScene(0, 0).y(), vStep).quot * vStep); - } - } - - if ((m_resizeDirectionFlags == Fixed) && !m_fixedPos) { - - QPointF tmpPos = pos(); - QPointF delta; - switch (possibleMoveDirectionFlags()) { - case LeftRight: { - delta = QPoint(div(event->buttonDownScenePos(Qt::LeftButton).x() - event->scenePos().x(), hStep).quot * hStep, 0); - break; - } - case TopBotom: { - delta = QPoint(0, div(event->buttonDownScenePos(Qt::LeftButton).y() - event->scenePos().y(), vStep).quot * vStep); - break; - } - case All: { - delta = QPoint(div(event->buttonDownScenePos(Qt::LeftButton).x() - event->scenePos().x(), hStep).quot * hStep, - div(event->buttonDownScenePos(Qt::LeftButton).y() - event->scenePos().y(), vStep).quot * vStep); - break; - } - }; - - setItemPos(QPointF(div(m_startPos.x(), hStep).quot * hStep, div(m_startPos.y(), vStep).quot * vStep) - delta); - - if (page()){ - if (!isBand() && page()->selectedItems().count()>1) - moveSelectedItems(tmpPos - pos()); - if (page()->selectedItems().count()==1 && (page()->magneticMovement())) - page()->itemMoved(this); - - } - } - if (scene() && !scene()->selectedItems().isEmpty()) { - QGraphicsItem *movingItem = scene()->selectedItems().first(); - removeGuideLines(); - - for (QGraphicsItem *item : scene()->items()) { - if (item != movingItem) { - qreal topDiff = qAbs(item->sceneBoundingRect().bottom() - movingItem->sceneBoundingRect().bottom()); - qreal bottomDiff = qAbs(item->sceneBoundingRect().top() - movingItem->sceneBoundingRect().top()); - qreal leftDiff = qAbs(item->sceneBoundingRect().left() - movingItem->sceneBoundingRect().left()); - qreal rightDiff = qAbs(item->sceneBoundingRect().right() - movingItem->sceneBoundingRect().right()); - - if (topDiff == 0) - addGuideLine(item->sceneBoundingRect().left(), item->sceneBoundingRect().top(), - movingItem->sceneBoundingRect().left(), movingItem->sceneBoundingRect().top()); - if (bottomDiff == 0) - addGuideLine(item->sceneBoundingRect().left(), item->sceneBoundingRect().bottom(), - movingItem->sceneBoundingRect().left(), movingItem->sceneBoundingRect().bottom()); - if (leftDiff == 0) - addGuideLine(item->sceneBoundingRect().left(), item->sceneBoundingRect().top(), - movingItem->sceneBoundingRect().left(), movingItem->sceneBoundingRect().top()); - if (rightDiff == 0) - addGuideLine(item->sceneBoundingRect().right(), item->sceneBoundingRect().top(), - movingItem->sceneBoundingRect().right(), movingItem->sceneBoundingRect().top()); - } - } - } -} - -int BaseDesignIntf::possibleResizeDirectionFlags() const -{ - return m_possibleResizeDirectionFlags; -} - -int BaseDesignIntf::resizeHandleSize() const -{ - return m_resizeHandleSize; -} - -int BaseDesignIntf::resizeDirectionFlags(QPointF position) -{ - int flags = Fixed; - - if (possibleResizeDirectionFlags()&ResizeTop && m_topRect.contains(position)) { - flags |= ResizeTop; - } - - if (possibleResizeDirectionFlags()&ResizeLeft && m_leftRect.contains(position)) { - flags |= ResizeLeft; - } - - if (possibleResizeDirectionFlags()&ResizeBottom && m_bottomRect.contains(position)) { - flags |= ResizeBottom; - } - - if (possibleResizeDirectionFlags()&ResizeRight && m_rightRect.contains(position)) { - flags |= ResizeRight; - } - - return flags; -} - -Qt::CursorShape BaseDesignIntf::getPossibleCursor(int cursorFlags) -{ - - if ((cursorFlags == Fixed) || (scene()->selectedItems().count() > 1)) return Qt::ArrowCursor; - - if (((cursorFlags & ResizeRight) && (cursorFlags & ResizeTop)) || - ((cursorFlags & ResizeLeft) && (cursorFlags & ResizeBottom))) { - return Qt::SizeBDiagCursor; - } - if (((cursorFlags & ResizeLeft) && (cursorFlags & ResizeTop)) || - ((cursorFlags & ResizeRight) && (cursorFlags & ResizeBottom))) { - return Qt::SizeFDiagCursor; - } - if ((cursorFlags & ResizeLeft) || (cursorFlags & ResizeRight)) { return Qt::SizeHorCursor; } - if ((cursorFlags & ResizeBottom) || (cursorFlags & ResizeTop)) { return Qt::SizeVerCursor; } - - return Qt::ArrowCursor; -} - -void BaseDesignIntf::setZValueProperty(qreal value) -{ - if (zValue()!=value){ - qreal oldValue = zValue(); - setZValue(value); - notify("zOrder",oldValue,value); - } -} - -BaseDesignIntf::ItemAlign BaseDesignIntf::itemAlign() const -{ - return m_itemAlign; -} - -QPointF BaseDesignIntf::modifyPosForAlignedItem(const QPointF& pos){ - QPointF result = pos; - BaseDesignIntf* parent = dynamic_cast(parentItem()); - PageItemDesignIntf* parentPage = dynamic_cast(parentItem()); - if (parent){ - qreal leftBorder = parentPage ? parentPage->leftMargin() * Const::mmFACTOR : 0; - qreal rightBorder = parentPage ? parentPage->rightMargin() * Const::mmFACTOR : 0; - qreal avaibleSpace = parent->width()-(leftBorder+rightBorder); - - switch(m_itemAlign){ - case LeftItemAlign: - result.setX(leftBorder); - break; - case RightItemAlign: - result.setX(parent->width() - (rightBorder + width())); - break; - case CenterItemAlign: - result.setX((avaibleSpace-width()) / 2 + leftBorder); - break; - case ParentWidthItemAlign: - result.setX(leftBorder); - case DesignedItemAlign: - break; - } - } - return result; -} - -void BaseDesignIntf::turnOnJoinMarker(bool value) -{ - m_joinMarkerOn = value; - if (value){ - m_joinMarker = new Marker(this, this); - m_joinMarker->setColor(Const::JOIN_COLOR); - m_joinMarker->setRect(rect()); - m_joinMarker->setVisible(true); - } else { - delete m_joinMarker; - m_joinMarker = 0; - } -} - -void BaseDesignIntf::updateItemAlign(){ - BaseDesignIntf* parent = dynamic_cast(parentItem()); - PageItemDesignIntf* parentPage = dynamic_cast(parentItem()); - m_changingItemAlign = true; - if (parent){ - qreal leftBorder = parentPage ? parentPage->leftMargin() * Const::mmFACTOR : 0; - qreal rightBorder = parentPage ? parentPage->rightMargin() * Const::mmFACTOR : 0; - qreal aviableSpace = parent->width()-(leftBorder+rightBorder); - setPos(modifyPosForAlignedItem(pos())); - if (m_itemAlign == ParentWidthItemAlign) - setWidth(aviableSpace); - } - m_changingItemAlign = false; -} - -void BaseDesignIntf::updatePossibleDirectionFlags(){ - setPossibleResizeDirectionFlags(AllDirections); - switch(m_itemAlign){ - case LeftItemAlign: - setPossibleResizeDirectionFlags(AllDirections^ResizeLeft); - break; - case RightItemAlign: - setPossibleResizeDirectionFlags(AllDirections^ResizeRight); - break; - case ParentWidthItemAlign: - setPossibleResizeDirectionFlags(ResizeBottom|ResizeTop); - case CenterItemAlign: - case DesignedItemAlign: - break; - } -} - -void BaseDesignIntf::addGuideLine(qreal x1, qreal y1, qreal x2, qreal y2) -{ - QGraphicsLineItem *line = new QGraphicsLineItem(x1, y1, x2, y2); - line->setPen(QPen(Qt::red,2,Qt::DashLine)); - if(scene())scene()->addItem(line); - guideLines.append(line); -} - -void BaseDesignIntf::removeGuideLines() -{ - for (QGraphicsLineItem *line : guideLines) { - if(scene())scene()->removeItem(line); - delete line; - } - guideLines.clear(); -} - -bool BaseDesignIntf::isChangingPos() const -{ - return m_isChangingPos; -} - -void BaseDesignIntf::setIsChangingPos(bool isChangingPos) -{ - m_isChangingPos = isChangingPos; -} - -bool BaseDesignIntf::isShapeItem() const -{ - return QString(metaObject()->className()) == "LimeReport::ShapeItem"; -} - -bool BaseDesignIntf::isPageItem() const -{ -return QString(metaObject()->className()) == "LimeReport::PageItemDesignIntf"; -} - -bool BaseDesignIntf::hasShadow() -{ - return m_shadow; -} - -void BaseDesignIntf::setShadow(bool sh) -{ - if (m_shadow != sh){ - bool oldValue = m_shadow; - m_shadow = sh; - notify("shadow",oldValue,m_shadow); - update(); - } -} - -bool BaseDesignIntf::isGeometryLocked() const -{ - return m_itemGeometryLocked; -} - -void BaseDesignIntf::setGeometryLocked(bool itemLocked) -{ - if (m_itemGeometryLocked != itemLocked){ - m_itemGeometryLocked = itemLocked; - if (itemLocked){ - m_savedPossibleMoveDirectionFlags = m_possibleMoveDirectionFlags; - m_savedPossibleResizeDirectionFlags = m_possibleResizeDirectionFlags; - m_possibleMoveDirectionFlags = None; - m_possibleResizeDirectionFlags = Fixed; - m_savedFixedPos = m_fixedPos; - m_fixedPos = true; - } else { - m_possibleMoveDirectionFlags = m_savedPossibleMoveDirectionFlags; - m_possibleResizeDirectionFlags = m_savedPossibleResizeDirectionFlags; - m_fixedPos = m_savedFixedPos; - } - if (!isLoading()){ - update(); - m_selectionMarker->update(); - notify("geometryLocked", !itemLocked, itemLocked); - } - } -} - -bool BaseDesignIntf::fillTransparentInDesignMode() const -{ - return m_fillTransparentInDesignMode; -} - -void BaseDesignIntf::setFillTransparentInDesignMode(bool fillTransparentInDesignMode) -{ - m_fillTransparentInDesignMode = fillTransparentInDesignMode; -} - -void BaseDesignIntf::emitPosChanged(QPointF oldPos, QPointF newPos) -{ - emit posChanged(this, oldPos, newPos); -} - -bool BaseDesignIntf::fillInSecondPass() const -{ - return m_fillInSecondPass; -} - -void BaseDesignIntf::setFillInSecondPass(bool fillInSecondPass) -{ - - if (m_fillInSecondPass != fillInSecondPass){ - m_fillInSecondPass = fillInSecondPass; - notify("fillInSecondPass",!fillInSecondPass,fillInSecondPass); - } - -} - -bool BaseDesignIntf::isWatermark() const -{ - return m_watermark; -} - -void BaseDesignIntf::setWatermark(bool watermark) -{ - if (m_watermark != watermark){ - m_watermark = watermark; - notify("watermark",!watermark,watermark); - } -} - -void BaseDesignIntf::updateSelectionMarker() -{ - if (m_selectionMarker && (itemMode() & DesignMode || itemMode() & EditMode)) { - if ((!m_selectionMarker->scene()) && scene()) scene()->addItem(m_selectionMarker); - if (parentItem()) { - m_selectionMarker->setRect(rect()); - m_selectionMarker->setPos(0,0); - } - } -} - -void BaseDesignIntf::turnOnSelectionMarker(bool value) -{ - if (value && !m_selectionMarker){ - m_selectionMarker = new SelectionMarker(this, this); - m_selectionMarker->setColor(selectionMarkerColor()); - updateSelectionMarker(); - m_selectionMarker->setVisible(true); - } else { - delete m_selectionMarker; - m_selectionMarker = 0; - } -} - -QString BaseDesignIntf::patternName() const -{ - return (m_patternName.isEmpty()) ? objectName() : m_patternName; -} - -void BaseDesignIntf::setPatternName(const QString &patternName) -{ - m_patternName = patternName; -} - -BaseDesignIntf* BaseDesignIntf::patternItem() const -{ - return m_patternItem; -} - -void BaseDesignIntf::setPatternItem(BaseDesignIntf *patternItem) -{ - m_patternItem = patternItem; -} - -ReportSettings *BaseDesignIntf::reportSettings() const -{ - return m_reportSettings; -} - -void BaseDesignIntf::setReportSettings(ReportSettings *reportSettings) -{ - m_reportSettings = reportSettings; - foreach(BaseDesignIntf* child, childBaseItems()){ - child->setReportSettings(reportSettings); - } -} - -QColor BaseDesignIntf::borderColor() const -{ - return m_borderColor; -} - -void BaseDesignIntf::setBorderColor(const QColor &borderColor) -{ - if (m_borderColor != borderColor){ - QColor oldValue = m_borderColor; - m_borderColor = borderColor; - notify("borderColor",oldValue,borderColor); - update(); - } -} - -void BaseDesignIntf::setItemVisible(const bool &value) -{ - if (isVisible()!=value){ - setVisible(value); - emit itemVisibleHasChanged(this); - } -} - -void BaseDesignIntf::setItemAlign(const ItemAlign &itemAlign) -{ - if (m_itemAlign != itemAlign){ - ItemAlign oldValue = m_itemAlign; - m_itemAlign = itemAlign; - notify("itemAlign",oldValue,itemAlign); - updatePossibleDirectionFlags(); - updateItemAlign(); - emit itemAlignChanged(this, oldValue, itemAlign); - } -} - -QString BaseDesignIntf::itemTypeName() const -{ - return m_itemTypeName; -} - -void BaseDesignIntf::setItemTypeName(const QString &itemTypeName) -{ - m_itemTypeName = itemTypeName; -} - -void BaseDesignIntf::emitObjectNamePropertyChanged(const QString &oldName, const QString &newName) -{ - emit propertyObjectNameChanged(oldName,newName); -} - -qreal BaseDesignIntf::borderLineSize() const -{ - return m_borderLineSize; -} - -void BaseDesignIntf::setBorderStyle(BorderStyle b) -{ - BorderStyle oldValue = m_borderStyle; - m_borderStyle = b; - update(); - notify("borderStyle",(BorderStyle)oldValue,(BorderStyle)b); -} - -void BaseDesignIntf::setBorderLineSize(qreal value) -{ - qreal oldValue = m_borderLineSize; - m_borderLineSize = value; - update(); - notify("borderLineSize",oldValue,value); -} - - -void BaseDesignIntf::moveRight() -{ - if (!m_fixedPos && page()) setItemPos(pos().x() + page()->horizontalGridStep(), pos().y()); -} - -void BaseDesignIntf::moveLeft() -{ - if (!m_fixedPos && page()) setItemPos(pos().x() - page()->horizontalGridStep(), pos().y()); -} - -void BaseDesignIntf::moveDown() -{ - if (!m_fixedPos && page()) setItemPos(pos().x(), pos().y() + page()->verticalGridStep()); -} - -void BaseDesignIntf::moveUp() -{ - if (!m_fixedPos && page()) setItemPos(pos().x(), pos().y() - page()->verticalGridStep()); -} - -void BaseDesignIntf::sizeRight() -{ - if ((m_possibleResizeDirectionFlags & ResizeLeft) || - (m_possibleResizeDirectionFlags & ResizeRight)) { - if (page()) setWidth(width() + page()->horizontalGridStep()); - } -} - -void BaseDesignIntf::sizeLeft() -{ - if ((m_possibleResizeDirectionFlags & ResizeLeft) || - (m_possibleResizeDirectionFlags & ResizeRight)) { - if(page()) setWidth(width() - page()->horizontalGridStep()); - } -} - -void BaseDesignIntf::sizeUp() -{ - if ((m_possibleResizeDirectionFlags & ResizeTop) || - (m_possibleResizeDirectionFlags & ResizeBottom)) { - if (page()) setHeight(height() - page()->verticalGridStep()); - } -} - -void BaseDesignIntf::sizeDown() -{ - if ((m_possibleResizeDirectionFlags & ResizeTop) || - (m_possibleResizeDirectionFlags & ResizeBottom)) { - if (page()) setHeight(height() + page()->verticalGridStep()); - } -} - -void BaseDesignIntf::setBorderLinesFlags(BorderLines flags) -{ - if (m_borderLinesFlags!=flags){ - BorderLines oldValue = m_borderLinesFlags; - m_borderLinesFlags = flags; - if (!isLoading()) { - update(rect()); - notify("borders",QVariant(oldValue),QVariant(flags)); - } - } -} - -BaseDesignIntf::BorderLines BaseDesignIntf::borderLines() const -{ - return m_borderLinesFlags; -} - - -void BaseDesignIntf::drawTopLine(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - painter->setPen(borderPen(TopLine)); - if(!isPageItem()) - { - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(rect.x()+3+m_borderLineSize, - rect.y()+3+m_borderLineSize, - rect.width()-3-m_borderLineSize, - rect.y()+3+m_borderLineSize); - - painter->drawLine(rect.x(), rect.y(), rect.width(), rect.y()); - - } - else - { - - painter->drawLine(page()->pageItem()->pageRect().x(), - page()->pageItem()->pageRect().y(), - page()->pageItem()->pageRect().width() + (page()->pageItem()->leftMargin()*10), - page()->pageItem()->pageRect().y()); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(page()->pageItem()->pageRect().x()+3+m_borderLineSize, - page()->pageItem()->pageRect().y()+3+m_borderLineSize, - page()->pageItem()->pageRect().width()-3-m_borderLineSize + (page()->pageItem()->leftMargin()*10), - page()->pageItem()->pageRect().y()+3+m_borderLineSize); - - } - -} - -void BaseDesignIntf::drawBootomLine(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - - painter->setPen(borderPen(BottomLine)); - if(!isPageItem()) - { - painter->drawLine(rect.x(), rect.height(), rect.width(), rect.height()); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(rect.x()+3+m_borderLineSize, - rect.height()-3-m_borderLineSize, - rect.width()-3-m_borderLineSize, - rect.height()-3-m_borderLineSize); - } - else - { - - painter->drawLine(page()->pageItem()->pageRect().x(), - page()->pageItem()->pageRect().height() + (page()->pageItem()->topMargin()*10) - , page()->pageItem()->pageRect().width() + (page()->pageItem()->leftMargin()*10), - page()->pageItem()->pageRect().height() + (page()->pageItem()->topMargin()*10)); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(page()->pageItem()->pageRect().x()+3+m_borderLineSize, - page()->pageItem()->pageRect().height()-3-m_borderLineSize + (page()->pageItem()->topMargin()*10), - page()->pageItem()->pageRect().width()-3-m_borderLineSize + (page()->pageItem()->leftMargin()*10), - page()->pageItem()->pageRect().height()-3-m_borderLineSize + (page()->pageItem()->topMargin()*10)); - } - -} - -void BaseDesignIntf::drawRightLine(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - painter->setPen(borderPen(RightLine)); - if(!isPageItem()) - { - painter->drawLine(rect.width(), rect.y(), rect.width(), rect.height()); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(rect.width()-3 - m_borderLineSize, - rect.y()+3+m_borderLineSize, - rect.width()-3-m_borderLineSize, - rect.height()-3-m_borderLineSize); - } - else - { - painter->drawLine(page()->pageItem()->pageRect().width() + (page()->pageItem()->leftMargin()*10), page()->pageItem()->pageRect().y(), - page()->pageItem()->pageRect().width() + (page()->pageItem()->leftMargin()*10), - page()->pageItem()->pageRect().height() + (page()->pageItem()->topMargin()*10)); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(page()->pageItem()->pageRect().width()-3 - m_borderLineSize + (page()->pageItem()->leftMargin()*10), - page()->pageItem()->pageRect().y()+3+m_borderLineSize, - page()->pageItem()->pageRect().width()-3-m_borderLineSize + (page()->pageItem()->leftMargin()*10), - page()->pageItem()->pageRect().height()-3-m_borderLineSize + (page()->pageItem()->topMargin()*10)); - } - - -} - -void BaseDesignIntf::drawLeftLine(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - painter->setPen(borderPen(LeftLine)); - if(!isPageItem()) - { - painter->drawLine(rect.x(), rect.y(), rect.x(), rect.height()); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(page()->pageItem()->pageRect().x()+3+m_borderLineSize, - page()->pageItem()->pageRect().y()+3+m_borderLineSize, - page()->pageItem()->pageRect().x()+3+m_borderLineSize, - page()->pageItem()->pageRect().height()-3-m_borderLineSize); - } - else - { - painter->drawLine(page()->pageItem()->pageRect().x(), - page()->pageItem()->pageRect().y(), - page()->pageItem()->pageRect().x(), - page()->pageItem()->pageRect().height() + (page()->pageItem()->topMargin()*10)); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(page()->pageItem()->pageRect().x()+3+m_borderLineSize, - page()->pageItem()->pageRect().y()+3+m_borderLineSize, - page()->pageItem()->pageRect().x()+3+m_borderLineSize, - page()->pageItem()->pageRect().height()-3-m_borderLineSize + (page()->pageItem()->topMargin()*10)); - } - - -} - -void BaseDesignIntf::drawDesignModeBorder(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - drawTopLine(painter, rect); - drawBootomLine(painter, rect); - drawLeftLine(painter, rect); - drawRightLine(painter, rect); -} - -void BaseDesignIntf::drawRenderModeBorder(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - if (m_borderLinesFlags & RightLine) drawRightLine(painter, rect); - if (m_borderLinesFlags & LeftLine) drawLeftLine(painter, rect); - if (m_borderLinesFlags & TopLine ) drawTopLine(painter, rect); - if (m_borderLinesFlags & BottomLine) drawBootomLine(painter, rect); -} - -void BaseDesignIntf::drawBorder(QPainter *painter, QRectF rect) const -{ - painter->save(); - if (itemMode() & DesignMode && drawDesignBorders()) { - drawDesignModeBorder(painter, rect); - } - else drawRenderModeBorder(painter, rect); - painter->restore(); -} - -void BaseDesignIntf::drawShadow(QPainter *painter, QRectF rect, qreal shadowSize) const -{ - qreal shWidth = shadowSize; - QRectF rshadow(rect.topRight() + QPointF(0, shWidth), - rect.bottomRight() + QPointF(shWidth, 0)); - QLinearGradient rgrad(rshadow.topLeft(), rshadow.topRight()); - rgrad.setColorAt(0.0, QColor(0,0,0,255)); - rgrad.setColorAt(1.0, QColor(0,0,0,0)); - painter->fillRect(rshadow, QBrush(rgrad)); - QRectF bshadow(rect.bottomLeft() + QPointF(shWidth, 0), - rect.bottomRight() + QPointF(0, shWidth)); - QLinearGradient bgrad(bshadow.topLeft(), bshadow.bottomLeft()); - bgrad.setColorAt(0.0, QColor(0,0,0,255)); - bgrad.setColorAt(1.0, QColor(0,0,0,0)); - painter->fillRect(bshadow, QBrush(bgrad)); - QRectF cshadow(rect.bottomRight(), - rect.bottomRight() + QPointF(shWidth, shWidth)); - QRadialGradient cgrad(cshadow.topLeft(), shWidth, cshadow.topLeft()); - cgrad.setColorAt(0.0, QColor(0,0,0,255)); - cgrad.setColorAt(1.0, QColor(0,0,0,0)); - painter->fillRect(cshadow, QBrush(cgrad)); -} - -void BaseDesignIntf::setGeometry(QRectF rect) -{ - if (m_rect == rect) return; - m_oldGeometry = m_rect; - if (!isLoading()) - prepareGeometryChange(); - m_rect = rect; - m_topRect = QRectF(0-resizeHandleSize(), 0-resizeHandleSize(), width()+resizeHandleSize()*2, resizeHandleSize()*2); - m_bottomRect = QRectF(0-resizeHandleSize(), height() - resizeHandleSize(), width()+resizeHandleSize()*2, resizeHandleSize()*2); - m_leftRect = QRectF(0-resizeHandleSize(), 0-resizeHandleSize(), resizeHandleSize()*2, height()+resizeHandleSize()*2); - m_rightRect = QRectF(width() - resizeHandleSize(), 0-resizeHandleSize(), resizeHandleSize()*2, height()+resizeHandleSize()*2); - m_boundingRect = QRectF(); - updateSelectionMarker(); - if (!isLoading()){ - geometryChangedEvent(geometry(), m_oldGeometry); - emit geometryChanged(this, geometry(), m_oldGeometry); - } -} - -void BaseDesignIntf::geometryChangedEvent(QRectF newRect, QRectF oldRect) -{ - Q_UNUSED(oldRect); - Q_UNUSED(newRect); -} - -void BaseDesignIntf::beforeDelete() -{ - -} - -void BaseDesignIntf::setGeometryProperty(QRect rect) -{ - if ( rect != m_itemGeometry ){ - QRectF oldValue = geometry(); - if ((rect.x() != geometry().x()) || (rect.y() != geometry().y())) - setPos(rect.x(), rect.y()); - if (rect.width() != geometry().width()) - setWidth(rect.width()); - if (rect.height() != geometry().height()) - setHeight(rect.height()); - if (!isLoading()) { - notify("geometry",oldValue,rect); - } - } -} - -PageDesignIntf *BaseDesignIntf::page() const -{ - return dynamic_cast(scene()); -} - -void BaseDesignIntf::setPossibleResizeDirectionFlags(int directionsFlags) -{ - m_possibleResizeDirectionFlags = directionsFlags; -} - -QPen BaseDesignIntf::borderPen(BorderSide side/*, bool selected*/) const -{ - QPen pen; - if (m_borderLinesFlags & side) { - pen.setColor(m_borderColor); - if(borderStyle() != BorderStyle::Doubled) - pen.setStyle(static_cast(m_borderStyle)); - //pen.setCosmetic(true); - pen.setWidthF(m_borderLineSize+1); //To draw with point precision (By default: 2px = 1 pt) - - } else { - pen.setColor(Qt::darkGray); - pen.setStyle(Qt::SolidLine); - pen.setWidth(1); - } - return pen; -} - -QColor BaseDesignIntf::selectionColor() const -{ - return Const::SELECTION_COLOR; -} - -void BaseDesignIntf::initFlags() -{ - if ((itemMode()&DesignMode) || (itemMode()&EditMode)) { - setFlag(QGraphicsItem::ItemIsSelectable); - setFlag(QGraphicsItem::ItemSendsGeometryChanges); - setAcceptHoverEvents(true); - } - else { - setFlag(QGraphicsItem::ItemIsSelectable, false); - setAcceptHoverEvents(false); - } - -} - -void BaseDesignIntf::initMode(ItemMode mode) -{ - Q_UNUSED(mode); -} - -QVariant BaseDesignIntf::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value) -{ - - if (change == QGraphicsItem::ItemPositionHasChanged) { - updateSelectionMarker(); - emit geometryChanged(this, geometry(), geometry()); - } - - if (change == QGraphicsItem::ItemSelectedChange) { - turnOnSelectionMarker(value.toBool()); - emit itemSelectedHasBeenChanged(this, value.toBool()); - } - if (change == QGraphicsItem::ItemParentHasChanged) { - parentChangedEvent(dynamic_cast(value.value())); - } - - return QGraphicsItem::itemChange(change, value); -} - -void BaseDesignIntf::childAddedEvent(BaseDesignIntf *child) -{ - Q_UNUSED(child) -} - -void BaseDesignIntf::parentChangedEvent(BaseDesignIntf *) -{ - -} - -void BaseDesignIntf::restoreLinks() -{ -#ifdef HAVE_QT5 - foreach(QObject * child, children()) { -#else - foreach(QObject * child, QObject::children()) { -#endif - BaseDesignIntf *childItem = dynamic_cast(child); - if (childItem) {childItem->restoreLinks();} - } - restoreLinksEvent(); -} - -QPainterPath BaseDesignIntf::shape() const -{ - QPainterPath path; - path.addRect(this->boundingRect()); - return path; -} - -void BaseDesignIntf::drawMarker(QPainter *painter, QColor color) const -{ - painter->save(); - - QPen pen(color, m_selectionPenSize); - painter->setPen(pen); - painter->setBrush(QBrush(color)); - painter->setOpacity(1); - const int markerSize = Const::RESIZE_HANDLE_SIZE; - painter->drawRect(QRectF(-markerSize,-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize,rect().top()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()-markerSize, - rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize, - rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize, - rect().top()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize, - rect().bottom()-markerSize,markerSize*2,markerSize*2)); - - pen.setStyle(Qt::DotLine); - painter->setPen(pen); - painter->setBrush(QBrush(Qt::transparent)); - painter->drawRect(rect()); - painter->restore(); -} - -void BaseDesignIntf::moveSelectedItems(QPointF delta) -{ - QList selectedItems; - selectedItems = scene()->selectedItems(); - BaseDesignIntf *selectedItem; - foreach(QGraphicsItem * item, selectedItems) { - if (item != this) { - selectedItem = dynamic_cast(item); - if (selectedItem && !selectedItem->isBand()) { - if (!selectedItem->m_fixedPos) - selectedItem->setItemPos(selectedItem->pos() - delta); - } - } - } -} - -void BaseDesignIntf::setItemPos(qreal x, qreal y) -{ - setItemPos(QPointF(x, y)); -} - -void BaseDesignIntf::setItemMode(ItemMode mode) -{ - m_itemMode = mode; - foreach(QGraphicsItem * item, childItems()) { - BaseDesignIntf *ri = dynamic_cast(item); - if (ri) ri->setItemMode(mode); - } - initMode(mode); - initFlags(); -} -void BaseDesignIntf::setItemPos(const QPointF &newPos) -{ - QPointF oldPos = pos(); - QPointF finalPos = modifyPosForAlignedItem(newPos); - QGraphicsItem::setPos(finalPos); - emit posChanging(this, finalPos, oldPos); -} - - -QWidget* BaseDesignIntf::findRootWidget(QWidget* widget) -{ - while (widget->parentWidget()) { - widget = widget->parentWidget(); - } - return widget; -} - -void BaseDesignIntf::showDialog(QWidget *widget) -{ - if (!widget) { - return; - } - widget->setStyleSheet(findRootWidget(scene()->views().at(0))->styleSheet()); - QDialog *dialog = new QDialog(QApplication::activeWindow()); - widget->setParent(dialog); - widget->setAttribute(Qt::WA_DeleteOnClose); -#ifdef Q_OS_MAC - dialog->setWindowModality(Qt::WindowModal); -#else - dialog->setWindowModality(Qt::ApplicationModal); -#endif - dialog->setLayout(new QVBoxLayout()); - dialog->resize(widget->size()); - dialog->layout()->setContentsMargins(2,2,2,2); - dialog->layout()->addWidget(widget); - connect(widget,SIGNAL(destroyed()),dialog,SLOT(close())); - dialog->setWindowTitle(widget->windowTitle()); - dialog->exec(); - dialog->deleteLater(); -} - -void BaseDesignIntf::showEditorDialog() -{ - showDialog(defaultEditor()); -} - -void BaseDesignIntf::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) -{ - if (event->button() == Qt::LeftButton && - ((itemMode()&EditMode)||(itemMode()&DesignMode)) - ) { - showEditorDialog(); - } - QGraphicsItem::mouseDoubleClickEvent(event); -} - -void BaseDesignIntf::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) -{ - if (!(flags() & QGraphicsItem::ItemIsSelectable)) return; - PageDesignIntf* page = dynamic_cast(scene()); - if (!page->selectedItems().contains(this)){ - page->clearSelection(); - this->setSelected(true); - } - QMenu menu(event->widget()); - - QAction* lockGeometryAction = menu.addAction(tr("Lock item geometry")); - lockGeometryAction->setCheckable(true); - - lockGeometryAction->setChecked(isGeometryLocked()); - menu.addSeparator(); - - QAction* copyAction = menu.addAction(QIcon(":/report/images/copy"), tr("Copy")); - - QAction* cutAction = menu.addAction(QIcon(":/report/images/cut"), tr("Cut")); - - QAction* pasteAction = menu.addAction(QIcon(":/report/images/paste"), tr("Paste")); - pasteAction->setEnabled(false); - -#if QT_VERSION >=QT_VERSION_CHECK(5,0,0) - lockGeometryAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_L)); - copyAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_C)); - cutAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_X)); - pasteAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_V)); -#else - lockGeometryAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_L)); - copyAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_C)); - cutAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_X)); - pasteAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_V)); -#endif - - QClipboard *clipboard = QApplication::clipboard(); - ItemsReaderIntf::Ptr reader = StringXMLreader::create(clipboard->text()); - if (reader->first() && reader->itemType() == "Object"){ - pasteAction->setEnabled(true); - } - menu.addSeparator(); - QAction* bringToTopAction = menu.addAction(QIcon(":/report/images/bringToTop"), tr("Bring to top")); - QAction* sendToBackAction = menu.addAction(QIcon(":/report/images/sendToBack"), tr("Send to back")); - QAction* createHLayout = 0; - if( page->selectedItems().count()>1){ - createHLayout = menu.addAction(QIcon(":/report/images/hlayout"), tr("Create Horizontal Layout")); - } - QAction* createVLayout = 0; - if( page->selectedItems().count()>1){ - createVLayout = menu.addAction(QIcon(":/report/images/vlayout"), tr("Create Vertical Layout")); - } - menu.addSeparator(); - QAction* noBordersAction = menu.addAction(QIcon(":/report/images/noLines"), tr("No borders")); - QAction* allBordersAction = menu.addAction(QIcon(":/report/images/allLines"), tr("All borders")); - QAction* editBorderAction = menu.addAction(QIcon(":/report/images/borderEditor"), tr("Edit borders...")); - - QMenu *alignement = menu.addMenu(tr("Align items")); - QAction* alignLeft = new QAction(QIcon(":/report/images/alignToLeft"),tr("Align to left")); - QAction* alignRight = new QAction(QIcon(":/report/images/alignToRight"),tr("Align to right")); - QAction* alignTop = new QAction(QIcon(":/report/images/alignToTop"),tr("Align to top")); - QAction* alignBottom = new QAction(QIcon(":/report/images/alignToBottom"),tr("Align to bottom")); - QAction* alignHCenter = new QAction(QIcon(":/report/images/alignToHCenter"),tr("Align to horizontal center")); - QAction* alignVCenter = new QAction(QIcon(":/report/images/alignToHCenter"),tr("Align to vertical center")); - QMenu *resize = menu.addMenu(tr("Resize items")); - QAction* toSameWidth = new QAction(QIcon(":/report/images/sameWidth"),tr("Same width")); - QAction* toSameHeight = new QAction(QIcon(":/report/images/sameHeight"),tr("Same height")); - QMenu *itemAlign = menu.addMenu(tr("Align items to page")); - QAction* itemAlignToLeft = new QAction(tr("Align to left")); - QAction* itemAlignToRight = new QAction(tr("Align to right")); - QAction* itemAlignToCenter = new QAction(tr("Align to center")); - QAction* cancelItemAlign = new QAction(tr("cancel alignement")); - QAction* itemAlignParent = new QAction(tr("Align to page width")); - menu.addMenu(itemAlign); - itemAlign->addAction(itemAlignToLeft); - itemAlignToLeft->setChecked(m_itemAlign == LeftItemAlign); - itemAlignToRight->setChecked(m_itemAlign == RightItemAlign); - itemAlignToCenter->setChecked(m_itemAlign == CenterItemAlign); - itemAlignParent->setChecked(m_itemAlign == ParentWidthItemAlign); - cancelItemAlign->setChecked(m_itemAlign == DesignedItemAlign); - itemAlign->addAction(itemAlignToRight); - itemAlign->addAction(itemAlignToCenter); - itemAlign->addAction(itemAlignParent); - itemAlign->addAction(cancelItemAlign); - resize->addAction(toSameWidth); - resize->addAction(toSameHeight); - alignement->addAction(alignLeft); - alignement->addAction(alignRight); - alignement->addAction(alignTop); - alignement->addAction(alignBottom); - - connect(alignLeft,&QAction::triggered,this,[=](){page->alignToLeft();}); - connect(alignRight,&QAction::triggered,this,[=](){page->alignToRigth();}); - connect(alignTop,&QAction::triggered,this,[=](){page->alignToTop();}); - connect(alignBottom,&QAction::triggered,this,[=](){page->alignToBottom();}); - connect(alignHCenter,&QAction::triggered,this,[=](){page->alignToHCenter();}); - connect(alignVCenter,&QAction::triggered,this,[=](){page->alignToVCenter();}); - connect(toSameWidth,&QAction::triggered,this,[=](){page->sameWidth();}); - connect(toSameHeight,&QAction::triggered,this,[=](){page->sameHeight();}); - connect(itemAlignToLeft,&QAction::triggered,this,[=](){page->setItemAlign(BaseDesignIntf::LeftItemAlign);}); - connect(itemAlignToRight,&QAction::triggered,this,[=](){page->setItemAlign(BaseDesignIntf::RightItemAlign);}); - connect(itemAlignToCenter,&QAction::triggered,this,[=](){page->setItemAlign(BaseDesignIntf::CenterItemAlign);}); - connect(itemAlignParent,&QAction::triggered,this,[=](){page->setItemAlign(BaseDesignIntf::ParentWidthItemAlign);}); - connect(cancelItemAlign,&QAction::triggered,this,[=](){page->setItemAlign(BaseDesignIntf::DesignedItemAlign);}); - - preparePopUpMenu(menu); - QAction* a = menu.exec(event->screenPos()); - if (a){ - if (a == cutAction) - { - page->cut(); - return; - } - if (a == copyAction) - page->copy(); - if (a == pasteAction) - page->paste(); - if (a == bringToTopAction) - page->bringToFront(); - if (a == sendToBackAction) - page->sendToBack(); - if (a == noBordersAction) - page->setBorders(BaseDesignIntf::NoLine); - if (a == allBordersAction) - page->setBorders(BaseDesignIntf::AllLines); - if (a == editBorderAction) - { - BorderEditor be; - be.loadItem(this); - if (be.exec() == QDialog::Rejected) return; - page->setBordersExt(be.borderSides(), be.borderWidth(), (LimeReport::BaseDesignIntf::BorderStyle)be.borderStyle(), be.borderColor()); - } - if (a == createHLayout) - page->addHLayout(); - if (a == createVLayout) - page->addVLayout(); - - processPopUpAction(a); - } - - - -} - -int BaseDesignIntf::possibleMoveDirectionFlags() const -{ - return m_possibleMoveDirectionFlags; -} - -void BaseDesignIntf::setPossibleMoveFlags(int directionsFlags) -{ - m_possibleMoveDirectionFlags = directionsFlags; -} - -void BaseDesignIntf::setMarginSize(int value) -{ - if (m_margin!=value){ - int oldValue = m_margin; - m_margin=value; - if (!isLoading()){ - update(rect()); - notify("margin", oldValue, value); - } - } -} - -void BaseDesignIntf::drawResizeZone(QPainter* /*painter*/) -{ - - // if (m_resizeAreas.count() > 0) { - // painter->save(); - // painter->setPen(QPen(Const::RESIZE_ZONE_COLOR)); - // (isSelected()) ? painter->setOpacity(Const::SELECTED_RESIZE_ZONE_OPACITY) : painter->setOpacity(Const::RESIZE_ZONE_OPACITY); - // painter->setBrush(QBrush(Qt::green, Qt::SolidPattern)); - // foreach(QRectF * resizeArea, m_resizeAreas) painter->drawRect(*resizeArea); - // painter->restore(); - // } - -} - -void BaseDesignIntf::initResizeZones() -{ - m_resizeAreas.clear(); - if (m_resizeDirectionFlags & ResizeBottom) m_resizeAreas.append(&m_bottomRect); - if (m_resizeDirectionFlags & ResizeTop) m_resizeAreas.append(&m_topRect); - if (m_resizeDirectionFlags & ResizeLeft) m_resizeAreas.append(&m_leftRect); - if (m_resizeDirectionFlags & ResizeRight) m_resizeAreas.append(&m_rightRect); -} - -void BaseDesignIntf::invalidateRect(const QRectF &rect) -{ - if (scene()) - scene()->update(mapToScene(rect).boundingRect()); -} - -ReportEnginePrivate *BaseDesignIntf::reportEditor() -{ - PageDesignIntf *page = dynamic_cast(scene()); - if (page) return page->reportEditor(); - else return 0; -} - -void BaseDesignIntf::updateItemSize(DataSourceManager *dataManager, RenderPass pass, int maxHeight) -{ - Q_UNUSED(maxHeight); - Q_UNUSED(dataManager); - m_currentPass = pass; - updateItemAlign(); -} - -bool BaseDesignIntf::isNeedUpdateSize(RenderPass /*pass*/) const -{return false;} - -void BaseDesignIntf::drawPinArea(QPainter *painter) const -{ - painter->drawRect(QRect(0, 0, 16, 16)); -} - -QObject *BaseDesignIntf::createElement(const QString& /*collectionName*/, const QString &elementType) -{ - BaseDesignIntf* obj = 0; - try{ - if (LimeReport::DesignElementsFactory::instance().objectCreator(elementType)){ - obj = LimeReport::DesignElementsFactory::instance().objectCreator(elementType)(this, this); - if (page()) - connect(obj, SIGNAL(propertyChanged(QString,QVariant,QVariant)), - page(), SLOT(slotItemPropertyChanged(QString,QVariant,QVariant))); - } - } catch (ReportError &error){ - qDebug()<(obj); - if (item && page()) { - page()->registerItem(item); - } - } - } - } - emit loadCollectionFinished(collectionName); -} - -BaseDesignIntf *BaseDesignIntf::cloneItem(ItemMode mode, QObject *owner, QGraphicsItem *parent) -{ - BaseDesignIntf *clone = cloneItemWOChild(mode, owner, parent); - clone->setPatternName(this->objectName()); - clone->setPatternItem(this); -#ifdef HAVE_QT5 - foreach(QObject * child, children()) { -#else - foreach(QObject * child, QObject::children()) { -#endif - BaseDesignIntf *childItem = dynamic_cast(child); - if (childItem) {clone->childAddedEvent(childItem->cloneItem(mode, clone, clone));} - } - return clone; -} - -BaseDesignIntf *BaseDesignIntf::cloneItemWOChild(ItemMode mode, QObject *owner, QGraphicsItem *parent) -{ - BaseDesignIntf *clone = createSameTypeItem(owner, parent); - clone->setObjectName(this->objectName()); - clone->setItemMode(mode); - clone->objectLoadStarted(); - clone->setReportSettings(this->reportSettings()); - for (int i = 0; i < clone->metaObject()->propertyCount(); i++) { - if (clone->metaObject()->property(i).isWritable()) - clone->setProperty(clone->metaObject()->property(i).name(), property(clone->metaObject()->property(i).name())); - } - clone->objectLoadFinished(); - return clone; -} - -void BaseDesignIntf::initFromItem(BaseDesignIntf *source) -{ - objectLoadStarted(); - for (int i = 0; i < metaObject()->propertyCount(); i++) { - if (strcmp(metaObject()->property(i).name(),"objectName")!=0) - if (source->property(metaObject()->property(i).name()).isValid()) { - if (metaObject()->property(i).isWritable()) - setProperty(metaObject()->property(i).name(), source->property(metaObject()->property(i).name())); - } - } - objectLoadFinished(); -} - -bool BaseDesignIntf::canBeSplitted(int height) const -{Q_UNUSED(height); return false;} - -bool BaseDesignIntf::isEmpty() const -{return false;} - -BaseDesignIntf *BaseDesignIntf::cloneUpperPart(int height, QObject *owner, QGraphicsItem *parent) -{Q_UNUSED(height); Q_UNUSED(owner); Q_UNUSED(parent); return 0;} - -BaseDesignIntf *BaseDesignIntf::cloneBottomPart(int height, QObject *owner, QGraphicsItem *parent) -{Q_UNUSED(height); Q_UNUSED(owner); Q_UNUSED(parent); return 0;} - -BaseDesignIntf *BaseDesignIntf::cloneEmpty(int height, QObject *owner, QGraphicsItem *parent) -{Q_UNUSED(height); Q_UNUSED(owner); Q_UNUSED(parent); return 0;} - - -void BaseDesignIntf::objectLoadStarted() -{ - m_objectState = ObjectLoading; -} - -void BaseDesignIntf::objectLoadFinished() -{ - m_objectState = ObjectLoaded; - emit objectLoaded(this); -} - -void BaseDesignIntf::parentObjectLoadFinished() -{} - -QList BaseDesignIntf::childBaseItems() const -{ - QList resList; - foreach(QGraphicsItem * item, childItems()) { - BaseDesignIntf *baseItem = dynamic_cast(item); - if (baseItem) resList << baseItem; - } - return resList; -} - - -void BaseDesignIntf::addChildItems(QList* list){ - foreach(BaseDesignIntf* item, childBaseItems()){ - list->append(item); - item->addChildItems(list); - } -} - -qreal BaseDesignIntf::calcAbsolutePosY(qreal currentOffset, BaseDesignIntf *item) -{ - BaseDesignIntf* parent = dynamic_cast(item->parent()); - if (parent) - return calcAbsolutePosY(currentOffset + item->getItemPosY(), parent); - else - return currentOffset + item->getItemPosY(); -} - -qreal BaseDesignIntf::calcAbsolutePosX(qreal currentOffset, BaseDesignIntf *item) -{ - BaseDesignIntf* parent = dynamic_cast(item->parent()); - if (parent) - return calcAbsolutePosX(currentOffset + item->getItemPosX(), parent); - else - return currentOffset + item->getItemPosX(); -} - -QList BaseDesignIntf::allChildBaseItems() -{ - QList resList; - addChildItems(&resList); - return resList; -} - -BaseDesignIntf *BaseDesignIntf::childByName(const QString &name) -{ - foreach(BaseDesignIntf* item, childBaseItems()){ - if (item->objectName().compare(name,Qt::CaseInsensitive)==0){ - return item; - } else { - BaseDesignIntf* child = item->childByName(name); - if (child) return child; - } - } - return 0; -} - -QWidget *BaseDesignIntf::defaultEditor() -{ - return 0; -} - -void BaseDesignIntf::notify(const QString &propertyName, const QVariant& oldValue, const QVariant& newValue) -{ - if (!isLoading()) - emit propertyChanged(propertyName, oldValue, newValue); -} - -void BaseDesignIntf::notify(const QVector& propertyNames) -{ - if (!isLoading()) - emit propertyesChanged(propertyNames); -} - - -QMap BaseDesignIntf::getStringForTranslation(){ - return QMap(); -} - -QVariant BookmarkContainerDesignIntf::getBookMark(const QString& key) -{ - if (m_bookmarks.contains(key)) - return m_bookmarks.value(key); - else return QVariant(); -} - -void BookmarkContainerDesignIntf::copyBookmarks(BookmarkContainerDesignIntf* source) -{ - foreach(QString key, source->bookmarks()){ - addBookmark(key,source->getBookMark(key)); - } -} - -QRectF Marker::boundingRect() const -{ - return m_rect.adjusted(-15,-15,15,15); -} - -void Marker::paint(QPainter* painter, const QStyleOptionGraphicsItem*, QWidget*) -{ - QPen pen; - const int markerSize = 5; - pen.setColor(color()); - pen.setWidth(2); - pen.setStyle(Qt::DotLine); - painter->setPen(pen); - painter->setOpacity(Const::SELECTION_COLOR_OPACITY); - painter->drawRect(rect()); - painter->setBrush(color()); - painter->setPen(Qt::transparent); - - painter->setOpacity(1); - painter->drawRect(QRectF(-markerSize,-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize,rect().top()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()-markerSize, - rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize, - rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize, - rect().top()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize, - rect().bottom()-markerSize,markerSize*2,markerSize*2)); -} - -QColor Marker::color() const { - return m_color; -} - -SelectionMarker::SelectionMarker(QGraphicsItem* parent, BaseDesignIntf* owner) - : Marker(parent, owner) -{ - setAcceptHoverEvents(true); -} - -QColor SelectionMarker::color() const -{ - return owner()->isGeometryLocked() ? Qt::darkGray : Marker::color(); -} - -void SelectionMarker::hoverMoveEvent(QGraphicsSceneHoverEvent *event) -{ - if (owner()) owner()->hoverMoveEvent(event); - QGraphicsItem::hoverMoveEvent(event); -} - -void SelectionMarker::mousePressEvent(QGraphicsSceneMouseEvent *event) -{ - if (owner()){ - owner()->setSelected(true); - owner()->mousePressEvent(event); - } - QGraphicsItem::mousePressEvent(event); -} - -void SelectionMarker::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) -{ - if (owner()) owner()->mouseReleaseEvent(event); -} - -void SelectionMarker::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) -{ - if (owner()) owner()->mouseDoubleClickEvent(event); - QGraphicsItem::mouseDoubleClickEvent(event); -} - -void SelectionMarker::mouseMoveEvent(QGraphicsSceneMouseEvent *event) -{ - qDebug() << "mouse move"; - if (owner()) owner()->mouseMoveEvent(event); -} - -void BaseDesignIntf::processPopUpAction(QAction *action){ - if (page()){ - if (action->text().compare(tr("Lock item geometry")) == 0){ - page()->setPropertyToSelectedItems("geometryLocked",action->isChecked()); - } - } -} - -} //namespace LimeReport diff --git a/limereport/lrbasedesignintf_BASE_1195.cpp b/limereport/lrbasedesignintf_BASE_1195.cpp deleted file mode 100644 index 3539601..0000000 --- a/limereport/lrbasedesignintf_BASE_1195.cpp +++ /dev/null @@ -1,1892 +0,0 @@ -/*************************************************************************** - * This file is part of the Lime Report project * - * Copyright (C) 2021 by Alexander Arin * - * arin_a@bk.ru * - * * - ** GNU General Public License Usage ** - * * - * This library is free software: you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation, either version 3 of the License, or * - * (at your option) any later version. * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - * * - ** GNU Lesser General Public License ** - * * - * This library is free software: you can redistribute it and/or modify * - * it under the terms of the GNU Lesser General Public License as * - * published by the Free Software Foundation, either version 3 of the * - * License, or (at your option) any later version. * - * You should have received a copy of the GNU Lesser General Public * - * License along with this library. * - * If not, see . * - * * - * This library is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - ****************************************************************************/ -#include -#include "lrbasedesignintf.h" -#include "lrglobal.h" -#include "lrpagedesignintf.h" -#include "lrreportdesignwidget.h" -#include "qgraphicsitem.h" -#include "lrdesignelementsfactory.h" -#include "lrhorizontallayout.h" -#include "serializators/lrstorageintf.h" -#include "serializators/lrxmlreader.h" -#include "lrbordereditor.h" -#include -#include -#include -#include -#include -#include -#include -#include - -namespace LimeReport -{ - -BaseDesignIntf::BaseDesignIntf(const QString &storageTypeName, QObject *owner, QGraphicsItem *parent) : - QObject(owner), QGraphicsItem(parent), - m_resizeHandleSize(Const::RESIZE_HANDLE_SIZE*2), - m_selectionPenSize(Const::SELECTION_PEN_SIZE), - m_possibleResizeDirectionFlags(ResizeTop | ResizeBottom | ResizeLeft | ResizeRight), - m_possibleMoveDirectionFlags(All), - m_resizeDirectionFlags(0), - m_width(200), - m_height(50), - m_fontColor(Qt::black), - m_fixedPos(false), - m_borderLineSize(1), - m_BGMode(OpaqueMode), - m_opacity(100), - m_borderLinesFlags(BorderLines()), - m_borderStyle(BorderStyle::Solid), - m_storageTypeName(storageTypeName), - m_itemMode(DesignMode), - m_objectState(ObjectCreated), - m_backgroundBrushStyle(SolidPattern), - m_backgroundColor(Qt::white), - m_margin(4), - m_itemAlign(DesignedItemAlign), - m_changingItemAlign(false), - m_borderColor(Qt::black), - m_reportSettings(0), - m_patternName(""), - m_patternItem(0), - m_fillInSecondPass(false), - m_watermark(false), - m_hovered(false), - m_joinMarkerOn(false), - m_selectionMarker(0), - m_fillTransparentInDesignMode(true), - m_unitType(Millimeters), - m_itemGeometryLocked(false), - m_isChangingPos(false), - m_isMoveable(false), - m_shadow(false) - - -{ - setGeometry(QRectF(0, 0, m_width, m_height)); - if (BaseDesignIntf *item = dynamic_cast(parent)) { - m_font = item->font(); - } else{ - m_font = QFont("Arial",10); - } - initFlags(); -} - -QRectF BaseDesignIntf::boundingRect() const -{ - qreal halfpw = pen().widthF() / 2; - halfpw += 2; - return rect().adjusted(-halfpw, -halfpw, halfpw, halfpw); -} - -BaseDesignIntf::~BaseDesignIntf(void) { - -} - -void BaseDesignIntf::setParentReportItem(const QString &value) -{ - if (page() && !value.isEmpty()) { - BaseDesignIntf *p = page()->reportItemByName(value); - if (p) { - setParentItem(p); - setParent(p); - } - } -} - -QString BaseDesignIntf::parentReportItemName() const -{ - BaseDesignIntf *parent = dynamic_cast(parentItem()); - if (parent) return parent->objectName(); - else return ""; -} - -void BaseDesignIntf::setBackgroundBrushStyle(BrushStyle value) -{ - if ( value != m_backgroundBrushStyle ){ - BrushStyle oldValue = m_backgroundBrushStyle; - m_backgroundBrushStyle=value; - if (!isLoading()) update(); - notify("backgroundBrushStyle", static_cast(oldValue), static_cast(value)); - } -} - -void BaseDesignIntf::setBackgroundColor(QColor value) -{ - if (value != m_backgroundColor){ - QColor oldValue = m_backgroundColor; - m_backgroundColor=value; - if (!isLoading()) update(); - notify("backgroundColor", oldValue, value); - } -} - -QPen BaseDesignIntf::pen() const -{ - return m_pen; -} - -void BaseDesignIntf::setPen(QPen &pen) -{ - m_pen = pen; - update(); -} - -QFont BaseDesignIntf::font() const -{ - return m_font; -} - -void BaseDesignIntf::setFont(QFont &font) -{ - if (m_font != font){ - m_font = font; - if (!isLoading()) update(); - } -} - -qreal BaseDesignIntf::width() const -{ - return rect().width(); -} - -void BaseDesignIntf::setWidth(qreal width) -{ - setGeometry(QRectF(rect().x(), rect().y(), width, rect().height())); - if (!m_changingItemAlign) - updateItemAlign(); -} - -QString BaseDesignIntf::setItemWidth(qreal width) -{ - setWidth(width * unitFactor()); - return QString(); -} - -qreal BaseDesignIntf::height() const -{ - return rect().height(); -} - -QRect BaseDesignIntf::geometry() const -{ - return QRect(pos().x(), pos().y(), width(), height()); -} - -void BaseDesignIntf::setHeight(qreal height) -{ - setGeometry(QRectF(rect().x(), rect().y(), rect().width(), height)); -} - -QString BaseDesignIntf::setItemHeight(qreal height) -{ - setHeight(height * unitFactor()); - return QString(); -} - -qreal BaseDesignIntf::getItemWidth() -{ - return width() / unitFactor(); -} - -qreal BaseDesignIntf::getItemHeight() -{ - return height() / unitFactor(); -} - -qreal BaseDesignIntf::getItemPosX() -{ - return x() / unitFactor(); -} - -qreal BaseDesignIntf::getItemPosY() -{ - return y() / unitFactor(); -} - -qreal BaseDesignIntf::getAbsolutePosX() -{ - return calcAbsolutePosX(0,this); -} - -qreal BaseDesignIntf::getAbsolutePosY() -{ - return calcAbsolutePosY(0,this); -} - -QString BaseDesignIntf::setItemPosX(qreal xValue) -{ - setItemPos(xValue * unitFactor(),y()); - return QString(); -} - -QString BaseDesignIntf::setItemPosY(qreal yValue) -{ - setItemPos(x(),yValue * unitFactor()); - return QString(); -} - -QFont BaseDesignIntf::transformToSceneFont(const QFont& value) const -{ - QFont f = value; - f.setPixelSize(f.pointSize()*Const::fontFACTOR); - return f; -} - -QString BaseDesignIntf::expandDataFields(QString context, ExpandType expandType, DataSourceManager* dataManager) -{ - ScriptEngineManager& sm = ScriptEngineManager::instance(); - if (sm.dataManager() != dataManager) sm.setDataManager(dataManager); - return sm.expandDataFields(context, expandType, m_varValue, this); -} - -QString BaseDesignIntf::expandUserVariables(QString context, RenderPass pass, ExpandType expandType, DataSourceManager* dataManager) -{ - - ScriptEngineManager& sm = ScriptEngineManager::instance(); - if (sm.dataManager() != dataManager) sm.setDataManager(dataManager); - return sm.expandUserVariables(context, pass, expandType, m_varValue); - -} - -QString BaseDesignIntf::expandScripts(QString context, DataSourceManager* dataManager) -{ - - ScriptEngineManager& sm = ScriptEngineManager::instance(); - if (sm.dataManager() != dataManager) sm.setDataManager(dataManager); - return sm.expandScripts(context,m_varValue,this); - -} - -void BaseDesignIntf::setupPainter(QPainter *painter) const -{ - if (!painter) { - return; - } - painter->setFont(m_font); - painter->setPen(m_fontColor); -} - -BaseDesignIntf::BGMode BaseDesignIntf::backgroundMode() const -{ - return m_BGMode; -} -void BaseDesignIntf::setBackgroundMode(BGMode bgMode) -{ - m_BGMode = bgMode; - update(boundingRect()); -} - -int BaseDesignIntf::opacity() const -{ - return m_opacity; -} - -void BaseDesignIntf::setOpacity(int opacity) -{ - if (m_opacity!=opacity){ - if (opacity < 0) { - m_opacity = 0; - } - else if (opacity > 100) { - m_opacity = 100; - } - else { - m_opacity = opacity; - } - update(); - } -} - -void BaseDesignIntf::setSize(QSizeF size) -{ - setWidth(size.width()); - setHeight(size.height()); -} - -QSizeF BaseDesignIntf::size() const -{ - return QSizeF(width(), height()); -} - -QSizeF BaseDesignIntf::sizeMM() const -{ - return QSizeF(width() / Const::mmFACTOR, height() / Const::mmFACTOR); -} - -qreal BaseDesignIntf::widthMM() const -{ - return width() / Const::mmFACTOR; -} - -qreal BaseDesignIntf::heightMM() const -{ - return height() / Const::mmFACTOR; -} - -//void BaseDesignIntf::setUnitFactor(qreal unitFactor) -//{ -// m_unitFactor = unitFactor; -//} - -qreal BaseDesignIntf::unitFactor() const -{ - if (m_unitType == Millimeters) - return Const::mmFACTOR; - else return Const::mmFACTOR * 2.54; -} - -void BaseDesignIntf::setUnitType(BaseDesignIntf::UnitType value) -{ - foreach(BaseDesignIntf* child, childBaseItems()) - child->setUnitType(value); - m_unitType = value; -} - -BaseDesignIntf::UnitType BaseDesignIntf::unitType() -{ - return m_unitType; -} - -QPointF BaseDesignIntf::posMM() const -{ - return QPointF(pos().x() / Const::mmFACTOR, pos().y() / Const::mmFACTOR); -} - -QRectF BaseDesignIntf::rect() const -{ - return m_rect; -} - -void BaseDesignIntf::setFixedPos(bool fixedPos) -{ - m_fixedPos = fixedPos; -} - -void BaseDesignIntf::onChangeGeometryTimeOut(){ - m_isMoveable = true; -} - -void BaseDesignIntf::mousePressEvent(QGraphicsSceneMouseEvent *event) -{ - if (event->button() == Qt::LeftButton) { - m_isChangingPos = true; - m_resizeDirectionFlags = resizeDirectionFlags(event->pos()); - m_startPos = pos(); - m_oldGeometry = geometry(); - QGraphicsItem::mousePressEvent(event); - emit itemSelected(this); - m_isMoveable = false; - QTimer::singleShot(200, this, SLOT(onChangeGeometryTimeOut())); - } - else QGraphicsItem::mousePressEvent(event); -} - -void BaseDesignIntf::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) -{ - QRectF newGeometry = geometry(); - m_isChangingPos = false; - if (newGeometry != m_oldGeometry) { - geometryChangedEvent(newGeometry, m_oldGeometry); - emit posChanged(this, newGeometry.topLeft(), m_oldGeometry.topLeft()); - } - QGraphicsItem::mouseReleaseEvent(event); -} - -void BaseDesignIntf::paint(QPainter *ppainter, const QStyleOptionGraphicsItem *option, QWidget *widget) -{ - Q_UNUSED(option); - Q_UNUSED(widget); - - ppainter->save(); - setupPainter(ppainter); - drawBorder(ppainter, rect()); - if(m_shadow) - drawShadow(ppainter, rect()); - // if (m_joinMarkerOn) { drawMarker(ppainter, Const::JOIN_COLOR);} - // if (isSelected() && !m_joinMarkerOn) {drawMarker(ppainter, Const::SELECTION_COLOR);} - drawResizeZone(ppainter); - ppainter->restore(); - // if (m_hovered) ppainter->drawImage( - // QRectF(QPointF(rect().topRight().x()-24, rect().bottomLeft().y()-24), - // QSizeF(24, 24)),QImage(":/items/images/settings.png")); -} - -QColor calcColor(QColor color){ - - int R = color.red(); - int G = color.green(); - int B = color.blue(); - - if (0.222*R + 0.707*G + 0.071*B <= 127) - return Qt::white; - else - return Qt::black; -} - -void BaseDesignIntf::prepareRect(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/) -{ - painter->save(); - - QRectF r = rect().adjusted(0, 0, borderLineSize(), borderLineSize()); - QBrush brush(m_backgroundColor,static_cast(m_backgroundBrushStyle)); - brush.setTransform(painter->worldTransform().inverted()); - - if (isSelected() && (opacity() == 100) && (m_BGMode!=TransparentMode)) { - painter->fillRect(r, brush); - } - else { - if (m_BGMode == OpaqueMode) { - qreal o = (itemMode() & DesignMode) ? 0.5 : qreal(m_opacity) / 100; - painter->setOpacity(o); - painter->fillRect(r, brush); - } else if ((itemMode() & DesignMode) && fillTransparentInDesignMode()){ - painter->setOpacity(0.1); - painter->fillRect(r, QBrush(QPixmap(":/report/images/empty"))); - } - } - painter->restore(); -} - -void BaseDesignIntf::hoverMoveEvent(QGraphicsSceneHoverEvent *event) -{ - if (page()) { - if (!page()->isItemInsertMode() && isSelected()) { - if (m_resizeDirectionFlags != resizeDirectionFlags(event->pos())) { - m_resizeDirectionFlags = resizeDirectionFlags(event->pos()); - QVectoroldResizeAreas(m_resizeAreas); - initResizeZones(); - invalidateRects(oldResizeAreas); - invalidateRects(m_resizeAreas); - switch (m_resizeDirectionFlags) { - case ResizeRight: - case ResizeLeft: - setCursor(Qt::SizeHorCursor); - break; - case ResizeBottom: - case ResizeTop: - setCursor(Qt::SizeVerCursor); - break; - case ResizeRight | ResizeBottom: - case ResizeLeft | ResizeTop: - setCursor(Qt::SizeFDiagCursor); - break; - case ResizeLeft | ResizeBottom: - case ResizeRight | ResizeTop: - setCursor(Qt::SizeBDiagCursor); - break; - default: - setCursor(Qt::ArrowCursor); - break; - } - } - } - } -} - -void BaseDesignIntf::invalidateRects(QVector rects) -{ - foreach(QRectF * rect, rects) - scene()->update(mapToScene(*rect).boundingRect()); -} - -void BaseDesignIntf::hoverLeaveEvent(QGraphicsSceneHoverEvent *) -{ - setCursor(QCursor(Qt::ArrowCursor)); - m_resizeDirectionFlags = 0; - scene()->update(sceneBoundingRect()); - m_resizeAreas.clear(); - m_hovered = false; - update(); -} - -void BaseDesignIntf::hoverEnterEvent(QGraphicsSceneHoverEvent * /*event*/) -{ - m_hovered = true; - update(); -} - - -void BaseDesignIntf::mouseMoveEvent(QGraphicsSceneMouseEvent *event) -{ - if (!m_isMoveable) return; - if (!isSelected()){ - QGraphicsItem::mouseMoveEvent(event); - return; - } - - int hStep = dynamic_cast(scene())->horizontalGridStep(); - int vStep = dynamic_cast(scene())->verticalGridStep(); - - if (m_resizeDirectionFlags & ResizeLeft) { - if ((event->scenePos().x()) <= (mapToScene(0, 0).x() + (width() - Const::MINIMUM_ITEM_WIDTH)) && - (width() + (event->lastScenePos().x() - event->scenePos().x()) > Const::MINIMUM_ITEM_WIDTH) - ) { - qreal posRightCorner = mapToScene(0, 0).x() + width(); - qreal posLeftCorner = div(mapToParent(event->pos()).x(), hStep).quot * hStep; - if (posLeftCorner < 0 ) - posLeftCorner = 0; - setItemPos(posLeftCorner, y()); - setWidth(div(posRightCorner - mapToScene(0, 0).x(), hStep).quot * hStep); - } - } - - if (m_resizeDirectionFlags & ResizeRight) { - if ((event->scenePos().x() >= (mapToScene(0, 0).x() + Const::MINIMUM_ITEM_WIDTH)) || - (event->scenePos().x() >= (mapToScene(0, 0).x() + width()))) { - setWidth(div(event->scenePos().x() - mapToScene(0, 0).x(), hStep).quot * hStep); - } - } - - if (m_resizeDirectionFlags & ResizeTop) { - if ((event->scenePos().y()) <= (mapToScene(0, 0).y() + (height() - Const::MINIMUM_ITEM_HEIGHT)) && - (height() + (event->lastScenePos().y() - event->scenePos().y()) > Const::MINIMUM_ITEM_HEIGHT) - ) { - qreal posBottomCorner = mapToScene(0, 0).y() + height(); - qreal posTopCorner = div(mapToParent(event->pos()).y(), vStep).quot * vStep; - if (posTopCorner < 0 ) - posTopCorner = 0; - setItemPos(x(), posTopCorner); - setHeight(div(posBottomCorner - mapToScene(0, 0).y(), vStep).quot * vStep); - } - } - - if (m_resizeDirectionFlags & ResizeBottom) { - if ((event->scenePos().y() > (mapToScene(0, 0).y() + height())) || - (event->scenePos().y() > (mapToScene(0, 0).y() + Const::MINIMUM_ITEM_HEIGHT)) - ) { - setHeight(div(event->scenePos().y() - mapToScene(0, 0).y(), vStep).quot * vStep); - } - } - - if ((m_resizeDirectionFlags == Fixed) && !m_fixedPos) { - - QPointF tmpPos = pos(); - QPointF delta; - switch (possibleMoveDirectionFlags()) { - case LeftRight: { - delta = QPoint(div(event->buttonDownScenePos(Qt::LeftButton).x() - event->scenePos().x(), hStep).quot * hStep, 0); - break; - } - case TopBotom: { - delta = QPoint(0, div(event->buttonDownScenePos(Qt::LeftButton).y() - event->scenePos().y(), vStep).quot * vStep); - break; - } - case All: { - delta = QPoint(div(event->buttonDownScenePos(Qt::LeftButton).x() - event->scenePos().x(), hStep).quot * hStep, - div(event->buttonDownScenePos(Qt::LeftButton).y() - event->scenePos().y(), vStep).quot * vStep); - break; - } - }; - - setItemPos(QPointF(div(m_startPos.x(), hStep).quot * hStep, div(m_startPos.y(), vStep).quot * vStep) - delta); - - if (page()){ - if (!isBand() && page()->selectedItems().count()>1) - moveSelectedItems(tmpPos - pos()); - if (page()->selectedItems().count()==1 && (page()->magneticMovement())) - page()->itemMoved(this); - - } - } -} - -int BaseDesignIntf::possibleResizeDirectionFlags() const -{ - return m_possibleResizeDirectionFlags; -} - -int BaseDesignIntf::resizeHandleSize() const -{ - return m_resizeHandleSize; -} - -int BaseDesignIntf::resizeDirectionFlags(QPointF position) -{ - int flags = Fixed; - - if (possibleResizeDirectionFlags()&ResizeTop && m_topRect.contains(position)) { - flags |= ResizeTop; - } - - if (possibleResizeDirectionFlags()&ResizeLeft && m_leftRect.contains(position)) { - flags |= ResizeLeft; - } - - if (possibleResizeDirectionFlags()&ResizeBottom && m_bottomRect.contains(position)) { - flags |= ResizeBottom; - } - - if (possibleResizeDirectionFlags()&ResizeRight && m_rightRect.contains(position)) { - flags |= ResizeRight; - } - - return flags; -} - -Qt::CursorShape BaseDesignIntf::getPossibleCursor(int cursorFlags) -{ - - if ((cursorFlags == Fixed) || (scene()->selectedItems().count() > 1)) return Qt::ArrowCursor; - - if (((cursorFlags & ResizeRight) && (cursorFlags & ResizeTop)) || - ((cursorFlags & ResizeLeft) && (cursorFlags & ResizeBottom))) { - return Qt::SizeBDiagCursor; - } - if (((cursorFlags & ResizeLeft) && (cursorFlags & ResizeTop)) || - ((cursorFlags & ResizeRight) && (cursorFlags & ResizeBottom))) { - return Qt::SizeFDiagCursor; - } - if ((cursorFlags & ResizeLeft) || (cursorFlags & ResizeRight)) { return Qt::SizeHorCursor; } - if ((cursorFlags & ResizeBottom) || (cursorFlags & ResizeTop)) { return Qt::SizeVerCursor; } - - return Qt::ArrowCursor; -} - -void BaseDesignIntf::setZValueProperty(qreal value) -{ - if (zValue()!=value){ - qreal oldValue = zValue(); - setZValue(value); - notify("zOrder",oldValue,value); - } -} - -BaseDesignIntf::ItemAlign BaseDesignIntf::itemAlign() const -{ - return m_itemAlign; -} - -QPointF BaseDesignIntf::modifyPosForAlignedItem(const QPointF& pos){ - QPointF result = pos; - BaseDesignIntf* parent = dynamic_cast(parentItem()); - PageItemDesignIntf* parentPage = dynamic_cast(parentItem()); - if (parent){ - qreal leftBorder = parentPage ? parentPage->leftMargin() * Const::mmFACTOR : 0; - qreal rightBorder = parentPage ? parentPage->rightMargin() * Const::mmFACTOR : 0; - qreal avaibleSpace = parent->width()-(leftBorder+rightBorder); - - switch(m_itemAlign){ - case LeftItemAlign: - result.setX(leftBorder); - break; - case RightItemAlign: - result.setX(parent->width() - (rightBorder + width())); - break; - case CenterItemAlign: - result.setX((avaibleSpace-width()) / 2 + leftBorder); - break; - case ParentWidthItemAlign: - result.setX(leftBorder); - case DesignedItemAlign: - break; - } - } - return result; -} - -void BaseDesignIntf::turnOnJoinMarker(bool value) -{ - m_joinMarkerOn = value; - if (value){ - m_joinMarker = new Marker(this, this); - m_joinMarker->setColor(Const::JOIN_COLOR); - m_joinMarker->setRect(rect()); - m_joinMarker->setVisible(true); - } else { - delete m_joinMarker; - m_joinMarker = 0; - } -} - -void BaseDesignIntf::updateItemAlign(){ - BaseDesignIntf* parent = dynamic_cast(parentItem()); - PageItemDesignIntf* parentPage = dynamic_cast(parentItem()); - m_changingItemAlign = true; - if (parent){ - qreal leftBorder = parentPage ? parentPage->leftMargin() * Const::mmFACTOR : 0; - qreal rightBorder = parentPage ? parentPage->rightMargin() * Const::mmFACTOR : 0; - qreal aviableSpace = parent->width()-(leftBorder+rightBorder); - setPos(modifyPosForAlignedItem(pos())); - if (m_itemAlign == ParentWidthItemAlign) - setWidth(aviableSpace); - } - m_changingItemAlign = false; -} - -void BaseDesignIntf::updatePossibleDirectionFlags(){ - setPossibleResizeDirectionFlags(AllDirections); - switch(m_itemAlign){ - case LeftItemAlign: - setPossibleResizeDirectionFlags(AllDirections^ResizeLeft); - break; - case RightItemAlign: - setPossibleResizeDirectionFlags(AllDirections^ResizeRight); - break; - case ParentWidthItemAlign: - setPossibleResizeDirectionFlags(ResizeBottom|ResizeTop); - case CenterItemAlign: - case DesignedItemAlign: - break; - } -} - -bool BaseDesignIntf::isChangingPos() const -{ - return m_isChangingPos; -} - -void BaseDesignIntf::setIsChangingPos(bool isChangingPos) -{ - m_isChangingPos = isChangingPos; -} - -bool BaseDesignIntf::isShapeItem() const -{ - return QString(metaObject()->className()) == "LimeReport::ShapeItem"; -} - -bool BaseDesignIntf::hasShadow() -{ - return m_shadow; -} - -void BaseDesignIntf::setShadow(bool sh) -{ - if (m_shadow != sh){ - bool oldValue = m_shadow; - m_shadow = sh; - notify("shadow",oldValue,m_shadow); - update(); - } -} - -bool BaseDesignIntf::isGeometryLocked() const -{ - return m_itemGeometryLocked; -} - -void BaseDesignIntf::setGeometryLocked(bool itemLocked) -{ - if (m_itemGeometryLocked != itemLocked){ - m_itemGeometryLocked = itemLocked; - if (itemLocked){ - m_savedPossibleMoveDirectionFlags = m_possibleMoveDirectionFlags; - m_savedPossibleResizeDirectionFlags = m_possibleResizeDirectionFlags; - m_possibleMoveDirectionFlags = None; - m_possibleResizeDirectionFlags = Fixed; - m_savedFixedPos = m_fixedPos; - m_fixedPos = true; - } else { - m_possibleMoveDirectionFlags = m_savedPossibleMoveDirectionFlags; - m_possibleResizeDirectionFlags = m_savedPossibleResizeDirectionFlags; - m_fixedPos = m_savedFixedPos; - } - if (!isLoading()){ - update(); - m_selectionMarker->update(); - notify("geometryLocked", !itemLocked, itemLocked); - } - } -} - -bool BaseDesignIntf::fillTransparentInDesignMode() const -{ - return m_fillTransparentInDesignMode; -} - -void BaseDesignIntf::setFillTransparentInDesignMode(bool fillTransparentInDesignMode) -{ - m_fillTransparentInDesignMode = fillTransparentInDesignMode; -} - -void BaseDesignIntf::emitPosChanged(QPointF oldPos, QPointF newPos) -{ - emit posChanged(this, oldPos, newPos); -} - -bool BaseDesignIntf::fillInSecondPass() const -{ - return m_fillInSecondPass; -} - -void BaseDesignIntf::setFillInSecondPass(bool fillInSecondPass) -{ - - if (m_fillInSecondPass != fillInSecondPass){ - m_fillInSecondPass = fillInSecondPass; - notify("fillInSecondPass",!fillInSecondPass,fillInSecondPass); - } - -} - -bool BaseDesignIntf::isWatermark() const -{ - return m_watermark; -} - -void BaseDesignIntf::setWatermark(bool watermark) -{ - if (m_watermark != watermark){ - m_watermark = watermark; - notify("watermark",!watermark,watermark); - } -} - -void BaseDesignIntf::updateSelectionMarker() -{ - if (m_selectionMarker && (itemMode() & DesignMode || itemMode() & EditMode)) { - if ((!m_selectionMarker->scene()) && scene()) scene()->addItem(m_selectionMarker); - if (parentItem()) { - m_selectionMarker->setRect(rect()); - m_selectionMarker->setPos(0,0); - } - } -} - -void BaseDesignIntf::turnOnSelectionMarker(bool value) -{ - if (value && !m_selectionMarker){ - m_selectionMarker = new SelectionMarker(this, this); - m_selectionMarker->setColor(selectionMarkerColor()); - updateSelectionMarker(); - m_selectionMarker->setVisible(true); - } else { - delete m_selectionMarker; - m_selectionMarker = 0; - } -} - -QString BaseDesignIntf::patternName() const -{ - return (m_patternName.isEmpty()) ? objectName() : m_patternName; -} - -void BaseDesignIntf::setPatternName(const QString &patternName) -{ - m_patternName = patternName; -} - -BaseDesignIntf* BaseDesignIntf::patternItem() const -{ - return m_patternItem; -} - -void BaseDesignIntf::setPatternItem(BaseDesignIntf *patternItem) -{ - m_patternItem = patternItem; -} - -ReportSettings *BaseDesignIntf::reportSettings() const -{ - return m_reportSettings; -} - -void BaseDesignIntf::setReportSettings(ReportSettings *reportSettings) -{ - m_reportSettings = reportSettings; - foreach(BaseDesignIntf* child, childBaseItems()){ - child->setReportSettings(reportSettings); - } -} - -QColor BaseDesignIntf::borderColor() const -{ - return m_borderColor; -} - -void BaseDesignIntf::setBorderColor(const QColor &borderColor) -{ - if (m_borderColor != borderColor){ - QColor oldValue = m_borderColor; - m_borderColor = borderColor; - notify("borderColor",oldValue,borderColor); - update(); - } -} - -void BaseDesignIntf::setItemVisible(const bool &value) -{ - if (isVisible()!=value){ - setVisible(value); - emit itemVisibleHasChanged(this); - } -} - -void BaseDesignIntf::setItemAlign(const ItemAlign &itemAlign) -{ - if (m_itemAlign != itemAlign){ - ItemAlign oldValue = m_itemAlign; - m_itemAlign = itemAlign; - notify("itemAlign",oldValue,itemAlign); - updatePossibleDirectionFlags(); - updateItemAlign(); - emit itemAlignChanged(this, oldValue, itemAlign); - } -} - -QString BaseDesignIntf::itemTypeName() const -{ - return m_itemTypeName; -} - -void BaseDesignIntf::setItemTypeName(const QString &itemTypeName) -{ - m_itemTypeName = itemTypeName; -} - -void BaseDesignIntf::emitObjectNamePropertyChanged(const QString &oldName, const QString &newName) -{ - emit propertyObjectNameChanged(oldName,newName); -} - -qreal BaseDesignIntf::borderLineSize() const -{ - return m_borderLineSize; -} - -void BaseDesignIntf::setBorderStyle(BorderStyle b) -{ - BorderStyle oldValue = m_borderStyle; - m_borderStyle = b; - update(); - notify("borderStyle",(BorderStyle)oldValue,(BorderStyle)b); -} - -void BaseDesignIntf::setBorderLineSize(qreal value) -{ - qreal oldValue = m_borderLineSize; - m_borderLineSize = value; - update(); - notify("borderLineSize",oldValue,value); -} - - -void BaseDesignIntf::moveRight() -{ - if (!m_fixedPos && page()) setItemPos(pos().x() + page()->horizontalGridStep(), pos().y()); -} - -void BaseDesignIntf::moveLeft() -{ - if (!m_fixedPos && page()) setItemPos(pos().x() - page()->horizontalGridStep(), pos().y()); -} - -void BaseDesignIntf::moveDown() -{ - if (!m_fixedPos && page()) setItemPos(pos().x(), pos().y() + page()->verticalGridStep()); -} - -void BaseDesignIntf::moveUp() -{ - if (!m_fixedPos && page()) setItemPos(pos().x(), pos().y() - page()->verticalGridStep()); -} - -void BaseDesignIntf::sizeRight() -{ - if ((m_possibleResizeDirectionFlags & ResizeLeft) || - (m_possibleResizeDirectionFlags & ResizeRight)) { - if (page()) setWidth(width() + page()->horizontalGridStep()); - } -} - -void BaseDesignIntf::sizeLeft() -{ - if ((m_possibleResizeDirectionFlags & ResizeLeft) || - (m_possibleResizeDirectionFlags & ResizeRight)) { - if(page()) setWidth(width() - page()->horizontalGridStep()); - } -} - -void BaseDesignIntf::sizeUp() -{ - if ((m_possibleResizeDirectionFlags & ResizeTop) || - (m_possibleResizeDirectionFlags & ResizeBottom)) { - if (page()) setHeight(height() - page()->verticalGridStep()); - } -} - -void BaseDesignIntf::sizeDown() -{ - if ((m_possibleResizeDirectionFlags & ResizeTop) || - (m_possibleResizeDirectionFlags & ResizeBottom)) { - if (page()) setHeight(height() + page()->verticalGridStep()); - } -} - -void BaseDesignIntf::setBorderLinesFlags(BorderLines flags) -{ - if (m_borderLinesFlags!=flags){ - BorderLines oldValue = m_borderLinesFlags; - m_borderLinesFlags = flags; - if (!isLoading()) { - update(rect()); - notify("borders",QVariant(oldValue),QVariant(flags)); - } - } -} - -BaseDesignIntf::BorderLines BaseDesignIntf::borderLines() const -{ - return m_borderLinesFlags; -} - - -void BaseDesignIntf::drawTopLine(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - painter->setPen(borderPen(TopLine)); - painter->drawLine(rect.x(), rect.y(), rect.width(), rect.y()); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(rect.x()+3+m_borderLineSize, - rect.y()+3+m_borderLineSize, - rect.width()-3-m_borderLineSize, - rect.y()+3+m_borderLineSize); -} - -void BaseDesignIntf::drawBootomLine(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - - painter->setPen(borderPen(BottomLine)); - painter->drawLine(rect.x(), rect.height(), rect.width(), rect.height()); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(rect.x()+3+m_borderLineSize, - rect.height()-3-m_borderLineSize, - rect.width()-3-m_borderLineSize, - rect.height()-3-m_borderLineSize); -} - -void BaseDesignIntf::drawRightLine(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - painter->setPen(borderPen(RightLine)); - - painter->drawLine(rect.width(), rect.y(), rect.width(), rect.height()); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(rect.width()-3 - m_borderLineSize, - rect.y()+3+m_borderLineSize, - rect.width()-3-m_borderLineSize, - rect.height()-3-m_borderLineSize); -} - -void BaseDesignIntf::drawLeftLine(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - painter->setPen(borderPen(LeftLine)); - painter->drawLine(rect.x(), rect.y(), rect.x(), rect.height()); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(rect.x()+3+m_borderLineSize, - rect.y()+3+m_borderLineSize, - rect.x()+3+m_borderLineSize, - rect.height()-3-m_borderLineSize); -} - -void BaseDesignIntf::drawDesignModeBorder(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - drawTopLine(painter, rect); - drawBootomLine(painter, rect); - drawLeftLine(painter, rect); - drawRightLine(painter, rect); -} - -void BaseDesignIntf::drawRenderModeBorder(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - if (m_borderLinesFlags & RightLine) drawRightLine(painter, rect); - if (m_borderLinesFlags & LeftLine) drawLeftLine(painter, rect); - if (m_borderLinesFlags & TopLine ) drawTopLine(painter, rect); - if (m_borderLinesFlags & BottomLine) drawBootomLine(painter, rect); -} - -void BaseDesignIntf::drawBorder(QPainter *painter, QRectF rect) const -{ - painter->save(); - if (itemMode() & DesignMode && drawDesignBorders()) { - drawDesignModeBorder(painter, rect); - } - else drawRenderModeBorder(painter, rect); - painter->restore(); -} - -void BaseDesignIntf::drawShadow(QPainter *painter, QRectF rect) const -{ - - qreal shWidth = rect.width()/100; - QRectF rshadow(rect.topRight() + QPointF(0, shWidth), - rect.bottomRight() + QPointF(shWidth, 0)); - QLinearGradient rgrad(rshadow.topLeft(), rshadow.topRight()); - rgrad.setColorAt(0.0, QColor(0,0,0,255)); - rgrad.setColorAt(1.0, QColor(0,0,0,0)); - painter->fillRect(rshadow, QBrush(rgrad)); - QRectF bshadow(rect.bottomLeft() + QPointF(shWidth, 0), - rect.bottomRight() + QPointF(0, shWidth)); - QLinearGradient bgrad(bshadow.topLeft(), bshadow.bottomLeft()); - bgrad.setColorAt(0.0, QColor(0,0,0,255)); - bgrad.setColorAt(1.0, QColor(0,0,0,0)); - painter->fillRect(bshadow, QBrush(bgrad)); - QRectF cshadow(rect.bottomRight(), - rect.bottomRight() + QPointF(shWidth, shWidth)); - QRadialGradient cgrad(cshadow.topLeft(), shWidth, cshadow.topLeft()); - cgrad.setColorAt(0.0, QColor(0,0,0,255)); - cgrad.setColorAt(1.0, QColor(0,0,0,0)); - painter->fillRect(cshadow, QBrush(cgrad)); - - -} - -void BaseDesignIntf::setGeometry(QRectF rect) -{ - if (m_rect == rect) return; - m_oldGeometry = m_rect; - if (!isLoading()) - prepareGeometryChange(); - m_rect = rect; - m_topRect = QRectF(0-resizeHandleSize(), 0-resizeHandleSize(), width()+resizeHandleSize()*2, resizeHandleSize()*2); - m_bottomRect = QRectF(0-resizeHandleSize(), height() - resizeHandleSize(), width()+resizeHandleSize()*2, resizeHandleSize()*2); - m_leftRect = QRectF(0-resizeHandleSize(), 0-resizeHandleSize(), resizeHandleSize()*2, height()+resizeHandleSize()*2); - m_rightRect = QRectF(width() - resizeHandleSize(), 0-resizeHandleSize(), resizeHandleSize()*2, height()+resizeHandleSize()*2); - m_boundingRect = QRectF(); - updateSelectionMarker(); - if (!isLoading()){ - geometryChangedEvent(geometry(), m_oldGeometry); - emit geometryChanged(this, geometry(), m_oldGeometry); - } -} - -void BaseDesignIntf::geometryChangedEvent(QRectF newRect, QRectF oldRect) -{ - Q_UNUSED(oldRect); - Q_UNUSED(newRect); -} - -void BaseDesignIntf::beforeDelete() -{ - -} - -void BaseDesignIntf::setGeometryProperty(QRect rect) -{ - if ( rect != m_itemGeometry ){ - QRectF oldValue = geometry(); - if ((rect.x() != geometry().x()) || (rect.y() != geometry().y())) - setPos(rect.x(), rect.y()); - if (rect.width() != geometry().width()) - setWidth(rect.width()); - if (rect.height() != geometry().height()) - setHeight(rect.height()); - if (!isLoading()) { - notify("geometry",oldValue,rect); - } - } -} - -PageDesignIntf *BaseDesignIntf::page() -{ - return dynamic_cast(scene()); -} - -void BaseDesignIntf::setPossibleResizeDirectionFlags(int directionsFlags) -{ - m_possibleResizeDirectionFlags = directionsFlags; -} - -QPen BaseDesignIntf::borderPen(BorderSide side/*, bool selected*/) const -{ - QPen pen; - if (m_borderLinesFlags & side) { - pen.setColor(m_borderColor); - if(borderStyle() != BorderStyle::Doubled) - pen.setStyle(static_cast(m_borderStyle)); - //pen.setCosmetic(true); - pen.setWidthF(m_borderLineSize+1); //To draw with point precision (By default: 2px = 1 pt) - - } else { - pen.setColor(Qt::darkGray); - pen.setStyle(Qt::SolidLine); - pen.setWidth(1); - } - return pen; -} - -QColor BaseDesignIntf::selectionColor() const -{ - return Const::SELECTION_COLOR; -} - -void BaseDesignIntf::initFlags() -{ - if ((itemMode()&DesignMode) || (itemMode()&EditMode)) { - setFlag(QGraphicsItem::ItemIsSelectable); - setFlag(QGraphicsItem::ItemSendsGeometryChanges); - setAcceptHoverEvents(true); - } - else { - setFlag(QGraphicsItem::ItemIsSelectable, false); - setAcceptHoverEvents(false); - } - -} - -void BaseDesignIntf::initMode(ItemMode mode) -{ - Q_UNUSED(mode); -} - -QVariant BaseDesignIntf::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value) -{ - - if (change == QGraphicsItem::ItemPositionHasChanged) { - updateSelectionMarker(); - emit geometryChanged(this, geometry(), geometry()); - } - - if (change == QGraphicsItem::ItemSelectedChange) { - turnOnSelectionMarker(value.toBool()); - emit itemSelectedHasBeenChanged(this, value.toBool()); - } - if (change == QGraphicsItem::ItemParentHasChanged) { - parentChangedEvent(dynamic_cast(value.value())); - } - - return QGraphicsItem::itemChange(change, value); -} - -void BaseDesignIntf::childAddedEvent(BaseDesignIntf *child) -{ - Q_UNUSED(child) -} - -void BaseDesignIntf::parentChangedEvent(BaseDesignIntf *) -{ - -} - -void BaseDesignIntf::restoreLinks() -{ -#ifdef HAVE_QT5 - foreach(QObject * child, children()) { -#else - foreach(QObject * child, QObject::children()) { -#endif - BaseDesignIntf *childItem = dynamic_cast(child); - if (childItem) {childItem->restoreLinks();} - } - restoreLinksEvent(); -} - -QPainterPath BaseDesignIntf::shape() const -{ - QPainterPath path; - path.addRect(this->boundingRect()); - return path; -} - -void BaseDesignIntf::drawMarker(QPainter *painter, QColor color) const -{ - painter->save(); - - QPen pen(color, m_selectionPenSize); - painter->setPen(pen); - painter->setBrush(QBrush(color)); - painter->setOpacity(1); - const int markerSize = Const::RESIZE_HANDLE_SIZE; - painter->drawRect(QRectF(-markerSize,-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize,rect().top()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()-markerSize, - rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize, - rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize, - rect().top()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize, - rect().bottom()-markerSize,markerSize*2,markerSize*2)); - - pen.setStyle(Qt::DotLine); - painter->setPen(pen); - painter->setBrush(QBrush(Qt::transparent)); - painter->drawRect(rect()); - painter->restore(); -} - -void BaseDesignIntf::moveSelectedItems(QPointF delta) -{ - QList selectedItems; - selectedItems = scene()->selectedItems(); - BaseDesignIntf *selectedItem; - foreach(QGraphicsItem * item, selectedItems) { - if (item != this) { - selectedItem = dynamic_cast(item); - if (selectedItem && !selectedItem->isBand()) { - if (!selectedItem->m_fixedPos) - selectedItem->setItemPos(selectedItem->pos() - delta); - } - } - } -} - -void BaseDesignIntf::setItemPos(qreal x, qreal y) -{ - setItemPos(QPointF(x, y)); -} - -void BaseDesignIntf::setItemMode(ItemMode mode) -{ - m_itemMode = mode; - foreach(QGraphicsItem * item, childItems()) { - BaseDesignIntf *ri = dynamic_cast(item); - if (ri) ri->setItemMode(mode); - } - initMode(mode); - initFlags(); -} -void BaseDesignIntf::setItemPos(const QPointF &newPos) -{ - QPointF oldPos = pos(); - QPointF finalPos = modifyPosForAlignedItem(newPos); - QGraphicsItem::setPos(finalPos); - emit posChanging(this, finalPos, oldPos); -} - - -QWidget* BaseDesignIntf::findRootWidget(QWidget* widget) -{ - while (widget->parentWidget()) { - widget = widget->parentWidget(); - } - return widget; -} - -void BaseDesignIntf::showDialog(QWidget *widget) -{ - if (!widget) { - return; - } - widget->setStyleSheet(findRootWidget(scene()->views().at(0))->styleSheet()); - QDialog *dialog = new QDialog(QApplication::activeWindow()); - widget->setParent(dialog); - widget->setAttribute(Qt::WA_DeleteOnClose); -#ifdef Q_OS_MAC - dialog->setWindowModality(Qt::WindowModal); -#else - dialog->setWindowModality(Qt::ApplicationModal); -#endif - dialog->setLayout(new QVBoxLayout()); - dialog->resize(widget->size()); - dialog->layout()->setContentsMargins(2,2,2,2); - dialog->layout()->addWidget(widget); - connect(widget,SIGNAL(destroyed()),dialog,SLOT(close())); - dialog->setWindowTitle(widget->windowTitle()); - dialog->exec(); - dialog->deleteLater(); -} - -void BaseDesignIntf::showEditorDialog() -{ - showDialog(defaultEditor()); -} - -void BaseDesignIntf::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) -{ - if (event->button() == Qt::LeftButton && - ((itemMode()&EditMode)||(itemMode()&DesignMode)) - ) { - showEditorDialog(); - } - QGraphicsItem::mouseDoubleClickEvent(event); -} - -void BaseDesignIntf::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) -{ - if (!(flags() & QGraphicsItem::ItemIsSelectable)) return; - PageDesignIntf* page = dynamic_cast(scene()); - if (!page->selectedItems().contains(this)){ - page->clearSelection(); - this->setSelected(true); - } - QMenu menu(event->widget()); - - QAction* lockGeometryAction = menu.addAction(tr("Lock item geometry")); - lockGeometryAction->setCheckable(true); - lockGeometryAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_L)); - lockGeometryAction->setChecked(isGeometryLocked()); - menu.addSeparator(); - - QAction* copyAction = menu.addAction(QIcon(":/report/images/copy"), tr("Copy")); - copyAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_C)); - QAction* cutAction = menu.addAction(QIcon(":/report/images/cut"), tr("Cut")); - cutAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_X)); - QAction* pasteAction = menu.addAction(QIcon(":/report/images/paste"), tr("Paste")); - pasteAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_V)); - pasteAction->setEnabled(false); - - QClipboard *clipboard = QApplication::clipboard(); - ItemsReaderIntf::Ptr reader = StringXMLreader::create(clipboard->text()); - if (reader->first() && reader->itemType() == "Object"){ - pasteAction->setEnabled(true); - } - menu.addSeparator(); - QAction* bringToTopAction = menu.addAction(QIcon(":/report/images/bringToTop"), tr("Bring to top")); - QAction* sendToBackAction = menu.addAction(QIcon(":/report/images/sendToBack"), tr("Send to back")); - QAction* createHLayout = 0; - if( page->selectedItems().count()>1){ - createHLayout = menu.addAction(QIcon(":/report/images/hlayout"), tr("Create Horizontal Layout")); - } - QAction* createVLayout = 0; - if( page->selectedItems().count()>1){ - createVLayout = menu.addAction(QIcon(":/report/images/vlayout"), tr("Create Vertical Layout")); - } - menu.addSeparator(); - QAction* noBordersAction = menu.addAction(QIcon(":/report/images/noLines"), tr("No borders")); - QAction* allBordersAction = menu.addAction(QIcon(":/report/images/allLines"), tr("All borders")); - QAction* editBorderAction = menu.addAction(QIcon(":/report/images/allLines"), tr("Edit borders...")); - preparePopUpMenu(menu); - QAction* a = menu.exec(event->screenPos()); - if (a){ - if (a == cutAction) - { - page->cut(); - return; - } - if (a == copyAction) - page->copy(); - if (a == pasteAction) - page->paste(); - if (a == bringToTopAction) - page->bringToFront(); - if (a == sendToBackAction) - page->sendToBack(); - if (a == noBordersAction) - page->setBorders(BaseDesignIntf::NoLine); - if (a == allBordersAction) - page->setBorders(BaseDesignIntf::AllLines); - if(a == editBorderAction) - { - lrbordereditor be; - be.loadItem(this); - if(be.exec() == QDialog::Rejected)return; - setBorderLinesFlags(be.borderSides()); - setBorderLineSize(be.border_width()); - setBorderStyle((LimeReport::BaseDesignIntf::BorderStyle)be.border_style()); - setBorderColor(be.borderColor()); - } - if (a == createHLayout) - page->addHLayout(); - if (a == createVLayout) - page->addVLayout(); - processPopUpAction(a); - } -} - -int BaseDesignIntf::possibleMoveDirectionFlags() const -{ - return m_possibleMoveDirectionFlags; -} - -void BaseDesignIntf::setPossibleMoveFlags(int directionsFlags) -{ - m_possibleMoveDirectionFlags = directionsFlags; -} - -void BaseDesignIntf::setMarginSize(int value) -{ - if (m_margin!=value){ - int oldValue = m_margin; - m_margin=value; - if (!isLoading()){ - update(rect()); - notify("margin", oldValue, value); - } - } -} - -void BaseDesignIntf::drawResizeZone(QPainter* /*painter*/) -{ - - // if (m_resizeAreas.count() > 0) { - // painter->save(); - // painter->setPen(QPen(Const::RESIZE_ZONE_COLOR)); - // (isSelected()) ? painter->setOpacity(Const::SELECTED_RESIZE_ZONE_OPACITY) : painter->setOpacity(Const::RESIZE_ZONE_OPACITY); - // painter->setBrush(QBrush(Qt::green, Qt::SolidPattern)); - // foreach(QRectF * resizeArea, m_resizeAreas) painter->drawRect(*resizeArea); - // painter->restore(); - // } - -} - -void BaseDesignIntf::initResizeZones() -{ - m_resizeAreas.clear(); - if (m_resizeDirectionFlags & ResizeBottom) m_resizeAreas.append(&m_bottomRect); - if (m_resizeDirectionFlags & ResizeTop) m_resizeAreas.append(&m_topRect); - if (m_resizeDirectionFlags & ResizeLeft) m_resizeAreas.append(&m_leftRect); - if (m_resizeDirectionFlags & ResizeRight) m_resizeAreas.append(&m_rightRect); -} - -void BaseDesignIntf::invalidateRect(const QRectF &rect) -{ - if (scene()) - scene()->update(mapToScene(rect).boundingRect()); -} - -ReportEnginePrivate *BaseDesignIntf::reportEditor() -{ - PageDesignIntf *page = dynamic_cast(scene()); - if (page) return page->reportEditor(); - else return 0; -} - -void BaseDesignIntf::updateItemSize(DataSourceManager *dataManager, RenderPass pass, int maxHeight) -{ - Q_UNUSED(maxHeight); - Q_UNUSED(dataManager); - m_currentPass = pass; - updateItemAlign(); -} - -bool BaseDesignIntf::isNeedUpdateSize(RenderPass /*pass*/) const -{return false;} - -void BaseDesignIntf::drawPinArea(QPainter *painter) const -{ - painter->drawRect(QRect(0, 0, 16, 16)); -} - -QObject *BaseDesignIntf::createElement(const QString& /*collectionName*/, const QString &elementType) -{ - BaseDesignIntf* obj = 0; - try{ - if (LimeReport::DesignElementsFactory::instance().objectCreator(elementType)){ - obj = LimeReport::DesignElementsFactory::instance().objectCreator(elementType)(this, this); - if (page()) - connect(obj, SIGNAL(propertyChanged(QString,QVariant,QVariant)), - page(), SLOT(slotItemPropertyChanged(QString,QVariant,QVariant))); - } - } catch (ReportError &error){ - qDebug()<(obj); - if (item && page()) { - page()->registerItem(item); - } - } - } - } - emit loadCollectionFinished(collectionName); -} - -BaseDesignIntf *BaseDesignIntf::cloneItem(ItemMode mode, QObject *owner, QGraphicsItem *parent) -{ - BaseDesignIntf *clone = cloneItemWOChild(mode, owner, parent); - clone->setPatternName(this->objectName()); - clone->setPatternItem(this); -#ifdef HAVE_QT5 - foreach(QObject * child, children()) { -#else - foreach(QObject * child, QObject::children()) { -#endif - BaseDesignIntf *childItem = dynamic_cast(child); - if (childItem) {clone->childAddedEvent(childItem->cloneItem(mode, clone, clone));} - } - return clone; -} - -BaseDesignIntf *BaseDesignIntf::cloneItemWOChild(ItemMode mode, QObject *owner, QGraphicsItem *parent) -{ - BaseDesignIntf *clone = createSameTypeItem(owner, parent); - clone->setObjectName(this->objectName()); - clone->setItemMode(mode); - clone->objectLoadStarted(); - clone->setReportSettings(this->reportSettings()); - for (int i = 0; i < clone->metaObject()->propertyCount(); i++) { - if (clone->metaObject()->property(i).isWritable()) - clone->setProperty(clone->metaObject()->property(i).name(), property(clone->metaObject()->property(i).name())); - } - clone->objectLoadFinished(); - return clone; -} - -void BaseDesignIntf::initFromItem(BaseDesignIntf *source) -{ - objectLoadStarted(); - for (int i = 0; i < metaObject()->propertyCount(); i++) { - if (strcmp(metaObject()->property(i).name(),"objectName")!=0) - if (source->property(metaObject()->property(i).name()).isValid()) { - if (metaObject()->property(i).isWritable()) - setProperty(metaObject()->property(i).name(), source->property(metaObject()->property(i).name())); - } - } - objectLoadFinished(); -} - -bool BaseDesignIntf::canBeSplitted(int height) const -{Q_UNUSED(height); return false;} - -bool BaseDesignIntf::isEmpty() const -{return false;} - -BaseDesignIntf *BaseDesignIntf::cloneUpperPart(int height, QObject *owner, QGraphicsItem *parent) -{Q_UNUSED(height); Q_UNUSED(owner); Q_UNUSED(parent); return 0;} - -BaseDesignIntf *BaseDesignIntf::cloneBottomPart(int height, QObject *owner, QGraphicsItem *parent) -{Q_UNUSED(height); Q_UNUSED(owner); Q_UNUSED(parent); return 0;} - -BaseDesignIntf *BaseDesignIntf::cloneEmpty(int height, QObject *owner, QGraphicsItem *parent) -{Q_UNUSED(height); Q_UNUSED(owner); Q_UNUSED(parent); return 0;} - - -void BaseDesignIntf::objectLoadStarted() -{ - m_objectState = ObjectLoading; -} - -void BaseDesignIntf::objectLoadFinished() -{ - m_objectState = ObjectLoaded; - emit objectLoaded(this); -} - -void BaseDesignIntf::parentObjectLoadFinished() -{} - -QList BaseDesignIntf::childBaseItems() const -{ - QList resList; - foreach(QGraphicsItem * item, childItems()) { - BaseDesignIntf *baseItem = dynamic_cast(item); - if (baseItem) resList << baseItem; - } - return resList; -} - - -void BaseDesignIntf::addChildItems(QList* list){ - foreach(BaseDesignIntf* item, childBaseItems()){ - list->append(item); - item->addChildItems(list); - } -} - -qreal BaseDesignIntf::calcAbsolutePosY(qreal currentOffset, BaseDesignIntf *item) -{ - BaseDesignIntf* parent = dynamic_cast(item->parent()); - if (parent) - return calcAbsolutePosY(currentOffset + item->getItemPosY(), parent); - else - return currentOffset + item->getItemPosY(); -} - -qreal BaseDesignIntf::calcAbsolutePosX(qreal currentOffset, BaseDesignIntf *item) -{ - BaseDesignIntf* parent = dynamic_cast(item->parent()); - if (parent) - return calcAbsolutePosX(currentOffset + item->getItemPosX(), parent); - else - return currentOffset + item->getItemPosX(); -} - -QList BaseDesignIntf::allChildBaseItems() -{ - QList resList; - addChildItems(&resList); - return resList; -} - -BaseDesignIntf *BaseDesignIntf::childByName(const QString &name) -{ - foreach(BaseDesignIntf* item, childBaseItems()){ - if (item->objectName().compare(name,Qt::CaseInsensitive)==0){ - return item; - } else { - BaseDesignIntf* child = item->childByName(name); - if (child) return child; - } - } - return 0; -} - -QWidget *BaseDesignIntf::defaultEditor() -{ - return 0; -} - -void BaseDesignIntf::notify(const QString &propertyName, const QVariant& oldValue, const QVariant& newValue) -{ - if (!isLoading()) - emit propertyChanged(propertyName, oldValue, newValue); -} - -void BaseDesignIntf::notify(const QVector& propertyNames) -{ - if (!isLoading()) - emit propertyesChanged(propertyNames); -} - - -QMap BaseDesignIntf::getStringForTranslation(){ - return QMap(); -} - -QVariant BookmarkContainerDesignIntf::getBookMark(const QString& key) -{ - if (m_bookmarks.contains(key)) - return m_bookmarks.value(key); - else return QVariant(); -} - -void BookmarkContainerDesignIntf::copyBookmarks(BookmarkContainerDesignIntf* source) -{ - foreach(QString key, source->bookmarks()){ - addBookmark(key,source->getBookMark(key)); - } -} - -QRectF Marker::boundingRect() const -{ - return m_rect.adjusted(-15,-15,15,15); -} - -void Marker::paint(QPainter* painter, const QStyleOptionGraphicsItem*, QWidget*) -{ - QPen pen; - const int markerSize = 5; - pen.setColor(color()); - pen.setWidth(2); - pen.setStyle(Qt::DotLine); - painter->setPen(pen); - painter->setOpacity(Const::SELECTION_COLOR_OPACITY); - painter->drawRect(rect()); - painter->setBrush(color()); - painter->setPen(Qt::transparent); - - painter->setOpacity(1); - painter->drawRect(QRectF(-markerSize,-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize,rect().top()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()-markerSize, - rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize, - rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize, - rect().top()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize, - rect().bottom()-markerSize,markerSize*2,markerSize*2)); -} - -QColor Marker::color() const { - return m_color; -} - -SelectionMarker::SelectionMarker(QGraphicsItem* parent, BaseDesignIntf* owner) - : Marker(parent, owner) -{ - setAcceptHoverEvents(true); -} - -QColor SelectionMarker::color() const -{ - return owner()->isGeometryLocked() ? Qt::darkGray : Marker::color(); -} - -void SelectionMarker::hoverMoveEvent(QGraphicsSceneHoverEvent *event) -{ - if (owner()) owner()->hoverMoveEvent(event); - QGraphicsItem::hoverMoveEvent(event); -} - -void SelectionMarker::mousePressEvent(QGraphicsSceneMouseEvent *event) -{ - if (owner()){ - owner()->setSelected(true); - owner()->mousePressEvent(event); - } - QGraphicsItem::mousePressEvent(event); -} - -void SelectionMarker::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) -{ - if (owner()) owner()->mouseReleaseEvent(event); -} - -void SelectionMarker::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) -{ - if (owner()) owner()->mouseDoubleClickEvent(event); - QGraphicsItem::mouseDoubleClickEvent(event); -} - -void SelectionMarker::mouseMoveEvent(QGraphicsSceneMouseEvent *event) -{ - qDebug() << "mouse move"; - if (owner()) owner()->mouseMoveEvent(event); -} - -void BaseDesignIntf::processPopUpAction(QAction *action){ - if (page()){ - if (action->text().compare(tr("Lock item geometry")) == 0){ - page()->setPropertyToSelectedItems("geometryLocked",action->isChecked()); - } - } -} - -} //namespace LimeReport diff --git a/limereport/lrbasedesignintf_LOCAL_1195.cpp b/limereport/lrbasedesignintf_LOCAL_1195.cpp deleted file mode 100644 index 90fca96..0000000 --- a/limereport/lrbasedesignintf_LOCAL_1195.cpp +++ /dev/null @@ -1,2069 +0,0 @@ -/*************************************************************************** - * This file is part of the Lime Report project * - * Copyright (C) 2021 by Alexander Arin * - * arin_a@bk.ru * - * * - ** GNU General Public License Usage ** - * * - * This library is free software: you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation, either version 3 of the License, or * - * (at your option) any later version. * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - * * - ** GNU Lesser General Public License ** - * * - * This library is free software: you can redistribute it and/or modify * - * it under the terms of the GNU Lesser General Public License as * - * published by the Free Software Foundation, either version 3 of the * - * License, or (at your option) any later version. * - * You should have received a copy of the GNU Lesser General Public * - * License along with this library. * - * If not, see . * - * * - * This library is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - ****************************************************************************/ -#include -#include "lrbasedesignintf.h" -#include "lrglobal.h" -#include "lrpagedesignintf.h" -#include "lrreportdesignwidget.h" -#include "qgraphicsitem.h" -#include "lrdesignelementsfactory.h" -#include "lrhorizontallayout.h" -#include "serializators/lrstorageintf.h" -#include "serializators/lrxmlreader.h" -#include "lrbordereditor.h" -#include -#include -#include -#include -#include -#include -#include -#include - -namespace LimeReport -{ - -BaseDesignIntf::BaseDesignIntf(const QString &storageTypeName, QObject *owner, QGraphicsItem *parent) : - QObject(owner), QGraphicsItem(parent), - m_resizeHandleSize(Const::RESIZE_HANDLE_SIZE*2), - m_selectionPenSize(Const::SELECTION_PEN_SIZE), - m_possibleResizeDirectionFlags(ResizeTop | ResizeBottom | ResizeLeft | ResizeRight), - m_possibleMoveDirectionFlags(All), - m_resizeDirectionFlags(0), - m_width(200), - m_height(50), - m_fontColor(Qt::black), - m_fixedPos(false), - m_borderLineSize(1), - m_BGMode(OpaqueMode), - m_opacity(100), - m_borderLinesFlags(BorderLines()), - m_borderStyle(BorderStyle::Solid), - m_storageTypeName(storageTypeName), - m_itemMode(DesignMode), - m_objectState(ObjectCreated), - m_backgroundBrushStyle(SolidPattern), - m_backgroundColor(Qt::white), - m_margin(4), - m_itemAlign(DesignedItemAlign), - m_changingItemAlign(false), - m_borderColor(Qt::black), - m_reportSettings(0), - m_patternName(""), - m_patternItem(0), - m_fillInSecondPass(false), - m_watermark(false), - m_hovered(false), - m_joinMarkerOn(false), - m_selectionMarker(0), - m_fillTransparentInDesignMode(true), - m_unitType(Millimeters), - m_itemGeometryLocked(false), - m_isChangingPos(false), - m_isMoveable(false), - m_shadow(false) - - -{ - setGeometry(QRectF(0, 0, m_width, m_height)); - if (BaseDesignIntf *item = dynamic_cast(parent)) { - m_font = item->font(); - } else{ - m_font = QFont("Arial",10); - } - initFlags(); -} - -QRectF BaseDesignIntf::boundingRect() const -{ - qreal halfpw = pen().widthF() / 2; - halfpw += 2; - return rect().adjusted(-halfpw, -halfpw, halfpw, halfpw); -} - -BaseDesignIntf::~BaseDesignIntf(void) { - -} - -void BaseDesignIntf::setParentReportItem(const QString &value) -{ - if (page() && !value.isEmpty()) { - BaseDesignIntf *p = page()->reportItemByName(value); - if (p) { - setParentItem(p); - setParent(p); - } - } -} - -QString BaseDesignIntf::parentReportItemName() const -{ - BaseDesignIntf *parent = dynamic_cast(parentItem()); - if (parent) return parent->objectName(); - else return ""; -} - -void BaseDesignIntf::setBackgroundBrushStyle(BrushStyle value) -{ - if ( value != m_backgroundBrushStyle ){ - BrushStyle oldValue = m_backgroundBrushStyle; - m_backgroundBrushStyle=value; - if (!isLoading()) update(); - notify("backgroundBrushStyle", static_cast(oldValue), static_cast(value)); - } -} - -void BaseDesignIntf::setBackgroundColor(QColor value) -{ - if (value != m_backgroundColor){ - QColor oldValue = m_backgroundColor; - m_backgroundColor=value; - if (!isLoading()) update(); - notify("backgroundColor", oldValue, value); - } -} - -QPen BaseDesignIntf::pen() const -{ - return m_pen; -} - -void BaseDesignIntf::setPen(QPen &pen) -{ - m_pen = pen; - update(); -} - -QFont BaseDesignIntf::font() const -{ - return m_font; -} - -void BaseDesignIntf::setFont(QFont &font) -{ - if (m_font != font){ - m_font = font; - if (!isLoading()) update(); - } -} - -qreal BaseDesignIntf::width() const -{ - return rect().width(); -} - -void BaseDesignIntf::setWidth(qreal width) -{ - setGeometry(QRectF(rect().x(), rect().y(), width, rect().height())); - if (!m_changingItemAlign) - updateItemAlign(); -} - -QString BaseDesignIntf::setItemWidth(qreal width) -{ - setWidth(width * unitFactor()); - return QString(); -} - -qreal BaseDesignIntf::height() const -{ - return rect().height(); -} - -QRect BaseDesignIntf::geometry() const -{ - return QRect(pos().x(), pos().y(), width(), height()); -} - -void BaseDesignIntf::setHeight(qreal height) -{ - setGeometry(QRectF(rect().x(), rect().y(), rect().width(), height)); -} - -QString BaseDesignIntf::setItemHeight(qreal height) -{ - setHeight(height * unitFactor()); - return QString(); -} - -qreal BaseDesignIntf::getItemWidth() -{ - return width() / unitFactor(); -} - -qreal BaseDesignIntf::getItemHeight() -{ - return height() / unitFactor(); -} - -qreal BaseDesignIntf::getItemPosX() -{ - return x() / unitFactor(); -} - -qreal BaseDesignIntf::getItemPosY() -{ - return y() / unitFactor(); -} - -qreal BaseDesignIntf::getAbsolutePosX() -{ - return calcAbsolutePosX(0,this); -} - -qreal BaseDesignIntf::getAbsolutePosY() -{ - return calcAbsolutePosY(0,this); -} - -QString BaseDesignIntf::setItemPosX(qreal xValue) -{ - setItemPos(xValue * unitFactor(),y()); - return QString(); -} - -QString BaseDesignIntf::setItemPosY(qreal yValue) -{ - setItemPos(x(),yValue * unitFactor()); - return QString(); -} - -QFont BaseDesignIntf::transformToSceneFont(const QFont& value) const -{ - QFont f = value; - f.setPixelSize(f.pointSize()*Const::fontFACTOR); - return f; -} - -QString BaseDesignIntf::expandDataFields(QString context, ExpandType expandType, DataSourceManager* dataManager) -{ - ScriptEngineManager& sm = ScriptEngineManager::instance(); - if (sm.dataManager() != dataManager) sm.setDataManager(dataManager); - return sm.expandDataFields(context, expandType, m_varValue, this); -} - -QString BaseDesignIntf::expandUserVariables(QString context, RenderPass pass, ExpandType expandType, DataSourceManager* dataManager) -{ - - ScriptEngineManager& sm = ScriptEngineManager::instance(); - if (sm.dataManager() != dataManager) sm.setDataManager(dataManager); - return sm.expandUserVariables(context, pass, expandType, m_varValue); - -} - -QString BaseDesignIntf::expandScripts(QString context, DataSourceManager* dataManager) -{ - - ScriptEngineManager& sm = ScriptEngineManager::instance(); - if (sm.dataManager() != dataManager) sm.setDataManager(dataManager); - return sm.expandScripts(context,m_varValue,this); - -} - -void BaseDesignIntf::setupPainter(QPainter *painter) const -{ - if (!painter) { - return; - } - painter->setFont(m_font); - painter->setPen(m_fontColor); -} - -BaseDesignIntf::BGMode BaseDesignIntf::backgroundMode() const -{ - return m_BGMode; -} -void BaseDesignIntf::setBackgroundMode(BGMode bgMode) -{ - m_BGMode = bgMode; - update(boundingRect()); -} - -int BaseDesignIntf::opacity() const -{ - return m_opacity; -} - -void BaseDesignIntf::setOpacity(int opacity) -{ - if (m_opacity!=opacity){ - if (opacity < 0) { - m_opacity = 0; - } - else if (opacity > 100) { - m_opacity = 100; - } - else { - m_opacity = opacity; - } - update(); - } -} - -void BaseDesignIntf::setSize(QSizeF size) -{ - setWidth(size.width()); - setHeight(size.height()); -} - -QSizeF BaseDesignIntf::size() const -{ - return QSizeF(width(), height()); -} - -QSizeF BaseDesignIntf::sizeMM() const -{ - return QSizeF(width() / Const::mmFACTOR, height() / Const::mmFACTOR); -} - -qreal BaseDesignIntf::widthMM() const -{ - return width() / Const::mmFACTOR; -} - -qreal BaseDesignIntf::heightMM() const -{ - return height() / Const::mmFACTOR; -} - -//void BaseDesignIntf::setUnitFactor(qreal unitFactor) -//{ -// m_unitFactor = unitFactor; -//} - -qreal BaseDesignIntf::unitFactor() const -{ - if (m_unitType == Millimeters) - return Const::mmFACTOR; - else return Const::mmFACTOR * 2.54; -} - -void BaseDesignIntf::setUnitType(BaseDesignIntf::UnitType value) -{ - foreach(BaseDesignIntf* child, childBaseItems()) - child->setUnitType(value); - m_unitType = value; -} - -BaseDesignIntf::UnitType BaseDesignIntf::unitType() -{ - return m_unitType; -} - -QPointF BaseDesignIntf::posMM() const -{ - return QPointF(pos().x() / Const::mmFACTOR, pos().y() / Const::mmFACTOR); -} - -QRectF BaseDesignIntf::rect() const -{ - return m_rect; -} - -void BaseDesignIntf::setFixedPos(bool fixedPos) -{ - m_fixedPos = fixedPos; -} - -void BaseDesignIntf::onChangeGeometryTimeOut(){ - m_isMoveable = true; -} - -void BaseDesignIntf::mousePressEvent(QGraphicsSceneMouseEvent *event) -{ - if (event->button() == Qt::LeftButton) { - m_isChangingPos = true; - m_resizeDirectionFlags = resizeDirectionFlags(event->pos()); - m_startPos = pos(); - m_oldGeometry = geometry(); - QGraphicsItem::mousePressEvent(event); - emit itemSelected(this); - m_isMoveable = false; - QTimer::singleShot(200, this, SLOT(onChangeGeometryTimeOut())); - } - else QGraphicsItem::mousePressEvent(event); -} - -void BaseDesignIntf::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) -{ - removeGuideLines(); - QRectF newGeometry = geometry(); - m_isChangingPos = false; - if (newGeometry != m_oldGeometry) { - geometryChangedEvent(newGeometry, m_oldGeometry); - emit posChanged(this, newGeometry.topLeft(), m_oldGeometry.topLeft()); - } - QGraphicsItem::mouseReleaseEvent(event); -} - -void BaseDesignIntf::paint(QPainter *ppainter, const QStyleOptionGraphicsItem *option, QWidget *widget) -{ - Q_UNUSED(option); - Q_UNUSED(widget); - - ppainter->save(); - setupPainter(ppainter); - if(!isPageItem()) - drawBorder(ppainter, rect()); - else - drawBorder(ppainter, page()->pageItem()->pageRect()); - if(m_shadow) - drawShadow(ppainter, rect(), 6); - // if (m_joinMarkerOn) { drawMarker(ppainter, Const::JOIN_COLOR);} - // if (isSelected() && !m_joinMarkerOn) {drawMarker(ppainter, Const::SELECTION_COLOR);} - drawResizeZone(ppainter); - ppainter->restore(); - // if (m_hovered) ppainter->drawImage( - // QRectF(QPointF(rect().topRight().x()-24, rect().bottomLeft().y()-24), - // QSizeF(24, 24)),QImage(":/items/images/settings.png")); -} - -QColor calcColor(QColor color){ - - int R = color.red(); - int G = color.green(); - int B = color.blue(); - - if (0.222*R + 0.707*G + 0.071*B <= 127) - return Qt::white; - else - return Qt::black; -} - -void BaseDesignIntf::prepareRect(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/) -{ - painter->save(); - - QRectF r = rect().adjusted(0, 0, borderLineSize(), borderLineSize()); - QBrush brush(m_backgroundColor,static_cast(m_backgroundBrushStyle)); - brush.setTransform(painter->worldTransform().inverted()); - - if (isSelected() && (opacity() == 100) && (m_BGMode!=TransparentMode)) { - painter->fillRect(r, brush); - } - else { - if (m_BGMode == OpaqueMode) { - qreal o = (itemMode() & DesignMode) ? 0.5 : qreal(m_opacity) / 100; - painter->setOpacity(o); - painter->fillRect(r, brush); - } else if ((itemMode() & DesignMode) && fillTransparentInDesignMode()){ - painter->setOpacity(0.1); - painter->fillRect(r, QBrush(QPixmap(":/report/images/empty"))); - } - } - painter->restore(); -} - -void BaseDesignIntf::hoverMoveEvent(QGraphicsSceneHoverEvent *event) -{ - if (page()) { - if (!page()->isItemInsertMode() && isSelected()) { - if (m_resizeDirectionFlags != resizeDirectionFlags(event->pos())) { - m_resizeDirectionFlags = resizeDirectionFlags(event->pos()); - QVectoroldResizeAreas(m_resizeAreas); - initResizeZones(); - invalidateRects(oldResizeAreas); - invalidateRects(m_resizeAreas); - switch (m_resizeDirectionFlags) { - case ResizeRight: - case ResizeLeft: - setCursor(Qt::SizeHorCursor); - break; - case ResizeBottom: - case ResizeTop: - setCursor(Qt::SizeVerCursor); - break; - case ResizeRight | ResizeBottom: - case ResizeLeft | ResizeTop: - setCursor(Qt::SizeFDiagCursor); - break; - case ResizeLeft | ResizeBottom: - case ResizeRight | ResizeTop: - setCursor(Qt::SizeBDiagCursor); - break; - default: - setCursor(Qt::ArrowCursor); - break; - } - } - } - } -} - -void BaseDesignIntf::invalidateRects(QVector rects) -{ - foreach(QRectF * rect, rects) - scene()->update(mapToScene(*rect).boundingRect()); -} - -void BaseDesignIntf::hoverLeaveEvent(QGraphicsSceneHoverEvent *) -{ - setCursor(QCursor(Qt::ArrowCursor)); - m_resizeDirectionFlags = 0; - scene()->update(sceneBoundingRect()); - m_resizeAreas.clear(); - m_hovered = false; - update(); -} - -void BaseDesignIntf::hoverEnterEvent(QGraphicsSceneHoverEvent * /*event*/) -{ - m_hovered = true; - update(); -} - - -void BaseDesignIntf::mouseMoveEvent(QGraphicsSceneMouseEvent *event) -{ - if (!m_isMoveable) return; - if (!isSelected()){ - QGraphicsItem::mouseMoveEvent(event); - return; - } - - - int hStep = dynamic_cast(scene())->horizontalGridStep(); - int vStep = dynamic_cast(scene())->verticalGridStep(); - - if (m_resizeDirectionFlags & ResizeLeft) { - if ((event->scenePos().x()) <= (mapToScene(0, 0).x() + (width() - Const::MINIMUM_ITEM_WIDTH)) && - (width() + (event->lastScenePos().x() - event->scenePos().x()) > Const::MINIMUM_ITEM_WIDTH) - ) { - qreal posRightCorner = mapToScene(0, 0).x() + width(); - qreal posLeftCorner = div(mapToParent(event->pos()).x(), hStep).quot * hStep; - if (posLeftCorner < 0 ) - posLeftCorner = 0; - setItemPos(posLeftCorner, y()); - setWidth(div(posRightCorner - mapToScene(0, 0).x(), hStep).quot * hStep); - } - } - - if (m_resizeDirectionFlags & ResizeRight) { - if ((event->scenePos().x() >= (mapToScene(0, 0).x() + Const::MINIMUM_ITEM_WIDTH)) || - (event->scenePos().x() >= (mapToScene(0, 0).x() + width()))) { - setWidth(div(event->scenePos().x() - mapToScene(0, 0).x(), hStep).quot * hStep); - } - } - - if (m_resizeDirectionFlags & ResizeTop) { - if ((event->scenePos().y()) <= (mapToScene(0, 0).y() + (height() - Const::MINIMUM_ITEM_HEIGHT)) && - (height() + (event->lastScenePos().y() - event->scenePos().y()) > Const::MINIMUM_ITEM_HEIGHT) - ) { - qreal posBottomCorner = mapToScene(0, 0).y() + height(); - qreal posTopCorner = div(mapToParent(event->pos()).y(), vStep).quot * vStep; - if (posTopCorner < 0 ) - posTopCorner = 0; - setItemPos(x(), posTopCorner); - setHeight(div(posBottomCorner - mapToScene(0, 0).y(), vStep).quot * vStep); - } - } - - if (m_resizeDirectionFlags & ResizeBottom) { - if ((event->scenePos().y() > (mapToScene(0, 0).y() + height())) || - (event->scenePos().y() > (mapToScene(0, 0).y() + Const::MINIMUM_ITEM_HEIGHT)) - ) { - setHeight(div(event->scenePos().y() - mapToScene(0, 0).y(), vStep).quot * vStep); - } - } - - if ((m_resizeDirectionFlags == Fixed) && !m_fixedPos) { - - QPointF tmpPos = pos(); - QPointF delta; - switch (possibleMoveDirectionFlags()) { - case LeftRight: { - delta = QPoint(div(event->buttonDownScenePos(Qt::LeftButton).x() - event->scenePos().x(), hStep).quot * hStep, 0); - break; - } - case TopBotom: { - delta = QPoint(0, div(event->buttonDownScenePos(Qt::LeftButton).y() - event->scenePos().y(), vStep).quot * vStep); - break; - } - case All: { - delta = QPoint(div(event->buttonDownScenePos(Qt::LeftButton).x() - event->scenePos().x(), hStep).quot * hStep, - div(event->buttonDownScenePos(Qt::LeftButton).y() - event->scenePos().y(), vStep).quot * vStep); - break; - } - }; - - setItemPos(QPointF(div(m_startPos.x(), hStep).quot * hStep, div(m_startPos.y(), vStep).quot * vStep) - delta); - - if (page()){ - if (!isBand() && page()->selectedItems().count()>1) - moveSelectedItems(tmpPos - pos()); - if (page()->selectedItems().count()==1 && (page()->magneticMovement())) - page()->itemMoved(this); - - } - } - if (scene() && !scene()->selectedItems().isEmpty()) { - QGraphicsItem *movingItem = scene()->selectedItems().first(); - removeGuideLines(); - - for (QGraphicsItem *item : scene()->items()) { - if (item != movingItem) { - qreal topDiff = qAbs(item->sceneBoundingRect().bottom() - movingItem->sceneBoundingRect().bottom()); - qreal bottomDiff = qAbs(item->sceneBoundingRect().top() - movingItem->sceneBoundingRect().top()); - qreal leftDiff = qAbs(item->sceneBoundingRect().left() - movingItem->sceneBoundingRect().left()); - qreal rightDiff = qAbs(item->sceneBoundingRect().right() - movingItem->sceneBoundingRect().right()); - - if (topDiff == 0) - addGuideLine(item->sceneBoundingRect().left(), item->sceneBoundingRect().top(), - movingItem->sceneBoundingRect().left(), movingItem->sceneBoundingRect().top()); - if (bottomDiff == 0) - addGuideLine(item->sceneBoundingRect().left(), item->sceneBoundingRect().bottom(), - movingItem->sceneBoundingRect().left(), movingItem->sceneBoundingRect().bottom()); - if (leftDiff == 0) - addGuideLine(item->sceneBoundingRect().left(), item->sceneBoundingRect().top(), - movingItem->sceneBoundingRect().left(), movingItem->sceneBoundingRect().top()); - if (rightDiff == 0) - addGuideLine(item->sceneBoundingRect().right(), item->sceneBoundingRect().top(), - movingItem->sceneBoundingRect().right(), movingItem->sceneBoundingRect().top()); - } - } - } -} - -int BaseDesignIntf::possibleResizeDirectionFlags() const -{ - return m_possibleResizeDirectionFlags; -} - -int BaseDesignIntf::resizeHandleSize() const -{ - return m_resizeHandleSize; -} - -int BaseDesignIntf::resizeDirectionFlags(QPointF position) -{ - int flags = Fixed; - - if (possibleResizeDirectionFlags()&ResizeTop && m_topRect.contains(position)) { - flags |= ResizeTop; - } - - if (possibleResizeDirectionFlags()&ResizeLeft && m_leftRect.contains(position)) { - flags |= ResizeLeft; - } - - if (possibleResizeDirectionFlags()&ResizeBottom && m_bottomRect.contains(position)) { - flags |= ResizeBottom; - } - - if (possibleResizeDirectionFlags()&ResizeRight && m_rightRect.contains(position)) { - flags |= ResizeRight; - } - - return flags; -} - -Qt::CursorShape BaseDesignIntf::getPossibleCursor(int cursorFlags) -{ - - if ((cursorFlags == Fixed) || (scene()->selectedItems().count() > 1)) return Qt::ArrowCursor; - - if (((cursorFlags & ResizeRight) && (cursorFlags & ResizeTop)) || - ((cursorFlags & ResizeLeft) && (cursorFlags & ResizeBottom))) { - return Qt::SizeBDiagCursor; - } - if (((cursorFlags & ResizeLeft) && (cursorFlags & ResizeTop)) || - ((cursorFlags & ResizeRight) && (cursorFlags & ResizeBottom))) { - return Qt::SizeFDiagCursor; - } - if ((cursorFlags & ResizeLeft) || (cursorFlags & ResizeRight)) { return Qt::SizeHorCursor; } - if ((cursorFlags & ResizeBottom) || (cursorFlags & ResizeTop)) { return Qt::SizeVerCursor; } - - return Qt::ArrowCursor; -} - -void BaseDesignIntf::setZValueProperty(qreal value) -{ - if (zValue()!=value){ - qreal oldValue = zValue(); - setZValue(value); - notify("zOrder",oldValue,value); - } -} - -BaseDesignIntf::ItemAlign BaseDesignIntf::itemAlign() const -{ - return m_itemAlign; -} - -QPointF BaseDesignIntf::modifyPosForAlignedItem(const QPointF& pos){ - QPointF result = pos; - BaseDesignIntf* parent = dynamic_cast(parentItem()); - PageItemDesignIntf* parentPage = dynamic_cast(parentItem()); - if (parent){ - qreal leftBorder = parentPage ? parentPage->leftMargin() * Const::mmFACTOR : 0; - qreal rightBorder = parentPage ? parentPage->rightMargin() * Const::mmFACTOR : 0; - qreal avaibleSpace = parent->width()-(leftBorder+rightBorder); - - switch(m_itemAlign){ - case LeftItemAlign: - result.setX(leftBorder); - break; - case RightItemAlign: - result.setX(parent->width() - (rightBorder + width())); - break; - case CenterItemAlign: - result.setX((avaibleSpace-width()) / 2 + leftBorder); - break; - case ParentWidthItemAlign: - result.setX(leftBorder); - case DesignedItemAlign: - break; - } - } - return result; -} - -void BaseDesignIntf::turnOnJoinMarker(bool value) -{ - m_joinMarkerOn = value; - if (value){ - m_joinMarker = new Marker(this, this); - m_joinMarker->setColor(Const::JOIN_COLOR); - m_joinMarker->setRect(rect()); - m_joinMarker->setVisible(true); - } else { - delete m_joinMarker; - m_joinMarker = 0; - } -} - -void BaseDesignIntf::updateItemAlign(){ - BaseDesignIntf* parent = dynamic_cast(parentItem()); - PageItemDesignIntf* parentPage = dynamic_cast(parentItem()); - m_changingItemAlign = true; - if (parent){ - qreal leftBorder = parentPage ? parentPage->leftMargin() * Const::mmFACTOR : 0; - qreal rightBorder = parentPage ? parentPage->rightMargin() * Const::mmFACTOR : 0; - qreal aviableSpace = parent->width()-(leftBorder+rightBorder); - setPos(modifyPosForAlignedItem(pos())); - if (m_itemAlign == ParentWidthItemAlign) - setWidth(aviableSpace); - } - m_changingItemAlign = false; -} - -void BaseDesignIntf::updatePossibleDirectionFlags(){ - setPossibleResizeDirectionFlags(AllDirections); - switch(m_itemAlign){ - case LeftItemAlign: - setPossibleResizeDirectionFlags(AllDirections^ResizeLeft); - break; - case RightItemAlign: - setPossibleResizeDirectionFlags(AllDirections^ResizeRight); - break; - case ParentWidthItemAlign: - setPossibleResizeDirectionFlags(ResizeBottom|ResizeTop); - case CenterItemAlign: - case DesignedItemAlign: - break; - } -} - -void BaseDesignIntf::addGuideLine(qreal x1, qreal y1, qreal x2, qreal y2) -{ - QGraphicsLineItem *line = new QGraphicsLineItem(x1, y1, x2, y2); - line->setPen(QPen(Qt::red,2,Qt::DashLine)); - if(scene())scene()->addItem(line); - guideLines.append(line); -} - -void BaseDesignIntf::removeGuideLines() -{ - for (QGraphicsLineItem *line : guideLines) { - if(scene())scene()->removeItem(line); - delete line; - } - guideLines.clear(); -} - -bool BaseDesignIntf::isChangingPos() const -{ - return m_isChangingPos; -} - -void BaseDesignIntf::setIsChangingPos(bool isChangingPos) -{ - m_isChangingPos = isChangingPos; -} - -bool BaseDesignIntf::isShapeItem() const -{ - return QString(metaObject()->className()) == "LimeReport::ShapeItem"; -} - -bool BaseDesignIntf::isPageItem() const -{ -return QString(metaObject()->className()) == "LimeReport::PageItemDesignIntf"; -} - -bool BaseDesignIntf::hasShadow() -{ - return m_shadow; -} - -void BaseDesignIntf::setShadow(bool sh) -{ - if (m_shadow != sh){ - bool oldValue = m_shadow; - m_shadow = sh; - notify("shadow",oldValue,m_shadow); - update(); - } -} - -bool BaseDesignIntf::isGeometryLocked() const -{ - return m_itemGeometryLocked; -} - -void BaseDesignIntf::setGeometryLocked(bool itemLocked) -{ - if (m_itemGeometryLocked != itemLocked){ - m_itemGeometryLocked = itemLocked; - if (itemLocked){ - m_savedPossibleMoveDirectionFlags = m_possibleMoveDirectionFlags; - m_savedPossibleResizeDirectionFlags = m_possibleResizeDirectionFlags; - m_possibleMoveDirectionFlags = None; - m_possibleResizeDirectionFlags = Fixed; - m_savedFixedPos = m_fixedPos; - m_fixedPos = true; - } else { - m_possibleMoveDirectionFlags = m_savedPossibleMoveDirectionFlags; - m_possibleResizeDirectionFlags = m_savedPossibleResizeDirectionFlags; - m_fixedPos = m_savedFixedPos; - } - if (!isLoading()){ - update(); - m_selectionMarker->update(); - notify("geometryLocked", !itemLocked, itemLocked); - } - } -} - -bool BaseDesignIntf::fillTransparentInDesignMode() const -{ - return m_fillTransparentInDesignMode; -} - -void BaseDesignIntf::setFillTransparentInDesignMode(bool fillTransparentInDesignMode) -{ - m_fillTransparentInDesignMode = fillTransparentInDesignMode; -} - -void BaseDesignIntf::emitPosChanged(QPointF oldPos, QPointF newPos) -{ - emit posChanged(this, oldPos, newPos); -} - -bool BaseDesignIntf::fillInSecondPass() const -{ - return m_fillInSecondPass; -} - -void BaseDesignIntf::setFillInSecondPass(bool fillInSecondPass) -{ - - if (m_fillInSecondPass != fillInSecondPass){ - m_fillInSecondPass = fillInSecondPass; - notify("fillInSecondPass",!fillInSecondPass,fillInSecondPass); - } - -} - -bool BaseDesignIntf::isWatermark() const -{ - return m_watermark; -} - -void BaseDesignIntf::setWatermark(bool watermark) -{ - if (m_watermark != watermark){ - m_watermark = watermark; - notify("watermark",!watermark,watermark); - } -} - -void BaseDesignIntf::updateSelectionMarker() -{ - if (m_selectionMarker && (itemMode() & DesignMode || itemMode() & EditMode)) { - if ((!m_selectionMarker->scene()) && scene()) scene()->addItem(m_selectionMarker); - if (parentItem()) { - m_selectionMarker->setRect(rect()); - m_selectionMarker->setPos(0,0); - } - } -} - -void BaseDesignIntf::turnOnSelectionMarker(bool value) -{ - if (value && !m_selectionMarker){ - m_selectionMarker = new SelectionMarker(this, this); - m_selectionMarker->setColor(selectionMarkerColor()); - updateSelectionMarker(); - m_selectionMarker->setVisible(true); - } else { - delete m_selectionMarker; - m_selectionMarker = 0; - } -} - -QString BaseDesignIntf::patternName() const -{ - return (m_patternName.isEmpty()) ? objectName() : m_patternName; -} - -void BaseDesignIntf::setPatternName(const QString &patternName) -{ - m_patternName = patternName; -} - -BaseDesignIntf* BaseDesignIntf::patternItem() const -{ - return m_patternItem; -} - -void BaseDesignIntf::setPatternItem(BaseDesignIntf *patternItem) -{ - m_patternItem = patternItem; -} - -ReportSettings *BaseDesignIntf::reportSettings() const -{ - return m_reportSettings; -} - -void BaseDesignIntf::setReportSettings(ReportSettings *reportSettings) -{ - m_reportSettings = reportSettings; - foreach(BaseDesignIntf* child, childBaseItems()){ - child->setReportSettings(reportSettings); - } -} - -QColor BaseDesignIntf::borderColor() const -{ - return m_borderColor; -} - -void BaseDesignIntf::setBorderColor(const QColor &borderColor) -{ - if (m_borderColor != borderColor){ - QColor oldValue = m_borderColor; - m_borderColor = borderColor; - notify("borderColor",oldValue,borderColor); - update(); - } -} - -void BaseDesignIntf::setItemVisible(const bool &value) -{ - if (isVisible()!=value){ - setVisible(value); - emit itemVisibleHasChanged(this); - } -} - -void BaseDesignIntf::setItemAlign(const ItemAlign &itemAlign) -{ - if (m_itemAlign != itemAlign){ - ItemAlign oldValue = m_itemAlign; - m_itemAlign = itemAlign; - notify("itemAlign",oldValue,itemAlign); - updatePossibleDirectionFlags(); - updateItemAlign(); - emit itemAlignChanged(this, oldValue, itemAlign); - } -} - -QString BaseDesignIntf::itemTypeName() const -{ - return m_itemTypeName; -} - -void BaseDesignIntf::setItemTypeName(const QString &itemTypeName) -{ - m_itemTypeName = itemTypeName; -} - -void BaseDesignIntf::emitObjectNamePropertyChanged(const QString &oldName, const QString &newName) -{ - emit propertyObjectNameChanged(oldName,newName); -} - -qreal BaseDesignIntf::borderLineSize() const -{ - return m_borderLineSize; -} - -void BaseDesignIntf::setBorderStyle(BorderStyle b) -{ - BorderStyle oldValue = m_borderStyle; - m_borderStyle = b; - update(); - notify("borderStyle",(BorderStyle)oldValue,(BorderStyle)b); -} - -void BaseDesignIntf::setBorderLineSize(qreal value) -{ - qreal oldValue = m_borderLineSize; - m_borderLineSize = value; - update(); - notify("borderLineSize",oldValue,value); -} - - -void BaseDesignIntf::moveRight() -{ - if (!m_fixedPos && page()) setItemPos(pos().x() + page()->horizontalGridStep(), pos().y()); -} - -void BaseDesignIntf::moveLeft() -{ - if (!m_fixedPos && page()) setItemPos(pos().x() - page()->horizontalGridStep(), pos().y()); -} - -void BaseDesignIntf::moveDown() -{ - if (!m_fixedPos && page()) setItemPos(pos().x(), pos().y() + page()->verticalGridStep()); -} - -void BaseDesignIntf::moveUp() -{ - if (!m_fixedPos && page()) setItemPos(pos().x(), pos().y() - page()->verticalGridStep()); -} - -void BaseDesignIntf::sizeRight() -{ - if ((m_possibleResizeDirectionFlags & ResizeLeft) || - (m_possibleResizeDirectionFlags & ResizeRight)) { - if (page()) setWidth(width() + page()->horizontalGridStep()); - } -} - -void BaseDesignIntf::sizeLeft() -{ - if ((m_possibleResizeDirectionFlags & ResizeLeft) || - (m_possibleResizeDirectionFlags & ResizeRight)) { - if(page()) setWidth(width() - page()->horizontalGridStep()); - } -} - -void BaseDesignIntf::sizeUp() -{ - if ((m_possibleResizeDirectionFlags & ResizeTop) || - (m_possibleResizeDirectionFlags & ResizeBottom)) { - if (page()) setHeight(height() - page()->verticalGridStep()); - } -} - -void BaseDesignIntf::sizeDown() -{ - if ((m_possibleResizeDirectionFlags & ResizeTop) || - (m_possibleResizeDirectionFlags & ResizeBottom)) { - if (page()) setHeight(height() + page()->verticalGridStep()); - } -} - -void BaseDesignIntf::setBorderLinesFlags(BorderLines flags) -{ - if (m_borderLinesFlags!=flags){ - BorderLines oldValue = m_borderLinesFlags; - m_borderLinesFlags = flags; - if (!isLoading()) { - update(rect()); - notify("borders",QVariant(oldValue),QVariant(flags)); - } - } -} - -BaseDesignIntf::BorderLines BaseDesignIntf::borderLines() const -{ - return m_borderLinesFlags; -} - - -void BaseDesignIntf::drawTopLine(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - painter->setPen(borderPen(TopLine)); - if(!isPageItem()) - { - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(rect.x()+3+m_borderLineSize, - rect.y()+3+m_borderLineSize, - rect.width()-3-m_borderLineSize, - rect.y()+3+m_borderLineSize); - - painter->drawLine(rect.x(), rect.y(), rect.width(), rect.y()); - - } - else - { - - painter->drawLine(page()->pageItem()->pageRect().x(), - page()->pageItem()->pageRect().y(), - page()->pageItem()->pageRect().width() + (page()->pageItem()->leftMargin()*10), - page()->pageItem()->pageRect().y()); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(page()->pageItem()->pageRect().x()+3+m_borderLineSize, - page()->pageItem()->pageRect().y()+3+m_borderLineSize, - page()->pageItem()->pageRect().width()-3-m_borderLineSize + (page()->pageItem()->leftMargin()*10), - page()->pageItem()->pageRect().y()+3+m_borderLineSize); - - } - -} - -void BaseDesignIntf::drawBootomLine(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - - painter->setPen(borderPen(BottomLine)); - if(!isPageItem()) - { - painter->drawLine(rect.x(), rect.height(), rect.width(), rect.height()); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(rect.x()+3+m_borderLineSize, - rect.height()-3-m_borderLineSize, - rect.width()-3-m_borderLineSize, - rect.height()-3-m_borderLineSize); - } - else - { - - painter->drawLine(page()->pageItem()->pageRect().x(), - page()->pageItem()->pageRect().height() + (page()->pageItem()->topMargin()*10) - , page()->pageItem()->pageRect().width() + (page()->pageItem()->leftMargin()*10), - page()->pageItem()->pageRect().height() + (page()->pageItem()->topMargin()*10)); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(page()->pageItem()->pageRect().x()+3+m_borderLineSize, - page()->pageItem()->pageRect().height()-3-m_borderLineSize + (page()->pageItem()->topMargin()*10), - page()->pageItem()->pageRect().width()-3-m_borderLineSize + (page()->pageItem()->leftMargin()*10), - page()->pageItem()->pageRect().height()-3-m_borderLineSize + (page()->pageItem()->topMargin()*10)); - } - -} - -void BaseDesignIntf::drawRightLine(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - painter->setPen(borderPen(RightLine)); - if(!isPageItem()) - { - painter->drawLine(rect.width(), rect.y(), rect.width(), rect.height()); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(rect.width()-3 - m_borderLineSize, - rect.y()+3+m_borderLineSize, - rect.width()-3-m_borderLineSize, - rect.height()-3-m_borderLineSize); - } - else - { - painter->drawLine(page()->pageItem()->pageRect().width() + (page()->pageItem()->leftMargin()*10), page()->pageItem()->pageRect().y(), - page()->pageItem()->pageRect().width() + (page()->pageItem()->leftMargin()*10), - page()->pageItem()->pageRect().height() + (page()->pageItem()->topMargin()*10)); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(page()->pageItem()->pageRect().width()-3 - m_borderLineSize + (page()->pageItem()->leftMargin()*10), - page()->pageItem()->pageRect().y()+3+m_borderLineSize, - page()->pageItem()->pageRect().width()-3-m_borderLineSize + (page()->pageItem()->leftMargin()*10), - page()->pageItem()->pageRect().height()-3-m_borderLineSize + (page()->pageItem()->topMargin()*10)); - } - - -} - -void BaseDesignIntf::drawLeftLine(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - painter->setPen(borderPen(LeftLine)); - if(!isPageItem()) - { - painter->drawLine(rect.x(), rect.y(), rect.x(), rect.height()); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(page()->pageItem()->pageRect().x()+3+m_borderLineSize, - page()->pageItem()->pageRect().y()+3+m_borderLineSize, - page()->pageItem()->pageRect().x()+3+m_borderLineSize, - page()->pageItem()->pageRect().height()-3-m_borderLineSize); - } - else - { - painter->drawLine(page()->pageItem()->pageRect().x(), - page()->pageItem()->pageRect().y(), - page()->pageItem()->pageRect().x(), - page()->pageItem()->pageRect().height() + (page()->pageItem()->topMargin()*10)); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(page()->pageItem()->pageRect().x()+3+m_borderLineSize, - page()->pageItem()->pageRect().y()+3+m_borderLineSize, - page()->pageItem()->pageRect().x()+3+m_borderLineSize, - page()->pageItem()->pageRect().height()-3-m_borderLineSize + (page()->pageItem()->topMargin()*10)); - } - - -} - -void BaseDesignIntf::drawDesignModeBorder(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - drawTopLine(painter, rect); - drawBootomLine(painter, rect); - drawLeftLine(painter, rect); - drawRightLine(painter, rect); -} - -void BaseDesignIntf::drawRenderModeBorder(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - if (m_borderLinesFlags & RightLine) drawRightLine(painter, rect); - if (m_borderLinesFlags & LeftLine) drawLeftLine(painter, rect); - if (m_borderLinesFlags & TopLine ) drawTopLine(painter, rect); - if (m_borderLinesFlags & BottomLine) drawBootomLine(painter, rect); -} - -void BaseDesignIntf::drawBorder(QPainter *painter, QRectF rect) const -{ - painter->save(); - if (itemMode() & DesignMode && drawDesignBorders()) { - drawDesignModeBorder(painter, rect); - } - else drawRenderModeBorder(painter, rect); - painter->restore(); -} - -void BaseDesignIntf::drawShadow(QPainter *painter, QRectF rect, qreal shadowSize) const -{ - qreal shWidth = shadowSize; - QRectF rshadow(rect.topRight() + QPointF(0, shWidth), - rect.bottomRight() + QPointF(shWidth, 0)); - QLinearGradient rgrad(rshadow.topLeft(), rshadow.topRight()); - rgrad.setColorAt(0.0, QColor(0,0,0,255)); - rgrad.setColorAt(1.0, QColor(0,0,0,0)); - painter->fillRect(rshadow, QBrush(rgrad)); - QRectF bshadow(rect.bottomLeft() + QPointF(shWidth, 0), - rect.bottomRight() + QPointF(0, shWidth)); - QLinearGradient bgrad(bshadow.topLeft(), bshadow.bottomLeft()); - bgrad.setColorAt(0.0, QColor(0,0,0,255)); - bgrad.setColorAt(1.0, QColor(0,0,0,0)); - painter->fillRect(bshadow, QBrush(bgrad)); - QRectF cshadow(rect.bottomRight(), - rect.bottomRight() + QPointF(shWidth, shWidth)); - QRadialGradient cgrad(cshadow.topLeft(), shWidth, cshadow.topLeft()); - cgrad.setColorAt(0.0, QColor(0,0,0,255)); - cgrad.setColorAt(1.0, QColor(0,0,0,0)); - painter->fillRect(cshadow, QBrush(cgrad)); -} - -void BaseDesignIntf::setGeometry(QRectF rect) -{ - if (m_rect == rect) return; - m_oldGeometry = m_rect; - if (!isLoading()) - prepareGeometryChange(); - m_rect = rect; - m_topRect = QRectF(0-resizeHandleSize(), 0-resizeHandleSize(), width()+resizeHandleSize()*2, resizeHandleSize()*2); - m_bottomRect = QRectF(0-resizeHandleSize(), height() - resizeHandleSize(), width()+resizeHandleSize()*2, resizeHandleSize()*2); - m_leftRect = QRectF(0-resizeHandleSize(), 0-resizeHandleSize(), resizeHandleSize()*2, height()+resizeHandleSize()*2); - m_rightRect = QRectF(width() - resizeHandleSize(), 0-resizeHandleSize(), resizeHandleSize()*2, height()+resizeHandleSize()*2); - m_boundingRect = QRectF(); - updateSelectionMarker(); - if (!isLoading()){ - geometryChangedEvent(geometry(), m_oldGeometry); - emit geometryChanged(this, geometry(), m_oldGeometry); - } -} - -void BaseDesignIntf::geometryChangedEvent(QRectF newRect, QRectF oldRect) -{ - Q_UNUSED(oldRect); - Q_UNUSED(newRect); -} - -void BaseDesignIntf::beforeDelete() -{ - -} - -void BaseDesignIntf::setGeometryProperty(QRect rect) -{ - if ( rect != m_itemGeometry ){ - QRectF oldValue = geometry(); - if ((rect.x() != geometry().x()) || (rect.y() != geometry().y())) - setPos(rect.x(), rect.y()); - if (rect.width() != geometry().width()) - setWidth(rect.width()); - if (rect.height() != geometry().height()) - setHeight(rect.height()); - if (!isLoading()) { - notify("geometry",oldValue,rect); - } - } -} - -PageDesignIntf *BaseDesignIntf::page() const -{ - return dynamic_cast(scene()); -} - -void BaseDesignIntf::setPossibleResizeDirectionFlags(int directionsFlags) -{ - m_possibleResizeDirectionFlags = directionsFlags; -} - -QPen BaseDesignIntf::borderPen(BorderSide side/*, bool selected*/) const -{ - QPen pen; - if (m_borderLinesFlags & side) { - pen.setColor(m_borderColor); - if(borderStyle() != BorderStyle::Doubled) - pen.setStyle(static_cast(m_borderStyle)); - //pen.setCosmetic(true); - pen.setWidthF(m_borderLineSize+1); //To draw with point precision (By default: 2px = 1 pt) - - } else { - pen.setColor(Qt::darkGray); - pen.setStyle(Qt::SolidLine); - pen.setWidth(1); - } - return pen; -} - -QColor BaseDesignIntf::selectionColor() const -{ - return Const::SELECTION_COLOR; -} - -void BaseDesignIntf::initFlags() -{ - if ((itemMode()&DesignMode) || (itemMode()&EditMode)) { - setFlag(QGraphicsItem::ItemIsSelectable); - setFlag(QGraphicsItem::ItemSendsGeometryChanges); - setAcceptHoverEvents(true); - } - else { - setFlag(QGraphicsItem::ItemIsSelectable, false); - setAcceptHoverEvents(false); - } - -} - -void BaseDesignIntf::initMode(ItemMode mode) -{ - Q_UNUSED(mode); -} - -QVariant BaseDesignIntf::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value) -{ - - if (change == QGraphicsItem::ItemPositionHasChanged) { - updateSelectionMarker(); - emit geometryChanged(this, geometry(), geometry()); - } - - if (change == QGraphicsItem::ItemSelectedChange) { - turnOnSelectionMarker(value.toBool()); - emit itemSelectedHasBeenChanged(this, value.toBool()); - } - if (change == QGraphicsItem::ItemParentHasChanged) { - parentChangedEvent(dynamic_cast(value.value())); - } - - return QGraphicsItem::itemChange(change, value); -} - -void BaseDesignIntf::childAddedEvent(BaseDesignIntf *child) -{ - Q_UNUSED(child) -} - -void BaseDesignIntf::parentChangedEvent(BaseDesignIntf *) -{ - -} - -void BaseDesignIntf::restoreLinks() -{ -#ifdef HAVE_QT5 - foreach(QObject * child, children()) { -#else - foreach(QObject * child, QObject::children()) { -#endif - BaseDesignIntf *childItem = dynamic_cast(child); - if (childItem) {childItem->restoreLinks();} - } - restoreLinksEvent(); -} - -QPainterPath BaseDesignIntf::shape() const -{ - QPainterPath path; - path.addRect(this->boundingRect()); - return path; -} - -void BaseDesignIntf::drawMarker(QPainter *painter, QColor color) const -{ - painter->save(); - - QPen pen(color, m_selectionPenSize); - painter->setPen(pen); - painter->setBrush(QBrush(color)); - painter->setOpacity(1); - const int markerSize = Const::RESIZE_HANDLE_SIZE; - painter->drawRect(QRectF(-markerSize,-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize,rect().top()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()-markerSize, - rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize, - rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize, - rect().top()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize, - rect().bottom()-markerSize,markerSize*2,markerSize*2)); - - pen.setStyle(Qt::DotLine); - painter->setPen(pen); - painter->setBrush(QBrush(Qt::transparent)); - painter->drawRect(rect()); - painter->restore(); -} - -void BaseDesignIntf::moveSelectedItems(QPointF delta) -{ - QList selectedItems; - selectedItems = scene()->selectedItems(); - BaseDesignIntf *selectedItem; - foreach(QGraphicsItem * item, selectedItems) { - if (item != this) { - selectedItem = dynamic_cast(item); - if (selectedItem && !selectedItem->isBand()) { - if (!selectedItem->m_fixedPos) - selectedItem->setItemPos(selectedItem->pos() - delta); - } - } - } -} - -void BaseDesignIntf::setItemPos(qreal x, qreal y) -{ - setItemPos(QPointF(x, y)); -} - -void BaseDesignIntf::setItemMode(ItemMode mode) -{ - m_itemMode = mode; - foreach(QGraphicsItem * item, childItems()) { - BaseDesignIntf *ri = dynamic_cast(item); - if (ri) ri->setItemMode(mode); - } - initMode(mode); - initFlags(); -} -void BaseDesignIntf::setItemPos(const QPointF &newPos) -{ - QPointF oldPos = pos(); - QPointF finalPos = modifyPosForAlignedItem(newPos); - QGraphicsItem::setPos(finalPos); - emit posChanging(this, finalPos, oldPos); -} - - -QWidget* BaseDesignIntf::findRootWidget(QWidget* widget) -{ - while (widget->parentWidget()) { - widget = widget->parentWidget(); - } - return widget; -} - -void BaseDesignIntf::showDialog(QWidget *widget) -{ - if (!widget) { - return; - } - widget->setStyleSheet(findRootWidget(scene()->views().at(0))->styleSheet()); - QDialog *dialog = new QDialog(QApplication::activeWindow()); - widget->setParent(dialog); - widget->setAttribute(Qt::WA_DeleteOnClose); -#ifdef Q_OS_MAC - dialog->setWindowModality(Qt::WindowModal); -#else - dialog->setWindowModality(Qt::ApplicationModal); -#endif - dialog->setLayout(new QVBoxLayout()); - dialog->resize(widget->size()); - dialog->layout()->setContentsMargins(2,2,2,2); - dialog->layout()->addWidget(widget); - connect(widget,SIGNAL(destroyed()),dialog,SLOT(close())); - dialog->setWindowTitle(widget->windowTitle()); - dialog->exec(); - dialog->deleteLater(); -} - -void BaseDesignIntf::showEditorDialog() -{ - showDialog(defaultEditor()); -} - -void BaseDesignIntf::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) -{ - if (event->button() == Qt::LeftButton && - ((itemMode()&EditMode)||(itemMode()&DesignMode)) - ) { - showEditorDialog(); - } - QGraphicsItem::mouseDoubleClickEvent(event); -} - -void BaseDesignIntf::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) -{ - if (!(flags() & QGraphicsItem::ItemIsSelectable)) return; - PageDesignIntf* page = dynamic_cast(scene()); - if (!page->selectedItems().contains(this)){ - page->clearSelection(); - this->setSelected(true); - } - QMenu menu(event->widget()); - - QAction* lockGeometryAction = menu.addAction(tr("Lock item geometry")); - lockGeometryAction->setCheckable(true); - - lockGeometryAction->setChecked(isGeometryLocked()); - menu.addSeparator(); - - QAction* copyAction = menu.addAction(QIcon(":/report/images/copy"), tr("Copy")); - QAction* cutAction = menu.addAction(QIcon(":/report/images/cut"), tr("Cut")); - QAction* pasteAction = menu.addAction(QIcon(":/report/images/paste"), tr("Paste")); - pasteAction->setEnabled(false); - -#if QT_VERSION >=QT_VERSION_CHECK(5,0,0) - lockGeometryAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_L)); - copyAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_C)); - cutAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_X)); - pasteAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_V)); -#else - lockGeometryAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_L)); - copyAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_C)); - cutAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_X)); - pasteAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_V)); -#endif - - QClipboard *clipboard = QApplication::clipboard(); - ItemsReaderIntf::Ptr reader = StringXMLreader::create(clipboard->text()); - if (reader->first() && reader->itemType() == "Object"){ - pasteAction->setEnabled(true); - } - menu.addSeparator(); - QAction* bringToTopAction = menu.addAction(QIcon(":/report/images/bringToTop"), tr("Bring to top")); - QAction* sendToBackAction = menu.addAction(QIcon(":/report/images/sendToBack"), tr("Send to back")); - QAction* createHLayout = 0; - if( page->selectedItems().count()>1){ - createHLayout = menu.addAction(QIcon(":/report/images/hlayout"), tr("Create Horizontal Layout")); - } - QAction* createVLayout = 0; - if( page->selectedItems().count()>1){ - createVLayout = menu.addAction(QIcon(":/report/images/vlayout"), tr("Create Vertical Layout")); - } - menu.addSeparator(); - QAction* noBordersAction = menu.addAction(QIcon(":/report/images/noLines"), tr("No borders")); - QAction* allBordersAction = menu.addAction(QIcon(":/report/images/allLines"), tr("All borders")); - QAction* editBorderAction = menu.addAction(QIcon(":/report/images/borderEditor"), tr("Edit borders...")); - QMenu *alignement = menu.addMenu(tr("Align items")); - QAction* alignLeft = new QAction(QIcon(":/report/images/alignToLeft"),tr("Align to left")); - QAction* alignRight = new QAction(QIcon(":/report/images/alignToRight"),tr("Align to right")); - QAction* alignTop = new QAction(QIcon(":/report/images/alignToTop"),tr("Align to top")); - QAction* alignBottom = new QAction(QIcon(":/report/images/alignToBottom"),tr("Align to bottom")); - QAction* alignHCenter = new QAction(QIcon(":/report/images/alignToHCenter"),tr("Align to horizontal center")); - QAction* alignVCenter = new QAction(QIcon(":/report/images/alignToHCenter"),tr("Align to vertical center")); - QMenu *resize = menu.addMenu(tr("Resize items")); - QAction* toSameWidth = new QAction(QIcon(":/report/images/sameWidth"),tr("Same width")); - QAction* toSameHeight = new QAction(QIcon(":/report/images/sameHeight"),tr("Same height")); - QMenu *itemAlign = menu.addMenu(tr("Align items to page")); - QAction* itemAlignToLeft = new QAction(tr("Align to left")); - QAction* itemAlignToRight = new QAction(tr("Align to right")); - QAction* itemAlignToCenter = new QAction(tr("Align to center")); - QAction* cancelItemAlign = new QAction(tr("cancel alignement")); - QAction* itemAlignParent = new QAction(tr("Align to page width")); - menu.addMenu(itemAlign); - itemAlign->addAction(itemAlignToLeft); - itemAlignToLeft->setChecked(m_itemAlign == LeftItemAlign); - itemAlignToRight->setChecked(m_itemAlign == RightItemAlign); - itemAlignToCenter->setChecked(m_itemAlign == CenterItemAlign); - itemAlignParent->setChecked(m_itemAlign == ParentWidthItemAlign); - cancelItemAlign->setChecked(m_itemAlign == DesignedItemAlign); - itemAlign->addAction(itemAlignToRight); - itemAlign->addAction(itemAlignToCenter); - itemAlign->addAction(itemAlignParent); - itemAlign->addAction(cancelItemAlign); - resize->addAction(toSameWidth); - resize->addAction(toSameHeight); - alignement->addAction(alignLeft); - alignement->addAction(alignRight); - alignement->addAction(alignTop); - alignement->addAction(alignBottom); - - connect(alignLeft,&QAction::triggered,this,[=](){page->alignToLeft();}); - connect(alignRight,&QAction::triggered,this,[=](){page->alignToRigth();}); - connect(alignTop,&QAction::triggered,this,[=](){page->alignToTop();}); - connect(alignBottom,&QAction::triggered,this,[=](){page->alignToBottom();}); - connect(alignHCenter,&QAction::triggered,this,[=](){page->alignToHCenter();}); - connect(alignVCenter,&QAction::triggered,this,[=](){page->alignToVCenter();}); - connect(toSameWidth,&QAction::triggered,this,[=](){page->sameWidth();}); - connect(toSameHeight,&QAction::triggered,this,[=](){page->sameHeight();}); - connect(itemAlignToLeft,&QAction::triggered,this,[=](){page->setItemAlign(BaseDesignIntf::LeftItemAlign);}); - connect(itemAlignToRight,&QAction::triggered,this,[=](){page->setItemAlign(BaseDesignIntf::RightItemAlign);}); - connect(itemAlignToCenter,&QAction::triggered,this,[=](){page->setItemAlign(BaseDesignIntf::CenterItemAlign);}); - connect(itemAlignParent,&QAction::triggered,this,[=](){page->setItemAlign(BaseDesignIntf::ParentWidthItemAlign);}); - connect(cancelItemAlign,&QAction::triggered,this,[=](){page->setItemAlign(BaseDesignIntf::DesignedItemAlign);}); - - preparePopUpMenu(menu); - QAction* a = menu.exec(event->screenPos()); - if (a){ - if (a == cutAction) - { - page->cut(); - return; - } - if (a == copyAction) - page->copy(); - if (a == pasteAction) - page->paste(); - if (a == bringToTopAction) - page->bringToFront(); - if (a == sendToBackAction) - page->sendToBack(); - if (a == noBordersAction) - page->setBorders(BaseDesignIntf::NoLine); - if (a == allBordersAction) - page->setBorders(BaseDesignIntf::AllLines); - if (a == editBorderAction) - { - BorderEditor be; - be.loadItem(this); - if (be.exec() == QDialog::Rejected) return; - page->setBordersExt(be.borderSides(), be.borderWidth(), (LimeReport::BaseDesignIntf::BorderStyle)be.borderStyle(), be.borderColor()); - } - if (a == createHLayout) - page->addHLayout(); - if (a == createVLayout) - page->addVLayout(); - - processPopUpAction(a); - } - - - -} - -int BaseDesignIntf::possibleMoveDirectionFlags() const -{ - return m_possibleMoveDirectionFlags; -} - -void BaseDesignIntf::setPossibleMoveFlags(int directionsFlags) -{ - m_possibleMoveDirectionFlags = directionsFlags; -} - -void BaseDesignIntf::setMarginSize(int value) -{ - if (m_margin!=value){ - int oldValue = m_margin; - m_margin=value; - if (!isLoading()){ - update(rect()); - notify("margin", oldValue, value); - } - } -} - -void BaseDesignIntf::drawResizeZone(QPainter* /*painter*/) -{ - - // if (m_resizeAreas.count() > 0) { - // painter->save(); - // painter->setPen(QPen(Const::RESIZE_ZONE_COLOR)); - // (isSelected()) ? painter->setOpacity(Const::SELECTED_RESIZE_ZONE_OPACITY) : painter->setOpacity(Const::RESIZE_ZONE_OPACITY); - // painter->setBrush(QBrush(Qt::green, Qt::SolidPattern)); - // foreach(QRectF * resizeArea, m_resizeAreas) painter->drawRect(*resizeArea); - // painter->restore(); - // } - -} - -void BaseDesignIntf::initResizeZones() -{ - m_resizeAreas.clear(); - if (m_resizeDirectionFlags & ResizeBottom) m_resizeAreas.append(&m_bottomRect); - if (m_resizeDirectionFlags & ResizeTop) m_resizeAreas.append(&m_topRect); - if (m_resizeDirectionFlags & ResizeLeft) m_resizeAreas.append(&m_leftRect); - if (m_resizeDirectionFlags & ResizeRight) m_resizeAreas.append(&m_rightRect); -} - -void BaseDesignIntf::invalidateRect(const QRectF &rect) -{ - if (scene()) - scene()->update(mapToScene(rect).boundingRect()); -} - -ReportEnginePrivate *BaseDesignIntf::reportEditor() -{ - PageDesignIntf *page = dynamic_cast(scene()); - if (page) return page->reportEditor(); - else return 0; -} - -void BaseDesignIntf::updateItemSize(DataSourceManager *dataManager, RenderPass pass, int maxHeight) -{ - Q_UNUSED(maxHeight); - Q_UNUSED(dataManager); - m_currentPass = pass; - updateItemAlign(); -} - -bool BaseDesignIntf::isNeedUpdateSize(RenderPass /*pass*/) const -{return false;} - -void BaseDesignIntf::drawPinArea(QPainter *painter) const -{ - painter->drawRect(QRect(0, 0, 16, 16)); -} - -QObject *BaseDesignIntf::createElement(const QString& /*collectionName*/, const QString &elementType) -{ - BaseDesignIntf* obj = 0; - try{ - if (LimeReport::DesignElementsFactory::instance().objectCreator(elementType)){ - obj = LimeReport::DesignElementsFactory::instance().objectCreator(elementType)(this, this); - if (page()) - connect(obj, SIGNAL(propertyChanged(QString,QVariant,QVariant)), - page(), SLOT(slotItemPropertyChanged(QString,QVariant,QVariant))); - } - } catch (ReportError &error){ - qDebug()<(obj); - if (item && page()) { - page()->registerItem(item); - } - } - } - } - emit loadCollectionFinished(collectionName); -} - -BaseDesignIntf *BaseDesignIntf::cloneItem(ItemMode mode, QObject *owner, QGraphicsItem *parent) -{ - BaseDesignIntf *clone = cloneItemWOChild(mode, owner, parent); - clone->setPatternName(this->objectName()); - clone->setPatternItem(this); -#ifdef HAVE_QT5 - foreach(QObject * child, children()) { -#else - foreach(QObject * child, QObject::children()) { -#endif - BaseDesignIntf *childItem = dynamic_cast(child); - if (childItem) {clone->childAddedEvent(childItem->cloneItem(mode, clone, clone));} - } - return clone; -} - -BaseDesignIntf *BaseDesignIntf::cloneItemWOChild(ItemMode mode, QObject *owner, QGraphicsItem *parent) -{ - BaseDesignIntf *clone = createSameTypeItem(owner, parent); - clone->setObjectName(this->objectName()); - clone->setItemMode(mode); - clone->objectLoadStarted(); - clone->setReportSettings(this->reportSettings()); - for (int i = 0; i < clone->metaObject()->propertyCount(); i++) { - if (clone->metaObject()->property(i).isWritable()) - clone->setProperty(clone->metaObject()->property(i).name(), property(clone->metaObject()->property(i).name())); - } - clone->objectLoadFinished(); - return clone; -} - -void BaseDesignIntf::initFromItem(BaseDesignIntf *source) -{ - objectLoadStarted(); - for (int i = 0; i < metaObject()->propertyCount(); i++) { - if (strcmp(metaObject()->property(i).name(),"objectName")!=0) - if (source->property(metaObject()->property(i).name()).isValid()) { - if (metaObject()->property(i).isWritable()) - setProperty(metaObject()->property(i).name(), source->property(metaObject()->property(i).name())); - } - } - objectLoadFinished(); -} - -bool BaseDesignIntf::canBeSplitted(int height) const -{Q_UNUSED(height); return false;} - -bool BaseDesignIntf::isEmpty() const -{return false;} - -BaseDesignIntf *BaseDesignIntf::cloneUpperPart(int height, QObject *owner, QGraphicsItem *parent) -{Q_UNUSED(height); Q_UNUSED(owner); Q_UNUSED(parent); return 0;} - -BaseDesignIntf *BaseDesignIntf::cloneBottomPart(int height, QObject *owner, QGraphicsItem *parent) -{Q_UNUSED(height); Q_UNUSED(owner); Q_UNUSED(parent); return 0;} - -BaseDesignIntf *BaseDesignIntf::cloneEmpty(int height, QObject *owner, QGraphicsItem *parent) -{Q_UNUSED(height); Q_UNUSED(owner); Q_UNUSED(parent); return 0;} - - -void BaseDesignIntf::objectLoadStarted() -{ - m_objectState = ObjectLoading; -} - -void BaseDesignIntf::objectLoadFinished() -{ - m_objectState = ObjectLoaded; - emit objectLoaded(this); -} - -void BaseDesignIntf::parentObjectLoadFinished() -{} - -QList BaseDesignIntf::childBaseItems() const -{ - QList resList; - foreach(QGraphicsItem * item, childItems()) { - BaseDesignIntf *baseItem = dynamic_cast(item); - if (baseItem) resList << baseItem; - } - return resList; -} - - -void BaseDesignIntf::addChildItems(QList* list){ - foreach(BaseDesignIntf* item, childBaseItems()){ - list->append(item); - item->addChildItems(list); - } -} - -qreal BaseDesignIntf::calcAbsolutePosY(qreal currentOffset, BaseDesignIntf *item) -{ - BaseDesignIntf* parent = dynamic_cast(item->parent()); - if (parent) - return calcAbsolutePosY(currentOffset + item->getItemPosY(), parent); - else - return currentOffset + item->getItemPosY(); -} - -qreal BaseDesignIntf::calcAbsolutePosX(qreal currentOffset, BaseDesignIntf *item) -{ - BaseDesignIntf* parent = dynamic_cast(item->parent()); - if (parent) - return calcAbsolutePosX(currentOffset + item->getItemPosX(), parent); - else - return currentOffset + item->getItemPosX(); -} - -QList BaseDesignIntf::allChildBaseItems() -{ - QList resList; - addChildItems(&resList); - return resList; -} - -BaseDesignIntf *BaseDesignIntf::childByName(const QString &name) -{ - foreach(BaseDesignIntf* item, childBaseItems()){ - if (item->objectName().compare(name,Qt::CaseInsensitive)==0){ - return item; - } else { - BaseDesignIntf* child = item->childByName(name); - if (child) return child; - } - } - return 0; -} - -QWidget *BaseDesignIntf::defaultEditor() -{ - return 0; -} - -void BaseDesignIntf::notify(const QString &propertyName, const QVariant& oldValue, const QVariant& newValue) -{ - if (!isLoading()) - emit propertyChanged(propertyName, oldValue, newValue); -} - -void BaseDesignIntf::notify(const QVector& propertyNames) -{ - if (!isLoading()) - emit propertyesChanged(propertyNames); -} - - -QMap BaseDesignIntf::getStringForTranslation(){ - return QMap(); -} - -QVariant BookmarkContainerDesignIntf::getBookMark(const QString& key) -{ - if (m_bookmarks.contains(key)) - return m_bookmarks.value(key); - else return QVariant(); -} - -void BookmarkContainerDesignIntf::copyBookmarks(BookmarkContainerDesignIntf* source) -{ - foreach(QString key, source->bookmarks()){ - addBookmark(key,source->getBookMark(key)); - } -} - -QRectF Marker::boundingRect() const -{ - return m_rect.adjusted(-15,-15,15,15); -} - -void Marker::paint(QPainter* painter, const QStyleOptionGraphicsItem*, QWidget*) -{ - QPen pen; - const int markerSize = 5; - pen.setColor(color()); - pen.setWidth(2); - pen.setStyle(Qt::DotLine); - painter->setPen(pen); - painter->setOpacity(Const::SELECTION_COLOR_OPACITY); - painter->drawRect(rect()); - painter->setBrush(color()); - painter->setPen(Qt::transparent); - - painter->setOpacity(1); - painter->drawRect(QRectF(-markerSize,-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize,rect().top()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()-markerSize, - rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize, - rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize, - rect().top()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize, - rect().bottom()-markerSize,markerSize*2,markerSize*2)); -} - -QColor Marker::color() const { - return m_color; -} - -SelectionMarker::SelectionMarker(QGraphicsItem* parent, BaseDesignIntf* owner) - : Marker(parent, owner) -{ - setAcceptHoverEvents(true); -} - -QColor SelectionMarker::color() const -{ - return owner()->isGeometryLocked() ? Qt::darkGray : Marker::color(); -} - -void SelectionMarker::hoverMoveEvent(QGraphicsSceneHoverEvent *event) -{ - if (owner()) owner()->hoverMoveEvent(event); - QGraphicsItem::hoverMoveEvent(event); -} - -void SelectionMarker::mousePressEvent(QGraphicsSceneMouseEvent *event) -{ - if (owner()){ - owner()->setSelected(true); - owner()->mousePressEvent(event); - } - QGraphicsItem::mousePressEvent(event); -} - -void SelectionMarker::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) -{ - if (owner()) owner()->mouseReleaseEvent(event); -} - -void SelectionMarker::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) -{ - if (owner()) owner()->mouseDoubleClickEvent(event); - QGraphicsItem::mouseDoubleClickEvent(event); -} - -void SelectionMarker::mouseMoveEvent(QGraphicsSceneMouseEvent *event) -{ - qDebug() << "mouse move"; - if (owner()) owner()->mouseMoveEvent(event); -} - -void BaseDesignIntf::processPopUpAction(QAction *action){ - if (page()){ - if (action->text().compare(tr("Lock item geometry")) == 0){ - page()->setPropertyToSelectedItems("geometryLocked",action->isChecked()); - } - } -} - -} //namespace LimeReport diff --git a/limereport/lrbasedesignintf_REMOTE_1195.cpp b/limereport/lrbasedesignintf_REMOTE_1195.cpp deleted file mode 100644 index d66efeb..0000000 --- a/limereport/lrbasedesignintf_REMOTE_1195.cpp +++ /dev/null @@ -1,1895 +0,0 @@ -/*************************************************************************** - * This file is part of the Lime Report project * - * Copyright (C) 2021 by Alexander Arin * - * arin_a@bk.ru * - * * - ** GNU General Public License Usage ** - * * - * This library is free software: you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation, either version 3 of the License, or * - * (at your option) any later version. * - * You should have received a copy of the GNU General Public License * - * along with this program. If not, see . * - * * - ** GNU Lesser General Public License ** - * * - * This library is free software: you can redistribute it and/or modify * - * it under the terms of the GNU Lesser General Public License as * - * published by the Free Software Foundation, either version 3 of the * - * License, or (at your option) any later version. * - * You should have received a copy of the GNU Lesser General Public * - * License along with this library. * - * If not, see . * - * * - * This library is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - ****************************************************************************/ -#include -#include "lrbasedesignintf.h" -#include "lrglobal.h" -#include "lrpagedesignintf.h" -#include "lrreportdesignwidget.h" -#include "qgraphicsitem.h" -#include "lrdesignelementsfactory.h" -#include "lrhorizontallayout.h" -#include "serializators/lrstorageintf.h" -#include "serializators/lrxmlreader.h" -#include "lrbordereditor.h" -#include -#include -#include -#include -#include -#include -#include -#include - -namespace LimeReport -{ - -BaseDesignIntf::BaseDesignIntf(const QString &storageTypeName, QObject *owner, QGraphicsItem *parent) : - QObject(owner), QGraphicsItem(parent), - m_resizeHandleSize(Const::RESIZE_HANDLE_SIZE*2), - m_selectionPenSize(Const::SELECTION_PEN_SIZE), - m_possibleResizeDirectionFlags(ResizeTop | ResizeBottom | ResizeLeft | ResizeRight), - m_possibleMoveDirectionFlags(All), - m_resizeDirectionFlags(0), - m_width(200), - m_height(50), - m_fontColor(Qt::black), - m_fixedPos(false), - m_borderLineSize(1), - m_BGMode(OpaqueMode), - m_opacity(100), - m_borderLinesFlags(BorderLines()), - m_borderStyle(BorderStyle::Solid), - m_storageTypeName(storageTypeName), - m_itemMode(DesignMode), - m_objectState(ObjectCreated), - m_backgroundBrushStyle(SolidPattern), - m_backgroundColor(Qt::white), - m_margin(4), - m_itemAlign(DesignedItemAlign), - m_changingItemAlign(false), - m_borderColor(Qt::black), - m_reportSettings(0), - m_patternName(""), - m_patternItem(0), - m_fillInSecondPass(false), - m_watermark(false), - m_hovered(false), - m_joinMarkerOn(false), - m_selectionMarker(0), - m_fillTransparentInDesignMode(true), - m_unitType(Millimeters), - m_itemGeometryLocked(false), - m_isChangingPos(false), - m_isMoveable(false), - m_shadow(false) - - -{ - setGeometry(QRectF(0, 0, m_width, m_height)); - if (BaseDesignIntf *item = dynamic_cast(parent)) { - m_font = item->font(); - } else{ - m_font = QFont("Arial",10); - } - initFlags(); -} - -QRectF BaseDesignIntf::boundingRect() const -{ - qreal halfpw = pen().widthF() / 2; - halfpw += 2; - return rect().adjusted(-halfpw, -halfpw, halfpw, halfpw); -} - -BaseDesignIntf::~BaseDesignIntf(void) { - -} - -void BaseDesignIntf::setParentReportItem(const QString &value) -{ - if (page() && !value.isEmpty()) { - BaseDesignIntf *p = page()->reportItemByName(value); - if (p) { - setParentItem(p); - setParent(p); - } - } -} - -QString BaseDesignIntf::parentReportItemName() const -{ - BaseDesignIntf *parent = dynamic_cast(parentItem()); - if (parent) return parent->objectName(); - else return ""; -} - -void BaseDesignIntf::setBackgroundBrushStyle(BrushStyle value) -{ - if ( value != m_backgroundBrushStyle ){ - BrushStyle oldValue = m_backgroundBrushStyle; - m_backgroundBrushStyle=value; - if (!isLoading()) update(); - notify("backgroundBrushStyle", static_cast(oldValue), static_cast(value)); - } -} - -void BaseDesignIntf::setBackgroundColor(QColor value) -{ - if (value != m_backgroundColor){ - QColor oldValue = m_backgroundColor; - m_backgroundColor=value; - if (!isLoading()) update(); - notify("backgroundColor", oldValue, value); - } -} - -QPen BaseDesignIntf::pen() const -{ - return m_pen; -} - -void BaseDesignIntf::setPen(QPen &pen) -{ - m_pen = pen; - update(); -} - -QFont BaseDesignIntf::font() const -{ - return m_font; -} - -void BaseDesignIntf::setFont(QFont &font) -{ - if (m_font != font){ - m_font = font; - if (!isLoading()) update(); - } -} - -qreal BaseDesignIntf::width() const -{ - return rect().width(); -} - -void BaseDesignIntf::setWidth(qreal width) -{ - setGeometry(QRectF(rect().x(), rect().y(), width, rect().height())); - if (!m_changingItemAlign) - updateItemAlign(); -} - -QString BaseDesignIntf::setItemWidth(qreal width) -{ - setWidth(width * unitFactor()); - return QString(); -} - -qreal BaseDesignIntf::height() const -{ - return rect().height(); -} - -QRect BaseDesignIntf::geometry() const -{ - return QRect(pos().x(), pos().y(), width(), height()); -} - -void BaseDesignIntf::setHeight(qreal height) -{ - setGeometry(QRectF(rect().x(), rect().y(), rect().width(), height)); -} - -QString BaseDesignIntf::setItemHeight(qreal height) -{ - setHeight(height * unitFactor()); - return QString(); -} - -qreal BaseDesignIntf::getItemWidth() -{ - return width() / unitFactor(); -} - -qreal BaseDesignIntf::getItemHeight() -{ - return height() / unitFactor(); -} - -qreal BaseDesignIntf::getItemPosX() -{ - return x() / unitFactor(); -} - -qreal BaseDesignIntf::getItemPosY() -{ - return y() / unitFactor(); -} - -qreal BaseDesignIntf::getAbsolutePosX() -{ - return calcAbsolutePosX(0,this); -} - -qreal BaseDesignIntf::getAbsolutePosY() -{ - return calcAbsolutePosY(0,this); -} - -QString BaseDesignIntf::setItemPosX(qreal xValue) -{ - setItemPos(xValue * unitFactor(),y()); - return QString(); -} - -QString BaseDesignIntf::setItemPosY(qreal yValue) -{ - setItemPos(x(),yValue * unitFactor()); - return QString(); -} - -QFont BaseDesignIntf::transformToSceneFont(const QFont& value) const -{ - QFont f = value; - f.setPixelSize(f.pointSize()*Const::fontFACTOR); - return f; -} - -QString BaseDesignIntf::expandDataFields(QString context, ExpandType expandType, DataSourceManager* dataManager) -{ - ScriptEngineManager& sm = ScriptEngineManager::instance(); - if (sm.dataManager() != dataManager) sm.setDataManager(dataManager); - return sm.expandDataFields(context, expandType, m_varValue, this); -} - -QString BaseDesignIntf::expandUserVariables(QString context, RenderPass pass, ExpandType expandType, DataSourceManager* dataManager) -{ - - ScriptEngineManager& sm = ScriptEngineManager::instance(); - if (sm.dataManager() != dataManager) sm.setDataManager(dataManager); - return sm.expandUserVariables(context, pass, expandType, m_varValue); - -} - -QString BaseDesignIntf::expandScripts(QString context, DataSourceManager* dataManager) -{ - - ScriptEngineManager& sm = ScriptEngineManager::instance(); - if (sm.dataManager() != dataManager) sm.setDataManager(dataManager); - return sm.expandScripts(context,m_varValue,this); - -} - -void BaseDesignIntf::setupPainter(QPainter *painter) const -{ - if (!painter) { - return; - } - painter->setFont(m_font); - painter->setPen(m_fontColor); -} - -BaseDesignIntf::BGMode BaseDesignIntf::backgroundMode() const -{ - return m_BGMode; -} -void BaseDesignIntf::setBackgroundMode(BGMode bgMode) -{ - m_BGMode = bgMode; - update(boundingRect()); -} - -int BaseDesignIntf::opacity() const -{ - return m_opacity; -} - -void BaseDesignIntf::setOpacity(int opacity) -{ - if (m_opacity!=opacity){ - if (opacity < 0) { - m_opacity = 0; - } - else if (opacity > 100) { - m_opacity = 100; - } - else { - m_opacity = opacity; - } - update(); - } -} - -void BaseDesignIntf::setSize(QSizeF size) -{ - setWidth(size.width()); - setHeight(size.height()); -} - -QSizeF BaseDesignIntf::size() const -{ - return QSizeF(width(), height()); -} - -QSizeF BaseDesignIntf::sizeMM() const -{ - return QSizeF(width() / Const::mmFACTOR, height() / Const::mmFACTOR); -} - -qreal BaseDesignIntf::widthMM() const -{ - return width() / Const::mmFACTOR; -} - -qreal BaseDesignIntf::heightMM() const -{ - return height() / Const::mmFACTOR; -} - -//void BaseDesignIntf::setUnitFactor(qreal unitFactor) -//{ -// m_unitFactor = unitFactor; -//} - -qreal BaseDesignIntf::unitFactor() const -{ - if (m_unitType == Millimeters) - return Const::mmFACTOR; - else return Const::mmFACTOR * 2.54; -} - -void BaseDesignIntf::setUnitType(BaseDesignIntf::UnitType value) -{ - foreach(BaseDesignIntf* child, childBaseItems()) - child->setUnitType(value); - m_unitType = value; -} - -BaseDesignIntf::UnitType BaseDesignIntf::unitType() -{ - return m_unitType; -} - -QPointF BaseDesignIntf::posMM() const -{ - return QPointF(pos().x() / Const::mmFACTOR, pos().y() / Const::mmFACTOR); -} - -QRectF BaseDesignIntf::rect() const -{ - return m_rect; -} - -void BaseDesignIntf::setFixedPos(bool fixedPos) -{ - m_fixedPos = fixedPos; -} - -void BaseDesignIntf::onChangeGeometryTimeOut(){ - m_isMoveable = true; -} - -void BaseDesignIntf::mousePressEvent(QGraphicsSceneMouseEvent *event) -{ - if (event->button() == Qt::LeftButton) { - m_isChangingPos = true; - m_resizeDirectionFlags = resizeDirectionFlags(event->pos()); - m_startPos = pos(); - m_oldGeometry = geometry(); - QGraphicsItem::mousePressEvent(event); - emit itemSelected(this); - m_isMoveable = false; - QTimer::singleShot(200, this, SLOT(onChangeGeometryTimeOut())); - } - else QGraphicsItem::mousePressEvent(event); -} - -void BaseDesignIntf::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) -{ - QRectF newGeometry = geometry(); - m_isChangingPos = false; - if (newGeometry != m_oldGeometry) { - geometryChangedEvent(newGeometry, m_oldGeometry); - emit posChanged(this, newGeometry.topLeft(), m_oldGeometry.topLeft()); - } - QGraphicsItem::mouseReleaseEvent(event); -} - -void BaseDesignIntf::paint(QPainter *ppainter, const QStyleOptionGraphicsItem *option, QWidget *widget) -{ - Q_UNUSED(option); - Q_UNUSED(widget); - - ppainter->save(); - setupPainter(ppainter); - drawBorder(ppainter, rect()); - if(m_shadow) - drawShadow(ppainter, rect(), 6); - // if (m_joinMarkerOn) { drawMarker(ppainter, Const::JOIN_COLOR);} - // if (isSelected() && !m_joinMarkerOn) {drawMarker(ppainter, Const::SELECTION_COLOR);} - drawResizeZone(ppainter); - ppainter->restore(); - // if (m_hovered) ppainter->drawImage( - // QRectF(QPointF(rect().topRight().x()-24, rect().bottomLeft().y()-24), - // QSizeF(24, 24)),QImage(":/items/images/settings.png")); -} - -QColor calcColor(QColor color){ - - int R = color.red(); - int G = color.green(); - int B = color.blue(); - - if (0.222*R + 0.707*G + 0.071*B <= 127) - return Qt::white; - else - return Qt::black; -} - -void BaseDesignIntf::prepareRect(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/) -{ - painter->save(); - - QRectF r = rect().adjusted(0, 0, borderLineSize(), borderLineSize()); - QBrush brush(m_backgroundColor,static_cast(m_backgroundBrushStyle)); - brush.setTransform(painter->worldTransform().inverted()); - - if (isSelected() && (opacity() == 100) && (m_BGMode!=TransparentMode)) { - painter->fillRect(r, brush); - } - else { - if (m_BGMode == OpaqueMode) { - qreal o = (itemMode() & DesignMode) ? 0.5 : qreal(m_opacity) / 100; - painter->setOpacity(o); - painter->fillRect(r, brush); - } else if ((itemMode() & DesignMode) && fillTransparentInDesignMode()){ - painter->setOpacity(0.1); - painter->fillRect(r, QBrush(QPixmap(":/report/images/empty"))); - } - } - painter->restore(); -} - -void BaseDesignIntf::hoverMoveEvent(QGraphicsSceneHoverEvent *event) -{ - if (page()) { - if (!page()->isItemInsertMode() && isSelected()) { - if (m_resizeDirectionFlags != resizeDirectionFlags(event->pos())) { - m_resizeDirectionFlags = resizeDirectionFlags(event->pos()); - QVectoroldResizeAreas(m_resizeAreas); - initResizeZones(); - invalidateRects(oldResizeAreas); - invalidateRects(m_resizeAreas); - switch (m_resizeDirectionFlags) { - case ResizeRight: - case ResizeLeft: - setCursor(Qt::SizeHorCursor); - break; - case ResizeBottom: - case ResizeTop: - setCursor(Qt::SizeVerCursor); - break; - case ResizeRight | ResizeBottom: - case ResizeLeft | ResizeTop: - setCursor(Qt::SizeFDiagCursor); - break; - case ResizeLeft | ResizeBottom: - case ResizeRight | ResizeTop: - setCursor(Qt::SizeBDiagCursor); - break; - default: - setCursor(Qt::ArrowCursor); - break; - } - } - } - } -} - -void BaseDesignIntf::invalidateRects(QVector rects) -{ - foreach(QRectF * rect, rects) - scene()->update(mapToScene(*rect).boundingRect()); -} - -void BaseDesignIntf::hoverLeaveEvent(QGraphicsSceneHoverEvent *) -{ - setCursor(QCursor(Qt::ArrowCursor)); - m_resizeDirectionFlags = 0; - scene()->update(sceneBoundingRect()); - m_resizeAreas.clear(); - m_hovered = false; - update(); -} - -void BaseDesignIntf::hoverEnterEvent(QGraphicsSceneHoverEvent * /*event*/) -{ - m_hovered = true; - update(); -} - - -void BaseDesignIntf::mouseMoveEvent(QGraphicsSceneMouseEvent *event) -{ - if (!m_isMoveable) return; - if (!isSelected()){ - QGraphicsItem::mouseMoveEvent(event); - return; - } - - int hStep = dynamic_cast(scene())->horizontalGridStep(); - int vStep = dynamic_cast(scene())->verticalGridStep(); - - if (m_resizeDirectionFlags & ResizeLeft) { - if ((event->scenePos().x()) <= (mapToScene(0, 0).x() + (width() - Const::MINIMUM_ITEM_WIDTH)) && - (width() + (event->lastScenePos().x() - event->scenePos().x()) > Const::MINIMUM_ITEM_WIDTH) - ) { - qreal posRightCorner = mapToScene(0, 0).x() + width(); - qreal posLeftCorner = div(mapToParent(event->pos()).x(), hStep).quot * hStep; - if (posLeftCorner < 0 ) - posLeftCorner = 0; - setItemPos(posLeftCorner, y()); - setWidth(div(posRightCorner - mapToScene(0, 0).x(), hStep).quot * hStep); - } - } - - if (m_resizeDirectionFlags & ResizeRight) { - if ((event->scenePos().x() >= (mapToScene(0, 0).x() + Const::MINIMUM_ITEM_WIDTH)) || - (event->scenePos().x() >= (mapToScene(0, 0).x() + width()))) { - setWidth(div(event->scenePos().x() - mapToScene(0, 0).x(), hStep).quot * hStep); - } - } - - if (m_resizeDirectionFlags & ResizeTop) { - if ((event->scenePos().y()) <= (mapToScene(0, 0).y() + (height() - Const::MINIMUM_ITEM_HEIGHT)) && - (height() + (event->lastScenePos().y() - event->scenePos().y()) > Const::MINIMUM_ITEM_HEIGHT) - ) { - qreal posBottomCorner = mapToScene(0, 0).y() + height(); - qreal posTopCorner = div(mapToParent(event->pos()).y(), vStep).quot * vStep; - if (posTopCorner < 0 ) - posTopCorner = 0; - setItemPos(x(), posTopCorner); - setHeight(div(posBottomCorner - mapToScene(0, 0).y(), vStep).quot * vStep); - } - } - - if (m_resizeDirectionFlags & ResizeBottom) { - if ((event->scenePos().y() > (mapToScene(0, 0).y() + height())) || - (event->scenePos().y() > (mapToScene(0, 0).y() + Const::MINIMUM_ITEM_HEIGHT)) - ) { - setHeight(div(event->scenePos().y() - mapToScene(0, 0).y(), vStep).quot * vStep); - } - } - - if ((m_resizeDirectionFlags == Fixed) && !m_fixedPos) { - - QPointF tmpPos = pos(); - QPointF delta; - switch (possibleMoveDirectionFlags()) { - case LeftRight: { - delta = QPoint(div(event->buttonDownScenePos(Qt::LeftButton).x() - event->scenePos().x(), hStep).quot * hStep, 0); - break; - } - case TopBotom: { - delta = QPoint(0, div(event->buttonDownScenePos(Qt::LeftButton).y() - event->scenePos().y(), vStep).quot * vStep); - break; - } - case All: { - delta = QPoint(div(event->buttonDownScenePos(Qt::LeftButton).x() - event->scenePos().x(), hStep).quot * hStep, - div(event->buttonDownScenePos(Qt::LeftButton).y() - event->scenePos().y(), vStep).quot * vStep); - break; - } - }; - - setItemPos(QPointF(div(m_startPos.x(), hStep).quot * hStep, div(m_startPos.y(), vStep).quot * vStep) - delta); - - if (page()){ - if (!isBand() && page()->selectedItems().count()>1) - moveSelectedItems(tmpPos - pos()); - if (page()->selectedItems().count()==1 && (page()->magneticMovement())) - page()->itemMoved(this); - - } - } -} - -int BaseDesignIntf::possibleResizeDirectionFlags() const -{ - return m_possibleResizeDirectionFlags; -} - -int BaseDesignIntf::resizeHandleSize() const -{ - return m_resizeHandleSize; -} - -int BaseDesignIntf::resizeDirectionFlags(QPointF position) -{ - int flags = Fixed; - - if (possibleResizeDirectionFlags()&ResizeTop && m_topRect.contains(position)) { - flags |= ResizeTop; - } - - if (possibleResizeDirectionFlags()&ResizeLeft && m_leftRect.contains(position)) { - flags |= ResizeLeft; - } - - if (possibleResizeDirectionFlags()&ResizeBottom && m_bottomRect.contains(position)) { - flags |= ResizeBottom; - } - - if (possibleResizeDirectionFlags()&ResizeRight && m_rightRect.contains(position)) { - flags |= ResizeRight; - } - - return flags; -} - -Qt::CursorShape BaseDesignIntf::getPossibleCursor(int cursorFlags) -{ - - if ((cursorFlags == Fixed) || (scene()->selectedItems().count() > 1)) return Qt::ArrowCursor; - - if (((cursorFlags & ResizeRight) && (cursorFlags & ResizeTop)) || - ((cursorFlags & ResizeLeft) && (cursorFlags & ResizeBottom))) { - return Qt::SizeBDiagCursor; - } - if (((cursorFlags & ResizeLeft) && (cursorFlags & ResizeTop)) || - ((cursorFlags & ResizeRight) && (cursorFlags & ResizeBottom))) { - return Qt::SizeFDiagCursor; - } - if ((cursorFlags & ResizeLeft) || (cursorFlags & ResizeRight)) { return Qt::SizeHorCursor; } - if ((cursorFlags & ResizeBottom) || (cursorFlags & ResizeTop)) { return Qt::SizeVerCursor; } - - return Qt::ArrowCursor; -} - -void BaseDesignIntf::setZValueProperty(qreal value) -{ - if (zValue()!=value){ - qreal oldValue = zValue(); - setZValue(value); - notify("zOrder",oldValue,value); - } -} - -BaseDesignIntf::ItemAlign BaseDesignIntf::itemAlign() const -{ - return m_itemAlign; -} - -QPointF BaseDesignIntf::modifyPosForAlignedItem(const QPointF& pos){ - QPointF result = pos; - BaseDesignIntf* parent = dynamic_cast(parentItem()); - PageItemDesignIntf* parentPage = dynamic_cast(parentItem()); - if (parent){ - qreal leftBorder = parentPage ? parentPage->leftMargin() * Const::mmFACTOR : 0; - qreal rightBorder = parentPage ? parentPage->rightMargin() * Const::mmFACTOR : 0; - qreal avaibleSpace = parent->width()-(leftBorder+rightBorder); - - switch(m_itemAlign){ - case LeftItemAlign: - result.setX(leftBorder); - break; - case RightItemAlign: - result.setX(parent->width() - (rightBorder + width())); - break; - case CenterItemAlign: - result.setX((avaibleSpace-width()) / 2 + leftBorder); - break; - case ParentWidthItemAlign: - result.setX(leftBorder); - case DesignedItemAlign: - break; - } - } - return result; -} - -void BaseDesignIntf::turnOnJoinMarker(bool value) -{ - m_joinMarkerOn = value; - if (value){ - m_joinMarker = new Marker(this, this); - m_joinMarker->setColor(Const::JOIN_COLOR); - m_joinMarker->setRect(rect()); - m_joinMarker->setVisible(true); - } else { - delete m_joinMarker; - m_joinMarker = 0; - } -} - -void BaseDesignIntf::updateItemAlign(){ - BaseDesignIntf* parent = dynamic_cast(parentItem()); - PageItemDesignIntf* parentPage = dynamic_cast(parentItem()); - m_changingItemAlign = true; - if (parent){ - qreal leftBorder = parentPage ? parentPage->leftMargin() * Const::mmFACTOR : 0; - qreal rightBorder = parentPage ? parentPage->rightMargin() * Const::mmFACTOR : 0; - qreal aviableSpace = parent->width()-(leftBorder+rightBorder); - setPos(modifyPosForAlignedItem(pos())); - if (m_itemAlign == ParentWidthItemAlign) - setWidth(aviableSpace); - } - m_changingItemAlign = false; -} - -void BaseDesignIntf::updatePossibleDirectionFlags(){ - setPossibleResizeDirectionFlags(AllDirections); - switch(m_itemAlign){ - case LeftItemAlign: - setPossibleResizeDirectionFlags(AllDirections^ResizeLeft); - break; - case RightItemAlign: - setPossibleResizeDirectionFlags(AllDirections^ResizeRight); - break; - case ParentWidthItemAlign: - setPossibleResizeDirectionFlags(ResizeBottom|ResizeTop); - case CenterItemAlign: - case DesignedItemAlign: - break; - } -} - -bool BaseDesignIntf::isChangingPos() const -{ - return m_isChangingPos; -} - -void BaseDesignIntf::setIsChangingPos(bool isChangingPos) -{ - m_isChangingPos = isChangingPos; -} - -bool BaseDesignIntf::isShapeItem() const -{ - return QString(metaObject()->className()) == "LimeReport::ShapeItem"; -} - -bool BaseDesignIntf::hasShadow() -{ - return m_shadow; -} - -void BaseDesignIntf::setShadow(bool sh) -{ - if (m_shadow != sh){ - bool oldValue = m_shadow; - m_shadow = sh; - notify("shadow",oldValue,m_shadow); - update(); - } -} - -bool BaseDesignIntf::isGeometryLocked() const -{ - return m_itemGeometryLocked; -} - -void BaseDesignIntf::setGeometryLocked(bool itemLocked) -{ - if (m_itemGeometryLocked != itemLocked){ - m_itemGeometryLocked = itemLocked; - if (itemLocked){ - m_savedPossibleMoveDirectionFlags = m_possibleMoveDirectionFlags; - m_savedPossibleResizeDirectionFlags = m_possibleResizeDirectionFlags; - m_possibleMoveDirectionFlags = None; - m_possibleResizeDirectionFlags = Fixed; - m_savedFixedPos = m_fixedPos; - m_fixedPos = true; - } else { - m_possibleMoveDirectionFlags = m_savedPossibleMoveDirectionFlags; - m_possibleResizeDirectionFlags = m_savedPossibleResizeDirectionFlags; - m_fixedPos = m_savedFixedPos; - } - if (!isLoading()){ - update(); - m_selectionMarker->update(); - notify("geometryLocked", !itemLocked, itemLocked); - } - } -} - -bool BaseDesignIntf::fillTransparentInDesignMode() const -{ - return m_fillTransparentInDesignMode; -} - -void BaseDesignIntf::setFillTransparentInDesignMode(bool fillTransparentInDesignMode) -{ - m_fillTransparentInDesignMode = fillTransparentInDesignMode; -} - -void BaseDesignIntf::emitPosChanged(QPointF oldPos, QPointF newPos) -{ - emit posChanged(this, oldPos, newPos); -} - -bool BaseDesignIntf::fillInSecondPass() const -{ - return m_fillInSecondPass; -} - -void BaseDesignIntf::setFillInSecondPass(bool fillInSecondPass) -{ - - if (m_fillInSecondPass != fillInSecondPass){ - m_fillInSecondPass = fillInSecondPass; - notify("fillInSecondPass",!fillInSecondPass,fillInSecondPass); - } - -} - -bool BaseDesignIntf::isWatermark() const -{ - return m_watermark; -} - -void BaseDesignIntf::setWatermark(bool watermark) -{ - if (m_watermark != watermark){ - m_watermark = watermark; - notify("watermark",!watermark,watermark); - } -} - -void BaseDesignIntf::updateSelectionMarker() -{ - if (m_selectionMarker && (itemMode() & DesignMode || itemMode() & EditMode)) { - if ((!m_selectionMarker->scene()) && scene()) scene()->addItem(m_selectionMarker); - if (parentItem()) { - m_selectionMarker->setRect(rect()); - m_selectionMarker->setPos(0,0); - } - } -} - -void BaseDesignIntf::turnOnSelectionMarker(bool value) -{ - if (value && !m_selectionMarker){ - m_selectionMarker = new SelectionMarker(this, this); - m_selectionMarker->setColor(selectionMarkerColor()); - updateSelectionMarker(); - m_selectionMarker->setVisible(true); - } else { - delete m_selectionMarker; - m_selectionMarker = 0; - } -} - -QString BaseDesignIntf::patternName() const -{ - return (m_patternName.isEmpty()) ? objectName() : m_patternName; -} - -void BaseDesignIntf::setPatternName(const QString &patternName) -{ - m_patternName = patternName; -} - -BaseDesignIntf* BaseDesignIntf::patternItem() const -{ - return m_patternItem; -} - -void BaseDesignIntf::setPatternItem(BaseDesignIntf *patternItem) -{ - m_patternItem = patternItem; -} - -ReportSettings *BaseDesignIntf::reportSettings() const -{ - return m_reportSettings; -} - -void BaseDesignIntf::setReportSettings(ReportSettings *reportSettings) -{ - m_reportSettings = reportSettings; - foreach(BaseDesignIntf* child, childBaseItems()){ - child->setReportSettings(reportSettings); - } -} - -QColor BaseDesignIntf::borderColor() const -{ - return m_borderColor; -} - -void BaseDesignIntf::setBorderColor(const QColor &borderColor) -{ - if (m_borderColor != borderColor){ - QColor oldValue = m_borderColor; - m_borderColor = borderColor; - notify("borderColor",oldValue,borderColor); - update(); - } -} - -void BaseDesignIntf::setItemVisible(const bool &value) -{ - if (isVisible()!=value){ - setVisible(value); - emit itemVisibleHasChanged(this); - } -} - -void BaseDesignIntf::setItemAlign(const ItemAlign &itemAlign) -{ - if (m_itemAlign != itemAlign){ - ItemAlign oldValue = m_itemAlign; - m_itemAlign = itemAlign; - notify("itemAlign",oldValue,itemAlign); - updatePossibleDirectionFlags(); - updateItemAlign(); - emit itemAlignChanged(this, oldValue, itemAlign); - } -} - -QString BaseDesignIntf::itemTypeName() const -{ - return m_itemTypeName; -} - -void BaseDesignIntf::setItemTypeName(const QString &itemTypeName) -{ - m_itemTypeName = itemTypeName; -} - -void BaseDesignIntf::emitObjectNamePropertyChanged(const QString &oldName, const QString &newName) -{ - emit propertyObjectNameChanged(oldName,newName); -} - -qreal BaseDesignIntf::borderLineSize() const -{ - return m_borderLineSize; -} - -void BaseDesignIntf::setBorderStyle(BorderStyle b) -{ - BorderStyle oldValue = m_borderStyle; - m_borderStyle = b; - update(); - notify("borderStyle",(BorderStyle)oldValue,(BorderStyle)b); -} - -void BaseDesignIntf::setBorderLineSize(qreal value) -{ - qreal oldValue = m_borderLineSize; - m_borderLineSize = value; - update(); - notify("borderLineSize",oldValue,value); -} - - -void BaseDesignIntf::moveRight() -{ - if (!m_fixedPos && page()) setItemPos(pos().x() + page()->horizontalGridStep(), pos().y()); -} - -void BaseDesignIntf::moveLeft() -{ - if (!m_fixedPos && page()) setItemPos(pos().x() - page()->horizontalGridStep(), pos().y()); -} - -void BaseDesignIntf::moveDown() -{ - if (!m_fixedPos && page()) setItemPos(pos().x(), pos().y() + page()->verticalGridStep()); -} - -void BaseDesignIntf::moveUp() -{ - if (!m_fixedPos && page()) setItemPos(pos().x(), pos().y() - page()->verticalGridStep()); -} - -void BaseDesignIntf::sizeRight() -{ - if ((m_possibleResizeDirectionFlags & ResizeLeft) || - (m_possibleResizeDirectionFlags & ResizeRight)) { - if (page()) setWidth(width() + page()->horizontalGridStep()); - } -} - -void BaseDesignIntf::sizeLeft() -{ - if ((m_possibleResizeDirectionFlags & ResizeLeft) || - (m_possibleResizeDirectionFlags & ResizeRight)) { - if(page()) setWidth(width() - page()->horizontalGridStep()); - } -} - -void BaseDesignIntf::sizeUp() -{ - if ((m_possibleResizeDirectionFlags & ResizeTop) || - (m_possibleResizeDirectionFlags & ResizeBottom)) { - if (page()) setHeight(height() - page()->verticalGridStep()); - } -} - -void BaseDesignIntf::sizeDown() -{ - if ((m_possibleResizeDirectionFlags & ResizeTop) || - (m_possibleResizeDirectionFlags & ResizeBottom)) { - if (page()) setHeight(height() + page()->verticalGridStep()); - } -} - -void BaseDesignIntf::setBorderLinesFlags(BorderLines flags) -{ - if (m_borderLinesFlags!=flags){ - BorderLines oldValue = m_borderLinesFlags; - m_borderLinesFlags = flags; - if (!isLoading()) { - update(rect()); - notify("borders",QVariant(oldValue),QVariant(flags)); - } - } -} - -BaseDesignIntf::BorderLines BaseDesignIntf::borderLines() const -{ - return m_borderLinesFlags; -} - - -void BaseDesignIntf::drawTopLine(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - painter->setPen(borderPen(TopLine)); - painter->drawLine(rect.x(), rect.y(), rect.width(), rect.y()); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(rect.x()+3+m_borderLineSize, - rect.y()+3+m_borderLineSize, - rect.width()-3-m_borderLineSize, - rect.y()+3+m_borderLineSize); -} - -void BaseDesignIntf::drawBootomLine(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - - painter->setPen(borderPen(BottomLine)); - painter->drawLine(rect.x(), rect.height(), rect.width(), rect.height()); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(rect.x()+3+m_borderLineSize, - rect.height()-3-m_borderLineSize, - rect.width()-3-m_borderLineSize, - rect.height()-3-m_borderLineSize); -} - -void BaseDesignIntf::drawRightLine(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - painter->setPen(borderPen(RightLine)); - - painter->drawLine(rect.width(), rect.y(), rect.width(), rect.height()); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(rect.width()-3 - m_borderLineSize, - rect.y()+3+m_borderLineSize, - rect.width()-3-m_borderLineSize, - rect.height()-3-m_borderLineSize); -} - -void BaseDesignIntf::drawLeftLine(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - painter->setPen(borderPen(LeftLine)); - painter->drawLine(rect.x(), rect.y(), rect.x(), rect.height()); - if(borderStyle() == BorderStyle::Doubled) - painter->drawLine(rect.x()+3+m_borderLineSize, - rect.y()+3+m_borderLineSize, - rect.x()+3+m_borderLineSize, - rect.height()-3-m_borderLineSize); -} - -void BaseDesignIntf::drawDesignModeBorder(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - drawTopLine(painter, rect); - drawBootomLine(painter, rect); - drawLeftLine(painter, rect); - drawRightLine(painter, rect); -} - -void BaseDesignIntf::drawRenderModeBorder(QPainter *painter, QRectF rect) const -{ - if(isShapeItem()) - return; - if (m_borderLinesFlags & RightLine) drawRightLine(painter, rect); - if (m_borderLinesFlags & LeftLine) drawLeftLine(painter, rect); - if (m_borderLinesFlags & TopLine ) drawTopLine(painter, rect); - if (m_borderLinesFlags & BottomLine) drawBootomLine(painter, rect); -} - -void BaseDesignIntf::drawBorder(QPainter *painter, QRectF rect) const -{ - painter->save(); - if (itemMode() & DesignMode && drawDesignBorders()) { - drawDesignModeBorder(painter, rect); - } - else drawRenderModeBorder(painter, rect); - painter->restore(); -} - -void BaseDesignIntf::drawShadow(QPainter *painter, QRectF rect, qreal shadowSize) const -{ - qreal shWidth = shadowSize; - QRectF rshadow(rect.topRight() + QPointF(0, shWidth), - rect.bottomRight() + QPointF(shWidth, 0)); - QLinearGradient rgrad(rshadow.topLeft(), rshadow.topRight()); - rgrad.setColorAt(0.0, QColor(0,0,0,255)); - rgrad.setColorAt(1.0, QColor(0,0,0,0)); - painter->fillRect(rshadow, QBrush(rgrad)); - QRectF bshadow(rect.bottomLeft() + QPointF(shWidth, 0), - rect.bottomRight() + QPointF(0, shWidth)); - QLinearGradient bgrad(bshadow.topLeft(), bshadow.bottomLeft()); - bgrad.setColorAt(0.0, QColor(0,0,0,255)); - bgrad.setColorAt(1.0, QColor(0,0,0,0)); - painter->fillRect(bshadow, QBrush(bgrad)); - QRectF cshadow(rect.bottomRight(), - rect.bottomRight() + QPointF(shWidth, shWidth)); - QRadialGradient cgrad(cshadow.topLeft(), shWidth, cshadow.topLeft()); - cgrad.setColorAt(0.0, QColor(0,0,0,255)); - cgrad.setColorAt(1.0, QColor(0,0,0,0)); - painter->fillRect(cshadow, QBrush(cgrad)); -} - -void BaseDesignIntf::setGeometry(QRectF rect) -{ - if (m_rect == rect) return; - m_oldGeometry = m_rect; - if (!isLoading()) - prepareGeometryChange(); - m_rect = rect; - m_topRect = QRectF(0-resizeHandleSize(), 0-resizeHandleSize(), width()+resizeHandleSize()*2, resizeHandleSize()*2); - m_bottomRect = QRectF(0-resizeHandleSize(), height() - resizeHandleSize(), width()+resizeHandleSize()*2, resizeHandleSize()*2); - m_leftRect = QRectF(0-resizeHandleSize(), 0-resizeHandleSize(), resizeHandleSize()*2, height()+resizeHandleSize()*2); - m_rightRect = QRectF(width() - resizeHandleSize(), 0-resizeHandleSize(), resizeHandleSize()*2, height()+resizeHandleSize()*2); - m_boundingRect = QRectF(); - updateSelectionMarker(); - if (!isLoading()){ - geometryChangedEvent(geometry(), m_oldGeometry); - emit geometryChanged(this, geometry(), m_oldGeometry); - } -} - -void BaseDesignIntf::geometryChangedEvent(QRectF newRect, QRectF oldRect) -{ - Q_UNUSED(oldRect); - Q_UNUSED(newRect); -} - -void BaseDesignIntf::beforeDelete() -{ - -} - -void BaseDesignIntf::setGeometryProperty(QRect rect) -{ - if ( rect != m_itemGeometry ){ - QRectF oldValue = geometry(); - if ((rect.x() != geometry().x()) || (rect.y() != geometry().y())) - setPos(rect.x(), rect.y()); - if (rect.width() != geometry().width()) - setWidth(rect.width()); - if (rect.height() != geometry().height()) - setHeight(rect.height()); - if (!isLoading()) { - notify("geometry",oldValue,rect); - } - } -} - -PageDesignIntf *BaseDesignIntf::page() -{ - return dynamic_cast(scene()); -} - -void BaseDesignIntf::setPossibleResizeDirectionFlags(int directionsFlags) -{ - m_possibleResizeDirectionFlags = directionsFlags; -} - -QPen BaseDesignIntf::borderPen(BorderSide side/*, bool selected*/) const -{ - QPen pen; - if (m_borderLinesFlags & side) { - pen.setColor(m_borderColor); - if(borderStyle() != BorderStyle::Doubled) - pen.setStyle(static_cast(m_borderStyle)); - //pen.setCosmetic(true); - pen.setWidthF(m_borderLineSize+1); //To draw with point precision (By default: 2px = 1 pt) - - } else { - pen.setColor(Qt::darkGray); - pen.setStyle(Qt::SolidLine); - pen.setWidth(1); - } - return pen; -} - -QColor BaseDesignIntf::selectionColor() const -{ - return Const::SELECTION_COLOR; -} - -void BaseDesignIntf::initFlags() -{ - if ((itemMode()&DesignMode) || (itemMode()&EditMode)) { - setFlag(QGraphicsItem::ItemIsSelectable); - setFlag(QGraphicsItem::ItemSendsGeometryChanges); - setAcceptHoverEvents(true); - } - else { - setFlag(QGraphicsItem::ItemIsSelectable, false); - setAcceptHoverEvents(false); - } - -} - -void BaseDesignIntf::initMode(ItemMode mode) -{ - Q_UNUSED(mode); -} - -QVariant BaseDesignIntf::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value) -{ - - if (change == QGraphicsItem::ItemPositionHasChanged) { - updateSelectionMarker(); - emit geometryChanged(this, geometry(), geometry()); - } - - if (change == QGraphicsItem::ItemSelectedChange) { - turnOnSelectionMarker(value.toBool()); - emit itemSelectedHasBeenChanged(this, value.toBool()); - } - if (change == QGraphicsItem::ItemParentHasChanged) { - parentChangedEvent(dynamic_cast(value.value())); - } - - return QGraphicsItem::itemChange(change, value); -} - -void BaseDesignIntf::childAddedEvent(BaseDesignIntf *child) -{ - Q_UNUSED(child) -} - -void BaseDesignIntf::parentChangedEvent(BaseDesignIntf *) -{ - -} - -void BaseDesignIntf::restoreLinks() -{ -#ifdef HAVE_QT5 - foreach(QObject * child, children()) { -#else - foreach(QObject * child, QObject::children()) { -#endif - BaseDesignIntf *childItem = dynamic_cast(child); - if (childItem) {childItem->restoreLinks();} - } - restoreLinksEvent(); -} - -QPainterPath BaseDesignIntf::shape() const -{ - QPainterPath path; - path.addRect(this->boundingRect()); - return path; -} - -void BaseDesignIntf::drawMarker(QPainter *painter, QColor color) const -{ - painter->save(); - - QPen pen(color, m_selectionPenSize); - painter->setPen(pen); - painter->setBrush(QBrush(color)); - painter->setOpacity(1); - const int markerSize = Const::RESIZE_HANDLE_SIZE; - painter->drawRect(QRectF(-markerSize,-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize,rect().top()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()-markerSize, - rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize, - rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize, - rect().top()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize, - rect().bottom()-markerSize,markerSize*2,markerSize*2)); - - pen.setStyle(Qt::DotLine); - painter->setPen(pen); - painter->setBrush(QBrush(Qt::transparent)); - painter->drawRect(rect()); - painter->restore(); -} - -void BaseDesignIntf::moveSelectedItems(QPointF delta) -{ - QList selectedItems; - selectedItems = scene()->selectedItems(); - BaseDesignIntf *selectedItem; - foreach(QGraphicsItem * item, selectedItems) { - if (item != this) { - selectedItem = dynamic_cast(item); - if (selectedItem && !selectedItem->isBand()) { - if (!selectedItem->m_fixedPos) - selectedItem->setItemPos(selectedItem->pos() - delta); - } - } - } -} - -void BaseDesignIntf::setItemPos(qreal x, qreal y) -{ - setItemPos(QPointF(x, y)); -} - -void BaseDesignIntf::setItemMode(ItemMode mode) -{ - m_itemMode = mode; - foreach(QGraphicsItem * item, childItems()) { - BaseDesignIntf *ri = dynamic_cast(item); - if (ri) ri->setItemMode(mode); - } - initMode(mode); - initFlags(); -} -void BaseDesignIntf::setItemPos(const QPointF &newPos) -{ - QPointF oldPos = pos(); - QPointF finalPos = modifyPosForAlignedItem(newPos); - QGraphicsItem::setPos(finalPos); - emit posChanging(this, finalPos, oldPos); -} - - -QWidget* BaseDesignIntf::findRootWidget(QWidget* widget) -{ - while (widget->parentWidget()) { - widget = widget->parentWidget(); - } - return widget; -} - -void BaseDesignIntf::showDialog(QWidget *widget) -{ - if (!widget) { - return; - } - widget->setStyleSheet(findRootWidget(scene()->views().at(0))->styleSheet()); - QDialog *dialog = new QDialog(QApplication::activeWindow()); - widget->setParent(dialog); - widget->setAttribute(Qt::WA_DeleteOnClose); -#ifdef Q_OS_MAC - dialog->setWindowModality(Qt::WindowModal); -#else - dialog->setWindowModality(Qt::ApplicationModal); -#endif - dialog->setLayout(new QVBoxLayout()); - dialog->resize(widget->size()); - dialog->layout()->setContentsMargins(2,2,2,2); - dialog->layout()->addWidget(widget); - connect(widget,SIGNAL(destroyed()),dialog,SLOT(close())); - dialog->setWindowTitle(widget->windowTitle()); - dialog->exec(); - dialog->deleteLater(); -} - -void BaseDesignIntf::showEditorDialog() -{ - showDialog(defaultEditor()); -} - -void BaseDesignIntf::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) -{ - if (event->button() == Qt::LeftButton && - ((itemMode()&EditMode)||(itemMode()&DesignMode)) - ) { - showEditorDialog(); - } - QGraphicsItem::mouseDoubleClickEvent(event); -} - -void BaseDesignIntf::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) -{ - if (!(flags() & QGraphicsItem::ItemIsSelectable)) return; - PageDesignIntf* page = dynamic_cast(scene()); - if (!page->selectedItems().contains(this)){ - page->clearSelection(); - this->setSelected(true); - } - QMenu menu(event->widget()); - - QAction* lockGeometryAction = menu.addAction(tr("Lock item geometry")); - lockGeometryAction->setCheckable(true); - - lockGeometryAction->setChecked(isGeometryLocked()); - menu.addSeparator(); - - QAction* copyAction = menu.addAction(QIcon(":/report/images/copy"), tr("Copy")); - QAction* cutAction = menu.addAction(QIcon(":/report/images/cut"), tr("Cut")); - QAction* pasteAction = menu.addAction(QIcon(":/report/images/paste"), tr("Paste")); - pasteAction->setEnabled(false); - -#if QT_VERSION >=QT_VERSION_CHECK(5,0,0) - lockGeometryAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_L)); - copyAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_C)); - cutAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_X)); - pasteAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_V)); -#else - lockGeometryAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_L)); - copyAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_C)); - cutAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_X)); - pasteAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_V)); -#endif - - QClipboard *clipboard = QApplication::clipboard(); - ItemsReaderIntf::Ptr reader = StringXMLreader::create(clipboard->text()); - if (reader->first() && reader->itemType() == "Object"){ - pasteAction->setEnabled(true); - } - menu.addSeparator(); - QAction* bringToTopAction = menu.addAction(QIcon(":/report/images/bringToTop"), tr("Bring to top")); - QAction* sendToBackAction = menu.addAction(QIcon(":/report/images/sendToBack"), tr("Send to back")); - QAction* createHLayout = 0; - if( page->selectedItems().count()>1){ - createHLayout = menu.addAction(QIcon(":/report/images/hlayout"), tr("Create Horizontal Layout")); - } - QAction* createVLayout = 0; - if( page->selectedItems().count()>1){ - createVLayout = menu.addAction(QIcon(":/report/images/vlayout"), tr("Create Vertical Layout")); - } - menu.addSeparator(); - QAction* noBordersAction = menu.addAction(QIcon(":/report/images/noLines"), tr("No borders")); - QAction* allBordersAction = menu.addAction(QIcon(":/report/images/allLines"), tr("All borders")); - QAction* editBorderAction = menu.addAction(QIcon(":/report/images/borderEditor"), tr("Edit borders...")); - preparePopUpMenu(menu); - QAction* a = menu.exec(event->screenPos()); - if (a){ - if (a == cutAction) - { - page->cut(); - return; - } - if (a == copyAction) - page->copy(); - if (a == pasteAction) - page->paste(); - if (a == bringToTopAction) - page->bringToFront(); - if (a == sendToBackAction) - page->sendToBack(); - if (a == noBordersAction) - page->setBorders(BaseDesignIntf::NoLine); - if (a == allBordersAction) - page->setBorders(BaseDesignIntf::AllLines); - if (a == editBorderAction) - { - BorderEditor be; - be.loadItem(this); - if (be.exec() == QDialog::Rejected) return; - page->setBordersExt(be.borderSides(), be.borderWidth(), (LimeReport::BaseDesignIntf::BorderStyle)be.borderStyle(), be.borderColor()); - } - if (a == createHLayout) - page->addHLayout(); - if (a == createVLayout) - page->addVLayout(); - processPopUpAction(a); - } -} - -int BaseDesignIntf::possibleMoveDirectionFlags() const -{ - return m_possibleMoveDirectionFlags; -} - -void BaseDesignIntf::setPossibleMoveFlags(int directionsFlags) -{ - m_possibleMoveDirectionFlags = directionsFlags; -} - -void BaseDesignIntf::setMarginSize(int value) -{ - if (m_margin!=value){ - int oldValue = m_margin; - m_margin=value; - if (!isLoading()){ - update(rect()); - notify("margin", oldValue, value); - } - } -} - -void BaseDesignIntf::drawResizeZone(QPainter* /*painter*/) -{ - - // if (m_resizeAreas.count() > 0) { - // painter->save(); - // painter->setPen(QPen(Const::RESIZE_ZONE_COLOR)); - // (isSelected()) ? painter->setOpacity(Const::SELECTED_RESIZE_ZONE_OPACITY) : painter->setOpacity(Const::RESIZE_ZONE_OPACITY); - // painter->setBrush(QBrush(Qt::green, Qt::SolidPattern)); - // foreach(QRectF * resizeArea, m_resizeAreas) painter->drawRect(*resizeArea); - // painter->restore(); - // } - -} - -void BaseDesignIntf::initResizeZones() -{ - m_resizeAreas.clear(); - if (m_resizeDirectionFlags & ResizeBottom) m_resizeAreas.append(&m_bottomRect); - if (m_resizeDirectionFlags & ResizeTop) m_resizeAreas.append(&m_topRect); - if (m_resizeDirectionFlags & ResizeLeft) m_resizeAreas.append(&m_leftRect); - if (m_resizeDirectionFlags & ResizeRight) m_resizeAreas.append(&m_rightRect); -} - -void BaseDesignIntf::invalidateRect(const QRectF &rect) -{ - if (scene()) - scene()->update(mapToScene(rect).boundingRect()); -} - -ReportEnginePrivate *BaseDesignIntf::reportEditor() -{ - PageDesignIntf *page = dynamic_cast(scene()); - if (page) return page->reportEditor(); - else return 0; -} - -void BaseDesignIntf::updateItemSize(DataSourceManager *dataManager, RenderPass pass, int maxHeight) -{ - Q_UNUSED(maxHeight); - Q_UNUSED(dataManager); - m_currentPass = pass; - updateItemAlign(); -} - -bool BaseDesignIntf::isNeedUpdateSize(RenderPass /*pass*/) const -{return false;} - -void BaseDesignIntf::drawPinArea(QPainter *painter) const -{ - painter->drawRect(QRect(0, 0, 16, 16)); -} - -QObject *BaseDesignIntf::createElement(const QString& /*collectionName*/, const QString &elementType) -{ - BaseDesignIntf* obj = 0; - try{ - if (LimeReport::DesignElementsFactory::instance().objectCreator(elementType)){ - obj = LimeReport::DesignElementsFactory::instance().objectCreator(elementType)(this, this); - if (page()) - connect(obj, SIGNAL(propertyChanged(QString,QVariant,QVariant)), - page(), SLOT(slotItemPropertyChanged(QString,QVariant,QVariant))); - } - } catch (ReportError &error){ - qDebug()<(obj); - if (item && page()) { - page()->registerItem(item); - } - } - } - } - emit loadCollectionFinished(collectionName); -} - -BaseDesignIntf *BaseDesignIntf::cloneItem(ItemMode mode, QObject *owner, QGraphicsItem *parent) -{ - BaseDesignIntf *clone = cloneItemWOChild(mode, owner, parent); - clone->setPatternName(this->objectName()); - clone->setPatternItem(this); -#ifdef HAVE_QT5 - foreach(QObject * child, children()) { -#else - foreach(QObject * child, QObject::children()) { -#endif - BaseDesignIntf *childItem = dynamic_cast(child); - if (childItem) {clone->childAddedEvent(childItem->cloneItem(mode, clone, clone));} - } - return clone; -} - -BaseDesignIntf *BaseDesignIntf::cloneItemWOChild(ItemMode mode, QObject *owner, QGraphicsItem *parent) -{ - BaseDesignIntf *clone = createSameTypeItem(owner, parent); - clone->setObjectName(this->objectName()); - clone->setItemMode(mode); - clone->objectLoadStarted(); - clone->setReportSettings(this->reportSettings()); - for (int i = 0; i < clone->metaObject()->propertyCount(); i++) { - if (clone->metaObject()->property(i).isWritable()) - clone->setProperty(clone->metaObject()->property(i).name(), property(clone->metaObject()->property(i).name())); - } - clone->objectLoadFinished(); - return clone; -} - -void BaseDesignIntf::initFromItem(BaseDesignIntf *source) -{ - objectLoadStarted(); - for (int i = 0; i < metaObject()->propertyCount(); i++) { - if (strcmp(metaObject()->property(i).name(),"objectName")!=0) - if (source->property(metaObject()->property(i).name()).isValid()) { - if (metaObject()->property(i).isWritable()) - setProperty(metaObject()->property(i).name(), source->property(metaObject()->property(i).name())); - } - } - objectLoadFinished(); -} - -bool BaseDesignIntf::canBeSplitted(int height) const -{Q_UNUSED(height); return false;} - -bool BaseDesignIntf::isEmpty() const -{return false;} - -BaseDesignIntf *BaseDesignIntf::cloneUpperPart(int height, QObject *owner, QGraphicsItem *parent) -{Q_UNUSED(height); Q_UNUSED(owner); Q_UNUSED(parent); return 0;} - -BaseDesignIntf *BaseDesignIntf::cloneBottomPart(int height, QObject *owner, QGraphicsItem *parent) -{Q_UNUSED(height); Q_UNUSED(owner); Q_UNUSED(parent); return 0;} - -BaseDesignIntf *BaseDesignIntf::cloneEmpty(int height, QObject *owner, QGraphicsItem *parent) -{Q_UNUSED(height); Q_UNUSED(owner); Q_UNUSED(parent); return 0;} - - -void BaseDesignIntf::objectLoadStarted() -{ - m_objectState = ObjectLoading; -} - -void BaseDesignIntf::objectLoadFinished() -{ - m_objectState = ObjectLoaded; - emit objectLoaded(this); -} - -void BaseDesignIntf::parentObjectLoadFinished() -{} - -QList BaseDesignIntf::childBaseItems() const -{ - QList resList; - foreach(QGraphicsItem * item, childItems()) { - BaseDesignIntf *baseItem = dynamic_cast(item); - if (baseItem) resList << baseItem; - } - return resList; -} - - -void BaseDesignIntf::addChildItems(QList* list){ - foreach(BaseDesignIntf* item, childBaseItems()){ - list->append(item); - item->addChildItems(list); - } -} - -qreal BaseDesignIntf::calcAbsolutePosY(qreal currentOffset, BaseDesignIntf *item) -{ - BaseDesignIntf* parent = dynamic_cast(item->parent()); - if (parent) - return calcAbsolutePosY(currentOffset + item->getItemPosY(), parent); - else - return currentOffset + item->getItemPosY(); -} - -qreal BaseDesignIntf::calcAbsolutePosX(qreal currentOffset, BaseDesignIntf *item) -{ - BaseDesignIntf* parent = dynamic_cast(item->parent()); - if (parent) - return calcAbsolutePosX(currentOffset + item->getItemPosX(), parent); - else - return currentOffset + item->getItemPosX(); -} - -QList BaseDesignIntf::allChildBaseItems() -{ - QList resList; - addChildItems(&resList); - return resList; -} - -BaseDesignIntf *BaseDesignIntf::childByName(const QString &name) -{ - foreach(BaseDesignIntf* item, childBaseItems()){ - if (item->objectName().compare(name,Qt::CaseInsensitive)==0){ - return item; - } else { - BaseDesignIntf* child = item->childByName(name); - if (child) return child; - } - } - return 0; -} - -QWidget *BaseDesignIntf::defaultEditor() -{ - return 0; -} - -void BaseDesignIntf::notify(const QString &propertyName, const QVariant& oldValue, const QVariant& newValue) -{ - if (!isLoading()) - emit propertyChanged(propertyName, oldValue, newValue); -} - -void BaseDesignIntf::notify(const QVector& propertyNames) -{ - if (!isLoading()) - emit propertyesChanged(propertyNames); -} - - -QMap BaseDesignIntf::getStringForTranslation(){ - return QMap(); -} - -QVariant BookmarkContainerDesignIntf::getBookMark(const QString& key) -{ - if (m_bookmarks.contains(key)) - return m_bookmarks.value(key); - else return QVariant(); -} - -void BookmarkContainerDesignIntf::copyBookmarks(BookmarkContainerDesignIntf* source) -{ - foreach(QString key, source->bookmarks()){ - addBookmark(key,source->getBookMark(key)); - } -} - -QRectF Marker::boundingRect() const -{ - return m_rect.adjusted(-15,-15,15,15); -} - -void Marker::paint(QPainter* painter, const QStyleOptionGraphicsItem*, QWidget*) -{ - QPen pen; - const int markerSize = 5; - pen.setColor(color()); - pen.setWidth(2); - pen.setStyle(Qt::DotLine); - painter->setPen(pen); - painter->setOpacity(Const::SELECTION_COLOR_OPACITY); - painter->drawRect(rect()); - painter->setBrush(color()); - painter->setPen(Qt::transparent); - - painter->setOpacity(1); - painter->drawRect(QRectF(-markerSize,-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize,rect().top()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()-markerSize, - rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().right()-markerSize, - rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize, - rect().top()-markerSize,markerSize*2,markerSize*2)); - painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize, - rect().bottom()-markerSize,markerSize*2,markerSize*2)); -} - -QColor Marker::color() const { - return m_color; -} - -SelectionMarker::SelectionMarker(QGraphicsItem* parent, BaseDesignIntf* owner) - : Marker(parent, owner) -{ - setAcceptHoverEvents(true); -} - -QColor SelectionMarker::color() const -{ - return owner()->isGeometryLocked() ? Qt::darkGray : Marker::color(); -} - -void SelectionMarker::hoverMoveEvent(QGraphicsSceneHoverEvent *event) -{ - if (owner()) owner()->hoverMoveEvent(event); - QGraphicsItem::hoverMoveEvent(event); -} - -void SelectionMarker::mousePressEvent(QGraphicsSceneMouseEvent *event) -{ - if (owner()){ - owner()->setSelected(true); - owner()->mousePressEvent(event); - } - QGraphicsItem::mousePressEvent(event); -} - -void SelectionMarker::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) -{ - if (owner()) owner()->mouseReleaseEvent(event); -} - -void SelectionMarker::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) -{ - if (owner()) owner()->mouseDoubleClickEvent(event); - QGraphicsItem::mouseDoubleClickEvent(event); -} - -void SelectionMarker::mouseMoveEvent(QGraphicsSceneMouseEvent *event) -{ - qDebug() << "mouse move"; - if (owner()) owner()->mouseMoveEvent(event); -} - -void BaseDesignIntf::processPopUpAction(QAction *action){ - if (page()){ - if (action->text().compare(tr("Lock item geometry")) == 0){ - page()->setPropertyToSelectedItems("geometryLocked",action->isChecked()); - } - } -} - -} //namespace LimeReport diff --git a/limereport/object_script.limereport.Release b/limereport/object_script.limereport.Release deleted file mode 100644 index 9b324bd..0000000 --- a/limereport/object_script.limereport.Release +++ /dev/null @@ -1,223 +0,0 @@ -win32/release/obj/widgethost.o -win32/release/obj/sizehandlerect.o -win32/release/obj/formresizer.o -win32/release/obj/lrdialogdesigner.o -win32/release/obj/lrdatabrowser.o -win32/release/obj/lrsqleditdialog.o -win32/release/obj/lrconnectiondialog.o -win32/release/obj/lrvariabledialog.o -win32/release/obj/lrdatabrowsertree.o -win32/release/obj/lrstringpropitem.o -win32/release/obj/lrrectproptem.o -win32/release/obj/lrintpropitem.o -win32/release/obj/lrenumpropitem.o -win32/release/obj/lrboolpropitem.o -win32/release/obj/lrflagspropitem.o -win32/release/obj/lrfontpropitem.o -win32/release/obj/lrimagepropitem.o -win32/release/obj/lrqrealpropitem.o -win32/release/obj/lrcolorpropitem.o -win32/release/obj/lrdatasourcepropitem.o -win32/release/obj/lrgroupfieldpropitem.o -win32/release/obj/lrcontentpropitem.o -win32/release/obj/lrmarginpropitem.o -win32/release/obj/lrseriespropitem.o -win32/release/obj/lraxispropitem.o -win32/release/obj/lrtextitempropertyeditor.o -win32/release/obj/lrcomboboxeditor.o -win32/release/obj/lrcheckboxeditor.o -win32/release/obj/lrbuttonlineeditor.o -win32/release/obj/lrfonteditor.o -win32/release/obj/lrimageeditor.o -win32/release/obj/lrcoloreditor.o -win32/release/obj/lrbasedesignobjectmodel.o -win32/release/obj/lrobjectinspectorwidget.o -win32/release/obj/lrobjectitemmodel.o -win32/release/obj/lrobjectpropitem.o -win32/release/obj/lrpropertydelegate.o -win32/release/obj/lrobjectbrowser.o -win32/release/obj/lrscriptbrowser.o -win32/release/obj/lrsubitemparentpropitem.o -win32/release/obj/lralignpropitem.o -win32/release/obj/lritemsaligneditorwidget.o -win32/release/obj/translationeditor.o -win32/release/obj/languageselectdialog.o -win32/release/obj/lrreportdesignwidget.o -win32/release/obj/lrreportdesignwindow.o -win32/release/obj/lrsvgeditor.o -win32/release/obj/lrsvgpropitem.o -win32/release/obj/lrcompletermodel.o -win32/release/obj/lrpageheader.o -win32/release/obj/lrpagefooter.o -win32/release/obj/lrreportheader.o -win32/release/obj/lrreportfooter.o -win32/release/obj/lrdataband.o -win32/release/obj/lrgroupbands.o -win32/release/obj/lrsubdetailband.o -win32/release/obj/lrtearoffband.o -win32/release/obj/lrxmlqrectserializator.o -win32/release/obj/lrxmlbasetypesserializators.o -win32/release/obj/lrxmlreader.o -win32/release/obj/lrxmlwriter.o -win32/release/obj/lrscripteditor.o -win32/release/obj/lrcodeeditor.o -win32/release/obj/lrscripthighlighter.o -win32/release/obj/lrhorizontallayout.o -win32/release/obj/lritemeditorwidget.o -win32/release/obj/lrfonteditorwidget.o -win32/release/obj/lrtextalignmenteditorwidget.o -win32/release/obj/lritemsborderseditorwidget.o -win32/release/obj/lrimageitem.o -win32/release/obj/lrimageitemeditor.o -win32/release/obj/lrtextitemeditor.o -win32/release/obj/lrshapeitem.o -win32/release/obj/lrtextitem.o -win32/release/obj/lrverticallayout.o -win32/release/obj/lrlayoutmarker.o -win32/release/obj/lrabstractlayout.o -win32/release/obj/lrchartitem.o -win32/release/obj/lrchartitemeditor.o -win32/release/obj/lrchartaxiseditor.o -win32/release/obj/lrhorizontalbarchart.o -win32/release/obj/lrlineschart.o -win32/release/obj/lrgridlineschart.o -win32/release/obj/lrpiechart.o -win32/release/obj/lrverticalbarchart.o -win32/release/obj/lrbanddesignintf.o -win32/release/obj/lrpageitemdesignintf.o -win32/release/obj/lrpagedesignintf.o -win32/release/obj/lrbandsmanager.o -win32/release/obj/lrglobal.o -win32/release/obj/lritemdesignintf.o -win32/release/obj/lrdatadesignintf.o -win32/release/obj/lrbasedesignintf.o -win32/release/obj/lrreportengine.o -win32/release/obj/lrdatasourcemanager.o -win32/release/obj/lrreportrender.o -win32/release/obj/lrscriptenginemanager.o -win32/release/obj/lrpreviewreportwindow.o -win32/release/obj/lrpreviewreportwidget.o -win32/release/obj/lrgraphicsviewzoom.o -win32/release/obj/lrvariablesholder.o -win32/release/obj/lrgroupfunctions.o -win32/release/obj/lrsimplecrypt.o -win32/release/obj/lraboutdialog.o -win32/release/obj/lrsettingdialog.o -win32/release/obj/lritemscontainerdesignitf.o -win32/release/obj/lrcolorindicator.o -win32/release/obj/lrreporttranslation.o -win32/release/obj/lrpdfexporter.o -win32/release/obj/lraxisdata.o -win32/release/obj/lrpreparedpages.o -win32/release/obj/lrpageeditor.o -win32/release/obj/lrborderframeeditor.o -win32/release/obj/lrbordereditor.o -win32/release/obj/lrbarcodeitem.o -win32/release/obj/lrsvgitem.o -win32/release/obj/qrc_dialogdesigner.o -win32/release/obj/qrc_lobjectinspector.o -win32/release/obj/qrc_lrdatabrowser.o -win32/release/obj/qrc_lrscriptbrowser.o -win32/release/obj/qrc_translationeditor.o -win32/release/obj/qrc_report.o -win32/release/obj/qrc_items.o -win32/release/obj/moc_widgethost.o -win32/release/obj/moc_sizehandlerect.o -win32/release/obj/moc_formresizer.o -win32/release/obj/moc_lrdialogdesigner.o -win32/release/obj/moc_lrdatabrowser.o -win32/release/obj/moc_lrsqleditdialog.o -win32/release/obj/moc_lrconnectiondialog.o -win32/release/obj/moc_lrvariabledialog.o -win32/release/obj/moc_lrdatabrowsertree.o -win32/release/obj/moc_lrscriptbrowser.o -win32/release/obj/moc_lrstringpropitem.o -win32/release/obj/moc_lrrectproptem.o -win32/release/obj/moc_lrdatasourcepropitem.o -win32/release/obj/moc_lrfontpropitem.o -win32/release/obj/moc_lrimagepropitem.o -win32/release/obj/moc_lrintpropitem.o -win32/release/obj/moc_lrenumpropitem.o -win32/release/obj/moc_lrboolpropitem.o -win32/release/obj/moc_lrflagspropitem.o -win32/release/obj/moc_lrcontentpropitem.o -win32/release/obj/moc_lrqrealpropitem.o -win32/release/obj/moc_lrcolorpropitem.o -win32/release/obj/moc_lrmarginpropitem.o -win32/release/obj/moc_lrseriespropitem.o -win32/release/obj/moc_lraxispropitem.o -win32/release/obj/moc_lrtextitempropertyeditor.o -win32/release/obj/moc_lrcomboboxeditor.o -win32/release/obj/moc_lrcheckboxeditor.o -win32/release/obj/moc_lrbuttonlineeditor.o -win32/release/obj/moc_lrimageeditor.o -win32/release/obj/moc_lrcoloreditor.o -win32/release/obj/moc_lrfonteditor.o -win32/release/obj/moc_lrobjectinspectorwidget.o -win32/release/obj/moc_lrobjectitemmodel.o -win32/release/obj/moc_lrobjectpropitem.o -win32/release/obj/moc_lrpropertydelegate.o -win32/release/obj/moc_lrobjectbrowser.o -win32/release/obj/moc_translationeditor.o -win32/release/obj/moc_languageselectdialog.o -win32/release/obj/moc_lritemsaligneditorwidget.o -win32/release/obj/moc_lrsubitemparentpropitem.o -win32/release/obj/moc_lralignpropitem.o -win32/release/obj/moc_lrreportdesignwidget.o -win32/release/obj/moc_lrreportdesignwindow.o -win32/release/obj/moc_lrsvgeditor.o -win32/release/obj/moc_lrsvgpropitem.o -win32/release/obj/moc_lrpageheader.o -win32/release/obj/moc_lrpagefooter.o -win32/release/obj/moc_lrreportheader.o -win32/release/obj/moc_lrreportfooter.o -win32/release/obj/moc_lrdataband.o -win32/release/obj/moc_lrtearoffband.o -win32/release/obj/moc_lrsubdetailband.o -win32/release/obj/moc_lrgroupbands.o -win32/release/obj/moc_lrscripteditor.o -win32/release/obj/moc_lrcodeeditor.o -win32/release/obj/moc_lritemeditorwidget.o -win32/release/obj/moc_lrfonteditorwidget.o -win32/release/obj/moc_lrtextalignmenteditorwidget.o -win32/release/obj/moc_lritemsborderseditorwidget.o -win32/release/obj/moc_lrtextitem.o -win32/release/obj/moc_lrhorizontallayout.o -win32/release/obj/moc_lrtextitemeditor.o -win32/release/obj/moc_lrshapeitem.o -win32/release/obj/moc_lrimageitem.o -win32/release/obj/moc_lrimageitemeditor.o -win32/release/obj/moc_lrverticallayout.o -win32/release/obj/moc_lrabstractlayout.o -win32/release/obj/moc_lrchartitem.o -win32/release/obj/moc_lrchartitemeditor.o -win32/release/obj/moc_lrchartaxiseditor.o -win32/release/obj/moc_lrbanddesignintf.o -win32/release/obj/moc_lrpageitemdesignintf.o -win32/release/obj/moc_lrglobal.o -win32/release/obj/moc_lrdatadesignintf.o -win32/release/obj/moc_lrpagedesignintf.o -win32/release/obj/moc_lrreportengine_p.o -win32/release/obj/moc_lrdatasourcemanager.o -win32/release/obj/moc_lrreportrender.o -win32/release/obj/moc_lrpreviewreportwindow.o -win32/release/obj/moc_lrpreviewreportwidget.o -win32/release/obj/moc_lrgraphicsviewzoom.o -win32/release/obj/moc_lrbasedesignintf.o -win32/release/obj/moc_lritemdesignintf.o -win32/release/obj/moc_lrscriptenginemanager.o -win32/release/obj/moc_lrvariablesholder.o -win32/release/obj/moc_lrgroupfunctions.o -win32/release/obj/moc_lrreportengine.o -win32/release/obj/moc_lraboutdialog.o -win32/release/obj/moc_lrcallbackdatasourceintf.o -win32/release/obj/moc_lrsettingdialog.o -win32/release/obj/moc_lritemscontainerdesignitf.o -win32/release/obj/moc_lrcolorindicator.o -win32/release/obj/moc_lrpdfexporter.o -win32/release/obj/moc_lraxisdata.o -win32/release/obj/moc_lrpageeditor.o -win32/release/obj/moc_lrborderframeeditor.o -win32/release/obj/moc_lrbordereditor.o -win32/release/obj/moc_lrbarcodeitem.o -win32/release/obj/moc_lrsvgitem.o diff --git a/limereport/object_script.limereportd.Debug b/limereport/object_script.limereportd.Debug deleted file mode 100644 index b8fbf54..0000000 --- a/limereport/object_script.limereportd.Debug +++ /dev/null @@ -1,223 +0,0 @@ -win32/debug/obj/widgethost.o -win32/debug/obj/sizehandlerect.o -win32/debug/obj/formresizer.o -win32/debug/obj/lrdialogdesigner.o -win32/debug/obj/lrdatabrowser.o -win32/debug/obj/lrsqleditdialog.o -win32/debug/obj/lrconnectiondialog.o -win32/debug/obj/lrvariabledialog.o -win32/debug/obj/lrdatabrowsertree.o -win32/debug/obj/lrstringpropitem.o -win32/debug/obj/lrrectproptem.o -win32/debug/obj/lrintpropitem.o -win32/debug/obj/lrenumpropitem.o -win32/debug/obj/lrboolpropitem.o -win32/debug/obj/lrflagspropitem.o -win32/debug/obj/lrfontpropitem.o -win32/debug/obj/lrimagepropitem.o -win32/debug/obj/lrqrealpropitem.o -win32/debug/obj/lrcolorpropitem.o -win32/debug/obj/lrdatasourcepropitem.o -win32/debug/obj/lrgroupfieldpropitem.o -win32/debug/obj/lrcontentpropitem.o -win32/debug/obj/lrmarginpropitem.o -win32/debug/obj/lrseriespropitem.o -win32/debug/obj/lraxispropitem.o -win32/debug/obj/lrtextitempropertyeditor.o -win32/debug/obj/lrcomboboxeditor.o -win32/debug/obj/lrcheckboxeditor.o -win32/debug/obj/lrbuttonlineeditor.o -win32/debug/obj/lrfonteditor.o -win32/debug/obj/lrimageeditor.o -win32/debug/obj/lrcoloreditor.o -win32/debug/obj/lrbasedesignobjectmodel.o -win32/debug/obj/lrobjectinspectorwidget.o -win32/debug/obj/lrobjectitemmodel.o -win32/debug/obj/lrobjectpropitem.o -win32/debug/obj/lrpropertydelegate.o -win32/debug/obj/lrobjectbrowser.o -win32/debug/obj/lrscriptbrowser.o -win32/debug/obj/lrsubitemparentpropitem.o -win32/debug/obj/lralignpropitem.o -win32/debug/obj/lritemsaligneditorwidget.o -win32/debug/obj/translationeditor.o -win32/debug/obj/languageselectdialog.o -win32/debug/obj/lrreportdesignwidget.o -win32/debug/obj/lrreportdesignwindow.o -win32/debug/obj/lrsvgeditor.o -win32/debug/obj/lrsvgpropitem.o -win32/debug/obj/lrcompletermodel.o -win32/debug/obj/lrpageheader.o -win32/debug/obj/lrpagefooter.o -win32/debug/obj/lrreportheader.o -win32/debug/obj/lrreportfooter.o -win32/debug/obj/lrdataband.o -win32/debug/obj/lrgroupbands.o -win32/debug/obj/lrsubdetailband.o -win32/debug/obj/lrtearoffband.o -win32/debug/obj/lrxmlqrectserializator.o -win32/debug/obj/lrxmlbasetypesserializators.o -win32/debug/obj/lrxmlreader.o -win32/debug/obj/lrxmlwriter.o -win32/debug/obj/lrscripteditor.o -win32/debug/obj/lrcodeeditor.o -win32/debug/obj/lrscripthighlighter.o -win32/debug/obj/lrhorizontallayout.o -win32/debug/obj/lritemeditorwidget.o -win32/debug/obj/lrfonteditorwidget.o -win32/debug/obj/lrtextalignmenteditorwidget.o -win32/debug/obj/lritemsborderseditorwidget.o -win32/debug/obj/lrimageitem.o -win32/debug/obj/lrimageitemeditor.o -win32/debug/obj/lrtextitemeditor.o -win32/debug/obj/lrshapeitem.o -win32/debug/obj/lrtextitem.o -win32/debug/obj/lrverticallayout.o -win32/debug/obj/lrlayoutmarker.o -win32/debug/obj/lrabstractlayout.o -win32/debug/obj/lrchartitem.o -win32/debug/obj/lrchartitemeditor.o -win32/debug/obj/lrchartaxiseditor.o -win32/debug/obj/lrhorizontalbarchart.o -win32/debug/obj/lrlineschart.o -win32/debug/obj/lrgridlineschart.o -win32/debug/obj/lrpiechart.o -win32/debug/obj/lrverticalbarchart.o -win32/debug/obj/lrbanddesignintf.o -win32/debug/obj/lrpageitemdesignintf.o -win32/debug/obj/lrpagedesignintf.o -win32/debug/obj/lrbandsmanager.o -win32/debug/obj/lrglobal.o -win32/debug/obj/lritemdesignintf.o -win32/debug/obj/lrdatadesignintf.o -win32/debug/obj/lrbasedesignintf.o -win32/debug/obj/lrreportengine.o -win32/debug/obj/lrdatasourcemanager.o -win32/debug/obj/lrreportrender.o -win32/debug/obj/lrscriptenginemanager.o -win32/debug/obj/lrpreviewreportwindow.o -win32/debug/obj/lrpreviewreportwidget.o -win32/debug/obj/lrgraphicsviewzoom.o -win32/debug/obj/lrvariablesholder.o -win32/debug/obj/lrgroupfunctions.o -win32/debug/obj/lrsimplecrypt.o -win32/debug/obj/lraboutdialog.o -win32/debug/obj/lrsettingdialog.o -win32/debug/obj/lritemscontainerdesignitf.o -win32/debug/obj/lrcolorindicator.o -win32/debug/obj/lrreporttranslation.o -win32/debug/obj/lrpdfexporter.o -win32/debug/obj/lraxisdata.o -win32/debug/obj/lrpreparedpages.o -win32/debug/obj/lrpageeditor.o -win32/debug/obj/lrborderframeeditor.o -win32/debug/obj/lrbordereditor.o -win32/debug/obj/lrbarcodeitem.o -win32/debug/obj/lrsvgitem.o -win32/debug/obj/qrc_dialogdesigner.o -win32/debug/obj/qrc_lobjectinspector.o -win32/debug/obj/qrc_lrdatabrowser.o -win32/debug/obj/qrc_lrscriptbrowser.o -win32/debug/obj/qrc_translationeditor.o -win32/debug/obj/qrc_report.o -win32/debug/obj/qrc_items.o -win32/debug/obj/moc_widgethost.o -win32/debug/obj/moc_sizehandlerect.o -win32/debug/obj/moc_formresizer.o -win32/debug/obj/moc_lrdialogdesigner.o -win32/debug/obj/moc_lrdatabrowser.o -win32/debug/obj/moc_lrsqleditdialog.o -win32/debug/obj/moc_lrconnectiondialog.o -win32/debug/obj/moc_lrvariabledialog.o -win32/debug/obj/moc_lrdatabrowsertree.o -win32/debug/obj/moc_lrscriptbrowser.o -win32/debug/obj/moc_lrstringpropitem.o -win32/debug/obj/moc_lrrectproptem.o -win32/debug/obj/moc_lrdatasourcepropitem.o -win32/debug/obj/moc_lrfontpropitem.o -win32/debug/obj/moc_lrimagepropitem.o -win32/debug/obj/moc_lrintpropitem.o -win32/debug/obj/moc_lrenumpropitem.o -win32/debug/obj/moc_lrboolpropitem.o -win32/debug/obj/moc_lrflagspropitem.o -win32/debug/obj/moc_lrcontentpropitem.o -win32/debug/obj/moc_lrqrealpropitem.o -win32/debug/obj/moc_lrcolorpropitem.o -win32/debug/obj/moc_lrmarginpropitem.o -win32/debug/obj/moc_lrseriespropitem.o -win32/debug/obj/moc_lraxispropitem.o -win32/debug/obj/moc_lrtextitempropertyeditor.o -win32/debug/obj/moc_lrcomboboxeditor.o -win32/debug/obj/moc_lrcheckboxeditor.o -win32/debug/obj/moc_lrbuttonlineeditor.o -win32/debug/obj/moc_lrimageeditor.o -win32/debug/obj/moc_lrcoloreditor.o -win32/debug/obj/moc_lrfonteditor.o -win32/debug/obj/moc_lrobjectinspectorwidget.o -win32/debug/obj/moc_lrobjectitemmodel.o -win32/debug/obj/moc_lrobjectpropitem.o -win32/debug/obj/moc_lrpropertydelegate.o -win32/debug/obj/moc_lrobjectbrowser.o -win32/debug/obj/moc_translationeditor.o -win32/debug/obj/moc_languageselectdialog.o -win32/debug/obj/moc_lritemsaligneditorwidget.o -win32/debug/obj/moc_lrsubitemparentpropitem.o -win32/debug/obj/moc_lralignpropitem.o -win32/debug/obj/moc_lrreportdesignwidget.o -win32/debug/obj/moc_lrreportdesignwindow.o -win32/debug/obj/moc_lrsvgeditor.o -win32/debug/obj/moc_lrsvgpropitem.o -win32/debug/obj/moc_lrpageheader.o -win32/debug/obj/moc_lrpagefooter.o -win32/debug/obj/moc_lrreportheader.o -win32/debug/obj/moc_lrreportfooter.o -win32/debug/obj/moc_lrdataband.o -win32/debug/obj/moc_lrtearoffband.o -win32/debug/obj/moc_lrsubdetailband.o -win32/debug/obj/moc_lrgroupbands.o -win32/debug/obj/moc_lrscripteditor.o -win32/debug/obj/moc_lrcodeeditor.o -win32/debug/obj/moc_lritemeditorwidget.o -win32/debug/obj/moc_lrfonteditorwidget.o -win32/debug/obj/moc_lrtextalignmenteditorwidget.o -win32/debug/obj/moc_lritemsborderseditorwidget.o -win32/debug/obj/moc_lrtextitem.o -win32/debug/obj/moc_lrhorizontallayout.o -win32/debug/obj/moc_lrtextitemeditor.o -win32/debug/obj/moc_lrshapeitem.o -win32/debug/obj/moc_lrimageitem.o -win32/debug/obj/moc_lrimageitemeditor.o -win32/debug/obj/moc_lrverticallayout.o -win32/debug/obj/moc_lrabstractlayout.o -win32/debug/obj/moc_lrchartitem.o -win32/debug/obj/moc_lrchartitemeditor.o -win32/debug/obj/moc_lrchartaxiseditor.o -win32/debug/obj/moc_lrbanddesignintf.o -win32/debug/obj/moc_lrpageitemdesignintf.o -win32/debug/obj/moc_lrglobal.o -win32/debug/obj/moc_lrdatadesignintf.o -win32/debug/obj/moc_lrpagedesignintf.o -win32/debug/obj/moc_lrreportengine_p.o -win32/debug/obj/moc_lrdatasourcemanager.o -win32/debug/obj/moc_lrreportrender.o -win32/debug/obj/moc_lrpreviewreportwindow.o -win32/debug/obj/moc_lrpreviewreportwidget.o -win32/debug/obj/moc_lrgraphicsviewzoom.o -win32/debug/obj/moc_lrbasedesignintf.o -win32/debug/obj/moc_lritemdesignintf.o -win32/debug/obj/moc_lrscriptenginemanager.o -win32/debug/obj/moc_lrvariablesholder.o -win32/debug/obj/moc_lrgroupfunctions.o -win32/debug/obj/moc_lrreportengine.o -win32/debug/obj/moc_lraboutdialog.o -win32/debug/obj/moc_lrcallbackdatasourceintf.o -win32/debug/obj/moc_lrsettingdialog.o -win32/debug/obj/moc_lritemscontainerdesignitf.o -win32/debug/obj/moc_lrcolorindicator.o -win32/debug/obj/moc_lrpdfexporter.o -win32/debug/obj/moc_lraxisdata.o -win32/debug/obj/moc_lrpageeditor.o -win32/debug/obj/moc_lrborderframeeditor.o -win32/debug/obj/moc_lrbordereditor.o -win32/debug/obj/moc_lrbarcodeitem.o -win32/debug/obj/moc_lrsvgitem.o diff --git a/lrdview/object_script.lrdview.Debug b/lrdview/object_script.lrdview.Debug deleted file mode 100644 index 2603cca..0000000 --- a/lrdview/object_script.lrdview.Debug +++ /dev/null @@ -1,280 +0,0 @@ -win32/debug/obj/widgethost.o -win32/debug/obj/sizehandlerect.o -win32/debug/obj/formresizer.o -win32/debug/obj/lrdialogdesigner.o -win32/debug/obj/lrdatabrowser.o -win32/debug/obj/lrsqleditdialog.o -win32/debug/obj/lrconnectiondialog.o -win32/debug/obj/lrvariabledialog.o -win32/debug/obj/lrdatabrowsertree.o -win32/debug/obj/lrstringpropitem.o -win32/debug/obj/lrrectproptem.o -win32/debug/obj/lrintpropitem.o -win32/debug/obj/lrenumpropitem.o -win32/debug/obj/lrboolpropitem.o -win32/debug/obj/lrflagspropitem.o -win32/debug/obj/lrfontpropitem.o -win32/debug/obj/lrimagepropitem.o -win32/debug/obj/lrqrealpropitem.o -win32/debug/obj/lrcolorpropitem.o -win32/debug/obj/lrdatasourcepropitem.o -win32/debug/obj/lrgroupfieldpropitem.o -win32/debug/obj/lrcontentpropitem.o -win32/debug/obj/lrmarginpropitem.o -win32/debug/obj/lrseriespropitem.o -win32/debug/obj/lraxispropitem.o -win32/debug/obj/lrtextitempropertyeditor.o -win32/debug/obj/lrcomboboxeditor.o -win32/debug/obj/lrcheckboxeditor.o -win32/debug/obj/lrbuttonlineeditor.o -win32/debug/obj/lrfonteditor.o -win32/debug/obj/lrimageeditor.o -win32/debug/obj/lrcoloreditor.o -win32/debug/obj/lrbasedesignobjectmodel.o -win32/debug/obj/lrobjectinspectorwidget.o -win32/debug/obj/lrobjectitemmodel.o -win32/debug/obj/lrobjectpropitem.o -win32/debug/obj/lrpropertydelegate.o -win32/debug/obj/lrobjectbrowser.o -win32/debug/obj/lrscriptbrowser.o -win32/debug/obj/lrsubitemparentpropitem.o -win32/debug/obj/lralignpropitem.o -win32/debug/obj/lritemsaligneditorwidget.o -win32/debug/obj/translationeditor.o -win32/debug/obj/languageselectdialog.o -win32/debug/obj/lrreportdesignwidget.o -win32/debug/obj/lrreportdesignwindow.o -win32/debug/obj/lrsvgeditor.o -win32/debug/obj/lrsvgpropitem.o -win32/debug/obj/lrcompletermodel.o -win32/debug/obj/lrpageheader.o -win32/debug/obj/lrpagefooter.o -win32/debug/obj/lrreportheader.o -win32/debug/obj/lrreportfooter.o -win32/debug/obj/lrdataband.o -win32/debug/obj/lrgroupbands.o -win32/debug/obj/lrsubdetailband.o -win32/debug/obj/lrtearoffband.o -win32/debug/obj/lrxmlqrectserializator.o -win32/debug/obj/lrxmlbasetypesserializators.o -win32/debug/obj/lrxmlreader.o -win32/debug/obj/lrxmlwriter.o -win32/debug/obj/lrscripteditor.o -win32/debug/obj/lrcodeeditor.o -win32/debug/obj/lrscripthighlighter.o -win32/debug/obj/lrhorizontallayout.o -win32/debug/obj/lritemeditorwidget.o -win32/debug/obj/lrfonteditorwidget.o -win32/debug/obj/lrtextalignmenteditorwidget.o -win32/debug/obj/lritemsborderseditorwidget.o -win32/debug/obj/lrimageitem.o -win32/debug/obj/lrimageitemeditor.o -win32/debug/obj/lrtextitemeditor.o -win32/debug/obj/lrshapeitem.o -win32/debug/obj/lrtextitem.o -win32/debug/obj/lrverticallayout.o -win32/debug/obj/lrlayoutmarker.o -win32/debug/obj/lrabstractlayout.o -win32/debug/obj/lrchartitem.o -win32/debug/obj/lrchartitemeditor.o -win32/debug/obj/lrchartaxiseditor.o -win32/debug/obj/lrhorizontalbarchart.o -win32/debug/obj/lrlineschart.o -win32/debug/obj/lrgridlineschart.o -win32/debug/obj/lrpiechart.o -win32/debug/obj/lrverticalbarchart.o -win32/debug/obj/lrbanddesignintf.o -win32/debug/obj/lrpageitemdesignintf.o -win32/debug/obj/lrpagedesignintf.o -win32/debug/obj/lrbandsmanager.o -win32/debug/obj/lrglobal.o -win32/debug/obj/lritemdesignintf.o -win32/debug/obj/lrdatadesignintf.o -win32/debug/obj/lrbasedesignintf.o -win32/debug/obj/lrreportengine.o -win32/debug/obj/lrdatasourcemanager.o -win32/debug/obj/lrreportrender.o -win32/debug/obj/lrscriptenginemanager.o -win32/debug/obj/lrpreviewreportwindow.o -win32/debug/obj/lrpreviewreportwidget.o -win32/debug/obj/lrgraphicsviewzoom.o -win32/debug/obj/lrvariablesholder.o -win32/debug/obj/lrgroupfunctions.o -win32/debug/obj/lrsimplecrypt.o -win32/debug/obj/lraboutdialog.o -win32/debug/obj/lrsettingdialog.o -win32/debug/obj/lritemscontainerdesignitf.o -win32/debug/obj/lrcolorindicator.o -win32/debug/obj/lrreporttranslation.o -win32/debug/obj/lrpdfexporter.o -win32/debug/obj/lraxisdata.o -win32/debug/obj/lrpreparedpages.o -win32/debug/obj/lrpageeditor.o -win32/debug/obj/lrborderframeeditor.o -win32/debug/obj/lrbordereditor.o -win32/debug/obj/lrbarcodeitem.o -win32/debug/obj/lrsvgitem.o -win32/debug/obj/2of5.o -win32/debug/obj/auspost.o -win32/debug/obj/aztec.o -win32/debug/obj/bmp.o -win32/debug/obj/codablock.o -win32/debug/obj/code.o -win32/debug/obj/code1.o -win32/debug/obj/code128.o -win32/debug/obj/code16k.o -win32/debug/obj/code49.o -win32/debug/obj/common.o -win32/debug/obj/composite.o -win32/debug/obj/dmatrix.o -win32/debug/obj/dotcode.o -win32/debug/obj/eci.o -win32/debug/obj/emf.o -win32/debug/obj/gb18030.o -win32/debug/obj/gb2312.o -win32/debug/obj/general_field.o -win32/debug/obj/gif.o -win32/debug/obj/gridmtx.o -win32/debug/obj/gs1.o -win32/debug/obj/hanxin.o -win32/debug/obj/imail.o -win32/debug/obj/large.o -win32/debug/obj/library.o -win32/debug/obj/mailmark.o -win32/debug/obj/maxicode.o -win32/debug/obj/medical.o -win32/debug/obj/output.o -win32/debug/obj/pcx.o -win32/debug/obj/pdf417.o -win32/debug/obj/plessey.o -win32/debug/obj/png.o -win32/debug/obj/postal.o -win32/debug/obj/ps.o -win32/debug/obj/qr.o -win32/debug/obj/raster.o -win32/debug/obj/reedsol.o -win32/debug/obj/rss.o -win32/debug/obj/sjis.o -win32/debug/obj/svg.o -win32/debug/obj/telepen.o -win32/debug/obj/tif.o -win32/debug/obj/ultra.o -win32/debug/obj/upcean.o -win32/debug/obj/vector.o -win32/debug/obj/dllversion.o -win32/debug/obj/qzint.o -win32/debug/obj/main.o -win32/debug/obj/MainWindow.o -win32/debug/obj/XmlModel.o -win32/debug/obj/SettingDialog.o -win32/debug/obj/qrc_dialogdesigner.o -win32/debug/obj/qrc_lobjectinspector.o -win32/debug/obj/qrc_lrdatabrowser.o -win32/debug/obj/qrc_lrscriptbrowser.o -win32/debug/obj/qrc_translationeditor.o -win32/debug/obj/qrc_report.o -win32/debug/obj/qrc_items.o -win32/debug/obj/qrc_MainWindow.o -win32/debug/obj/moc_widgethost.o -win32/debug/obj/moc_sizehandlerect.o -win32/debug/obj/moc_formresizer.o -win32/debug/obj/moc_lrdialogdesigner.o -win32/debug/obj/moc_lrdatabrowser.o -win32/debug/obj/moc_lrsqleditdialog.o -win32/debug/obj/moc_lrconnectiondialog.o -win32/debug/obj/moc_lrvariabledialog.o -win32/debug/obj/moc_lrdatabrowsertree.o -win32/debug/obj/moc_lrscriptbrowser.o -win32/debug/obj/moc_lrstringpropitem.o -win32/debug/obj/moc_lrrectproptem.o -win32/debug/obj/moc_lrdatasourcepropitem.o -win32/debug/obj/moc_lrfontpropitem.o -win32/debug/obj/moc_lrimagepropitem.o -win32/debug/obj/moc_lrintpropitem.o -win32/debug/obj/moc_lrenumpropitem.o -win32/debug/obj/moc_lrboolpropitem.o -win32/debug/obj/moc_lrflagspropitem.o -win32/debug/obj/moc_lrcontentpropitem.o -win32/debug/obj/moc_lrqrealpropitem.o -win32/debug/obj/moc_lrcolorpropitem.o -win32/debug/obj/moc_lrmarginpropitem.o -win32/debug/obj/moc_lrseriespropitem.o -win32/debug/obj/moc_lraxispropitem.o -win32/debug/obj/moc_lrtextitempropertyeditor.o -win32/debug/obj/moc_lrcomboboxeditor.o -win32/debug/obj/moc_lrcheckboxeditor.o -win32/debug/obj/moc_lrbuttonlineeditor.o -win32/debug/obj/moc_lrimageeditor.o -win32/debug/obj/moc_lrcoloreditor.o -win32/debug/obj/moc_lrfonteditor.o -win32/debug/obj/moc_lrobjectinspectorwidget.o -win32/debug/obj/moc_lrobjectitemmodel.o -win32/debug/obj/moc_lrobjectpropitem.o -win32/debug/obj/moc_lrpropertydelegate.o -win32/debug/obj/moc_lrobjectbrowser.o -win32/debug/obj/moc_translationeditor.o -win32/debug/obj/moc_languageselectdialog.o -win32/debug/obj/moc_lritemsaligneditorwidget.o -win32/debug/obj/moc_lrsubitemparentpropitem.o -win32/debug/obj/moc_lralignpropitem.o -win32/debug/obj/moc_lrreportdesignwidget.o -win32/debug/obj/moc_lrreportdesignwindow.o -win32/debug/obj/moc_lrsvgeditor.o -win32/debug/obj/moc_lrsvgpropitem.o -win32/debug/obj/moc_lrpageheader.o -win32/debug/obj/moc_lrpagefooter.o -win32/debug/obj/moc_lrreportheader.o -win32/debug/obj/moc_lrreportfooter.o -win32/debug/obj/moc_lrdataband.o -win32/debug/obj/moc_lrtearoffband.o -win32/debug/obj/moc_lrsubdetailband.o -win32/debug/obj/moc_lrgroupbands.o -win32/debug/obj/moc_lrscripteditor.o -win32/debug/obj/moc_lrcodeeditor.o -win32/debug/obj/moc_lritemeditorwidget.o -win32/debug/obj/moc_lrfonteditorwidget.o -win32/debug/obj/moc_lrtextalignmenteditorwidget.o -win32/debug/obj/moc_lritemsborderseditorwidget.o -win32/debug/obj/moc_lrtextitem.o -win32/debug/obj/moc_lrhorizontallayout.o -win32/debug/obj/moc_lrtextitemeditor.o -win32/debug/obj/moc_lrshapeitem.o -win32/debug/obj/moc_lrimageitem.o -win32/debug/obj/moc_lrimageitemeditor.o -win32/debug/obj/moc_lrverticallayout.o -win32/debug/obj/moc_lrabstractlayout.o -win32/debug/obj/moc_lrchartitem.o -win32/debug/obj/moc_lrchartitemeditor.o -win32/debug/obj/moc_lrchartaxiseditor.o -win32/debug/obj/moc_lrbanddesignintf.o -win32/debug/obj/moc_lrpageitemdesignintf.o -win32/debug/obj/moc_lrglobal.o -win32/debug/obj/moc_lrdatadesignintf.o -win32/debug/obj/moc_lrpagedesignintf.o -win32/debug/obj/moc_lrreportengine_p.o -win32/debug/obj/moc_lrdatasourcemanager.o -win32/debug/obj/moc_lrreportrender.o -win32/debug/obj/moc_lrpreviewreportwindow.o -win32/debug/obj/moc_lrpreviewreportwidget.o -win32/debug/obj/moc_lrgraphicsviewzoom.o -win32/debug/obj/moc_lrbasedesignintf.o -win32/debug/obj/moc_lritemdesignintf.o -win32/debug/obj/moc_lrscriptenginemanager.o -win32/debug/obj/moc_lrvariablesholder.o -win32/debug/obj/moc_lrgroupfunctions.o -win32/debug/obj/moc_lrreportengine.o -win32/debug/obj/moc_lraboutdialog.o -win32/debug/obj/moc_lrcallbackdatasourceintf.o -win32/debug/obj/moc_lrsettingdialog.o -win32/debug/obj/moc_lritemscontainerdesignitf.o -win32/debug/obj/moc_lrcolorindicator.o -win32/debug/obj/moc_lrpdfexporter.o -win32/debug/obj/moc_lraxisdata.o -win32/debug/obj/moc_lrpageeditor.o -win32/debug/obj/moc_lrborderframeeditor.o -win32/debug/obj/moc_lrbordereditor.o -win32/debug/obj/moc_lrbarcodeitem.o -win32/debug/obj/moc_lrsvgitem.o -win32/debug/obj/moc_qzint.o -win32/debug/obj/moc_MainWindow.o -win32/debug/obj/moc_SettingDialog.o diff --git a/lrdview/object_script.lrdview.Release b/lrdview/object_script.lrdview.Release deleted file mode 100644 index b752434..0000000 --- a/lrdview/object_script.lrdview.Release +++ /dev/null @@ -1,280 +0,0 @@ -win32/release/obj/widgethost.o -win32/release/obj/sizehandlerect.o -win32/release/obj/formresizer.o -win32/release/obj/lrdialogdesigner.o -win32/release/obj/lrdatabrowser.o -win32/release/obj/lrsqleditdialog.o -win32/release/obj/lrconnectiondialog.o -win32/release/obj/lrvariabledialog.o -win32/release/obj/lrdatabrowsertree.o -win32/release/obj/lrstringpropitem.o -win32/release/obj/lrrectproptem.o -win32/release/obj/lrintpropitem.o -win32/release/obj/lrenumpropitem.o -win32/release/obj/lrboolpropitem.o -win32/release/obj/lrflagspropitem.o -win32/release/obj/lrfontpropitem.o -win32/release/obj/lrimagepropitem.o -win32/release/obj/lrqrealpropitem.o -win32/release/obj/lrcolorpropitem.o -win32/release/obj/lrdatasourcepropitem.o -win32/release/obj/lrgroupfieldpropitem.o -win32/release/obj/lrcontentpropitem.o -win32/release/obj/lrmarginpropitem.o -win32/release/obj/lrseriespropitem.o -win32/release/obj/lraxispropitem.o -win32/release/obj/lrtextitempropertyeditor.o -win32/release/obj/lrcomboboxeditor.o -win32/release/obj/lrcheckboxeditor.o -win32/release/obj/lrbuttonlineeditor.o -win32/release/obj/lrfonteditor.o -win32/release/obj/lrimageeditor.o -win32/release/obj/lrcoloreditor.o -win32/release/obj/lrbasedesignobjectmodel.o -win32/release/obj/lrobjectinspectorwidget.o -win32/release/obj/lrobjectitemmodel.o -win32/release/obj/lrobjectpropitem.o -win32/release/obj/lrpropertydelegate.o -win32/release/obj/lrobjectbrowser.o -win32/release/obj/lrscriptbrowser.o -win32/release/obj/lrsubitemparentpropitem.o -win32/release/obj/lralignpropitem.o -win32/release/obj/lritemsaligneditorwidget.o -win32/release/obj/translationeditor.o -win32/release/obj/languageselectdialog.o -win32/release/obj/lrreportdesignwidget.o -win32/release/obj/lrreportdesignwindow.o -win32/release/obj/lrsvgeditor.o -win32/release/obj/lrsvgpropitem.o -win32/release/obj/lrcompletermodel.o -win32/release/obj/lrpageheader.o -win32/release/obj/lrpagefooter.o -win32/release/obj/lrreportheader.o -win32/release/obj/lrreportfooter.o -win32/release/obj/lrdataband.o -win32/release/obj/lrgroupbands.o -win32/release/obj/lrsubdetailband.o -win32/release/obj/lrtearoffband.o -win32/release/obj/lrxmlqrectserializator.o -win32/release/obj/lrxmlbasetypesserializators.o -win32/release/obj/lrxmlreader.o -win32/release/obj/lrxmlwriter.o -win32/release/obj/lrscripteditor.o -win32/release/obj/lrcodeeditor.o -win32/release/obj/lrscripthighlighter.o -win32/release/obj/lrhorizontallayout.o -win32/release/obj/lritemeditorwidget.o -win32/release/obj/lrfonteditorwidget.o -win32/release/obj/lrtextalignmenteditorwidget.o -win32/release/obj/lritemsborderseditorwidget.o -win32/release/obj/lrimageitem.o -win32/release/obj/lrimageitemeditor.o -win32/release/obj/lrtextitemeditor.o -win32/release/obj/lrshapeitem.o -win32/release/obj/lrtextitem.o -win32/release/obj/lrverticallayout.o -win32/release/obj/lrlayoutmarker.o -win32/release/obj/lrabstractlayout.o -win32/release/obj/lrchartitem.o -win32/release/obj/lrchartitemeditor.o -win32/release/obj/lrchartaxiseditor.o -win32/release/obj/lrhorizontalbarchart.o -win32/release/obj/lrlineschart.o -win32/release/obj/lrgridlineschart.o -win32/release/obj/lrpiechart.o -win32/release/obj/lrverticalbarchart.o -win32/release/obj/lrbanddesignintf.o -win32/release/obj/lrpageitemdesignintf.o -win32/release/obj/lrpagedesignintf.o -win32/release/obj/lrbandsmanager.o -win32/release/obj/lrglobal.o -win32/release/obj/lritemdesignintf.o -win32/release/obj/lrdatadesignintf.o -win32/release/obj/lrbasedesignintf.o -win32/release/obj/lrreportengine.o -win32/release/obj/lrdatasourcemanager.o -win32/release/obj/lrreportrender.o -win32/release/obj/lrscriptenginemanager.o -win32/release/obj/lrpreviewreportwindow.o -win32/release/obj/lrpreviewreportwidget.o -win32/release/obj/lrgraphicsviewzoom.o -win32/release/obj/lrvariablesholder.o -win32/release/obj/lrgroupfunctions.o -win32/release/obj/lrsimplecrypt.o -win32/release/obj/lraboutdialog.o -win32/release/obj/lrsettingdialog.o -win32/release/obj/lritemscontainerdesignitf.o -win32/release/obj/lrcolorindicator.o -win32/release/obj/lrreporttranslation.o -win32/release/obj/lrpdfexporter.o -win32/release/obj/lraxisdata.o -win32/release/obj/lrpreparedpages.o -win32/release/obj/lrpageeditor.o -win32/release/obj/lrborderframeeditor.o -win32/release/obj/lrbordereditor.o -win32/release/obj/lrbarcodeitem.o -win32/release/obj/lrsvgitem.o -win32/release/obj/2of5.o -win32/release/obj/auspost.o -win32/release/obj/aztec.o -win32/release/obj/bmp.o -win32/release/obj/codablock.o -win32/release/obj/code.o -win32/release/obj/code1.o -win32/release/obj/code128.o -win32/release/obj/code16k.o -win32/release/obj/code49.o -win32/release/obj/common.o -win32/release/obj/composite.o -win32/release/obj/dmatrix.o -win32/release/obj/dotcode.o -win32/release/obj/eci.o -win32/release/obj/emf.o -win32/release/obj/gb18030.o -win32/release/obj/gb2312.o -win32/release/obj/general_field.o -win32/release/obj/gif.o -win32/release/obj/gridmtx.o -win32/release/obj/gs1.o -win32/release/obj/hanxin.o -win32/release/obj/imail.o -win32/release/obj/large.o -win32/release/obj/library.o -win32/release/obj/mailmark.o -win32/release/obj/maxicode.o -win32/release/obj/medical.o -win32/release/obj/output.o -win32/release/obj/pcx.o -win32/release/obj/pdf417.o -win32/release/obj/plessey.o -win32/release/obj/png.o -win32/release/obj/postal.o -win32/release/obj/ps.o -win32/release/obj/qr.o -win32/release/obj/raster.o -win32/release/obj/reedsol.o -win32/release/obj/rss.o -win32/release/obj/sjis.o -win32/release/obj/svg.o -win32/release/obj/telepen.o -win32/release/obj/tif.o -win32/release/obj/ultra.o -win32/release/obj/upcean.o -win32/release/obj/vector.o -win32/release/obj/dllversion.o -win32/release/obj/qzint.o -win32/release/obj/main.o -win32/release/obj/MainWindow.o -win32/release/obj/XmlModel.o -win32/release/obj/SettingDialog.o -win32/release/obj/qrc_dialogdesigner.o -win32/release/obj/qrc_lobjectinspector.o -win32/release/obj/qrc_lrdatabrowser.o -win32/release/obj/qrc_lrscriptbrowser.o -win32/release/obj/qrc_translationeditor.o -win32/release/obj/qrc_report.o -win32/release/obj/qrc_items.o -win32/release/obj/qrc_MainWindow.o -win32/release/obj/moc_widgethost.o -win32/release/obj/moc_sizehandlerect.o -win32/release/obj/moc_formresizer.o -win32/release/obj/moc_lrdialogdesigner.o -win32/release/obj/moc_lrdatabrowser.o -win32/release/obj/moc_lrsqleditdialog.o -win32/release/obj/moc_lrconnectiondialog.o -win32/release/obj/moc_lrvariabledialog.o -win32/release/obj/moc_lrdatabrowsertree.o -win32/release/obj/moc_lrscriptbrowser.o -win32/release/obj/moc_lrstringpropitem.o -win32/release/obj/moc_lrrectproptem.o -win32/release/obj/moc_lrdatasourcepropitem.o -win32/release/obj/moc_lrfontpropitem.o -win32/release/obj/moc_lrimagepropitem.o -win32/release/obj/moc_lrintpropitem.o -win32/release/obj/moc_lrenumpropitem.o -win32/release/obj/moc_lrboolpropitem.o -win32/release/obj/moc_lrflagspropitem.o -win32/release/obj/moc_lrcontentpropitem.o -win32/release/obj/moc_lrqrealpropitem.o -win32/release/obj/moc_lrcolorpropitem.o -win32/release/obj/moc_lrmarginpropitem.o -win32/release/obj/moc_lrseriespropitem.o -win32/release/obj/moc_lraxispropitem.o -win32/release/obj/moc_lrtextitempropertyeditor.o -win32/release/obj/moc_lrcomboboxeditor.o -win32/release/obj/moc_lrcheckboxeditor.o -win32/release/obj/moc_lrbuttonlineeditor.o -win32/release/obj/moc_lrimageeditor.o -win32/release/obj/moc_lrcoloreditor.o -win32/release/obj/moc_lrfonteditor.o -win32/release/obj/moc_lrobjectinspectorwidget.o -win32/release/obj/moc_lrobjectitemmodel.o -win32/release/obj/moc_lrobjectpropitem.o -win32/release/obj/moc_lrpropertydelegate.o -win32/release/obj/moc_lrobjectbrowser.o -win32/release/obj/moc_translationeditor.o -win32/release/obj/moc_languageselectdialog.o -win32/release/obj/moc_lritemsaligneditorwidget.o -win32/release/obj/moc_lrsubitemparentpropitem.o -win32/release/obj/moc_lralignpropitem.o -win32/release/obj/moc_lrreportdesignwidget.o -win32/release/obj/moc_lrreportdesignwindow.o -win32/release/obj/moc_lrsvgeditor.o -win32/release/obj/moc_lrsvgpropitem.o -win32/release/obj/moc_lrpageheader.o -win32/release/obj/moc_lrpagefooter.o -win32/release/obj/moc_lrreportheader.o -win32/release/obj/moc_lrreportfooter.o -win32/release/obj/moc_lrdataband.o -win32/release/obj/moc_lrtearoffband.o -win32/release/obj/moc_lrsubdetailband.o -win32/release/obj/moc_lrgroupbands.o -win32/release/obj/moc_lrscripteditor.o -win32/release/obj/moc_lrcodeeditor.o -win32/release/obj/moc_lritemeditorwidget.o -win32/release/obj/moc_lrfonteditorwidget.o -win32/release/obj/moc_lrtextalignmenteditorwidget.o -win32/release/obj/moc_lritemsborderseditorwidget.o -win32/release/obj/moc_lrtextitem.o -win32/release/obj/moc_lrhorizontallayout.o -win32/release/obj/moc_lrtextitemeditor.o -win32/release/obj/moc_lrshapeitem.o -win32/release/obj/moc_lrimageitem.o -win32/release/obj/moc_lrimageitemeditor.o -win32/release/obj/moc_lrverticallayout.o -win32/release/obj/moc_lrabstractlayout.o -win32/release/obj/moc_lrchartitem.o -win32/release/obj/moc_lrchartitemeditor.o -win32/release/obj/moc_lrchartaxiseditor.o -win32/release/obj/moc_lrbanddesignintf.o -win32/release/obj/moc_lrpageitemdesignintf.o -win32/release/obj/moc_lrglobal.o -win32/release/obj/moc_lrdatadesignintf.o -win32/release/obj/moc_lrpagedesignintf.o -win32/release/obj/moc_lrreportengine_p.o -win32/release/obj/moc_lrdatasourcemanager.o -win32/release/obj/moc_lrreportrender.o -win32/release/obj/moc_lrpreviewreportwindow.o -win32/release/obj/moc_lrpreviewreportwidget.o -win32/release/obj/moc_lrgraphicsviewzoom.o -win32/release/obj/moc_lrbasedesignintf.o -win32/release/obj/moc_lritemdesignintf.o -win32/release/obj/moc_lrscriptenginemanager.o -win32/release/obj/moc_lrvariablesholder.o -win32/release/obj/moc_lrgroupfunctions.o -win32/release/obj/moc_lrreportengine.o -win32/release/obj/moc_lraboutdialog.o -win32/release/obj/moc_lrcallbackdatasourceintf.o -win32/release/obj/moc_lrsettingdialog.o -win32/release/obj/moc_lritemscontainerdesignitf.o -win32/release/obj/moc_lrcolorindicator.o -win32/release/obj/moc_lrpdfexporter.o -win32/release/obj/moc_lraxisdata.o -win32/release/obj/moc_lrpageeditor.o -win32/release/obj/moc_lrborderframeeditor.o -win32/release/obj/moc_lrbordereditor.o -win32/release/obj/moc_lrbarcodeitem.o -win32/release/obj/moc_lrsvgitem.o -win32/release/obj/moc_qzint.o -win32/release/obj/moc_MainWindow.o -win32/release/obj/moc_SettingDialog.o