Beispiel #1
0
        protected override void OnDragDrop(DragEventArgs drgevent)
        {
            string s     = string.Empty;
            var    files = drgevent.Data.GetData("FileDrop") as string[];

            if (files != null && files.Length >= 0)
            {
                StreamReader sr = File.OpenText(files[0]);
                s = sr.ReadToEnd();
            }

            if (string.IsNullOrEmpty(s))
            {
                s = drgevent.Data.GetData(typeof(string)) as string;
            }

            if (string.IsNullOrEmpty(s))
            {
                var dtable = drgevent.Data.GetData(typeof(DraggableTable)) as DraggableTable;

                /* 0
                 * 4 SHIFT
                 * 8 CTRL
                 * 12 CTRL+SHIFT
                 * 32 LALT
                 * 40 ALT GR
                 *
                 * */
                if (drgevent.KeyState == 0)
                {
                    s = dtable.Table.GetFullObjectName();
                }
                else if (drgevent.KeyState == 4)
                {
                    TemplateManagerFactory fac     = TemplateManagerFactory.Instance;
                    ITemplateManager       manager = fac.GetSqlTemplateManager(dtable.Server.ServerConnection);
                    string query = manager.GetQuery("UI.OpenTable");
                    s = query;
                }
                else if (drgevent.KeyState == 8)
                {
                    TemplateManagerFactory fac     = TemplateManagerFactory.Instance;
                    ITemplateManager       manager = fac.GetCodeTemplateManager();
                    Template template = manager.GetTemplate("CS.AdoCodeSnippet.cs");
                    s = template.SqlTemplate;
                }
            }

            drgevent.Data.SetData(DataFormats.StringFormat, s);
            base.OnDragDrop(drgevent);
        }