protected virtual void OkClicked(object sender, EventArgs e) { if (context.IsTemporary) { try { //make it a real connection context and fill in the database IConnectionPool pool = DbFactoryService.CreateConnectionPool(DatabaseConnection); pool.Initialize(); ISchemaProvider provider = DbFactoryService.CreateSchemaProvider(DatabaseConnection, pool); DatabaseSchema db = provider.CreateDatabaseSchema(settingsWidget.ConnectionSettings.Database); OnBeforeDatabaseCreation(db); ((AbstractEditSchemaProvider)provider).CreateDatabase(db); context.ConnectionSettings.Database = settingsWidget.ConnectionSettings.Database; context.ConnectionSettings.Name = settingsWidget.ConnectionSettings.Name; context.IsTemporary = false; MessageService.ShowMessage(AddinCatalog.GetString("Database has been created.")); ConnectionContextService.AddDatabaseConnectionContext(context); } catch (Exception ex) { QueryService.RaiseException(ex); Respond(ResponseType.Close); return; } } Respond(ResponseType.Ok); }
public override void BuildNode(ITreeBuilder builder, object dataObject, ref string label, ref Gdk.Pixbuf icon, ref Gdk.Pixbuf closedIcon) { label = AddinCatalog.GetString("Database Connections"); icon = Context.GetIcon("md-db-connection"); this.builder = builder; }
public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { nodeInfo.Label = AddinCatalog.GetString("Groups"); nodeInfo.Icon = Context.GetIcon("md-db-tables"); BaseNode node = (BaseNode)dataObject; }
public UserEditorDialog(ISchemaProvider schemaProvider, UserSchema user, bool create) { this.Build(); if (schemaProvider == null) { throw new ArgumentNullException("schemaProvider"); } if (user == null) { throw new ArgumentNullException("user"); } this.schemaProvider = schemaProvider; this.user = user; this.action = create ? SchemaActions.Create : SchemaActions.Alter; this.Build(); if (create) { Title = AddinCatalog.GetString("Create User"); } else { Title = AddinCatalog.GetString("Alter User"); } notebook = new Notebook(); vboxContent.PackStart(notebook, true, true, 0); vboxContent.ShowAll(); }
public virtual bool ValidateFields() { bool ok = false; if (checkCustom.Active) { ok = textConnectionString.Buffer.Text.Length > 0; } else { bool alreadyExists = ConnectionContextService.DatabaseConnectionContextExist(ConnectionSettings); TreeIter iter; ok = entryName.Text.Length > 0 && (entryServer.Text.Length > 0 || !enableServerEntry) && (entryUsername.Text.Length > 0 || !enableUsernameEntry) && (comboDatabase.Entry.Text.Length > 0) && (!alreadyExists || (isEditMode && ConnectionSettings.Name == entryName.Text)); if (alreadyExists && !isEditMode) { labelMessage.Markup = string.Concat("<i>", AddinCatalog.GetString("Connection Name Already used, choose another."), "</i>"); } else { labelMessage.Markup = ""; } } return(ok); }
public override void BuildNode(ITreeBuilder builder, object dataObject, NodeInfo nodeInfo) { nodeInfo.Label = AddinCatalog.GetString("Database Connections"); nodeInfo.Icon = Context.GetIcon("md-db-connection"); this.builder = builder; }
public TableEditorDialog(IEditSchemaProvider schemaProvider, bool create, TableEditorSettings settings) { if (schemaProvider == null) { throw new ArgumentNullException("schemaProvider"); } this.schemaProvider = schemaProvider; this.action = create ? SchemaActions.Create : SchemaActions.Alter; this.settings = settings; this.Build(); if (create) { Title = AddinCatalog.GetString("Create Table"); } else { Title = AddinCatalog.GetString("Alter Table"); } notebook = new Notebook(); vboxContent.PackStart(notebook, true, true, 0); notebook.Sensitive = false; ThreadPool.QueueUserWorkItem(new WaitCallback(InitializeThreaded)); vboxContent.ShowAll(); }
public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, ref string label, ref Gdk.Pixbuf icon, ref Gdk.Pixbuf closedIcon) { label = AddinCatalog.GetString("Languages"); icon = Context.GetIcon("md-db-tables"); BaseNode node = (BaseNode)dataObject; }
public MySqlCreateDatabaseDialog(IDbFactory factory) : base(factory) { createDBWidget = new MySqlCreateDatabaseWidget(); Notebook.AppendPage(createDBWidget, new Label(AddinCatalog.GetString("Database Properties"))); Notebook.ShowTabs = true; Gtk.Notebook nb = Notebook; nb.SwitchPage += delegate(object o, SwitchPageArgs args) { if (nb.CurrentPage == 1) { if (!connectionWidget.ValidateFields()) { nb.CurrentPage = 0; MessageService.ShowError(this, AddinCatalog.GetString("Set the connection properties before the database properties.")); } else { Initialize(factory); if (DatabaseConnection.ConnectionPool.HasErrors) { MessageService.ShowError(DatabaseConnection.ConnectionPool.Error); nb.CurrentPage = 0; return; } createDBWidget.Initialize((MySqlSchemaProvider)DatabaseConnection.SchemaProvider); } } }; Notebook.ShowAll(); }
public virtual bool ValidateSchemaObjects(out string msg) { TreeIter iter; if (store.GetIterFirst(out iter)) { do { string name = store.GetValue(iter, colNameIndex) as string; string column = store.GetValue(iter, colColumnNameIndex) as string; string source = store.GetValue(iter, colSourceIndex) as string; bool iscolc = (bool)store.GetValue(iter, colIsColumnConstraintIndex); if (String.IsNullOrEmpty(source)) { msg = AddinCatalog.GetString("Checked constraint '{0}' does not contain a check statement.", name); return(false); } if (iscolc && String.IsNullOrEmpty(column)) { msg = AddinCatalog.GetString("Checked constraint '{0}' is marked as a column constraint but is not applied to a column.", name); return(false); } } while (store.IterNext(ref iter)); } msg = null; return(true); }
public static void ShowDialog(string text) { if (dlg == null) { dlg = new WaitDialog(); } if (text == null) { dlg.label.Markup = AddinCatalog.GetString("Please Wait"); } else { dlg.label.Markup = text; } dlg.ShowAll(); if (!isRunning) { isRunning = true; ThreadPool.QueueUserWorkItem(new WaitCallback(ProgressUpdate)); } else { dlg.Present(); } }
public IEnumerable <CA.IViolation> Run(string inspectedFile, IEnumerable <CA.IRule> ruleSet) { // FIXME: add support for ruleSet parameter // TODO: use MonoDevelop process APIs instead of System.Diagnostics string arguments = "-xml"; ProcessStartInfo startInfo = new ProcessStartInfo("mono"); // runtime needs to be defined explicitly (or somewhy 1.1 can be loaded) startInfo.Arguments = string.Format("--runtime=v2.0.50727 {0} {1} {2}", smokey.CodeBase, arguments, inspectedFile); startInfo.RedirectStandardOutput = true; startInfo.UseShellExecute = false; Process smokeyProcess = null; try { smokeyProcess = Process.Start(startInfo); return(SmokeyParser.ParseOutput(smokeyProcess.StandardOutput, ruleSet)); } catch (Exception ex) { throw new InvalidOperationException(AddinCatalog.GetString("Could not run Smokey or parse its output."), ex); } finally { if (smokey != null) { smokeyProcess.Dispose(); } } }
protected virtual void OnButtonOpenClicked(object sender, System.EventArgs e) { FileChooserDialog dlg = new FileChooserDialog( AddinCatalog.GetString("Open Script"), null, FileChooserAction.Open, "gtk-cancel", ResponseType.Cancel, "gtk-open", ResponseType.Accept ); dlg.SelectMultiple = false; dlg.LocalOnly = true; dlg.Modal = true; FileFilter filter = new FileFilter(); filter.AddPattern("*.sql"); filter.Name = AddinCatalog.GetString("SQL Scripts"); FileFilter filterAll = new FileFilter(); filterAll.AddPattern("*"); filterAll.Name = AddinCatalog.GetString("All files"); dlg.AddFilter(filter); dlg.AddFilter(filterAll); try { if (dlg.Run() == (int)ResponseType.Accept) { using (StreamReader reader = File.OpenText(dlg.Filename)) { sqlEditor.Text = reader.ReadToEnd(); reader.Close(); } } } finally { dlg.Destroy(); } }
protected void OnImportFromFile() { FileChooserDialog dlg = new FileChooserDialog( AddinCatalog.GetString("Import From File"), null, FileChooserAction.Open, "gtk-cancel", ResponseType.Cancel, "gtk-open", ResponseType.Accept ); dlg.SelectMultiple = false; dlg.LocalOnly = true; dlg.Modal = true; FileFilter filter = new FileFilter(); filter.AddPattern("*.[sS][qQ][lL]"); filter.Name = AddinCatalog.GetString("SQL files"); FileFilter filterAll = new FileFilter(); filterAll.AddPattern("*"); filterAll.Name = AddinCatalog.GetString("All files"); dlg.AddFilter(filter); dlg.AddFilter(filterAll); if (dlg.Run() == (int)ResponseType.Accept) { using (FileStream stream = File.Open(dlg.Filename, FileMode.Open)) { using (StreamReader reader = new StreamReader(stream)) { Text = reader.ReadToEnd(); } } } dlg.Destroy(); }
public IEnumerable <IViolation> Run(string inspectedFile, IEnumerable <CA.IRule> ruleSet) { if (!File.Exists(inspectedFile)) { throw new ArgumentException(AddinCatalog.GetString("File does not exist: '{0}'.", inspectedFile), "inspectedFile"); } // assemblies base.Assemblies.Clear(); AssemblyDefinition ad = AssemblyFactory.GetAssembly(inspectedFile); base.Assemblies.Add(ad); // rules base.Rules.Clear(); foreach (CA.IRule rule in ruleSet) { base.Rules.Add(((GendarmeRule)rule).InternalRule); } // defects base.Reset(); base.Initialize(); base.Run(); foreach (GF.Defect def in base.Defects) { yield return(new GendarmeViolation(def)); } }
public PrimaryKeyConstraintEditorWidget(ISchemaProvider schemaProvider, SchemaActions action) { if (schemaProvider == null) { throw new ArgumentNullException("schemaProvider"); } this.schemaProvider = schemaProvider; this.action = action; this.Build(); store = new ListStore(typeof(string), typeof(string), typeof(object)); listPK.Model = store; TreeViewColumn colName = new TreeViewColumn(); colName.Title = AddinCatalog.GetString("Name"); CellRendererText nameRenderer = new CellRendererText(); nameRenderer.Editable = true; nameRenderer.Edited += new EditedHandler(NameEdited); colName.PackStart(nameRenderer, true); colName.AddAttribute(nameRenderer, "text", colNameIndex); listPK.AppendColumn(colName); listPK.Selection.Changed += new EventHandler(SelectionChanged); columnSelecter.ColumnToggled += new EventHandler(ColumnToggled); ShowAll(); }
protected virtual void DatabaseChanged(object sender, EventArgs e) { if (isDatabaseListEmpty && comboDatabase.Entry.Text == AddinCatalog.GetString("No databases found!")) { comboDatabase.Entry.Text = String.Empty; } CheckSettings(true); }
/// <summary> /// Informs the GUI that analysis has finished. /// </summary> public static void AnalysisFinished() { DispatchService.GuiDispatch(delegate { IdeApp.Workbench.StatusBar.EndProgress(); IdeApp.Workbench.StatusBar.ShowMessage(AddinCatalog.GetString("Analysis has finished.")); ResetProgressBar(); }); }
/// <summary> /// Informs the GUI that analysis has started. /// </summary> public static void AnalysisStarted(string entryName) { DispatchService.GuiDispatch(delegate { ResetProgressBar(); IdeApp.Workbench.StatusBar.BeginProgress(AddinCatalog.GetString("Analyzing {0}...", entryName)); TaskService.Errors.Clear(); }); }
public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { nodeInfo.Label = AddinCatalog.GetString("Tables"); nodeInfo.Icon = Context.GetIcon("md-db-tables"); BaseNode node = (BaseNode)dataObject; node.RefreshEvent += RefreshHandler; }
private void OnEmptyTableCallback(IPooledDbConnection connection, int result, object state) { connection.Release(); DispatchService.GuiDispatch(delegate() { IdeApp.Workbench.StatusBar.ShowMessage(AddinCatalog.GetString("Table emptied")); }); }
public static CA.IRule GetProxy(GF.IRule rule) { if (!boundProxies.ContainsKey(rule)) { throw new ArgumentException(AddinCatalog.GetString("{0} rule has not been cached but it should.", rule), "rule"); } return(boundProxies [rule]); }
protected void OnInsertQueryOnClipboard() { TableNode node = CurrentNode.DataItem as TableNode; IEditSchemaProvider schemaProvider = (IEditSchemaProvider)node.ConnectionContext.SchemaProvider; Gtk.Clipboard clp = Clipboard.Get(Gdk.Selection.Clipboard); clp.Text = schemaProvider.GetInsertQuery(node.Table); MessageService.ShowMessage(AddinCatalog.GetString("INSERT INTO Statement has been copied to Clipboard.")); }
public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, ref string label, ref Gdk.Pixbuf icon, ref Gdk.Pixbuf closedIcon) { label = AddinCatalog.GetString("Procedures"); icon = Context.GetIcon("md-db-procedure"); BaseNode node = (BaseNode)dataObject; node.RefreshEvent += RefreshHandler; }
protected virtual void TestClicked(object sender, System.EventArgs e) { //TODO: use a Thread object, so the thread can be aborted when the entered values change DatabaseConnectionSettings settingsCopy = CreateDatabaseConnectionSettings(); labelTest.Text = AddinCatalog.GetString("Trying to connect to database ..."); buttonTest.Sensitive = false; ThreadPool.QueueUserWorkItem(new WaitCallback(TestClickedThreaded), settingsCopy); }
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.")); }
public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { nodeInfo.Label = AddinCatalog.GetString("Users"); nodeInfo.Icon = Context.GetIcon("md-db-users"); BaseNode node = (BaseNode)dataObject; RefreshHandler += new EventHandler(OnRefreshEvent); }
public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, ref string label, ref Gdk.Pixbuf icon, ref Gdk.Pixbuf closedIcon) { label = AddinCatalog.GetString("Users"); icon = Context.GetIcon("md-db-users"); BaseNode node = (BaseNode)dataObject; RefreshHandler += new EventHandler(OnRefreshEvent); }
protected void OnRemoveConnection() { DatabaseConnectionContext context = (DatabaseConnectionContext)CurrentNode.DataItem; if (MessageService.Confirm( AddinCatalog.GetString("Are you sure you want to remove connection '{0}'?", context.ConnectionSettings.Name), AlertButton.Remove)) { ConnectionContextService.RemoveDatabaseConnectionContext(context); } }
private void StopClicked(object sender, EventArgs e) { SetQueryState(false, AddinCatalog.GetString("Query execute cancelled")); //since we can't abort a threadpool task, each task is assigned a unique state //when stop is pressed, the state is added to the list of results that need //to be discarded when they get in if (!stoppedQueries.Contains(currentQueryState)) { stoppedQueries.Add(currentQueryState); } }