Another point: the tab button should be different from the regular button.

Right now, I added a hack in the button drawing that goes like this:
buttonNormalFillStyleFor: aButton
        "Return the normal button fillStyle for the given button."
        
(aButton valueOfProperty: #noFill ifAbsent: [false]) ifTrue: [^ SolidFillStyle color: Color transparent ].
        ^ self glamorousNormalFillStyleFor: aButton height: aButton height

And when I create the tab button, I populate the #noFill property:

        (aWin
                        newButtonFor: each
                        getState: nil
                        action: #actOn:
                        arguments: {aBrowser}
                        getEnabled: nil
                        labelForm: each icon
                        help: each title)
                        valueOfProperty: #noBorder ifAbsentPut: [true];
                        valueOfProperty: #noFill ifAbsentPut: [true];
                        yourself

Still, this is a hack :).

Cheers,
Doru


On 4 Sep 2010, at 23:25, Tudor Girba wrote:

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?

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

- 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).

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

- 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.

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

- 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.

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

- 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.

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

- 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.

- 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.

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

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

- Is it intended for the ThemeSettings to be subclassed?

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

- 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

Cheers,
Doru


--
www.tudorgirba.com

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




--
www.tudorgirba.com

"Obvious things are difficult to teach."




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

Reply via email to