Esempio n. 1
0
        private void SetScope([NotNull] ScopeDescriptor descriptor)
        {
            Debug.ArgumentNotNull(descriptor, nameof(descriptor));

            TreeView         = descriptor.TreeView;
            RootTreeViewItem = descriptor.Item;
            Content          = TreeView;

            var input = TreeView.SelectedItem as IInputElement;

            if (input != null)
            {
                Keyboard.Focus(input);
            }

            RaiseScopeChanged();
        }
Esempio n. 2
0
        public ScopeModel BuildScopeModel()
        {
            var scope = _variableScope.ToArray();
            var keys  = new List <string>();
            var items = new Dictionary <string, IEnumerable <string> >();

            foreach (var key in scope[0].Variables.Keys)
            {
                keys.Add(key);
                items.Add(key, scope[0].Variables[key].Descriptor.Properties.Select(x => x.Name).ToArray());
            }

            var queryScope = new ScopeDescriptor()
            {
                Keys = keys, Items = items
            };

            keys  = new List <string>();
            items = new Dictionary <string, IEnumerable <string> >();

            var lastIndex = scope.Length - 1;

            foreach (var key in scope[lastIndex].Variables.Keys)
            {
                keys.Add(key);
                items.Add(key, scope[lastIndex].Variables[key].Descriptor.Properties.Select(x => x.Name).ToArray());
            }

            var globalScope = new ScopeDescriptor()
            {
                Keys = keys, Items = items
            };

            return(new ScopeModel()
            {
                Global = globalScope, QueryScope = queryScope
            });
        }