Re: Recent threads

Axel Simon <[email protected]>
Newsgroups gmane.comp.lang.haskell.gui
Message-ID <[email protected]>
On Tue, Apr 15, 2003 at 05:09:32PM -0700, David Sankel wrote:
> 1.)  class Widget where
>     -- Some operations on widgets such as getHeight
> getWidth (the units of these are not yet specified)
 Nay :-) I don't like widget classes to contain funcitons
(see earlier email).

> 2.)  Widgets have several types of variables
>   a) r/w variables are handled by attributes
>   b) write only variables are passed to the
> constructor before the attribute list.
>   c) read only variables are handled by functions such
> as (getWidth :: Widget a => a -> Int).
Yes, agreed.


>  For read only
> variables that do not fit into an obvious class will
> have their own class ( class HasGetFoobar where ... )
 I don't like attributes lumped into classes. Same thing
as above.
 
> 3.) callbacks are not variables.  Signal is a more
> appropriate descriptor than variable.  For a given
> signal <A> with parameters (a1, a2, ... ) :
> 
>   class EmitsSignal<A> a where
>     doOn<A> :: a -> ( a1 -> a2 -> . . . -> IO() ) ->
> IO()
 If they are not in classes, then: yes. I think we should
say "attributes" when we talk about the properties we set
in the list to the constructor.

>   The doOn<A> function returns a function which can be
> used to disconnect the signal.
Yes.

> 4.) A widget <A> with (a1, a2, ...) write only
> variables is created with:
>    mk<A> :: a1 -> a2 -> ... -> [Prop <A>] -> IO <A>
Yes.

> 5.) Issues to push back for discussion for a future
> CGA release:
>    a.) Resource files.
>    b.) Internationalization.
>    c.) GUI designer.
We have to consider a) before we talk about layout issues.
 
> 6.) Position, width, and size will be able to be
> programmed
>    a.) Dynamically, and
>    b.) Concretely
 If the position-in-concrete-units backends (Window and Apple) insist 
that there are situations where the side-by-side and above and below 
combinators are not cool enough to lay out Dialogs/Windows, then I will 
agree to b.).

Axel.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.