> ANY gui.  The gui implementation would need to implement a 
> known interface,
> something that accepted a reference to the Chainsaw model.  

Yep!  Although mentally I've always thought of that interface as the Builder
interface, rather than the GUI interface.  I figure a GUI shouldn't really
care where it gets it's model from in the same way the model doesn't care
what View is using it.  It means you have a separate class for the builder,
but more fine grained components is always a good thing IMHO, prevents
sticky-coupled situations later.  

> So, we could have the default Main() implementation 
> that ships with
> Chainsaw

Thinking as I go along here about what you've said, yeah, maybe the
ChainsawAppender IS the Builder interface! ChainsawAppender just binds a
Model (i.e. ChainsawAppender stops becoming _the_ model), and some method
for routing LoggingEvents to the Model, and constructs a particular
configured GUI (using Main if given no other info in the config).  We could
have a Central GUI element somewhere with the registered/constructed
Appender GUI's to show/hide particular GUI's.

> <appender class="org.apache.log4j.chainsaw.ChainsawAppender">
>   <param name="viewer-class"
> value="org.apache.log4j.chainsaw.DefaultViewer"/>
> </appender>

That's excellent. I love it.
 
> Wow, that would be cool.  Is there something I am missing here?  Some
> dependencies that would mess this up?

It's probably minimal work to create the "default" impl that behaves as it
does already, and then we can go and create new GUI elements, and open up
the config api a bit later.  It's a good direction anyway.

cheers,

Paul Smith

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to