Your SlideShare is downloading. ×
0
I can see your house
      from here
        Part 1
7.5 Years
79 Files
32957 Lines Of Code
The Beginning
Author    reggie
     Client   reggie-piefke
      Date    2002/12/03 14:43:32
Description   nothing yet
 Jobs fixed    -
Author espenr
     Clientespenr-deimos
      Date 2002/12/04 19:30:30
DescriptionAdded a FileTableModel and changed main t...
Author mmonsen
     Clientmmonsen-elysium
      Date 2002/12/05 15:37:13
DescriptionQItemModel subclass that implements a ...
A Rush of Creativity
2002/12/09
2002/12/13
2002/12/16
2002/12/18
2002/12/20
2003/01/06
2003/01/07
2003/01/09
2003/01/10
2003/01/016
2003/01/24
2003/02/03
Last commit by reggie.
2003/03/04
espenr releases Qt 3.1.2
Decisions
Author mmonsen
     Clientmmonsen-elysium
      Date 2003/10/23 16:49:51
DescriptionAdd QObjectRepository. This is an obje...
Author mmonsen
     Clientmmonsen-elysium
      Date 2003/10/26 16:08:11
DescriptionIntroduce the alt_ classes.
          ...
Author harald
     Clientharald-morpork
      Date 2003/11/11 21:26:08
DescriptionHere we go - first implementation of
   ...
Author espenr
     Clientespenr-phobos
      Date 2004/01/21 11:49:57
Descriptionmove new itemviews into qt4 (no they
    ...
Author espenr
     Clientespenr-phobos
      Date 2004/02/11 20:06:25
Descriptionchanged QGenericItemModel to have roles
 ...
Author    mmonsen
     Client   mmonsen-elysium
      Date    2004/02/25 17:06:16
Description   QGenericItemModel -> QAbst...
Complexity
Author    mmonsen
     Client   mmonsen-elysium
      Date    2004/05/04 18:22:39
Description   Add QPersistentModelIndex....
Author rraggi
     Clientrraggi-rabagast
      Date 2004/07/01 17:13:10
DescriptionInitial implementation of the new
     ...
2004/08/21 - 29
Akademy 2004
Author mmonsen
     Clientmmonsen-onyx
      Date 2004/08/26 22:17:16
DescriptionAdd QProxyModel.
           The idea is t...
Author    mmonsen
     Client   mmonsen-elysium
      Date    2004/10/22 19:25:11
Description   Add a model pointer to QMo...
Towards the Goal
Author    espenr
     Client   espenr-phobos
      Date    2005/02/27 22:31:42
Description   branch 4.0 from main
 Jobs fix...
2005/06/28
Qt 4.0 Released!!!
Work Continues
I can see your house
      from here
        Part 2
Disclaimer:



Marius, Espen, I want your baby
the five stages of grief
Denial
Anger
Bargaining
The Mutz Axiom



        “the solution to every
engineering problem is QProxyModel”
View



          Model


political correctness proxy


      sorting proxy




           Stuff
View



           Model




Stuff   political correctness proxy




Stuff   sorting proxy
Depression
- excessive minimalism
- missing error handling guidance
- hard to make transactional
- hard to implement undo
- tree comp...
- treacherously public internalId/internalPointer
- unfortunately named QStandardItemModel
- "thou shall not work on forei...
Acceptance
QAbstractItemView



                 QAbstractItemModel


               political correctness proxy


        View      ...
marius@cutehacks.com
    till@kdab.com
Image Credits:

Stuck in Customs on flickr
Michelle Smorgon on flickr
I can see your house from here
I can see your house from here
Upcoming SlideShare
Loading in...5
×

I can see your house from here

528

Published on

Joint presentation with Till Adam and Marius Bugge Monsen.
The model/view framework is one of the most powerful areas of Qt4, but also one of the most complex. It is elegant in its design, but proves to be difficult to master for many who try in practice. While a lot of effort went into anticipating how developers would use and potentially mis-use this API, real world usage patterns, best practices and common errors turn out to be interestingly deviant. Marius, who was part of the original architecture team behind these classes, and Till, who has taught the concepts to varied audiences and seen a wide range of real world applications of them both in his work on KDEPIM and as a consultant at KDAB, combine their experiences in this presentation to provide a unique joint perspective.

Published in: Technology, Career
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
528
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "I can see your house from here"

  1. 1. I can see your house from here Part 1
  2. 2. 7.5 Years
  3. 3. 79 Files
  4. 4. 32957 Lines Of Code
  5. 5. The Beginning
  6. 6. Author reggie Client reggie-piefke Date 2002/12/03 14:43:32 Description nothing yet Jobs fixed -
  7. 7. Author espenr Clientespenr-deimos Date 2002/12/04 19:30:30 DescriptionAdded a FileTableModel and changed main to test it. Reads the columns in the astronomy_large.txt backwards and will reread the file if you edit it. (Just touch it) Jobs fixed -
  8. 8. Author mmonsen Clientmmonsen-elysium Date 2002/12/05 15:37:13 DescriptionQItemModel subclass that implements a directory tree as a data source. Jobs fixed -
  9. 9. A Rush of Creativity
  10. 10. 2002/12/09
  11. 11. 2002/12/13
  12. 12. 2002/12/16
  13. 13. 2002/12/18
  14. 14. 2002/12/20
  15. 15. 2003/01/06
  16. 16. 2003/01/07
  17. 17. 2003/01/09
  18. 18. 2003/01/10
  19. 19. 2003/01/016
  20. 20. 2003/01/24
  21. 21. 2003/02/03 Last commit by reggie.
  22. 22. 2003/03/04 espenr releases Qt 3.1.2
  23. 23. Decisions
  24. 24. Author mmonsen Clientmmonsen-elysium Date 2003/10/23 16:49:51 DescriptionAdd QObjectRepository. This is an object pool to avoid new/deletes. Use it on MemModelItems (for testing). Jobs fixed -
  25. 25. Author mmonsen Clientmmonsen-elysium Date 2003/10/26 16:08:11 DescriptionIntroduce the alt_ classes. They are the begining of the implementation of item views using QModelIndex instead of QGenericModelItem. The model items are just too heavy. Jobs fixed -
  26. 26. Author harald Clientharald-morpork Date 2003/11/11 21:26:08 DescriptionHere we go - first implementation of a database model Jobs fixed -
  27. 27. Author espenr Clientespenr-phobos Date 2004/01/21 11:49:57 Descriptionmove new itemviews into qt4 (no they are not finished) Jobs fixed -
  28. 28. Author espenr Clientespenr-phobos Date 2004/02/11 20:06:25 Descriptionchanged QGenericItemModel to have roles (Display, Decoration, ToolTip etc) and removed the use of "elements" everywhere. <snipp> Jobs fixed -
  29. 29. Author mmonsen Client mmonsen-elysium Date 2004/02/25 17:06:16 Description QGenericItemModel -> QAbstractItemModel. Jobs fixed -
  30. 30. Complexity
  31. 31. Author mmonsen Client mmonsen-elysium Date 2004/05/04 18:22:39 Description Add QPersistentModelIndex. Jobs fixed -
  32. 32. Author rraggi Clientrraggi-rabagast Date 2004/07/01 17:13:10 DescriptionInitial implementation of the new Property Editor Jobs fixed -
  33. 33. 2004/08/21 - 29 Akademy 2004
  34. 34. Author mmonsen Clientmmonsen-onyx Date 2004/08/26 22:17:16 DescriptionAdd QProxyModel. The idea is that you can subclass this model and use it for filtering and sorting. Jobs fixed -
  35. 35. Author mmonsen Client mmonsen-elysium Date 2004/10/22 19:25:11 Description Add a model pointer to QModelIndex. Jobs fixed -
  36. 36. Towards the Goal
  37. 37. Author espenr Client espenr-phobos Date 2005/02/27 22:31:42 Description branch 4.0 from main Jobs fixed -
  38. 38. 2005/06/28 Qt 4.0 Released!!!
  39. 39. Work Continues
  40. 40. I can see your house from here Part 2
  41. 41. Disclaimer: Marius, Espen, I want your baby
  42. 42. the five stages of grief
  43. 43. Denial
  44. 44. Anger
  45. 45. Bargaining
  46. 46. The Mutz Axiom “the solution to every engineering problem is QProxyModel”
  47. 47. View Model political correctness proxy sorting proxy Stuff
  48. 48. View Model Stuff political correctness proxy Stuff sorting proxy
  49. 49. Depression
  50. 50. - excessive minimalism - missing error handling guidance - hard to make transactional - hard to implement undo - tree complexity imposed on the table case
  51. 51. - treacherously public internalId/internalPointer - unfortunately named QStandardItemModel - "thou shall not work on foreign indexes" not enforced (NVI?) - MVC, but not really
  52. 52. Acceptance
  53. 53. QAbstractItemView QAbstractItemModel political correctness proxy View sorting proxy Stuff Model Controller
  54. 54. marius@cutehacks.com till@kdab.com
  55. 55. Image Credits: Stuck in Customs on flickr Michelle Smorgon on flickr
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×