private IEnumerable <string> GetNodeLabels(TreeNodeAdv node) { foreach (NodeControl nc in _tree.NodeControls) { BindableControl bc = nc as BindableControl; if (bc != null && bc.IncrementalSearchEnabled) { object obj = bc.GetValue(node); if (obj != null) { yield return(obj.ToString().ToLowerInvariant()); } } } }
public int AddColumn(NodeControl treeControl, int grtIndex, bool editable) { ColumnContent column = new ColumnContent(); column.editable = editable; column.index = grtIndex; column.control = treeControl; if (treeControl is BindableControl) { BindableControl control = treeControl as BindableControl; control.VirtualMode = true; control.ValueNeeded += new EventHandler <NodeControlValueEventArgs>(ValueNeeded); if (editable) { if (control is NodeTextBox) { (control as NodeTextBox).EditEnabled = true; } control.ValuePushed += new EventHandler <NodeControlValueEventArgs>(ValuePushed); if (control is AdvNodeTextBox) { ((AdvNodeTextBox)control).EditorInitialize += new EditorInitializeEventHandler(EditorInitialize); } } else if (control is NodeTextBox) { (control as NodeTextBox).EditEnabled = false; } } columns.Add(column); return(column.index); }
public void OnExtended(BindableControl view) { _control = view; }
protected override void OnLoad(EventArgs evt) { base.OnLoad(evt); var contentControl = new SciterControl(); var openButton = new ButtonControl() { Selector = "#open" }; var reloadButton = new ButtonControl() { Selector = "#reload" }; var content = new BindableControl() { Selector = "#content" }; Action resizeContent = () => { var rect = content.Element.GetLocation(ElementLocation.ContentBox); contentControl.Top = rect.Top; contentControl.Left = rect.Left; contentControl.Width = rect.Width; contentControl.Height = rect.Height; }; content.Attached += (s, e) => resizeContent(); content.Size += (s, e) => resizeContent(); reloadButton.Click += (s, e) => { contentControl.Reload(); }; openButton.Click += (s, e) => { var dlg = new OpenFileDialog() { Filter = "Html files (*.htm)|*.htm|All files (*.*)|*.*" }; if (dlg.ShowDialog() == DialogResult.OK) { contentControl.LoadHtmlResource(FileProtocol.ProtocolPrefix + dlg.FileName); } }; SciterControls.Add(openButton); SciterControls.Add(reloadButton); SciterControls.Add(content); ScriptingMethodCall += (s, e) => { switch (e.MethodName) { case "application_name": // Returns application title e.ReturnValue = Text; break; } }; contentControl.HandleCreated += (s, e) => contentControl.RegisterClass <Scripting.Application>(); contentControl.ScriptingMethodCall += (s, e) => { switch (e.MethodName) { case "application_name": // Returns application title e.ReturnValue = Text; break; case "sum": // Returns sum of two arguments e.ReturnValue = Convert.ToDouble(e.Arguments[0]) + Convert.ToDouble(e.Arguments[1]); break; case "echo": e.ReturnValue = e.Arguments[0]; break; case "dict": e.ReturnValue = new { first = 1, second = 2, third = 3 }; break; case "callback": contentControl.Call("callback", "hello"); contentControl.Call("callback", 1); contentControl.Call("callback", true); contentControl.Call("callback", 1.0); contentControl.Call("callback", DateTime.Now); contentControl.Call("callback", 1M); contentControl.Call("callback", new byte[] { 0x1, 0x2, 0x3 }); break; } }; Controls.Add(contentControl); LoadHtmlResource <MainForm>("Html/Default.htm"); }
private void AddNodeControl(string dataPropertyName, BindableControl control) { control.DataPropertyName = dataPropertyName; _treeView.NodeControls.Add(control); }