r3 - 27 Mar 2007 - 14:28:49 - PhilippeBossutYou are here: OSAF >  Projects Web  >  DevelopmentHome > ApplicationProject > SectionArchitectureDesign

Section Implementation Design

Notes from 02/13/06 Meeting on Section Prototyping

Agenda

  • Review current prototypes
    • Alec's sections (15min)
    • John's wxWidgets experiment (15 min)
  • Discuss pros and cons
    • Complexity/risks (10 min)
    • Adequacy to PPD's current design (10 min)
  • Decision or next step (10 min)

Alec's prototype

Design (condensed notes):
  • Used the wxTableData to create an abstraction layer between the rows and the table
  • Implemented a SectionedGridDelegate delegate method
  • Implemented a general get_divisions method (in util.divisions)

Cons:

  • Drawing the actual row for the section is tricky. John thinks he knows a tricky to span a cell to several.
  • Selection gets in the way of clicking on the section headers
  • Selecting a range of items accross a section limit is weird (but works)
  • Indenting or hierarchical sections would not be easy to implement

Pros:

  • It makes the scrollbar issue easy to handle
  • It's a known quantity (we have quite a bit of experience in house with the wxGrid code)
  • It works crossplatform for sure

John's prototype

The idea is to use existing sample widgets that handle collapse/expand. 2 of them are pretty good (by jorg at The WasteBucket):
  • wxFoldPanelBar: Take a panel and expand collapse (similar to Flash or Windows Accordion widget). There's a C implementation of it.
  • wxTreeMultiCtrl: Same with a tree. This one is not folded into widgets.

Cons:

  • Scroll bar might be weird (scroll bar per section ?)

Pros:

  • Very cool widgets, could be used outside the Summary View (Detail View may be, Side Bar more than likely)

Decision

We decided to go with Alec's proposal. Alec is the driver of the Dashboard feature for 0.7.

Risks:

  • Selection could end up being tricky
  • Drawing could be a perf issue
  • Drawing layout (indent for instance) not very flexible, constrained by the overall grid layout
  • Hierarchival sections might look weird or impossible to implement
  • C level change required (wxColumnHeader integration)
  • DnD between section is an unknown at that point (likely possible though)
  • Background sync is an unknown too (not enough thoughts put into this right now)

Actions

  • Communicate to PPD (Philippe)
  • wxColumnHeader integration (David)
  • Span column trick proposal (John)
  • Identify current applicable Summary Table View bugs (Philippe, John)
  • Identify tasks, driver of the Dashboard feature (Alec)
Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r3 < r2 < r1 | More topic actions
 
Open Source Applications Foundation
Except where otherwise noted, this site and its content are licensed by OSAF under an Creative Commons License, Attribution Only 3.0.
See list of page contributors for attributions.