The Artima Developer Community
Sponsored Link

Agile Buzz Forum
More on Panels

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
James Robertson

Posts: 29924
Nickname: jarober61
Registered: Jun, 2003

David Buck, Smalltalker at large
More on Panels Posted: Oct 9, 2007 10:46 PM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by James Robertson.
Original Post: More on Panels
Feed Title: Travis Griggs - Blog
Feed URL: http://www.cincomsmalltalk.com/rssBlog/travis-rss.xml
Feed Description: This TAG Line is Extra
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From Travis Griggs - Blog

Advertisement

A little while back, I posted about a HorizontalPanel object that I was using in the browser. It was meant to show that custom layouts using custom subclasses of CompositePart were not that hard.

I've gone a bit further now. The latest version of the RB has removed that class, and replaced it with just Panel. Panel's an ambituous experiment. It's inspired by some of the work Michael has done in other projects, and some of my own experience. I expect some of it to evolve still.

Panel is a subclass of CompositePart (for now), but it has some key differences:

  1. It does not used Bounded/TranslatingWrapper for it's subParts. No wrappers at all. The real components are stored directly in the components instance varible (which is usually aliased as "subParts"). So this shows that steps can be made to removing wrappers from the system. I've identified some ugly parts of the system (particularly TranslatingSensor) which need to change to make this ideal more realiizable. I've also figured out one way of solving the problem of being able to add VisualComponents as leaf nodes in the view tree.
  2. Unlike CompositePart which defers all layout of subParts to Layout objects which are attached 1:1 to the subParts and clueless of one another, it uses a layoutBlock to layout the children. I expect to tune this piece some. But I'm able to do the layouts I've wanted to so far with it. Since it's a block, it can be a very simple function, or a complex one that shares state between invocations. And before I get comments to the effect... just because a block is used, doesn't mean one can't put a real object there, and simply wrap it in a block.

I'm in the process of doing a minimal modification of RBSUnitExtensions so that it works as status bar, instead of a wrap-around-code-tool. I'm using that effort as a chance to follow "wouldn't it be nice if the framework supported this" tangents. Back to the grind.

Read: More on Panels

Topic: Accountability != Responsibility Previous Topic   Next Topic Topic: What I look for in a programming language

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use