mirror of
				https://github.com/fralx/LimeReport.git
				synced 2025-11-04 15:11:26 +03:00 
			
		
		
		
	Finish addNewTextInPreview
This commit is contained in:
		@@ -15,6 +15,7 @@ class PreviewReportWidget;
 | 
				
			|||||||
class PreviewReportWidgetPrivate;
 | 
					class PreviewReportWidgetPrivate;
 | 
				
			||||||
class ReportEnginePrivate;
 | 
					class ReportEnginePrivate;
 | 
				
			||||||
class ReportEngine;
 | 
					class ReportEngine;
 | 
				
			||||||
 | 
					class PageDesignIntf;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class LIMEREPORT_EXPORT PreviewReportWidget : public QWidget
 | 
					class LIMEREPORT_EXPORT PreviewReportWidget : public QWidget
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@@ -34,6 +35,11 @@ public:
 | 
				
			|||||||
    QColor previewPageBackgroundColor();
 | 
					    QColor previewPageBackgroundColor();
 | 
				
			||||||
    QPrinter *defaultPrinter() const;
 | 
					    QPrinter *defaultPrinter() const;
 | 
				
			||||||
    void setDefaultPrinter(QPrinter *defaultPrinter);
 | 
					    void setDefaultPrinter(QPrinter *defaultPrinter);
 | 
				
			||||||
 | 
					    void startInsertTextItem();
 | 
				
			||||||
 | 
					    void activateItemSelectionMode();
 | 
				
			||||||
 | 
					    void deleteSelectedItems();
 | 
				
			||||||
 | 
					    void activateCurrentPage();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public slots:
 | 
					public slots:
 | 
				
			||||||
    void refreshPages();
 | 
					    void refreshPages();
 | 
				
			||||||
    void zoomIn();
 | 
					    void zoomIn();
 | 
				
			||||||
@@ -57,6 +63,7 @@ signals:
 | 
				
			|||||||
    void pageChanged(int page);
 | 
					    void pageChanged(int page);
 | 
				
			||||||
    void scalePercentChanged(int percent);
 | 
					    void scalePercentChanged(int percent);
 | 
				
			||||||
    void pagesSet(int pageCount);
 | 
					    void pagesSet(int pageCount);
 | 
				
			||||||
 | 
					    void itemInserted(LimeReport::PageDesignIntf* report, QPointF pos, const QString& ItemType);
 | 
				
			||||||
private slots:
 | 
					private slots:
 | 
				
			||||||
    void slotSliderMoved(int value);
 | 
					    void slotSliderMoved(int value);
 | 
				
			||||||
    void reportEngineDestroyed(QObject* object);
 | 
					    void reportEngineDestroyed(QObject* object);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -775,8 +775,7 @@ BandDesignIntf* BandDesignIntf::findParentBand()
 | 
				
			|||||||
void BandDesignIntf::updateBandMarkerGeometry()
 | 
					void BandDesignIntf::updateBandMarkerGeometry()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if (parentItem() && m_bandMarker){
 | 
					    if (parentItem() && m_bandMarker){
 | 
				
			||||||
        QPointF sp = parentItem()->mapToScene(pos());
 | 
					        m_bandMarker->setPos(pos().x()-m_bandMarker->width(),pos().y());
 | 
				
			||||||
        m_bandMarker->setPos((sp.x()-m_bandMarker->boundingRect().width()),sp.y());
 | 
					 | 
				
			||||||
        m_bandMarker->setHeight(rect().height());
 | 
					        m_bandMarker->setHeight(rect().height());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -66,6 +66,7 @@ void ItemDesignIntf::setItemLocation(LocationType location)
 | 
				
			|||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                if (scene()){
 | 
					                if (scene()){
 | 
				
			||||||
                    PageItemDesignIntf* page = dynamic_cast<PageDesignIntf*>(scene())->pageItem();
 | 
					                    PageItemDesignIntf* page = dynamic_cast<PageDesignIntf*>(scene())->pageItem();
 | 
				
			||||||
 | 
					                    if (page){
 | 
				
			||||||
                        QPointF parentPos = page->mapFromItem(parentItem(),x(),y());
 | 
					                        QPointF parentPos = page->mapFromItem(parentItem(),x(),y());
 | 
				
			||||||
                        setParentItem(page);
 | 
					                        setParentItem(page);
 | 
				
			||||||
                        setParent(page);
 | 
					                        setParent(page);
 | 
				
			||||||
@@ -73,6 +74,7 @@ void ItemDesignIntf::setItemLocation(LocationType location)
 | 
				
			|||||||
                        emit itemLocationChanged(this, page);
 | 
					                        emit itemLocationChanged(this, page);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
            notify("locationType",oldValue,location);
 | 
					            notify("locationType",oldValue,location);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -91,7 +91,8 @@ PageDesignIntf::PageDesignIntf(QObject *parent):
 | 
				
			|||||||
    m_movedItem(0),
 | 
					    m_movedItem(0),
 | 
				
			||||||
    m_joinItem(0),
 | 
					    m_joinItem(0),
 | 
				
			||||||
    m_magneticMovement(false),
 | 
					    m_magneticMovement(false),
 | 
				
			||||||
    m_reportSettings(0)
 | 
					    m_reportSettings(0),
 | 
				
			||||||
 | 
					    m_currentPage(0)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    m_reportEditor = dynamic_cast<ReportEnginePrivate *>(parent);
 | 
					    m_reportEditor = dynamic_cast<ReportEnginePrivate *>(parent);
 | 
				
			||||||
    updatePageRect();
 | 
					    updatePageRect();
 | 
				
			||||||
@@ -240,7 +241,9 @@ void PageDesignIntf::startInsertMode(const QString &ItemType)
 | 
				
			|||||||
    m_insertItemType = ItemType;
 | 
					    m_insertItemType = ItemType;
 | 
				
			||||||
    m_itemInsertRect = this->addRect(0, 0, 200, 50);
 | 
					    m_itemInsertRect = this->addRect(0, 0, 200, 50);
 | 
				
			||||||
    m_itemInsertRect->setVisible(false);
 | 
					    m_itemInsertRect->setVisible(false);
 | 
				
			||||||
    m_itemInsertRect->setParentItem(pageItem());
 | 
					    PageItemDesignIntf* page = pageItem() ? pageItem() : getCurrentPage();
 | 
				
			||||||
 | 
					    if (page)
 | 
				
			||||||
 | 
					        m_itemInsertRect->setParentItem(page);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void PageDesignIntf::startEditMode()
 | 
					void PageDesignIntf::startEditMode()
 | 
				
			||||||
@@ -253,11 +256,12 @@ void PageDesignIntf::startEditMode()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
PageItemDesignIntf *PageDesignIntf::pageItem()
 | 
					PageItemDesignIntf *PageDesignIntf::pageItem()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return m_pageItem.data();
 | 
					    return m_currentPage ? m_currentPage : m_pageItem.data();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void PageDesignIntf::setPageItem(PageItemDesignIntf::Ptr pageItem)
 | 
					void PageDesignIntf::setPageItem(PageItemDesignIntf::Ptr pageItem)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    if (pageItem.isNull()) return;
 | 
				
			||||||
    if (!m_pageItem.isNull()) {
 | 
					    if (!m_pageItem.isNull()) {
 | 
				
			||||||
        removeItem(m_pageItem.data());
 | 
					        removeItem(m_pageItem.data());
 | 
				
			||||||
        m_pageItem->setParent(0);
 | 
					        m_pageItem->setParent(0);
 | 
				
			||||||
@@ -334,10 +338,11 @@ void PageDesignIntf::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
 | 
				
			|||||||
        m_selectionRect->setRect(selectionRect);
 | 
					        m_selectionRect->setRect(selectionRect);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if ((m_insertMode) && (pageItem()->rect().contains(pageItem()->mapFromScene(event->scenePos())))) {
 | 
					    PageItemDesignIntf* page = pageItem() ? pageItem() : getCurrentPage();
 | 
				
			||||||
 | 
					    if ((m_insertMode) && (page && page->rect().contains(page->mapFromScene(event->scenePos())))) {
 | 
				
			||||||
        if (!m_itemInsertRect->isVisible()) m_itemInsertRect->setVisible(true);
 | 
					        if (!m_itemInsertRect->isVisible()) m_itemInsertRect->setVisible(true);
 | 
				
			||||||
        qreal posY = div(pageItem()->mapFromScene(event->scenePos()).y(), verticalGridStep()).quot * verticalGridStep();
 | 
					        qreal posY = div(page->mapFromScene(event->scenePos()).y(), verticalGridStep()).quot * verticalGridStep();
 | 
				
			||||||
        qreal posX = div(pageItem()->mapFromScene(event->scenePos()).x(), verticalGridStep()).quot * horizontalGridStep();
 | 
					        qreal posX = div(page->mapFromScene(event->scenePos()).x(), verticalGridStep()).quot * horizontalGridStep();
 | 
				
			||||||
        m_itemInsertRect->setPos(posX,posY);
 | 
					        m_itemInsertRect->setPos(posX,posY);
 | 
				
			||||||
        if (magneticMovement()){
 | 
					        if (magneticMovement()){
 | 
				
			||||||
            rectMoved(
 | 
					            rectMoved(
 | 
				
			||||||
@@ -348,8 +353,9 @@ void PageDesignIntf::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
 | 
				
			|||||||
                )
 | 
					                )
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					    	if (m_insertMode) m_itemInsertRect->setVisible(false);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else { if (m_insertMode) m_itemInsertRect->setVisible(false); }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    QGraphicsScene::mouseMoveEvent(event);
 | 
					    QGraphicsScene::mouseMoveEvent(event);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -490,22 +496,21 @@ BaseDesignIntf *PageDesignIntf::addReportItem(const QString &itemType, QPointF p
 | 
				
			|||||||
    BandDesignIntf *band = bandAt(pos);
 | 
					    BandDesignIntf *band = bandAt(pos);
 | 
				
			||||||
    if (band) {
 | 
					    if (band) {
 | 
				
			||||||
        BaseDesignIntf *reportItem = addReportItem(itemType, band, band);
 | 
					        BaseDesignIntf *reportItem = addReportItem(itemType, band, band);
 | 
				
			||||||
//        QPointF insertPos = band->mapFromScene(pos);
 | 
					 | 
				
			||||||
//        insertPos = QPointF(div(insertPos.x(), horizontalGridStep()).quot * horizontalGridStep(),
 | 
					 | 
				
			||||||
//                          div(insertPos.y(), verticalGridStep()).quot * verticalGridStep());
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        reportItem->setPos(placePosOnGrid(band->mapFromScene(pos)));
 | 
					        reportItem->setPos(placePosOnGrid(band->mapFromScene(pos)));
 | 
				
			||||||
        reportItem->setSize(placeSizeOnGrid(size));
 | 
					        reportItem->setSize(placeSizeOnGrid(size));
 | 
				
			||||||
        return reportItem;
 | 
					        return reportItem;
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        BaseDesignIntf *reportItem = addReportItem(itemType, pageItem(), pageItem());
 | 
					        PageItemDesignIntf* page = pageItem() ? pageItem() : m_currentPage;
 | 
				
			||||||
        reportItem->setPos(placePosOnGrid(pageItem()->mapFromScene(pos)));
 | 
					        if (page){
 | 
				
			||||||
 | 
					            BaseDesignIntf *reportItem = addReportItem(itemType, page, page);
 | 
				
			||||||
 | 
					            reportItem->setPos(placePosOnGrid(page->mapFromScene(pos)));
 | 
				
			||||||
            reportItem->setSize(placeSizeOnGrid(size));
 | 
					            reportItem->setSize(placeSizeOnGrid(size));
 | 
				
			||||||
            ItemDesignIntf* ii = dynamic_cast<ItemDesignIntf*>(reportItem);
 | 
					            ItemDesignIntf* ii = dynamic_cast<ItemDesignIntf*>(reportItem);
 | 
				
			||||||
            if (ii)
 | 
					            if (ii)
 | 
				
			||||||
                ii->setItemLocation(ItemDesignIntf::Page);
 | 
					                ii->setItemLocation(ItemDesignIntf::Page);
 | 
				
			||||||
            return reportItem;
 | 
					            return reportItem;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return 0;
 | 
					    return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -1066,6 +1071,22 @@ void PageDesignIntf::changeSelectedGroupProperty(const QString &name, const QVar
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PageItemDesignIntf* PageDesignIntf::getCurrentPage() const
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return m_currentPage;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void PageDesignIntf::setCurrentPage(PageItemDesignIntf* currentPage)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    if (m_currentPage != currentPage ){
 | 
				
			||||||
 | 
					        if (m_currentPage) m_currentPage->setItemMode(PreviewMode);
 | 
				
			||||||
 | 
					        m_currentPage = currentPage;
 | 
				
			||||||
 | 
					        if (m_itemMode == DesignMode){
 | 
				
			||||||
 | 
					            m_currentPage->setItemMode(DesignMode);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ReportSettings *PageDesignIntf::getReportSettings() const
 | 
					ReportSettings *PageDesignIntf::getReportSettings() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return m_reportSettings;
 | 
					    return m_reportSettings;
 | 
				
			||||||
@@ -1749,13 +1770,14 @@ void PageDesignIntf::removeAllItems()
 | 
				
			|||||||
void PageDesignIntf::setItemMode(BaseDesignIntf::ItemMode state)
 | 
					void PageDesignIntf::setItemMode(BaseDesignIntf::ItemMode state)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    m_itemMode = state;
 | 
					    m_itemMode = state;
 | 
				
			||||||
    foreach(QGraphicsItem * item, items()) {
 | 
					//    foreach(QGraphicsItem * item, items()) {
 | 
				
			||||||
        BaseDesignIntf *reportItem = dynamic_cast<BaseDesignIntf *>(item);
 | 
					//        BaseDesignIntf *reportItem = dynamic_cast<BaseDesignIntf *>(item);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (reportItem) {
 | 
					//        if (reportItem) {
 | 
				
			||||||
            reportItem->setItemMode(itemMode());
 | 
					//            reportItem->setItemMode(itemMode());
 | 
				
			||||||
        }
 | 
					//        }
 | 
				
			||||||
    }
 | 
					//    }
 | 
				
			||||||
 | 
					    if (m_currentPage) m_currentPage->setItemMode(state);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BaseDesignIntf* PageDesignIntf::reportItemByName(const QString &name)
 | 
					BaseDesignIntf* PageDesignIntf::reportItemByName(const QString &name)
 | 
				
			||||||
@@ -2490,7 +2512,8 @@ bool BandMoveFromToCommand::doIt()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void BandMoveFromToCommand::undoIt()
 | 
					void BandMoveFromToCommand::undoIt()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if (page()) page()->pageItem()->moveBandFromTo(to, from);
 | 
					    if (page() && page()->pageItem())
 | 
				
			||||||
 | 
					        page()->pageItem()->moveBandFromTo(to, from);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -176,6 +176,8 @@ namespace LimeReport {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        void setPropertyToSelectedItems(const char *name, const QVariant &value);
 | 
					        void setPropertyToSelectedItems(const char *name, const QVariant &value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        PageItemDesignIntf* getCurrentPage() const;
 | 
				
			||||||
 | 
					        void setCurrentPage(PageItemDesignIntf* currentPage);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    protected:
 | 
					    protected:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -314,7 +316,7 @@ namespace LimeReport {
 | 
				
			|||||||
        JoinType         m_joinType;
 | 
					        JoinType         m_joinType;
 | 
				
			||||||
        bool             m_magneticMovement;
 | 
					        bool             m_magneticMovement;
 | 
				
			||||||
        ReportSettings*  m_reportSettings;
 | 
					        ReportSettings*  m_reportSettings;
 | 
				
			||||||
 | 
					        PageItemDesignIntf* m_currentPage;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    class AbstractPageCommand : public CommandIf{
 | 
					    class AbstractPageCommand : public CommandIf{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -479,7 +479,7 @@ void PageItemDesignIntf::relocateBands()
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    if (isLoading()) return;
 | 
					    if (isLoading()) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    int bandSpace = (itemMode() & DesignMode)?0:0;
 | 
					    int bandSpace = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    QVector<qreal> posByColumn;
 | 
					    QVector<qreal> posByColumn;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -53,6 +53,7 @@ void PreviewReportWidgetPrivate::setPages(ReportPages pages)
 | 
				
			|||||||
        m_changingPage = false;
 | 
					        m_changingPage = false;
 | 
				
			||||||
        q_ptr->initPreview();
 | 
					        q_ptr->initPreview();
 | 
				
			||||||
        q_ptr->emitPageSet();
 | 
					        q_ptr->emitPageSet();
 | 
				
			||||||
 | 
					        q_ptr->activateCurrentPage();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -68,6 +69,21 @@ QList<QString> PreviewReportWidgetPrivate::aviableExporters()
 | 
				
			|||||||
    return ExportersFactory::instance().map().keys();
 | 
					    return ExportersFactory::instance().map().keys();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void PreviewReportWidgetPrivate::startInsertTextItem()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    m_previewPage->startInsertMode("TextItem");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void PreviewReportWidgetPrivate::activateItemSelectionMode()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    m_previewPage->startEditMode();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void PreviewReportWidgetPrivate::deleteSelectedItems()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    m_previewPage->deleteSelected();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PreviewReportWidget::PreviewReportWidget(ReportEngine *report, QWidget *parent) :
 | 
					PreviewReportWidget::PreviewReportWidget(ReportEngine *report, QWidget *parent) :
 | 
				
			||||||
    QWidget(parent),
 | 
					    QWidget(parent),
 | 
				
			||||||
    ui(new Ui::PreviewReportWidget), d_ptr(new PreviewReportWidgetPrivate(this)),
 | 
					    ui(new Ui::PreviewReportWidget), d_ptr(new PreviewReportWidgetPrivate(this)),
 | 
				
			||||||
@@ -130,6 +146,10 @@ void PreviewReportWidget::initPreview()
 | 
				
			|||||||
    ui->graphicsView->centerOn(0, 0);
 | 
					    ui->graphicsView->centerOn(0, 0);
 | 
				
			||||||
    ui->graphicsView->scene()->setBackgroundBrush(QColor(m_previewPageBackgroundColor));
 | 
					    ui->graphicsView->scene()->setBackgroundBrush(QColor(m_previewPageBackgroundColor));
 | 
				
			||||||
    setScalePercent(d_ptr->m_scalePercent);
 | 
					    setScalePercent(d_ptr->m_scalePercent);
 | 
				
			||||||
 | 
					    PageDesignIntf* page = dynamic_cast<PageDesignIntf*>(ui->graphicsView->scene());
 | 
				
			||||||
 | 
					    if (page)
 | 
				
			||||||
 | 
					        connect(page, SIGNAL(itemInserted(LimeReport::PageDesignIntf*, QPointF, QString)),
 | 
				
			||||||
 | 
					                this, SIGNAL(itemInserted(LimeReport::PageDesignIntf*, QPointF, QString)));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void PreviewReportWidget::setErrorsMesagesVisible(bool visible)
 | 
					void PreviewReportWidget::setErrorsMesagesVisible(bool visible)
 | 
				
			||||||
@@ -157,6 +177,7 @@ void PreviewReportWidget::firstPage()
 | 
				
			|||||||
        d_ptr->m_currentPage=1;
 | 
					        d_ptr->m_currentPage=1;
 | 
				
			||||||
        ui->graphicsView->ensureVisible(d_ptr->calcPageShift(), 0, 0);
 | 
					        ui->graphicsView->ensureVisible(d_ptr->calcPageShift(), 0, 0);
 | 
				
			||||||
        emit pageChanged(d_ptr->m_currentPage);
 | 
					        emit pageChanged(d_ptr->m_currentPage);
 | 
				
			||||||
 | 
					        activateCurrentPage();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    d_ptr->m_changingPage=false;
 | 
					    d_ptr->m_changingPage=false;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -168,6 +189,7 @@ void PreviewReportWidget::priorPage()
 | 
				
			|||||||
       d_ptr->m_currentPage--;
 | 
					       d_ptr->m_currentPage--;
 | 
				
			||||||
       ui->graphicsView->ensureVisible(d_ptr->calcPageShift(), 0, 0);
 | 
					       ui->graphicsView->ensureVisible(d_ptr->calcPageShift(), 0, 0);
 | 
				
			||||||
       emit pageChanged(d_ptr->m_currentPage);
 | 
					       emit pageChanged(d_ptr->m_currentPage);
 | 
				
			||||||
 | 
					       activateCurrentPage();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
   d_ptr->m_changingPage=false;
 | 
					   d_ptr->m_changingPage=false;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -179,6 +201,7 @@ void PreviewReportWidget::nextPage()
 | 
				
			|||||||
        d_ptr->m_currentPage++;
 | 
					        d_ptr->m_currentPage++;
 | 
				
			||||||
        ui->graphicsView->ensureVisible(d_ptr->calcPageShift(), 0, 0);
 | 
					        ui->graphicsView->ensureVisible(d_ptr->calcPageShift(), 0, 0);
 | 
				
			||||||
        emit pageChanged(d_ptr->m_currentPage);
 | 
					        emit pageChanged(d_ptr->m_currentPage);
 | 
				
			||||||
 | 
					        activateCurrentPage();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    d_ptr->m_changingPage=false;
 | 
					    d_ptr->m_changingPage=false;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -190,6 +213,7 @@ void PreviewReportWidget::lastPage()
 | 
				
			|||||||
        d_ptr->m_currentPage=d_ptr->m_reportPages.count();
 | 
					        d_ptr->m_currentPage=d_ptr->m_reportPages.count();
 | 
				
			||||||
        ui->graphicsView->ensureVisible(d_ptr->calcPageShift(), 0, 0);
 | 
					        ui->graphicsView->ensureVisible(d_ptr->calcPageShift(), 0, 0);
 | 
				
			||||||
        emit pageChanged(d_ptr->m_currentPage);
 | 
					        emit pageChanged(d_ptr->m_currentPage);
 | 
				
			||||||
 | 
					        activateCurrentPage();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    d_ptr->m_changingPage=false;
 | 
					    d_ptr->m_changingPage=false;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -249,6 +273,7 @@ void PreviewReportWidget::pageNavigatorChanged(int value)
 | 
				
			|||||||
    d_ptr->m_changingPage = true;
 | 
					    d_ptr->m_changingPage = true;
 | 
				
			||||||
    if ((!d_ptr->m_reportPages.isEmpty())&&(d_ptr->m_reportPages.count() >= value) && value>0){
 | 
					    if ((!d_ptr->m_reportPages.isEmpty())&&(d_ptr->m_reportPages.count() >= value) && value>0){
 | 
				
			||||||
        d_ptr->m_currentPage = value;
 | 
					        d_ptr->m_currentPage = value;
 | 
				
			||||||
 | 
					        activateCurrentPage();
 | 
				
			||||||
        ui->graphicsView->ensureVisible(d_ptr->calcPageShift(), 0, 0);
 | 
					        ui->graphicsView->ensureVisible(d_ptr->calcPageShift(), 0, 0);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    d_ptr->m_changingPage=false;
 | 
					    d_ptr->m_changingPage=false;
 | 
				
			||||||
@@ -332,6 +357,21 @@ ScaleType PreviewReportWidget::scaleType() const
 | 
				
			|||||||
    return m_scaleType;
 | 
					    return m_scaleType;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void PreviewReportWidget::startInsertTextItem()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    d_ptr->startInsertTextItem();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void PreviewReportWidget::activateItemSelectionMode()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    d_ptr->activateItemSelectionMode();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void PreviewReportWidget::deleteSelectedItems()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    d_ptr->deleteSelectedItems();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int PreviewReportWidget::scalePercent() const
 | 
					int PreviewReportWidget::scalePercent() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return m_scalePercent;
 | 
					    return m_scalePercent;
 | 
				
			||||||
@@ -370,8 +410,16 @@ void PreviewReportWidget::refreshPages()
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void PreviewReportWidget::activateCurrentPage()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    PageDesignIntf* page = dynamic_cast<PageDesignIntf*>(ui->graphicsView->scene());
 | 
				
			||||||
 | 
					    if (page)
 | 
				
			||||||
 | 
					        page->setCurrentPage(d_ptr->currentPage().data());
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void PreviewReportWidget::slotSliderMoved(int value)
 | 
					void PreviewReportWidget::slotSliderMoved(int value)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    int curPage = d_ptr->m_currentPage;
 | 
				
			||||||
    if (ui->graphicsView->verticalScrollBar()->minimum()==value){
 | 
					    if (ui->graphicsView->verticalScrollBar()->minimum()==value){
 | 
				
			||||||
        d_ptr->m_currentPage = 1;
 | 
					        d_ptr->m_currentPage = 1;
 | 
				
			||||||
    } else if (ui->graphicsView->verticalScrollBar()->maximum()==value){
 | 
					    } else if (ui->graphicsView->verticalScrollBar()->maximum()==value){
 | 
				
			||||||
@@ -386,10 +434,13 @@ void PreviewReportWidget::slotSliderMoved(int value)
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (curPage != d_ptr->m_currentPage){
 | 
				
			||||||
        d_ptr->m_changingPage = true;
 | 
					        d_ptr->m_changingPage = true;
 | 
				
			||||||
        emit pageChanged(d_ptr->m_currentPage);
 | 
					        emit pageChanged(d_ptr->m_currentPage);
 | 
				
			||||||
 | 
					        activateCurrentPage();
 | 
				
			||||||
        d_ptr->m_changingPage = false;
 | 
					        d_ptr->m_changingPage = false;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    d_ptr->m_priorScrolValue = value;
 | 
					    d_ptr->m_priorScrolValue = value;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,6 +15,7 @@ class PreviewReportWidget;
 | 
				
			|||||||
class PreviewReportWidgetPrivate;
 | 
					class PreviewReportWidgetPrivate;
 | 
				
			||||||
class ReportEnginePrivate;
 | 
					class ReportEnginePrivate;
 | 
				
			||||||
class ReportEngine;
 | 
					class ReportEngine;
 | 
				
			||||||
 | 
					class PageDesignIntf;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class LIMEREPORT_EXPORT PreviewReportWidget : public QWidget
 | 
					class LIMEREPORT_EXPORT PreviewReportWidget : public QWidget
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@@ -34,6 +35,11 @@ public:
 | 
				
			|||||||
    QColor previewPageBackgroundColor();
 | 
					    QColor previewPageBackgroundColor();
 | 
				
			||||||
    QPrinter *defaultPrinter() const;
 | 
					    QPrinter *defaultPrinter() const;
 | 
				
			||||||
    void setDefaultPrinter(QPrinter *defaultPrinter);
 | 
					    void setDefaultPrinter(QPrinter *defaultPrinter);
 | 
				
			||||||
 | 
					    void startInsertTextItem();
 | 
				
			||||||
 | 
					    void activateItemSelectionMode();
 | 
				
			||||||
 | 
					    void deleteSelectedItems();
 | 
				
			||||||
 | 
					    void activateCurrentPage();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public slots:
 | 
					public slots:
 | 
				
			||||||
    void refreshPages();
 | 
					    void refreshPages();
 | 
				
			||||||
    void zoomIn();
 | 
					    void zoomIn();
 | 
				
			||||||
@@ -57,6 +63,7 @@ signals:
 | 
				
			|||||||
    void pageChanged(int page);
 | 
					    void pageChanged(int page);
 | 
				
			||||||
    void scalePercentChanged(int percent);
 | 
					    void scalePercentChanged(int percent);
 | 
				
			||||||
    void pagesSet(int pageCount);
 | 
					    void pagesSet(int pageCount);
 | 
				
			||||||
 | 
					    void itemInserted(LimeReport::PageDesignIntf* report, QPointF pos, const QString& ItemType);
 | 
				
			||||||
private slots:
 | 
					private slots:
 | 
				
			||||||
    void slotSliderMoved(int value);
 | 
					    void slotSliderMoved(int value);
 | 
				
			||||||
    void reportEngineDestroyed(QObject* object);
 | 
					    void reportEngineDestroyed(QObject* object);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,6 +21,9 @@ public:
 | 
				
			|||||||
    void setPages( ReportPages pages);
 | 
					    void setPages( ReportPages pages);
 | 
				
			||||||
    PageItemDesignIntf::Ptr currentPage();
 | 
					    PageItemDesignIntf::Ptr currentPage();
 | 
				
			||||||
    QList<QString> aviableExporters();
 | 
					    QList<QString> aviableExporters();
 | 
				
			||||||
 | 
					    void startInsertTextItem();
 | 
				
			||||||
 | 
					    void activateItemSelectionMode();
 | 
				
			||||||
 | 
					    void deleteSelectedItems();
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    PageDesignIntf* m_previewPage;
 | 
					    PageDesignIntf* m_previewPage;
 | 
				
			||||||
    ReportPages     m_reportPages;
 | 
					    ReportPages     m_reportPages;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -57,6 +57,7 @@ PreviewReportWindow::PreviewReportWindow(ReportEngine *report, QWidget *parent,
 | 
				
			|||||||
    m_pagesNavigator->setPrefix(tr("Page: "));
 | 
					    m_pagesNavigator->setPrefix(tr("Page: "));
 | 
				
			||||||
    m_pagesNavigator->setMinimumWidth(120);
 | 
					    m_pagesNavigator->setMinimumWidth(120);
 | 
				
			||||||
    ui->toolBar->insertWidget(ui->actionNextPage,m_pagesNavigator);
 | 
					    ui->toolBar->insertWidget(ui->actionNextPage,m_pagesNavigator);
 | 
				
			||||||
 | 
					    ui->editModeTools->hide();
 | 
				
			||||||
    ui->actionShowMessages->setVisible(false);
 | 
					    ui->actionShowMessages->setVisible(false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    connect(m_pagesNavigator,SIGNAL(valueChanged(int)),this,SLOT(slotPageNavigatorChanged(int)));
 | 
					    connect(m_pagesNavigator,SIGNAL(valueChanged(int)),this,SLOT(slotPageNavigatorChanged(int)));
 | 
				
			||||||
@@ -81,10 +82,13 @@ PreviewReportWindow::PreviewReportWindow(ReportEngine *report, QWidget *parent,
 | 
				
			|||||||
    ui->toolBar->insertWidget(ui->actionZoomOut, m_scalePercent);
 | 
					    ui->toolBar->insertWidget(ui->actionZoomOut, m_scalePercent);
 | 
				
			||||||
    initPercentCombobox();
 | 
					    initPercentCombobox();
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
//    connect(ui->graphicsView->verticalScrollBar(),SIGNAL(valueChanged(int)), this, SLOT(slotSliderMoved(int)));
 | 
					 | 
				
			||||||
    connect(ui->actionShowMessages, SIGNAL(triggered()), this, SLOT(slotShowErrors()));
 | 
					    connect(ui->actionShowMessages, SIGNAL(triggered()), this, SLOT(slotShowErrors()));
 | 
				
			||||||
    connect(m_previewReportWidget, SIGNAL(scalePercentChanged(int)), this, SLOT(slotScalePercentChanged(int)));
 | 
					    connect(m_previewReportWidget, SIGNAL(scalePercentChanged(int)), this, SLOT(slotScalePercentChanged(int)));
 | 
				
			||||||
    connect(m_scalePercent, SIGNAL(currentIndexChanged(QString)), this, SLOT(scaleComboboxChanged(QString)));
 | 
					    connect(m_scalePercent, SIGNAL(currentIndexChanged(QString)), this, SLOT(scaleComboboxChanged(QString)));
 | 
				
			||||||
 | 
					    connect(m_previewReportWidget, SIGNAL(pageChanged(int)), this, SLOT(slotCurrentPageChanged(int)));
 | 
				
			||||||
 | 
					    connect(m_previewReportWidget, SIGNAL(itemInserted(LimeReport::PageDesignIntf*, QPointF, QString)),
 | 
				
			||||||
 | 
					            this, SLOT(slotItemInserted(LimeReport::PageDesignIntf*, QPointF, QString)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    restoreSetting();
 | 
					    restoreSetting();
 | 
				
			||||||
    selectStateIcon();
 | 
					    selectStateIcon();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -109,10 +113,13 @@ void PreviewReportWindow::restoreSetting()
 | 
				
			|||||||
        int screenWidth = desktop->screenGeometry().width();
 | 
					        int screenWidth = desktop->screenGeometry().width();
 | 
				
			||||||
        int screenHeight = desktop->screenGeometry().height();
 | 
					        int screenHeight = desktop->screenGeometry().height();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        int x = screenWidth*0.1;
 | 
					        int x = static_cast<int>(screenWidth*0.1);
 | 
				
			||||||
        int y = screenHeight*0.1;
 | 
					        int y = static_cast<int>(screenHeight*0.1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        resize(screenWidth*0.8, screenHeight*0.8);
 | 
					        resize(
 | 
				
			||||||
 | 
					            static_cast<int>(screenWidth*0.8),
 | 
				
			||||||
 | 
					            static_cast<int>(screenHeight*0.8)
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
        move(x, y);
 | 
					        move(x, y);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    v = settings()->value("State");
 | 
					    v = settings()->value("State");
 | 
				
			||||||
@@ -260,6 +267,7 @@ void PreviewReportWindow::moveEvent(QMoveEvent* e)
 | 
				
			|||||||
void PreviewReportWindow::showEvent(QShowEvent *)
 | 
					void PreviewReportWindow::showEvent(QShowEvent *)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    m_fontEditor->setVisible(ui->actionEdit_Mode->isChecked());
 | 
					    m_fontEditor->setVisible(ui->actionEdit_Mode->isChecked());
 | 
				
			||||||
 | 
					    ui->editModeTools->setVisible(false);
 | 
				
			||||||
    m_textAlignmentEditor->setVisible(ui->actionEdit_Mode->isChecked());
 | 
					    m_textAlignmentEditor->setVisible(ui->actionEdit_Mode->isChecked());
 | 
				
			||||||
    switch (m_previewScaleType) {
 | 
					    switch (m_previewScaleType) {
 | 
				
			||||||
    case FitWidth:
 | 
					    case FitWidth:
 | 
				
			||||||
@@ -326,7 +334,9 @@ void PreviewReportWindow::on_actionEdit_Mode_triggered(bool checked)
 | 
				
			|||||||
    m_previewReportWidget->d_ptr->m_previewPage->setItemMode((checked)?ItemModes(DesignMode):PreviewMode);
 | 
					    m_previewReportWidget->d_ptr->m_previewPage->setItemMode((checked)?ItemModes(DesignMode):PreviewMode);
 | 
				
			||||||
    m_textAlignmentEditor->setVisible(checked);
 | 
					    m_textAlignmentEditor->setVisible(checked);
 | 
				
			||||||
    m_fontEditor->setVisible(checked);
 | 
					    m_fontEditor->setVisible(checked);
 | 
				
			||||||
    //m_reportPages.at(m_currentPage)->setItemMode((checked)?DesignMode:PreviewMode);
 | 
					    if (checked)
 | 
				
			||||||
 | 
					        ui->editModeTools->show();
 | 
				
			||||||
 | 
					    else ui->editModeTools->hide();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void PreviewReportWindow::slotSelectionChanged()
 | 
					void PreviewReportWindow::slotSelectionChanged()
 | 
				
			||||||
@@ -403,6 +413,24 @@ void PreviewReportWindow::slotPageChanged(int pageIndex)
 | 
				
			|||||||
    m_pagesNavigator->setValue(pageIndex);
 | 
					    m_pagesNavigator->setValue(pageIndex);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void PreviewReportWindow::slotInsertNewTextItem()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    m_previewReportWidget->startInsertTextItem();
 | 
				
			||||||
 | 
					    ui->actionSelection_Mode->setChecked(false);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void PreviewReportWindow::slotActivateItemSelectionMode()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    m_previewReportWidget->activateItemSelectionMode();
 | 
				
			||||||
 | 
					    ui->actionSelection_Mode->setChecked(true);
 | 
				
			||||||
 | 
					    ui->actionInsertTextItem->setChecked(false);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void PreviewReportWindow::slotDeleteSelectedItems()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    m_previewReportWidget->deleteSelectedItems();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void PreviewReportWindow::on_actionFit_page_width_triggered()
 | 
					void PreviewReportWindow::on_actionFit_page_width_triggered()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    m_previewReportWidget->fitWidth();
 | 
					    m_previewReportWidget->fitWidth();
 | 
				
			||||||
@@ -439,6 +467,7 @@ void PreviewReportWindow::slotScalePercentChanged(int percent)
 | 
				
			|||||||
void PreviewReportWindow::on_actionShowMessages_toggled(bool value)
 | 
					void PreviewReportWindow::on_actionShowMessages_toggled(bool value)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
   m_previewReportWidget->setErrorsMesagesVisible(value);
 | 
					   m_previewReportWidget->setErrorsMesagesVisible(value);
 | 
				
			||||||
 | 
					   m_previewReportWidget->startInsertTextItem();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void PreviewReportWindow::on_actionShow_Toolbar_triggered()
 | 
					void PreviewReportWindow::on_actionShow_Toolbar_triggered()
 | 
				
			||||||
@@ -447,7 +476,15 @@ void PreviewReportWindow::on_actionShow_Toolbar_triggered()
 | 
				
			|||||||
    writeSetting();
 | 
					    writeSetting();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void PreviewReportWindow::slotCurrentPageChanged(int page)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    slotActivateItemSelectionMode();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void PreviewReportWindow::slotItemInserted(PageDesignIntf *, QPointF, const QString&)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    slotActivateItemSelectionMode();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}// namespace LimeReport
 | 
					}// namespace LimeReport
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -100,6 +100,9 @@ public slots:
 | 
				
			|||||||
    void slotLastPage();
 | 
					    void slotLastPage();
 | 
				
			||||||
    void slotPrintToPDF();
 | 
					    void slotPrintToPDF();
 | 
				
			||||||
    void slotPageChanged(int pageIndex);
 | 
					    void slotPageChanged(int pageIndex);
 | 
				
			||||||
 | 
					    void slotInsertNewTextItem();
 | 
				
			||||||
 | 
					    void slotActivateItemSelectionMode();
 | 
				
			||||||
 | 
					    void slotDeleteSelectedItems();
 | 
				
			||||||
private slots:
 | 
					private slots:
 | 
				
			||||||
    void on_actionFit_page_width_triggered();
 | 
					    void on_actionFit_page_width_triggered();
 | 
				
			||||||
    void on_actionFit_page_triggered();
 | 
					    void on_actionFit_page_triggered();
 | 
				
			||||||
@@ -108,6 +111,8 @@ private slots:
 | 
				
			|||||||
    void slotScalePercentChanged(int percent);    
 | 
					    void slotScalePercentChanged(int percent);    
 | 
				
			||||||
    void on_actionShowMessages_toggled(bool value);
 | 
					    void on_actionShowMessages_toggled(bool value);
 | 
				
			||||||
    void on_actionShow_Toolbar_triggered();
 | 
					    void on_actionShow_Toolbar_triggered();
 | 
				
			||||||
 | 
					    void slotCurrentPageChanged(int page);
 | 
				
			||||||
 | 
					    void slotItemInserted(LimeReport::PageDesignIntf* report, QPointF pos, const QString& ItemType);
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    ItemsReaderIntf* reader();
 | 
					    ItemsReaderIntf* reader();
 | 
				
			||||||
    void initPercentCombobox();
 | 
					    void initPercentCombobox();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -93,6 +93,24 @@
 | 
				
			|||||||
   <addaction name="actionClosePreview"/>
 | 
					   <addaction name="actionClosePreview"/>
 | 
				
			||||||
   <addaction name="actionShowMessages"/>
 | 
					   <addaction name="actionShowMessages"/>
 | 
				
			||||||
  </widget>
 | 
					  </widget>
 | 
				
			||||||
 | 
					  <widget class="QToolBar" name="editModeTools">
 | 
				
			||||||
 | 
					   <property name="enabled">
 | 
				
			||||||
 | 
					    <bool>true</bool>
 | 
				
			||||||
 | 
					   </property>
 | 
				
			||||||
 | 
					   <property name="windowTitle">
 | 
				
			||||||
 | 
					    <string>toolBar_2</string>
 | 
				
			||||||
 | 
					   </property>
 | 
				
			||||||
 | 
					   <attribute name="toolBarArea">
 | 
				
			||||||
 | 
					    <enum>LeftToolBarArea</enum>
 | 
				
			||||||
 | 
					   </attribute>
 | 
				
			||||||
 | 
					   <attribute name="toolBarBreak">
 | 
				
			||||||
 | 
					    <bool>false</bool>
 | 
				
			||||||
 | 
					   </attribute>
 | 
				
			||||||
 | 
					   <addaction name="actionSelection_Mode"/>
 | 
				
			||||||
 | 
					   <addaction name="actionInsertTextItem"/>
 | 
				
			||||||
 | 
					   <addaction name="separator"/>
 | 
				
			||||||
 | 
					   <addaction name="actionDelete_Item"/>
 | 
				
			||||||
 | 
					  </widget>
 | 
				
			||||||
  <action name="actionPrint">
 | 
					  <action name="actionPrint">
 | 
				
			||||||
   <property name="icon">
 | 
					   <property name="icon">
 | 
				
			||||||
    <iconset resource="report.qrc">
 | 
					    <iconset resource="report.qrc">
 | 
				
			||||||
@@ -279,11 +297,55 @@
 | 
				
			|||||||
    <string>Show toolbar</string>
 | 
					    <string>Show toolbar</string>
 | 
				
			||||||
   </property>
 | 
					   </property>
 | 
				
			||||||
  </action>
 | 
					  </action>
 | 
				
			||||||
 | 
					  <action name="actionInsertTextItem">
 | 
				
			||||||
 | 
					   <property name="checkable">
 | 
				
			||||||
 | 
					    <bool>true</bool>
 | 
				
			||||||
 | 
					   </property>
 | 
				
			||||||
 | 
					   <property name="icon">
 | 
				
			||||||
 | 
					    <iconset resource="items/items.qrc">
 | 
				
			||||||
 | 
					     <normaloff>:/items/TextItem</normaloff>:/items/TextItem</iconset>
 | 
				
			||||||
 | 
					   </property>
 | 
				
			||||||
 | 
					   <property name="text">
 | 
				
			||||||
 | 
					    <string>InsertTextItem</string>
 | 
				
			||||||
 | 
					   </property>
 | 
				
			||||||
 | 
					   <property name="toolTip">
 | 
				
			||||||
 | 
					    <string>Add new TextItem</string>
 | 
				
			||||||
 | 
					   </property>
 | 
				
			||||||
 | 
					  </action>
 | 
				
			||||||
 | 
					  <action name="actionSelection_Mode">
 | 
				
			||||||
 | 
					   <property name="checkable">
 | 
				
			||||||
 | 
					    <bool>true</bool>
 | 
				
			||||||
 | 
					   </property>
 | 
				
			||||||
 | 
					   <property name="checked">
 | 
				
			||||||
 | 
					    <bool>true</bool>
 | 
				
			||||||
 | 
					   </property>
 | 
				
			||||||
 | 
					   <property name="icon">
 | 
				
			||||||
 | 
					    <iconset resource="report.qrc">
 | 
				
			||||||
 | 
					     <normaloff>:/report/images/editMode</normaloff>:/report/images/editMode</iconset>
 | 
				
			||||||
 | 
					   </property>
 | 
				
			||||||
 | 
					   <property name="text">
 | 
				
			||||||
 | 
					    <string>Selection Mode</string>
 | 
				
			||||||
 | 
					   </property>
 | 
				
			||||||
 | 
					  </action>
 | 
				
			||||||
 | 
					  <action name="actionDelete_Item">
 | 
				
			||||||
 | 
					   <property name="icon">
 | 
				
			||||||
 | 
					    <iconset resource="report.qrc">
 | 
				
			||||||
 | 
					     <normaloff>:/report/images/delete</normaloff>:/report/images/delete</iconset>
 | 
				
			||||||
 | 
					   </property>
 | 
				
			||||||
 | 
					   <property name="text">
 | 
				
			||||||
 | 
					    <string>Delete Item</string>
 | 
				
			||||||
 | 
					   </property>
 | 
				
			||||||
 | 
					   <property name="shortcut">
 | 
				
			||||||
 | 
					    <string>Del</string>
 | 
				
			||||||
 | 
					   </property>
 | 
				
			||||||
 | 
					  </action>
 | 
				
			||||||
 </widget>
 | 
					 </widget>
 | 
				
			||||||
 <resources>
 | 
					 <resources>
 | 
				
			||||||
  <include location="report.qrc"/>
 | 
					  <include location="report.qrc"/>
 | 
				
			||||||
 | 
					  <include location="items/items.qrc"/>
 | 
				
			||||||
  <include location="databrowser/lrdatabrowser.qrc"/>
 | 
					  <include location="databrowser/lrdatabrowser.qrc"/>
 | 
				
			||||||
  <include location="report.qrc"/>
 | 
					  <include location="report.qrc"/>
 | 
				
			||||||
 | 
					  <include location="items/items.qrc"/>
 | 
				
			||||||
  <include location="databrowser/lrdatabrowser.qrc"/>
 | 
					  <include location="databrowser/lrdatabrowser.qrc"/>
 | 
				
			||||||
 </resources>
 | 
					 </resources>
 | 
				
			||||||
 <connections>
 | 
					 <connections>
 | 
				
			||||||
@@ -431,6 +493,54 @@
 | 
				
			|||||||
    </hint>
 | 
					    </hint>
 | 
				
			||||||
   </hints>
 | 
					   </hints>
 | 
				
			||||||
  </connection>
 | 
					  </connection>
 | 
				
			||||||
 | 
					  <connection>
 | 
				
			||||||
 | 
					   <sender>actionInsertTextItem</sender>
 | 
				
			||||||
 | 
					   <signal>triggered()</signal>
 | 
				
			||||||
 | 
					   <receiver>LimeReport::PreviewReportWindow</receiver>
 | 
				
			||||||
 | 
					   <slot>slotInsertNewTextItem()</slot>
 | 
				
			||||||
 | 
					   <hints>
 | 
				
			||||||
 | 
					    <hint type="sourcelabel">
 | 
				
			||||||
 | 
					     <x>-1</x>
 | 
				
			||||||
 | 
					     <y>-1</y>
 | 
				
			||||||
 | 
					    </hint>
 | 
				
			||||||
 | 
					    <hint type="destinationlabel">
 | 
				
			||||||
 | 
					     <x>399</x>
 | 
				
			||||||
 | 
					     <y>299</y>
 | 
				
			||||||
 | 
					    </hint>
 | 
				
			||||||
 | 
					   </hints>
 | 
				
			||||||
 | 
					  </connection>
 | 
				
			||||||
 | 
					  <connection>
 | 
				
			||||||
 | 
					   <sender>actionSelection_Mode</sender>
 | 
				
			||||||
 | 
					   <signal>triggered()</signal>
 | 
				
			||||||
 | 
					   <receiver>LimeReport::PreviewReportWindow</receiver>
 | 
				
			||||||
 | 
					   <slot>slotActivateItemSelectionMode()</slot>
 | 
				
			||||||
 | 
					   <hints>
 | 
				
			||||||
 | 
					    <hint type="sourcelabel">
 | 
				
			||||||
 | 
					     <x>-1</x>
 | 
				
			||||||
 | 
					     <y>-1</y>
 | 
				
			||||||
 | 
					    </hint>
 | 
				
			||||||
 | 
					    <hint type="destinationlabel">
 | 
				
			||||||
 | 
					     <x>399</x>
 | 
				
			||||||
 | 
					     <y>299</y>
 | 
				
			||||||
 | 
					    </hint>
 | 
				
			||||||
 | 
					   </hints>
 | 
				
			||||||
 | 
					  </connection>
 | 
				
			||||||
 | 
					  <connection>
 | 
				
			||||||
 | 
					   <sender>actionDelete_Item</sender>
 | 
				
			||||||
 | 
					   <signal>triggered()</signal>
 | 
				
			||||||
 | 
					   <receiver>LimeReport::PreviewReportWindow</receiver>
 | 
				
			||||||
 | 
					   <slot>slotDeleteSelectedItems()</slot>
 | 
				
			||||||
 | 
					   <hints>
 | 
				
			||||||
 | 
					    <hint type="sourcelabel">
 | 
				
			||||||
 | 
					     <x>-1</x>
 | 
				
			||||||
 | 
					     <y>-1</y>
 | 
				
			||||||
 | 
					    </hint>
 | 
				
			||||||
 | 
					    <hint type="destinationlabel">
 | 
				
			||||||
 | 
					     <x>399</x>
 | 
				
			||||||
 | 
					     <y>299</y>
 | 
				
			||||||
 | 
					    </hint>
 | 
				
			||||||
 | 
					   </hints>
 | 
				
			||||||
 | 
					  </connection>
 | 
				
			||||||
 </connections>
 | 
					 </connections>
 | 
				
			||||||
 <slots>
 | 
					 <slots>
 | 
				
			||||||
  <slot>slotNextPage()</slot>
 | 
					  <slot>slotNextPage()</slot>
 | 
				
			||||||
@@ -441,5 +551,8 @@
 | 
				
			|||||||
  <slot>slotFirstPage()</slot>
 | 
					  <slot>slotFirstPage()</slot>
 | 
				
			||||||
  <slot>slotLastPage()</slot>
 | 
					  <slot>slotLastPage()</slot>
 | 
				
			||||||
  <slot>slotPrintToPDF()</slot>
 | 
					  <slot>slotPrintToPDF()</slot>
 | 
				
			||||||
 | 
					  <slot>slotInsertNewTextItem()</slot>
 | 
				
			||||||
 | 
					  <slot>slotActivateItemSelectionMode()</slot>
 | 
				
			||||||
 | 
					  <slot>slotDeleteSelectedItems()</slot>
 | 
				
			||||||
 </slots>
 | 
					 </slots>
 | 
				
			||||||
</ui>
 | 
					</ui>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -155,11 +155,12 @@ QObject *ReportEnginePrivate::elementAt(const QString &, int index)
 | 
				
			|||||||
    return pageAt(index);
 | 
					    return pageAt(index);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PageDesignIntf *ReportEnginePrivate::createPage(const QString &pageName)
 | 
					PageDesignIntf *ReportEnginePrivate::createPage(const QString &pageName, bool preview)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    PageDesignIntf* page =new PageDesignIntf();
 | 
					    PageDesignIntf* page =new PageDesignIntf();
 | 
				
			||||||
    page->setObjectName(pageName);
 | 
					    page->setObjectName(pageName);
 | 
				
			||||||
    page->pageItem()->setObjectName("Report"+pageName);
 | 
					    page->pageItem()->setObjectName("Report"+pageName);
 | 
				
			||||||
 | 
					    if (!preview)
 | 
				
			||||||
        page->setReportEditor(this);
 | 
					        page->setReportEditor(this);
 | 
				
			||||||
    page->setReportSettings(&m_reportSettings);
 | 
					    page->setReportSettings(&m_reportSettings);
 | 
				
			||||||
    return page;
 | 
					    return page;
 | 
				
			||||||
@@ -185,7 +186,7 @@ bool ReportEnginePrivate::deletePage(PageDesignIntf *page){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
PageDesignIntf *ReportEnginePrivate::createPreviewPage()
 | 
					PageDesignIntf *ReportEnginePrivate::createPreviewPage()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return createPage();
 | 
					    return createPage("preview",true);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int ReportEnginePrivate::elementsCount(const QString &)
 | 
					int ReportEnginePrivate::elementsCount(const QString &)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -240,7 +240,7 @@ public slots:
 | 
				
			|||||||
    bool    slotLoadFromFile(const QString& fileName);
 | 
					    bool    slotLoadFromFile(const QString& fileName);
 | 
				
			||||||
    void    cancelRender();
 | 
					    void    cancelRender();
 | 
				
			||||||
protected:
 | 
					protected:
 | 
				
			||||||
    PageDesignIntf* createPage(const QString& pageName="");
 | 
					    PageDesignIntf* createPage(const QString& pageName="", bool preview = false);
 | 
				
			||||||
protected slots:
 | 
					protected slots:
 | 
				
			||||||
    void    slotDataSourceCollectionLoaded(const QString& collectionName);
 | 
					    void    slotDataSourceCollectionLoaded(const QString& collectionName);
 | 
				
			||||||
private slots:
 | 
					private slots:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -336,7 +336,7 @@ QStringList ScriptEngineManager::functionsNames()
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ScriptEngineManager::setDataManager(DataSourceManager *dataManager){
 | 
					void ScriptEngineManager::setDataManager(DataSourceManager *dataManager){
 | 
				
			||||||
    if (m_dataManager != dataManager){
 | 
					    if (dataManager && m_dataManager != dataManager){
 | 
				
			||||||
        m_dataManager =  dataManager;
 | 
					        m_dataManager =  dataManager;
 | 
				
			||||||
        if (m_dataManager){
 | 
					        if (m_dataManager){
 | 
				
			||||||
            foreach(QString func, m_dataManager->groupFunctionNames()){
 | 
					            foreach(QString func, m_dataManager->groupFunctionNames()){
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -54,14 +54,16 @@ void ScriptEditor::setReportEngine(ReportEnginePrivateInterface* reportEngine)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    m_reportEngine = reportEngine;
 | 
					    m_reportEngine = reportEngine;
 | 
				
			||||||
    DataSourceManager* dm = m_reportEngine->dataManager();
 | 
					    DataSourceManager* dm = m_reportEngine->dataManager();
 | 
				
			||||||
    initEditor(dm);
 | 
					    if (dm) initEditor(dm);
 | 
				
			||||||
 | 
					    else ui->tabWidget->setVisible(false);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ScriptEditor::setReportPage(PageDesignIntf* page)
 | 
					void ScriptEditor::setReportPage(PageDesignIntf* page)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    m_page = page;
 | 
					    m_page = page;
 | 
				
			||||||
    DataSourceManager* dm = page->datasourceManager();
 | 
					    DataSourceManager* dm = page->datasourceManager();
 | 
				
			||||||
    initEditor(dm);
 | 
					    if (dm) initEditor(dm);
 | 
				
			||||||
 | 
					    else ui->tabWidget->setVisible(false);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ScriptEditor::setPageBand(BandDesignIntf* band)
 | 
					void ScriptEditor::setPageBand(BandDesignIntf* band)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user