I’m working on redoing ComboBox and I could use some input on best practices.

Right now, ComboBox has ComboBox view which has three components hard-wired in. 
It has TextInput, TextButton, and List. If any visuals or behavior need to be 
changed, the entire view needs to be rewritten. We’ve already had two cases 
where I needed a new view. One was to disable the TextInput input and change 
the button appearance. The second was to support images in a dropdown.

It seems to me like the ComboBoxView should add the three components based on 
declared classes. I think there should be 1. A “Button” component. 2. An 
ItemRenderer component for the “input” which displays the selected item. 3. A 
List component for displaying the dropdown. The question I’m struggling with is 
how to declare these.

I don’t think it makes sense to make these all beads. Currently Buttons are not 
beads.

Should we add interfaces (i.e. IButton) and declare the classes using 
interfaces? I mean something similar to IItemRenderer.

Maybe just use ValuesManager to just lookup some other “name”? We’re currently 
doing something similar with ColumnClassName in DynamicDataGrid.

Other ideas?

Thanks,
Harbs

Reply via email to