Form/Spec based UI's in GT inspector extensions

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

Form/Spec based UI's in GT inspector extensions

Torsten Bergmann
Hi,

there are a lot of examples for GT inspector extensions in the image. I've seen
#tree(s), #list(s) or #table like UI's are used. Even a #text or an "image" displaying
a morph (using #form keyword sent to the given composite).

It is very easy to provide extension methods to adopt the inspector to own needs and I
wish people would use this more in our environment and according projects.

But what I still miss is an easy way to extend the inspector with REAL FORMS (which are dialog like)
to better display and manipulate attributes/ivars of an object.

To give a few examples:
=======================
When I inspect a color instance I would like to see (and change) the RGB
values as well as the HEX representation in a form in an own tab. Similar as
if I would be changing a color in a graphics program.
I would like to lively manipulate the RGB values easily with sliders instead
of sending messages to self in the "first" inspector code pane/tab.

Or think of a Person class where you can provide an own custom inspector pane to
display/change the name and first name in an edit field or select the date of birth in
a datepicker together with a button to apply the new values to the object.

Think of a database connection object where I can manipulate the ivar storing the
connection string in an edit field but also provide a "Reconnect" in the button
after I changed it.

Currently we by default we have the "Raw" tab and need to manipulate the object state
with expressions in the code pane. For me this is not interactive enough and Pharo
has much potential to be a lively objects environment here.


Long story short:
=================
1. Is there any support for such kind of dialog based UI's in the
   inspector tabs/composites.

2. Is there any support to use Spec based UIs to extend the GT inspector?

3. Is there support to build simple UI forms for the inspector with labels and
   edit fields, combo boxes, radio buttons, date fields, field set, buttons, ... like in [2].

4. If we dont have such a beast yet I guess we should work into this direction because
   it would make Pharo not only a lively (for message sending) but very useful
   environment for direct object interaction/manipulation of states.

   Are there any plans/work on this already? If not what would be needed to achieve that?
   Maybe a GSOC project?

Thanks
T.

[1] http://101.wacom.com/UserHelp/en/Images/Dialog_OSDSetColor.png
[1] https://i.stack.imgur.com/X91VL.png

Reply | Threaded
Open this post in threaded view
|

Re: Form/Spec based UI's in GT inspector extensions

Tudor Girba-2
Hi,

Indeed, this is a nice observation.

We currently have basic support for handling forms:
- GLMSpecPresentation offers a basic integration of Spec widgets inside Glamour. This ships with the Pharo image.
- GLMMagrittePresentation allows us to take a Magritte-described object and render it through a form.

But, it would definitely be worthwhile to have more elaborate possibilities.

Cheers,
Doru


> On Jan 31, 2017, at 10:16 AM, Torsten Bergmann <[hidden email]> wrote:
>
> Hi,
>
> there are a lot of examples for GT inspector extensions in the image. I've seen
> #tree(s), #list(s) or #table like UI's are used. Even a #text or an "image" displaying
> a morph (using #form keyword sent to the given composite).
>
> It is very easy to provide extension methods to adopt the inspector to own needs and I
> wish people would use this more in our environment and according projects.
>
> But what I still miss is an easy way to extend the inspector with REAL FORMS (which are dialog like)
> to better display and manipulate attributes/ivars of an object.
>
> To give a few examples:
> =======================
> When I inspect a color instance I would like to see (and change) the RGB
> values as well as the HEX representation in a form in an own tab. Similar as
> if I would be changing a color in a graphics program.
> I would like to lively manipulate the RGB values easily with sliders instead
> of sending messages to self in the "first" inspector code pane/tab.
>
> Or think of a Person class where you can provide an own custom inspector pane to
> display/change the name and first name in an edit field or select the date of birth in
> a datepicker together with a button to apply the new values to the object.
>
> Think of a database connection object where I can manipulate the ivar storing the
> connection string in an edit field but also provide a "Reconnect" in the button
> after I changed it.
>
> Currently we by default we have the "Raw" tab and need to manipulate the object state
> with expressions in the code pane. For me this is not interactive enough and Pharo
> has much potential to be a lively objects environment here.
>
>
> Long story short:
> =================
> 1. Is there any support for such kind of dialog based UI's in the
>   inspector tabs/composites.
>
> 2. Is there any support to use Spec based UIs to extend the GT inspector?
>
> 3. Is there support to build simple UI forms for the inspector with labels and
>   edit fields, combo boxes, radio buttons, date fields, field set, buttons, ... like in [2].
>
> 4. If we dont have such a beast yet I guess we should work into this direction because
>   it would make Pharo not only a lively (for message sending) but very useful
>   environment for direct object interaction/manipulation of states.
>
>   Are there any plans/work on this already? If not what would be needed to achieve that?
>   Maybe a GSOC project?
>
> Thanks
> T.
>
> [1] http://101.wacom.com/UserHelp/en/Images/Dialog_OSDSetColor.png
> [1] https://i.stack.imgur.com/X91VL.png
>

--
www.tudorgirba.com
www.feenk.com

"We cannot reach the flow of things unless we let go."