Hi Doru, some help...

Regards, Gary


----- Original Message ----- From: "Tudor Girba" <[email protected]>
To: "pharo-project Development" <[email protected]>
Sent: Saturday, September 04, 2010 10:25 PM
Subject: [Pharo-project] polymorph theme feedback


Hi again,

While working on the Glamorous Theme, I basically had to learn the design of polymorph and or the theme system. I think the structure is pretty nice, but it still requires work to offer more flexibility. I list here some of the notes I took. I would be happy to provide more feedback and even work with someone on this:

- How to control the rounded/square corners of the droplist, normal list and text boxes?

#textEntryCornerStyleIn:
   should work for (single line) text fields and editable drop lists.
   Could do with an equivalent for (multi-line) text editors and lists
(currently handled by subclassing the #newXYZ methods when controls are created via
   a builder).

- How to control a Splitter drawing?
It looks like it does not matter what we specify in separatorFillStyleFor:, it is still drawn embossed.

Splitters are not the same as separators (SeparatorMorph). Their appearance can be controlled by #splitterNormalFillStyleFor: and #splitterPressedFillStyleFor: (likewise, menu separators are not separators... might be nice to unify these things)

- How to control the menu title?
I would like to be able to control the color of the title of the menu (the one that appears for example in the world menu).


#menuTitleColorFor: will do for the title background...
currently there is no way of specifying the text colour. MenuMorph could do with a LOT more refactoring, really.

- How to control the menu rendering?
I would like to be able to control the fill style of the menu.

#menuFillStyleFor: should work for that.


- How to control the color of the PanelMorph when the Window is not active? Right now it just gets lighter. I would like to be able to control it, but it looks impossible from the Theme.

Will need some work (#panelFillStyleFor: perhaps, taking the #isActive of the window (if any) into account).


- How to control the padding of a panel, groupbox, or tab?

Standard means of #layoutInset:, #cellInset: etc.

- How to control the space between buttons in a toolbar?

- How to control the menu button in a toolbar?
When there is a button with a menu in a toolbar, a default button is created with a gradient that cannot be controlled from the theme.

Try #menuItemInDockingBarSelectedFillStyleFor:

- How to control the menu close button after the menu was pinned?

Not sure what you mean. As said above, MenuMorph would benefit from refactoring anyway.

- How to control the display of a splitter in a menu?
The MenuLineMorph hardcodes the minWidth and minHeight. It should be delegated to the Theme.

See refactoring/unification above.


- MorphTreeMorph needs to work with Theme (e.g., in adoptPaneColor:)

Yep, go for it (I'm sure Alain wouldn't mind ;-) )

- How to control the arrows of scrollbars? In particular, we would need to be able to define the forms in the theme, not just the vertices.

Indeed, a hangover from the old days.

- The settings for the menu rendering seem to affect the rendering of the progress bars. There should be separate entries for the two in the Theme.

Indeed.


- It is unclear what the ThemeSettings is for. What goes here and what goes in the Theme?

Ideally, user customisable stuff would go there (may be tied with Settings browser).

- Some icons are defined in the Theme instance variables, and some are defined in the ThemeIcons.

Typically only "application" style icons are in ThemeIcons, rather than bits for controls.
May be better to put all in ThemeIcons...


- Is it intended for the ThemeSettings to be subclassed?

Yes, see VistaryThemeIcons.

- Some preferences from ThemeSettings are hardcoded. For example: menuShadowColor or menuTitleBorderColor.

Feel free to improve.

- How to control the tick of a checkbox or of a radio button?
Right now, there is a tick that gets drawn even if I specify the radioButtonSelectedForm or checkboxSelectedForm

See #checkboxMarkerForm and #radioButtonMarkerForm.


Cheers,
Doru


--
www.tudorgirba.com

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




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


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

Reply via email to