示例#1
0
 private void LoadAllCode()
 {
     if (_scripts.Count > 0)
     {
         _scripts.Clear();
     }
     foreach (var code in DataBaseManager.AllJavaScript())
     {
         _scripts.Add(code);
     }
     KeyWord.UpdateWord();
 }
示例#2
0
        private void LoadAllReflect()
        {
            KeyWord.UpdateWord();
            ReflectTree.Items.Clear();

            foreach (var reflect in DataBaseManager.AllReflect())
            {
                var root = new TreeViewItem
                {
                    Header = reflect.Id
                };
                root.KeyUp += (sender, args) =>
                {
                    if (args.Key == Key.Delete)
                    {
                        DataBaseManager.DeleteReflect((string)((TreeViewItem)sender).Header);
                        LoadAllReflect();
                    }
                };

                foreach (var property in reflect.Propertys)
                {
                    var color = Colors.Black;

                    switch (property.Type)
                    {
                    case "field":
                        color = Colors.Red;
                        break;

                    case "method":
                        color = Colors.Blue;
                        break;

                    case "constructor":
                        color = Colors.Green;
                        break;
                    }

                    var node = new TreeViewItem
                    {
                        Header     = property.Name,
                        Tag        = property.Desc,
                        ToolTip    = property.Desc,
                        Foreground = new SolidColorBrush(color)
                    };

                    node.Selected += (sender, args) =>
                    {
                        if (((SolidColorBrush)((TreeViewItem)sender).Foreground).Color == Colors.Blue)
                        {
                            var clazz = (string)((TreeViewItem)((TreeViewItem)sender).Parent).Header;
                            var desc  = (string)((TreeViewItem)sender).Tag;

                            var source = DataBaseManager.GetJavaScriptByName("plugin").Text;
                            if (!string.IsNullOrEmpty(source))
                            {
                                var rv = Plugin(source, clazz, desc);
                                if (!string.IsNullOrEmpty(rv))
                                {
                                    InfoEditor.Text = rv;
                                    return;
                                }
                            }

                            InfoEditor.Text =
                                Utils.GenericSimpleness(clazz, desc);
                        }
                        else
                        {
                            InfoEditor.Text = (string)((TreeViewItem)sender).Tag;
                        }
                    };

                    root.Items.Add(node);
                }
                ReflectTree.Items.Add(root);
            }
        }