Setting package test

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

Setting package test

Alain Plantec-4
Hi all,
Preference is now renamed as Setting.
Please, can you can load these two packages and play with the settings.
'SettingTree open' open  the browser.
Examples of setting are located in the Setting-SandBox category.
You can use <pharo> or <setting> as pragma.
the pragma list the browser is able to recognize is now a parameter.
(see SettingCollector class side).
as an example, It will be possible for an application to use its own
pragma symbol. Thus, the browser will be able to show application specific
settings.
I will add 'saving', 'saving as', choose, open,  and 'filtering'
features (by package or by setting name as available in current
preference browser).
If you have more ideas or needs, please let me know.

Cheers
alain


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Setting-alain_plantec.1.mcz (11K) Download Attachment
SettingSupport-alain_plantec.1.mcz (39K) Download Attachment
Setting tree.gif (43K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Setting package test

David Mitchell-10
I know the Mac, Windows, and even OS/2 style prefers ellipses to
indicate that command button will not immediately perform an action
but will instead open a dialog box.

That is, prefer

Fonts...

to

Dialog for Fonts

On Fri, Mar 13, 2009 at 7:38 PM, Alain Plantec <[hidden email]> wrote:

> Hi all,
> Preference is now renamed as Setting.
> Please, can you can load these two packages and play with the settings.
> 'SettingTree open' open  the browser.
> Examples of setting are located in the Setting-SandBox category.
> You can use <pharo> or <setting> as pragma.
> the pragma list the browser is able to recognize is now a parameter.
> (see SettingCollector class side).
> as an example, It will be possible for an application to use its own
> pragma symbol. Thus, the browser will be able to show application specific
> settings.
> I will add 'saving', 'saving as', choose, open,  and 'filtering' features
> (by package or by setting name as available in current preference browser).
> If you have more ideas or needs, please let me know.
>
> Cheers
> alain
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Setting package test

Stéphane Ducasse
In reply to this post by Alain Plantec-4
sound good.
I really like the idiom to have a class var on a package this is  
really a nice way to let the dev
think that a preference is not a system global variable (aka old  
preference) but a local to the package references.
This way we will be able to slowly arrive to have preference as a top  
layer :)

Stef

On Mar 14, 2009, at 1:38 AM, Alain Plantec wrote:

> Hi all,
> Preference is now renamed as Setting.
> Please, can you can load these two packages and play with the  
> settings.
> 'SettingTree open' open  the browser.
> Examples of setting are located in the Setting-SandBox category.
> You can use <pharo> or <setting> as pragma.
> the pragma list the browser is able to recognize is now a parameter.
> (see SettingCollector class side).
> as an example, It will be possible for an application to use its own
> pragma symbol. Thus, the browser will be able to show application  
> specific
> settings.
> I will add 'saving', 'saving as', choose, open,  and 'filtering'  
> features (by package or by setting name as available in current  
> preference browser).
> If you have more ideas or needs, please let me know.
>
> Cheers
> alain
>
> <Setting-alain_plantec.1.mcz><SettingSupport-alain_plantec.
> 1.mcz><Setting  
> tree.gif>_______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Setting package test

Adrian Lienhard
In reply to this post by Alain Plantec-4
Hi Alain,

Nice to see you making progress!

I've taken a quick look at the GUI and the code. Here some feedback:

- When I change a value, why do I get a red border (for me this  
indicates that the change is invalid)?
- Set to default doesn't do anything
- Dropdown lists are displayed at the wrong position on the screen  
(I'm using the default theme, Watery2)
- At first I didn't recognize the slider control (glyph contrast  
setting)

- Instead of using the old change notification mechanism, you could  
use Announcements
- The method #domainValues: looks a bit fishy with the isKindOf: checks
- The method #maxNameWidthForFont: can be simplified by using  
#detectMax:

A search/filter would certainly be useful.

Cheers,
Adrian
___________________
http://www.adrian-lienhard.ch/

On Mar 14, 2009, at 01:38 , Alain Plantec wrote:

> Hi all,
> Preference is now renamed as Setting.
> Please, can you can load these two packages and play with the  
> settings.
> 'SettingTree open' open  the browser.
> Examples of setting are located in the Setting-SandBox category.
> You can use <pharo> or <setting> as pragma.
> the pragma list the browser is able to recognize is now a parameter.
> (see SettingCollector class side).
> as an example, It will be possible for an application to use its own
> pragma symbol. Thus, the browser will be able to show application  
> specific
> settings.
> I will add 'saving', 'saving as', choose, open,  and 'filtering'  
> features (by package or by setting name as available in current  
> preference browser).
> If you have more ideas or needs, please let me know.
>
> Cheers
> alain
>
> <Setting-alain_plantec.1.mcz><SettingSupport-alain_plantec.
> 1.mcz><Setting  
> tree.gif>_______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Setting package test

Gary Chambers-4

----- Original Message -----
From: "Adrian Lienhard" <[hidden email]>
To: "Pharo Development" <[hidden email]>
Sent: Saturday, March 14, 2009 12:48 PM
Subject: Re: [Pharo-project] Setting package test


> Hi Alain,
>
> Nice to see you making progress!
>
> I've taken a quick look at the GUI and the code. Here some feedback:
>
> - When I change a value, why do I get a red border (for me this
> indicates that the change is invalid)?


The red border is what eveyone apparently still wanted for an "edited" text
field (until "accepted").
If you don't like that there is a preference (old-style)
showTextEditingState.


> - Set to default doesn't do anything
> - Dropdown lists are displayed at the wrong position on the screen
> (I'm using the default theme, Watery2)
> - At first I didn't recognize the slider control (glyph contrast
> setting)
>
> - Instead of using the old change notification mechanism, you could
> use Announcements
> - The method #domainValues: looks a bit fishy with the isKindOf: checks
> - The method #maxNameWidthForFont: can be simplified by using
> #detectMax:
>
> A search/filter would certainly be useful.
>
> Cheers,
> Adrian
> ___________________
> http://www.adrian-lienhard.ch/
>
> On Mar 14, 2009, at 01:38 , Alain Plantec wrote:
>
>> Hi all,
>> Preference is now renamed as Setting.
>> Please, can you can load these two packages and play with the
>> settings.
>> 'SettingTree open' open  the browser.
>> Examples of setting are located in the Setting-SandBox category.
>> You can use <pharo> or <setting> as pragma.
>> the pragma list the browser is able to recognize is now a parameter.
>> (see SettingCollector class side).
>> as an example, It will be possible for an application to use its own
>> pragma symbol. Thus, the browser will be able to show application
>> specific
>> settings.
>> I will add 'saving', 'saving as', choose, open,  and 'filtering'
>> features (by package or by setting name as available in current
>> preference browser).
>> If you have more ideas or needs, please let me know.
>>
>> Cheers
>> alain
>>
>> <Setting-alain_plantec.1.mcz><SettingSupport-alain_plantec.
>> 1.mcz><Setting
>> tree.gif>_______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project 


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Setting package test

Alain Plantec-4
In reply to this post by Adrian Lienhard
Adrian Lienhard a écrit :
> Hi Alain,
>
> Nice to see you making progress!
>  
thank you Adrian
> I've taken a quick look at the GUI and the code. Here some feedback:
>
> - When I change a value, why do I get a red border (for me this  
> indicates that the change is invalid)?
>  
no, there is no control over what is typed except with range and
multiple value.
The red border can be seen when you leave a widget.
it indicates that you have entered something.
You need to explicitly accept your input with cmd-s or return.
With a simple TextEntry, one can use autoAccept: in order
to avoid the red border (the text is accepted while you are typing).
But here, I'm using editable drop lists (very useful for old values
retrieval),
and one have to explicitly accept what is entered in order to indicate
to the drop list
that an input has to be recorded.
This is exactly the same when you edit some code in a browser.
You have to accept it to compile it (red border arises if you leave an
unaccepted
code pane)
> - Set to default doesn't do anything
>  
It works here: try to create a setting somewhere. As an example
UISettings>>smartUpdating
    <setting>
    ^ SmartUpdating
        ifNil: [SmartUpdating := SettingValue new name: 'Smart updating';
                         parent: #uiSettingNode;
                         default: true]

you should see the new setting with a checked checkbox.

another example:
MorphicSettings>>haloTheme
    <setting>
    ^ HaloTheme
        ifNil: [HaloTheme := MultipleSettingValue new
                        name: 'Theme';
                        parent: #haloEnabled ;
                        default: #Classic;
                        domainValues: #(#Iconic #Classic #Custom)]

you should see a drop list with #Classic as the current value.
here, if you don't specify a default, then the default is automatically
set to the
first domain value (#Iconic here).

You can always come back to the default value with cmd-s or from the
tree popup menu.

is it ok ?
> - Dropdown lists are displayed at the wrong position on the screen  
> (I'm using the default theme, Watery2)
>  
yes, it has been fixed by 10252.
> - At first I didn't recognize the slider control (glyph contrast  
> setting)
>  
I think I will set the bakground to lightgray in order to make them
easily viewed.
> - Instead of using the old change notification mechanism, you could  
> use Announcements
>  
ah, yes, I would like but old change notification is used by morphic and
Polymorph.
I have to use it in order to make fields well updated.
> - The method #domainValues: looks a bit fishy with the isKindOf: checks
>  
yes, I agree, I use isKindOf: in several places but all these bad codes
will be improved when
the framework will be stable.
> - The method #maxNameWidthForFont: can be simplified by using  
> #detectMax:
>  
I didn't know it, thanks.
> A search/filter would certainly be useful.
>  
it will be implemented.

thanks for your remarks, nice to have feedbacks.

Cheers
Alain

> Cheers,
> Adrian
> ___________________
> http://www.adrian-lienhard.ch/
>
> On Mar 14, 2009, at 01:38 , Alain Plantec wrote:
>
>  
>> Hi all,
>> Preference is now renamed as Setting.
>> Please, can you can load these two packages and play with the  
>> settings.
>> 'SettingTree open' open  the browser.
>> Examples of setting are located in the Setting-SandBox category.
>> You can use <pharo> or <setting> as pragma.
>> the pragma list the browser is able to recognize is now a parameter.
>> (see SettingCollector class side).
>> as an example, It will be possible for an application to use its own
>> pragma symbol. Thus, the browser will be able to show application  
>> specific
>> settings.
>> I will add 'saving', 'saving as', choose, open,  and 'filtering'  
>> features (by package or by setting name as available in current  
>> preference browser).
>> If you have more ideas or needs, please let me know.
>>
>> Cheers
>> alain
>>
>> <Setting-alain_plantec.1.mcz><SettingSupport-alain_plantec.
>> 1.mcz><Setting  
>> tree.gif>_______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>    
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
>  


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Setting package test

Adrian Lienhard
My usability problem was that I didn't understood that I need to  
"accept" changes in text fields. Somehow I didn't make the connection  
to method source panes (for which I think the feedback whether a  
method was saved is important). Therefore, also reverting to the  
default value did not work because this action does not override  
currently unsaved content.

So everything works; just some usability issues that may be  
improved... (a simple text like "Save text fields with ctrl-s" might  
even be enough).

Cheers,
Adrian


On Mar 14, 2009, at 17:00 , Alain Plantec wrote:

> Adrian Lienhard a écrit :
>> Hi Alain,
>>
>> Nice to see you making progress!
>>
> thank you Adrian
>> I've taken a quick look at the GUI and the code. Here some feedback:
>>
>> - When I change a value, why do I get a red border (for me this
>> indicates that the change is invalid)?
>>
> no, there is no control over what is typed except with range and
> multiple value.
> The red border can be seen when you leave a widget.
> it indicates that you have entered something.
> You need to explicitly accept your input with cmd-s or return.
> With a simple TextEntry, one can use autoAccept: in order
> to avoid the red border (the text is accepted while you are typing).
> But here, I'm using editable drop lists (very useful for old values
> retrieval),
> and one have to explicitly accept what is entered in order to indicate
> to the drop list
> that an input has to be recorded.
> This is exactly the same when you edit some code in a browser.
> You have to accept it to compile it (red border arises if you leave an
> unaccepted
> code pane)
>> - Set to default doesn't do anything
>>
> It works here: try to create a setting somewhere. As an example
> UISettings>>smartUpdating
>    <setting>
>    ^ SmartUpdating
>        ifNil: [SmartUpdating := SettingValue new name: 'Smart  
> updating';
>                         parent: #uiSettingNode;
>                         default: true]
>
> you should see the new setting with a checked checkbox.
>
> another example:
> MorphicSettings>>haloTheme
>    <setting>
>    ^ HaloTheme
>        ifNil: [HaloTheme := MultipleSettingValue new
>                        name: 'Theme';
>                        parent: #haloEnabled ;
>                        default: #Classic;
>                        domainValues: #(#Iconic #Classic #Custom)]
>
> you should see a drop list with #Classic as the current value.
> here, if you don't specify a default, then the default is  
> automatically
> set to the
> first domain value (#Iconic here).
>
> You can always come back to the default value with cmd-s or from the
> tree popup menu.
>
> is it ok ?
>> - Dropdown lists are displayed at the wrong position on the screen
>> (I'm using the default theme, Watery2)
>>
> yes, it has been fixed by 10252.
>> - At first I didn't recognize the slider control (glyph contrast
>> setting)
>>
> I think I will set the bakground to lightgray in order to make them
> easily viewed.
>> - Instead of using the old change notification mechanism, you could
>> use Announcements
>>
> ah, yes, I would like but old change notification is used by morphic  
> and
> Polymorph.
> I have to use it in order to make fields well updated.
>> - The method #domainValues: looks a bit fishy with the isKindOf:  
>> checks
>>
> yes, I agree, I use isKindOf: in several places but all these bad  
> codes
> will be improved when
> the framework will be stable.
>> - The method #maxNameWidthForFont: can be simplified by using
>> #detectMax:
>>
> I didn't know it, thanks.
>> A search/filter would certainly be useful.
>>
> it will be implemented.
>
> thanks for your remarks, nice to have feedbacks.
>
> Cheers
> Alain
>> Cheers,
>> Adrian
>> ___________________
>> http://www.adrian-lienhard.ch/
>>
>> On Mar 14, 2009, at 01:38 , Alain Plantec wrote:
>>
>>
>>> Hi all,
>>> Preference is now renamed as Setting.
>>> Please, can you can load these two packages and play with the
>>> settings.
>>> 'SettingTree open' open  the browser.
>>> Examples of setting are located in the Setting-SandBox category.
>>> You can use <pharo> or <setting> as pragma.
>>> the pragma list the browser is able to recognize is now a parameter.
>>> (see SettingCollector class side).
>>> as an example, It will be possible for an application to use its own
>>> pragma symbol. Thus, the browser will be able to show application
>>> specific
>>> settings.
>>> I will add 'saving', 'saving as', choose, open,  and 'filtering'
>>> features (by package or by setting name as available in current
>>> preference browser).
>>> If you have more ideas or needs, please let me know.
>>>
>>> Cheers
>>> alain
>>>
>>> <Setting-alain_plantec.1.mcz><SettingSupport-alain_plantec.
>>> 1.mcz><Setting
>>> tree.gif>_______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>
>>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project