I've still plodding away with my newsreader. I'd like it to
handle threads. Building the tree model ended up almost trivial (although it took me a while to get there!): "add all the articles to the tree as roots" articles do: [:article | tree add: article asChildOf: nil]. "and then move them to their parent, if that's in the tree" articles do: [:article | article parentArticle ifNotNil: [:parent | (tree includes: parent) ifTrue: [tree move: article asChildOf: parent]]]. ... which is kind of cool. However, I can't find a satisfactory view for displaying this in. I'd like one where I can collapse and expand the nodes of the tree _and_ where I can display multiple columns of information about each article (e.g. From, Date, Subject). Treeview does the expand and contract, but not the multiple columns (I think). FolderView does the multiple columns, but "expanding" a node displays only the children (like a Windows Explorer folder, oddly enough :-) Am I out of luck? DO I have to write my own? And if so, some pointers would be gratefully received. (For those of you who know Xnews, I'm trying to get something like the threaded-articles view in that) |
Paul Hudson <[hidden email]> wrote in
news:Xns9247D1D4D7326phudsonpoboxcom@127.0.0.1: > (For those of you who know Xnews, I'm trying to get something > like the threaded-articles view in that) Or (easier to find for most people, I guess) Outlook Express's new article list |
In reply to this post by Paul Hudson
On 10 Jul 2002 19:44:22 GMT,
Paul Hudson <[hidden email]> wrote: > > "add all the articles to the tree as roots" > articles do: [:article | tree add: article asChildOf: nil]. > > "and then move them to their parent, if that's in the tree" > articles do: [:article | article parentArticle ifNotNil: > [:parent | (tree includes: parent) ifTrue: [tree move: article > asChildOf: parent]]]. > > ... which is kind of cool. very nice, indeed :-) > > However, I can't find a satisfactory view for displaying this > in. I'd like one where I can collapse and expand the nodes of > the tree _and_ where I can display multiple columns of > information about each article (e.g. From, Date, Subject). Judging all those multicolumn email or news clients, I don't like them, because either the subject or from column is too narrow or the date is out of sight. What about using the simple tree for navigation and the other half for a spacious display of information about the posting. To top things off, you could go for tooltips, or whatever those little notes are called, for popping up the author's name. And don't forget toggle radio buttons below the tree view to switch between subject (author) and author (subject) > > (For those of you who know Xnews, I'm trying to get something > like the threaded-articles view in that) You could try to dig out a screenshot of MacSOUP, a shareware offline newsreader for the Mac back in the days of System 7. It showed the threading in a purely symbolic map with different icons for downloaded, read, available, unavailable articles. That was very cool. Have fun, s. -- Stefan Schmiedl Approximity GmbH http://www.approximity.com Research & Development mailto:[hidden email] Agile Entwicklerkonferenz: 22. und 23.10 in Nürnberg. http://www.approximity.com/public/conferences/AgileConf.html |
In reply to this post by Paul Hudson
Paul Hudson <[hidden email]> wrote in message
news:Xns9247D1D4D7326phudsonpoboxcom@127.0.0.1... ... > However, I can't find a satisfactory view for displaying this > in. I'd like one where I can collapse and expand the nodes of > the tree _and_ where I can display multiple columns of > information about each article (e.g. From, Date, Subject). ... I would be interested to hear other people's thoughts as well. I needed something similar myself. I opted to do some slight of hand with a multi-column list view. It works pretty well for me so far. My implementation could probably be a little more elegant. My wrapper classes handles the indentation, and display of a + or - depending upon its state. Here is the most interesting method from my approach (The formatting is probably going to be kiboshed). =============================== onListDoubleClick | listView idx | listView := self view viewNamed: 'lbList'. (listView selection respondsTo: #isExpanded) ifFalse: [^nil]. listView selection isExpanded ifFalse: [listView model addAll: listView selection children after: listView selection. listView selection isExpanded: true] ifTrue: [idx := listView selectionByIndex + 1. [(idx > listView size) or: [(listView model at: idx) isKindOf: ExpandableListObject]] whileFalse: [listView model removeAtIndex: idx]. listView selection isExpanded: false]. listView model updateAtIndex: listView selectionByIndex. =============================== Chris |
"Christopher J. Demers" <[hidden email]>
wrote in news:agidcu$lt4ua$[hidden email]: > Here is the most interesting method from my approach (The > formatting is probably going to be kiboshed). Thanks. It looks like I need to learn a bit more before I can understand how it works, though. |
In reply to this post by Stefan Schmiedl
Stefan Schmiedl <[hidden email]> wrote in news:agicka$lm523$1@ID-
57631.news.dfncis.de: > > Judging all those multicolumn email or news clients, > I don't like them, because either the subject or from > column is too narrow or the date is out of sight. Xnews has a good way of dealing with this. Since (normally) the subject lines of replies is the same as the article to which they are replying, it just displays "..." for replies. > What about using the simple tree for navigation > and the other half for a spacious display of > information about the posting. Would need a huge screen and a lot of flipping the eye back and forth. For me, a good news reader makes it easy to not read a a lot of news (by which I mean makes it easy to scan and decide not to read most of the messages) |
Free forum by Nabble | Edit this page |