예제 #1
0
        protected virtual void OkClicked(object sender, System.EventArgs e)
        {
            columnEditor.FillSchemaObjects();
            if (constraintEditor != null)
            {
                constraintEditor.FillSchemaObjects();
            }
            if (triggerEditor != null)
            {
                triggerEditor.FillSchemaObjects();
            }
            if (commentEditor != null)
            {
                table.Comment = commentEditor.Comment;
            }

            if (action == SchemaActions.Create)
            {
                table.Definition = schemaProvider.GetTableCreateStatement(table);
            }
//			else
//				table.Definition = schemaProvider.GetTableAlterStatement (table);

            if (checkPreview.Active)
            {
                // Preview Dialog: If it's canceled the response to the previous dialog should be None to know that it
                // isn't OK and don't close the table editor dialog.
                PreviewDialog dlg  = new PreviewDialog(table.Definition);
                int           resp = 0;
                while ((resp = dlg.Run()) != (int)ResponseType.Ok)
                {
                    if (resp == (int)ResponseType.Cancel)
                    {
                        break;
                    }
                    else
                    {
                        Respond(ResponseType.Cancel);
                    }
                }

                if (resp == (int)ResponseType.Ok)
                {
                    table.Definition = dlg.Text;
                    Respond(ResponseType.Ok);
                    Hide();
                }
                else
                {
                    Respond(ResponseType.None);
                }

                dlg.Destroy();
            }
            else
            {
                Respond(ResponseType.Ok);
                Hide();
            }
        }
예제 #2
0
        protected void OnShowDefinitionOnClipboard()
        {
            TableNode           node           = CurrentNode.DataItem as TableNode;
            IEditSchemaProvider schemaProvider = (IEditSchemaProvider)node.ConnectionContext.SchemaProvider;

            Gtk.Clipboard clp = Clipboard.Get(Gdk.Selection.Clipboard);
            clp.Text = schemaProvider.GetTableCreateStatement(node.Table);
            MessageService.ShowMessage(AddinCatalog.GetString("CREATE Statement has been copied to Clipboard."));
        }
예제 #3
0
        protected void OnShowDefinitionOnNewWindow()
        {
            TableNode           node           = CurrentNode.DataItem as TableNode;
            IEditSchemaProvider schemaProvider = (IEditSchemaProvider)node.ConnectionContext.SchemaProvider;
            SqlQueryView        view           = new SqlQueryView();

            view.SelectedConnectionContext = node.ConnectionContext;
            view.TextEditor.Insert(0, schemaProvider.GetTableCreateStatement(node.Table));
            IdeApp.Workbench.OpenDocument(view, true);
        }
예제 #4
0
        protected void OnShowDefinitionOnCurrentWindow()
        {
            TableNode           node           = CurrentNode.DataItem as TableNode;
            IEditSchemaProvider schemaProvider = (IEditSchemaProvider)node.ConnectionContext.SchemaProvider;

            if (IdeApp.Workbench.ActiveDocument.IsFile && !IdeApp.Workbench.ActiveDocument.IsViewOnly)
            {
                IdeApp.Workbench.ActiveDocument.Editor.InsertAtCaret(schemaProvider.GetTableCreateStatement(node.Table));
            }
            else
            {
                MessageService.ShowError(AddinCatalog.GetString("Cannot insert text into the current window."));
            }
        }