Exemplo n.º 1
0
        public void Add(Type type)
        {
            //we already have it
            if (items.Any(i => i.Tag.Equals(type)))
            {
                return;
            }

            var snip = new SubstringAutocompleteItem(type.Name);

            snip.MenuText = type.Name; //name of table
            snip.Text     = type.Name; //full text
            snip.Tag      = type;      //record object for future reference

            if (!_imageList.Images.ContainsKey(type.Name))
            {
                var img = _activator.CoreIconProvider.GetImage(type);
                if (img != null)
                {
                    _imageList.Images.Add(type.Name, img);
                }
            }

            snip.ImageIndex = GetIndexFor(type, type.Name);
            items.Add(snip);

            _autocomplete.SetAutocompleteItems(items);
        }
Exemplo n.º 2
0
        public void Add(ColumnInfo columnInfo)
        {
            var snip = new SubstringAutocompleteItem(columnInfo.GetRuntimeName());

            snip.MenuText   = columnInfo.GetRuntimeName();
            snip.Text       = columnInfo.GetFullyQualifiedName();
            snip.Tag        = columnInfo;
            snip.ImageIndex = GetIndexFor(columnInfo, RDMPConcept.ColumnInfo.ToString());

            AddUnlessDuplicate(snip);
        }
Exemplo n.º 3
0
        private void Add(PreLoadDiscardedColumn discardedColumn, ITableInfo tableInfo, string rawDbName)
        {
            var snip    = new SubstringAutocompleteItem(discardedColumn.GetRuntimeName());
            var colName = discardedColumn.GetRuntimeName();

            snip.MenuText = colName;

            snip.Text       = tableInfo.GetQuerySyntaxHelper().EnsureFullyQualified(rawDbName, null, tableInfo.GetRuntimeName(), colName);
            snip.Tag        = discardedColumn;
            snip.ImageIndex = GetIndexFor(discardedColumn, RDMPConcept.ColumnInfo.ToString());

            AddUnlessDuplicate(snip);
        }
Exemplo n.º 4
0
        public void Add(ISqlParameter parameter)
        {
            string name = parameter.ParameterName;

            var snip = new SubstringAutocompleteItem(name);

            snip.Tag        = name;
            snip.Text       = parameter.ParameterName;
            snip.ImageIndex = GetIndexFor(parameter, RDMPConcept.ParametersNode.ToString());//parameter icon

            snip.ToolTipText = snip.ToString();

            AddUnlessDuplicate(snip);
        }
Exemplo n.º 5
0
        private void Add(DiscoveredColumn discoveredColumn)
        {
            if (items.Any(i => i.Tag.Equals(discoveredColumn)))
            {
                return;
            }

            var snip = new SubstringAutocompleteItem(discoveredColumn.GetRuntimeName());

            snip.MenuText   = discoveredColumn.GetRuntimeName();        //name of table
            snip.Text       = discoveredColumn.GetFullyQualifiedName(); //full SQL
            snip.Tag        = discoveredColumn;                         //record object for future reference
            snip.ImageIndex = GetIndexFor(discoveredColumn, RDMPConcept.ColumnInfo.ToString());

            AddUnlessDuplicate(snip);
        }
Exemplo n.º 6
0
        public void Add(ColumnInfo columnInfo, ITableInfo tableInfo, string databaseName, LoadStage stage, IQuerySyntaxHelper syntaxHelper)
        {
            var col    = columnInfo.GetRuntimeName(stage);
            var table  = tableInfo.GetRuntimeName(stage);
            var dbName = tableInfo.GetDatabaseRuntimeName(stage);

            var snip = new SubstringAutocompleteItem(col);

            snip.MenuText = col;

            var fullySpecified = syntaxHelper.EnsureFullyQualified(dbName, tableInfo.Schema, table, col);

            snip.Text       = fullySpecified;
            snip.Tag        = columnInfo;
            snip.ImageIndex = GetIndexFor(columnInfo, RDMPConcept.ColumnInfo.ToString());

            AddUnlessDuplicate(snip);
        }
Exemplo n.º 7
0
        public void AddSQLKeywords(IQuerySyntaxHelper syntaxHelper)
        {
            if (syntaxHelper == null)
            {
                return;
            }

            foreach (KeyValuePair <string, string> kvp in syntaxHelper.GetSQLFunctionsDictionary())
            {
                var snip = new SubstringAutocompleteItem(kvp.Key);
                snip.MenuText   = kvp.Key;
                snip.Text       = kvp.Value;
                snip.Tag        = kvp;
                snip.ImageIndex = GetIndexFor(null, RDMPConcept.SQL.ToString());//sql icon

                AddUnlessDuplicate(snip);
            }
        }
Exemplo n.º 8
0
        public void Add(ITableInfo tableInfo, LoadStage loadStage)
        {
            //we already have it or it is not setup properly
            if (items.Any(i => i.Tag.Equals(tableInfo)) || string.IsNullOrWhiteSpace(tableInfo.Database) || string.IsNullOrWhiteSpace(tableInfo.Server))
            {
                return;
            }

            var runtimeName = tableInfo.GetRuntimeName(loadStage);
            var dbName      = tableInfo.GetDatabaseRuntimeName(loadStage);

            var syntaxHelper = tableInfo.GetQuerySyntaxHelper();
            var fullSql      = syntaxHelper.EnsureFullyQualified(dbName, null, runtimeName);

            var snip = new SubstringAutocompleteItem(tableInfo.GetRuntimeName());

            snip.MenuText   = runtimeName; //name of table
            snip.Text       = fullSql;     //full SQL
            snip.Tag        = tableInfo;   //record object for future reference
            snip.ImageIndex = GetIndexFor(tableInfo, RDMPConcept.TableInfo.ToString());


            foreach (IHasStageSpecificRuntimeName o in tableInfo.GetColumnsAtStage(loadStage))
            {
                var preDiscarded = o as PreLoadDiscardedColumn;
                var columnInfo   = o as ColumnInfo;

                if (preDiscarded != null)
                {
                    Add(preDiscarded, tableInfo, dbName);
                }
                else
                if (columnInfo != null)
                {
                    Add(columnInfo, tableInfo, dbName, loadStage, syntaxHelper);
                }
                else
                {
                    throw new Exception("Expected IHasStageSpecificRuntimeName returned by TableInfo.GetColumnsAtStage to return only ColumnInfos and PreLoadDiscardedColumns.  It returned a '" + o.GetType().Name + "'");
                }
            }

            AddUnlessDuplicate(snip);
        }
Exemplo n.º 9
0
        public void Add(IColumn column)
        {
            string runtimeName;

            try
            {
                runtimeName = column.GetRuntimeName();
            }
            catch (Exception)
            {
                return;
            }
            var snip = new SubstringAutocompleteItem(runtimeName);

            snip.MenuText   = column.GetRuntimeName();
            snip.Text       = column.SelectSQL;
            snip.Tag        = column;
            snip.ImageIndex = GetImageIndexForType(column);

            AddUnlessDuplicate(snip);
        }
Exemplo n.º 10
0
        public override EditorBase GetEditor()
        {
            var items = new List <SubstringAutocompleteItem>(ACMD_INFO.CMD_NAMES.Count);

            foreach (uint key in ACMD_INFO.CMD_NAMES.Keys.ToArray())
            {
                string name = ACMD_INFO.CMD_NAMES[key];
                string desc = ACMD_INFO.CMD_DESC[key];

                SubstringAutocompleteItem item = new SubstringAutocompleteItem(name, true);
                item.ToolTipTitle = name;
                item.ToolTipText  = desc;
                items.Add(item);
            }
            var editor = new TextEditor(this)
            {
                Text = this.Text
            };

            editor.SetAutocomplete(items.ToArray());
            return(editor);
        }
Exemplo n.º 11
0
        public void Add(DiscoveredTable discoveredTable)
        {
            if (items.Any(i => i.Tag.Equals(discoveredTable)))
            {
                return;
            }

            var snip = new SubstringAutocompleteItem(discoveredTable.GetRuntimeName());

            snip.MenuText   = discoveredTable.GetRuntimeName();        //name of table
            snip.Text       = discoveredTable.GetFullyQualifiedName(); //full SQL
            snip.Tag        = discoveredTable;                         //record object for future reference
            snip.ImageIndex = GetIndexFor(discoveredTable, RDMPConcept.TableInfo.ToString());


            AddUnlessDuplicate(snip);

            DiscoveredColumn[] columns = null;
            try
            {
                if (discoveredTable.Exists())
                {
                    columns = discoveredTable.DiscoverColumns();
                }
            }
            catch (Exception)
            {
                //couldn't load nevermind
            }

            if (columns != null)
            {
                foreach (var col in columns)
                {
                    Add(col);
                }
            }
        }