svn merge problems Chandler 0.7.3 released

Design iteration on Multiweek View

Filed in: work Add comments
So I’ve been working on a new design for parts of the Multiweek view. Indeed, I knew I would have to do this slight rework, and made sure not to write too much throw-away code on the first draught (or “draft” for the USians in the audience :-) ). There is some, since we needed something stable and functional, but it is a bit rickety.

UML of Multiweek and some associated classes
UML of Multiweek and some associated classes


wxMultiWeekCanvas bits

Part of reworking the code involved having good documentation fo the current setup. I used a tool written in wxPython called PyNSource to analyze the source and build a UML diagram (seen above; click for larger version).

But all that was too dense for my poor eyes to read on paper (to print I captured the screen to a JPEG screenshot and printed that — I should try the native printing, as deficient as it may be). So I cropped it a bit and printed in bigger type, with the shot you see to the right. (Again, click for larger version).

The main change I am thinking of is making the basic UI rendering unit be the week instead of the day. That makes drawing lozenges across multiple days pretty straight forward. Also, it allows arrangement of said lozenges in a rational manner.

Another element is to keep multi-day events separate from single-day events. I’ve started to wonder if even a “normal” event that spans two days should have some sort of different rendering from the one-line text we use for “normal” events.

I don’t know, sometimes simple things can go from say 11pm to 3am and you wouldn’t want that to look different. Personally, I would prefer everything up to 5am to go in the previous day. e.g. tonight, I am up late after playing board games (Power Grid with the new expansion pack tonight!) but I wouldn’t want my “gaming” event to be considered as spanning two days.

5am seems arbitrary, and should be a user preference. Alas, Chandler is weak in the area of UI for user preferences. But the code can be written in such a way as to make it easy to change/preference-ize later.

Just out of curiosity, if you read this please leave a comment saying what you think about this proposition: events that start before midnight and last beyond 5am the following day should be considered as “multi-day” normal events, and should be rendered differently. You can just say “+1″ (like it) or “-1″ (don’t like it) or “0″ (don’t care either way).

Right now, I am only thinking of some sort of rectangular shading, but if Mimi gets into this I’m sure we’ll have quite a snappy treatment.

Leave a Reply