//public static Widget DropDown(IEnumerable<string> items, PopInOut pop_in_out_behavior = null) //{ // WidgetList widgets = new WidgetList(); // foreach (string item in items) widgets.Add(new Widget().WithAddedBehavior(new DrawText() { Text = item, ConstrainAreaToText = true })); // return DropDown(widgets, pop_in_out_behavior); //} public static Widget DropDown( IEnumerable <Widget> widgets, PopInOut pop_in_out_behavior = null ) { var widgets_ = widgets.ToList(); var dropdown = new Widget(); dropdown.VisualSettings.VisualRole = VisualRoleType.pop_up; dropdown.Behaviors.GroupBehaviors.AcceptancePolicy += GroupBehaviorAcceptancePolicy.NoUserScrolling; dropdown.MinimumSize = new Point2(1f, 1f); dropdown.AddRange(widgets_); dropdown.Behaviors.Add(new GridFormat(1, widgets_.Count)); dropdown.Behaviors.Add( pop_in_out_behavior ?? new PopInOut( RectanglePart.Uniform(0.95f, Directions2D.DLR), RectanglePart.Uniform(0f, Directions2D.D, 1f) ) { OpeningMotion = InterpolationSettings.Fast, ClosingMotion = InterpolationSettings.Faster } ); return(dropdown); }
public static Widget DropDown( IEnumerable <KeyValuePair <string, DropDownEntry> > entries, PopInOut pop_in_out_behavior = null ) { var items = new WidgetList(); foreach (var item in entries) { items.Add(DropDownEntry(item.Key, item.Value)); } return(DropDown(items, pop_in_out_behavior)); }