Exemplo n.º 1
0
 private void LoadAllCode()
 {
     if (_scripts.Count > 0)
     {
         _scripts.Clear();
     }
     foreach (var code in DataBaseManager.AllJavaScript())
     {
         _scripts.Add(code);
     }
     KeyWord.UpdateWord();
 }
Exemplo n.º 2
0
        private void StartCompletionWindow(TextArea area, string text, string token = null)
        {
            if (_completionWindow != null)
            {
                return;
            }
            List <Tuple <string, string> > showKeys = null;

            if (string.IsNullOrEmpty(token))
            {
                showKeys = KeyWord.GetKeyword(text);
            }
            else
            {
                showKeys = KeyWord.GetMethodword(text, token);
            }

            if (showKeys == null || showKeys.Count == 0)
            {
                return;
            }


            _completionWindow = new CompletionWindow(area)
            {
                ResizeMode = ResizeMode.NoResize
            };
            _completionWindow.Closed += (sender, args) => _completionWindow = null;


            _completionWindow.CloseWhenCaretAtBeginning = false;

            var data = _completionWindow.CompletionList.CompletionData;

            foreach (var key in showKeys)
            {
                data.Add(new CompletionData(key.Item1, key.Item2));
            }
            _completionWindow.Show();
        }
Exemplo n.º 3
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);
            }
        }