public SearchPanel(Widget rootWidget) { PanelWidget = rootWidget; scrollView = new ThemedScrollView(); RootWidget = new Frame { Id = "SearchPanel", Padding = new Thickness(4), Layout = new VBoxLayout { Spacing = 4 }, Nodes = { (searchStringEditor = new ThemedEditBox()), scrollView } }; resultPane = scrollView.Content; RootWidget.AddChangeWatcher(() => searchStringEditor.Text, RefreshResultPane); scrollView.TabTravesable = new TabTraversable(); resultPane.CompoundPresenter.Insert(0, new DelegatePresenter <Widget>(w => { w.PrepareRendererState(); if (scrollView.IsFocused() && results.Count > 0) { Renderer.DrawRect( 0, rowHeight * selectedIndex, w.Width, (selectedIndex + 1) * rowHeight, Theme.Colors.SelectedBackground); } })); scrollView.LateTasks.Add(new KeyRepeatHandler(ScrollView_KeyRepeated)); }