Giter Site home page Giter Site logo

QT signal/slot interface about limereport HOT 15 CLOSED

newsages avatar newsages commented on May 20, 2024
QT signal/slot interface

from limereport.

Comments (15)

fralx avatar fralx commented on May 20, 2024

Do you mean something like QtRpt's method data delivery ?

from limereport.

newsages avatar newsages commented on May 20, 2024

Yes. For simple interface on embedded

from limereport.

fralx avatar fralx commented on May 20, 2024

Do you know about limereport`s callback datasource ? In my opinion is rather close to this, isn't it ?

from limereport.

newsages avatar newsages commented on May 20, 2024

Yes i know and it better and have more features . But callback not its qt philosophy. For widget and for qml better work w signal/slots and qproperties. We can try to make qml demo a test if can use callback fine., for example making report template, qml properties and parse to liblimereport

from limereport.

fralx avatar fralx commented on May 20, 2024

Callback it's only name as a matter of fact this method uses signal and slot mechanism :). I can simplify this interface to example in data delivery method i would request row count and wouldn't call second slot method that move datasource position.

from limereport.

newsages avatar newsages commented on May 20, 2024

itΕ› right, w this .

from limereport.

fralx avatar fralx commented on May 20, 2024

Callback interface has been simplified
From now on if slot getCallbackData(const LimeReport::CallbackInfo& info, QVariant& data) returns row count then there is no more need to implement second slot changePos(const LimeReport::CallbackInfo::ChangePosType& type, bool& result);
example:

callbackDatasource = m_report->dataManager()->createCallbackDatasouce("simple_data");
connect(callbackDatasource, SIGNAL(getCallbackData(LimeReport::CallbackInfo,QVariant&)),
            this, SLOT(slotSimpleCallbackGetData(LimeReport::CallbackInfo,QVariant&)));

void MainWindow::slotSimpleCallbackGetData(LimeReport::CallbackInfo info, QVariant &data)
{
    switch (info.dataType) {
    case LimeReport::CallbackInfo::ColumnCount:
        data = 1;
        break;
    case LimeReport::CallbackInfo::RowCount:
        data = 3;
        break;
    case LimeReport::CallbackInfo::IsEmpty:
        data = false;
        break;
    case LimeReport::CallbackInfo::ColumnHeaderData:
        if (info.index<1)
            data = QString::number(info.index);
        break;
    case LimeReport::CallbackInfo::ColumnData:
        data =  m_list.at(info.index);
        break;
    }
}

from limereport.

newsages avatar newsages commented on May 20, 2024

Fine. Now im testing , making examples and documenting.

from limereport.

newsages avatar newsages commented on May 20, 2024

and how to paint embedded preview?

from limereport.

fralx avatar fralx commented on May 20, 2024

report->previewReport()

from limereport.

newsages avatar newsages commented on May 20, 2024

but can embeded in ui->widget->layout()->addWidget(report)?
?
i try cast as QWidget, but is QMainWindow (previweReport())

from limereport.

fralx avatar fralx commented on May 20, 2024

Ok, i will make Qwidget preview soon

from limereport.

fralx avatar fralx commented on May 20, 2024

I have added LimeReport::PreviewReportWidget.
report->createPreviewWidget(QWidget *parent = 0) returns it.

from limereport.

newsages avatar newsages commented on May 20, 2024

perfect, im making test app for createPreviewWidget and
Im making now travis-ci .travis.yml integration for this repository.
i push soon .travis.yml and build status on README.

from limereport.

newsages avatar newsages commented on May 20, 2024

ln -s liblimereport.so.1.0.0 liblimereport.so

ln -s liblimereport.so.1.0.0 liblimereport.so.1

ln -s liblimereport.so.1.0.0 liblimereport.so.1.0

rm -f ../build/5.6.0/release/lib/liblimereport.so.1.0.0

mv -f liblimereport.so.1.0.0 ../build/5.6.0/release/lib/

rm -f ../build/5.6.0/release/lib/liblimereport.so

rm -f ../build/5.6.0/release/lib/liblimereport.so.1

rm -f ../build/5.6.0/release/lib/liblimereport.so.1.0

mv -f liblimereport.so ../build/5.6.0/release/lib/

mv -f liblimereport.so.1 ../build/5.6.0/release/lib/

mv -f liblimereport.so.1.0 ../build/5.6.0/release/lib/

cp -f /home/travis/build/newsages/LimeReport/limereport/lrglobal.cpp /home/travis/build/newsages/LimeReport/include/

cp -f /home/travis/build/newsages/LimeReport/limereport/lrglobal.h /home/travis/build/newsages/LimeReport/include/

cp -f /home/travis/build/newsages/LimeReport/limereport/lrdatasourcemanagerintf.h /home/travis/build/newsages/LimeReport/include/

cp -f /home/travis/build/newsages/LimeReport/limereport/lrreportengine.h /home/travis/build/newsages/LimeReport/include/

cp -f /home/travis/build/newsages/LimeReport/limereport/lrscriptenginemanagerintf.h /home/travis/build/newsages/LimeReport/include/

cp -f /home/travis/build/newsages/LimeReport/limereport/lrcallbackdatasourceintf.h /home/travis/build/newsages/LimeReport/include/

cp -f /home/travis/build/newsages/LimeReport/limereport/lrpreviewreportwidget.h /home/travis/build/newsages/LimeReport/include/

cp -f -R /home/travis/build/newsages/LimeReport/include/* /home/travis/build/newsages/LimeReport/build/5.6.0/release/lib/include/

cp: target β€˜/home/travis/build/newsages/LimeReport/build/5.6.0/release/lib/include/’ is not a directory

make[1]: *** [../build/5.6.0/release/lib/liblimereport.so.1.0.0] Error 1

make[1]: Leaving directory `/home/travis/build/newsages/LimeReport/limereport'

make: *** [sub-limereport-check_ordered] Error 2

now i push :
unix {
DESTDIR = $${BUILD_DIR}/$${BUILD_TYPE}/lib
linux{
for(FILE,EXTRA_FILES){
QMAKE_POST_LINK += $$QMAKE_COPY $$quote($$FILE) $$quote($${DESTDIR}/include) $$escape_expand(\n\t) # inside of libs make /include/files
}
QMAKE_POST_LINK += mkdir -p $$quote($${DESTDIR}/include) $$escape_expand(\n\t) # qmake need make mkdir -p on subdirs more than root/
}
macx{
for(FILE,EXTRA_FILES){
QMAKE_POST_LINK += $$QMAKE_COPY $$quote($$FILE) $$quote($${DEST_INCLUDE_DIR}) $$escape_expand(\n\t)
}
QMAKE_POST_LINK += mkdir -p $$quote($${DESTDIR}/include) $$escape_expand(\n\t)
}
QMAKE_POST_LINK += $(COPY_DIR) $$quote($${DEST_INCLUDE_DIR}*) $$quote($${DESTDIR}/include)
}

from limereport.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.