Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2011
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.25 KB | None | 0 0
  1. //main.cpp
  2. #include <QtGui/QApplication>
  3. #include <QtDeclarative>
  4. #include "qmlapplicationviewer.h"
  5. #include "latecontroller.h"
  6.  
  7. int main(int argc, char *argv[])
  8. {
  9.     QApplication app(argc, argv);
  10.  
  11.     qmlRegisterType<LateController>( "LateController", 1, 0, "LateController" );
  12.  
  13.     QmlApplicationViewer viewer;
  14.     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
  15.     viewer.setMainQmlFile(QLatin1String("qml/Late/main.qml"));
  16.     viewer.showExpanded();
  17.  
  18.     return app.exec();
  19. }
  20.  
  21. //latecontroller.h (truncated)
  22. #include <QObject>
  23. #include "mainmodel.h"
  24.  
  25. class LateController : public QObject
  26. {
  27.     Q_OBJECT
  28. public:
  29.     explicit LateController(QObject *parent = 0);
  30.  
  31. signals:
  32.     void mainPage();
  33.  
  34. public slots:
  35.     QAbstractItemModel *getMainModel();
  36. private:
  37.     void init();
  38. };
  39.  
  40. //latecontroller.cpp (truncated)
  41. #include "latecontroller.h"
  42. #include <QDebug>
  43.  
  44.  
  45. LateController::LateController(QObject *parent) : QObject(parent) {
  46.     init();
  47. }
  48.  
  49. void LateController::init() {
  50.     /* performs delayed action loading things */
  51.     emit mainPage(); // indicates QML should switch to "MainPage"
  52. }
  53.  
  54. QAbstractItemModel *LateController::getMainModel() {
  55.     MainModel *mainModel = new MainModel();
  56.     /* inserts data into mainModel */
  57.     return mainModel;
  58. }
  59.  
  60. //main.qml
  61. import QtQuick 1.1
  62. import com.nokia.meego 1.0
  63. import LateController 1.0
  64.  
  65. PageStackWindow {
  66.     id: appWindow
  67. initialPage: loadPage
  68.  
  69.     LateController {
  70.         id: late
  71.  
  72.         onMainPage: {
  73.             pageStack.clear();
  74.             pageStack.push( mainPage );
  75.         }
  76.     }
  77.     LoadPage {
  78.         id: loadPage //is a page that shows a busy indicator as the app loads
  79.     }
  80.  
  81.     MainPage {
  82.         id: mainPage
  83.     }
  84. }
  85.  
  86. //MainPage.qml
  87. import QtQuick 1.1
  88. import com.nokia.meego 1.0
  89. import LateController 1.0
  90.  
  91. LatePage {
  92.  
  93.     content: Rectangle {
  94.  
  95.         anchors.fill: parent
  96.         color: "black"
  97.         LateController {
  98.             id: loadLate
  99.             onMainPage: {
  100.                 list.model = loadLate.getMainModel()
  101.                 console.log( "mainList.model == " + curModel ) // returns "undefined"
  102.             }
  103.     ListView {
  104.             id: mainList
  105.             anchors.fill: parent
  106.             ...
  107.        }
  108.     }
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement