Closed Updownquark closed 11 years ago
I have done a lot of work on this, but unfortunately I mislabeled most of these commits as #8, so much of the work on this issue is shown there.
I haven't been able to move this issue forward in a while. I realized as I began the button type that I need a lot more infrastructure in place before even a simple button will work and look good. Typical buttons have a different look depending on the button's state, e.g. alone, hovered, pressed, or toggled. It's ridiculous and inelegant to adjust the look and feel programmatically in response to mouse events and internally-controlled state changes. So I created some issues that need to be resolved well before any serious widgets can be created:
Working on #37 (models) now, but when that's finished I need to link the button's content pane's attributes with the button itself, so you can specify a button's layout and layout attributes on the button element.
All the dependencies I could think of are now done. Just need to do that attribute linking mentioned in the comment above.
The attribute exposure is done. We have a working button. It's slow as a dog (a slow dog), but this isn't button's problem. Need all-at-once rendering and OpenGL (#34) to make that better.
I'm still not going to close this because I think I'll also make a ToggleButton in this task as well. Almost ready to close this mega-issue and merge to master.
A few more things:
I think this is done now. I'll do some cleanup, merge to dev, then master, then it'll be time to move on to another feature, finally.
Should extend LayoutContainer, have a buttonized texture, different texture/color for hover, pressed, and selected. Should support toggle and normal modes. Put a lot of thought, features, and flexibility into this one as it will be used often.