[vwnc] how to embed UIPainter, UIPainterTool, and UIPalette in a single window

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[vwnc] how to embed UIPainter, UIPainterTool, and UIPalette in a single window

Stevenson, Dave (contr)
how to embed UIPainter, UIPainterTool, and UIPalette in a single window

I've subclassed UIPalette to limit the available widgets, and UIPainterTool to limit the property pages. Now I want to embed them, along with my subclass of UIPainter, in a single editor window. Anyone seen that done before?

My initial stab at subcanvases doesn't seem a likely solution, in part because a subcanvas expects a spec method, whereas the UIPainter doesn't open from a spec method like most applications. The next thing I'll try is to use a View Holder instead, but I just thought I'd ask if anyone has any pointers. Thanks!


Stevenson, Dave (contr) <[hidden email]>
972-946-4890


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] how to embed UIPainter, UIPainterTool, and UIPalette in a single window

Reinout Heeck-2

> I've subclassed UIPalette to limit the available widgets, and
> UIPainterTool to limit the property pages. Now I want to embed them,
> along with my subclass of UIPainter, in a single editor window. Anyone
> seen that done before?
>
> My initial stab at subcanvases doesn't seem a likely solution, in part
> because a subcanvas expects a spec method, whereas the UIPainter
> doesn't open from a spec method like most applications. The next thing
> I'll try is to use a View Holder instead, but I just thought I'd ask
> if anyone has any pointers. Thanks!
>

I had a quick look and to me it seems that subcanvases will do. The
windowspec of the painters main window is not present because that is
what you are editing/creating - it needs to be passed in in a different way.

All the magic seems to be in UIPainter>>openPainterWindows: and two
other methods (#openPaletteFor:, #openPainterToolFor:), if you study
these you will notice that all three windows open using a spec, hence
subcanvasses might just work if you override these three methods :-)


One thing you need to know: passing a spec to a subcanvas when hooking
it up can be done by passing the name of a method (#windowSpec) as well
as by passing a reference to a spec instance (WindowSpec new).



HTH,

Reinout
-------

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] how to embed UIPainter, UIPainterTool, and UIPalette in a single window

Stevenson, Dave (contr)
Thanks, Reinout. I'll give that a try hopefully later this week.


>Stevenson, Dave (contr) <[hidden email]>
972-946-4890

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On
Behalf Of Reinout Heeck
Sent: Monday, January 19, 2009 5:08 AM
To: 'VWNC'
Subject: Re: [vwnc] how to embed UIPainter, UIPainterTool, and UIPalette
in a single window


> I've subclassed UIPalette to limit the available widgets, and
> UIPainterTool to limit the property pages. Now I want to embed them,
> along with my subclass of UIPainter, in a single editor window. Anyone

> seen that done before?
>
> My initial stab at subcanvases doesn't seem a likely solution, in part

> because a subcanvas expects a spec method, whereas the UIPainter
> doesn't open from a spec method like most applications. The next thing

> I'll try is to use a View Holder instead, but I just thought I'd ask
> if anyone has any pointers. Thanks!
>

I had a quick look and to me it seems that subcanvases will do. The
windowspec of the painters main window is not present because that is
what you are editing/creating - it needs to be passed in in a different
way.

All the magic seems to be in UIPainter>>openPainterWindows: and two
other methods (#openPaletteFor:, #openPainterToolFor:), if you study
these you will notice that all three windows open using a spec, hence
subcanvasses might just work if you override these three methods :-)


One thing you need to know: passing a spec to a subcanvas when hooking
it up can be done by passing the name of a method (#windowSpec) as well
as by passing a reference to a spec instance (WindowSpec new).



HTH,

Reinout
-------

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] how to embed UIPainter, UIPainterTool, and UIPalette in a single window

Stevenson, Dave (contr)
I give up. I'm sure it's possible if I work at it long enough, but it's
taking too long on my own.

I can probably do what I want faster with HotDraw, now that I've written
an editor built on that.

>Stevenson, Dave (contr) <[hidden email]>
972-946-4890

-----Original Message-----
From: Stevenson, Dave (contr)
Sent: Tuesday, January 20, 2009 9:16 AM
To: 'Reinout Heeck'; 'VWNC'
Subject: RE: [vwnc] how to embed UIPainter, UIPainterTool, and UIPalette
in a single window

Thanks, Reinout. I'll give that a try hopefully later this week.


>Stevenson, Dave (contr) <[hidden email]>
972-946-4890

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On
Behalf Of Reinout Heeck
Sent: Monday, January 19, 2009 5:08 AM
To: 'VWNC'
Subject: Re: [vwnc] how to embed UIPainter, UIPainterTool, and UIPalette
in a single window


> I've subclassed UIPalette to limit the available widgets, and
> UIPainterTool to limit the property pages. Now I want to embed them,
> along with my subclass of UIPainter, in a single editor window. Anyone

> seen that done before?
>
> My initial stab at subcanvases doesn't seem a likely solution, in part

> because a subcanvas expects a spec method, whereas the UIPainter
> doesn't open from a spec method like most applications. The next thing

> I'll try is to use a View Holder instead, but I just thought I'd ask
> if anyone has any pointers. Thanks!
>

I had a quick look and to me it seems that subcanvases will do. The
windowspec of the painters main window is not present because that is
what you are editing/creating - it needs to be passed in in a different
way.

All the magic seems to be in UIPainter>>openPainterWindows: and two
other methods (#openPaletteFor:, #openPainterToolFor:), if you study
these you will notice that all three windows open using a spec, hence
subcanvasses might just work if you override these three methods :-)


One thing you need to know: passing a spec to a subcanvas when hooking
it up can be done by passing the name of a method (#windowSpec) as well
as by passing a reference to a spec instance (WindowSpec new).



HTH,

Reinout
-------

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc