本文整理汇总了C#中MonoDevelop.Ide.ProgressMonitoring.MessageDialogProgressMonitor.Dispose方法的典型用法代码示例。如果您正苦于以下问题:C# MessageDialogProgressMonitor.Dispose方法的具体用法?C# MessageDialogProgressMonitor.Dispose怎么用?C# MessageDialogProgressMonitor.Dispose使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MonoDevelop.Ide.ProgressMonitoring.MessageDialogProgressMonitor
的用法示例。
在下文中一共展示了MessageDialogProgressMonitor.Dispose方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SwitchToBranch
public static void SwitchToBranch (GitRepository repo, string branch)
{
MessageDialogProgressMonitor monitor = new MessageDialogProgressMonitor (true, false, false, true);
try {
IdeApp.Workbench.AutoReloadDocuments = true;
IdeApp.Workbench.LockGui ();
System.Threading.ThreadPool.QueueUserWorkItem (delegate {
try {
repo.SwitchToBranch (monitor, branch);
} catch (Exception ex) {
monitor.ReportError ("Branch switch failed", ex);
} finally {
monitor.Dispose ();
}
});
monitor.AsyncOperation.WaitForCompleted ();
} finally {
IdeApp.Workbench.AutoReloadDocuments = false;
IdeApp.Workbench.UnlockGui ();
}
}
示例2: Run
protected override void Run ()
{
var dlg = new NewStashDialog ();
try {
if (MessageService.RunCustomDialog (dlg) == (int) Gtk.ResponseType.Ok) {
string comment = dlg.Comment;
var monitor = new MessageDialogProgressMonitor (true, false, false, true);
var statusTracker = IdeApp.Workspace.GetFileStatusTracker ();
ThreadPool.QueueUserWorkItem (delegate {
try {
Stash stash;
if (Repository.TryCreateStash (monitor, comment, out stash)) {
string msg;
if (stash != null) {
msg = GettextCatalog.GetString ("Changes successfully stashed");
} else {
msg = GettextCatalog.GetString ("No changes were available to stash");
}
DispatchService.GuiDispatch (delegate {
IdeApp.Workbench.StatusBar.ShowMessage (msg);
});
}
} catch (Exception ex) {
MessageService.ShowError (GettextCatalog.GetString ("Stash operation failed"), ex);
}
finally {
monitor.Dispose ();
statusTracker.Dispose ();
}
});
}
} finally {
dlg.Destroy ();
dlg.Dispose ();
}
}
示例3: Run
protected override void Run ()
{
var stashes = Repository.GetStashes ();
NewStashDialog dlg = new NewStashDialog ();
if (MessageService.RunCustomDialog (dlg) == (int) Gtk.ResponseType.Ok) {
string comment = dlg.Comment;
MessageDialogProgressMonitor monitor = new MessageDialogProgressMonitor (true, false, false, true);
var statusTracker = IdeApp.Workspace.GetFileStatusTracker ();
ThreadPool.QueueUserWorkItem (delegate {
try {
using (var gm = new GitMonitor (monitor))
stashes.Create (gm, comment);
} catch (Exception ex) {
MessageService.ShowException (ex);
}
finally {
monitor.Dispose ();
statusTracker.NotifyChanges ();
}
});
}
dlg.Destroy ();
}
示例4: ApplyStash
public static Task<bool> ApplyStash (GitRepository repo, int s)
{
var monitor = new MessageDialogProgressMonitor (true, false, false, true);
var statusTracker = IdeApp.Workspace.GetFileStatusTracker ();
var t = Task.Run (delegate {
try {
var res = repo.ApplyStash (monitor, s);
ReportStashResult (res);
return true;
} catch (Exception ex) {
string msg = GettextCatalog.GetString ("Stash operation failed.");
monitor.ReportError (msg, ex);
return false;
}
finally {
monitor.Dispose ();
statusTracker.Dispose ();
}
});
return t;
}
示例5: SwitchToBranch
public async static Task<bool> SwitchToBranch (GitRepository repo, string branch)
{
var monitor = new MessageDialogProgressMonitor (true, false, false, true);
try {
IdeApp.Workbench.AutoReloadDocuments = true;
IdeApp.Workbench.LockGui ();
var t = await Task.Run (delegate {
try {
return repo.SwitchToBranch (monitor, branch);
} catch (Exception ex) {
monitor.ReportError (GettextCatalog.GetString ("Branch switch failed"), ex);
return false;
} finally {
monitor.Dispose ();
}
});
return t;
} finally {
IdeApp.Workbench.AutoReloadDocuments = false;
IdeApp.Workbench.UnlockGui ();
}
}
示例6: ApplyStash
public static IAsyncOperation ApplyStash (Stash s)
{
MessageDialogProgressMonitor monitor = new MessageDialogProgressMonitor (true, false, false, true);
var statusTracker = IdeApp.Workspace.GetFileStatusTracker ();
ThreadPool.QueueUserWorkItem (delegate {
try {
NGit.Api.MergeCommandResult result;
using (var gm = new GitMonitor (monitor))
result = s.Apply (gm);
ReportStashResult (monitor, result);
} catch (Exception ex) {
string msg = GettextCatalog.GetString ("Stash operation failed.");
monitor.ReportError (msg, ex);
}
finally {
monitor.Dispose ();
statusTracker.NotifyChanges ();
}
});
return monitor.AsyncOperation;
}
示例7: SwitchToBranch
public static void SwitchToBranch (GitRepository repo, string branch)
{
var monitor = new MessageDialogProgressMonitor (true, false, false, true);
try {
IdeApp.Workbench.AutoReloadDocuments = true;
IdeApp.Workbench.LockGui ();
Task.Run (delegate {
try {
repo.SwitchToBranch (monitor, branch);
} catch (Exception ex) {
monitor.ReportError ("Branch switch failed", ex);
} finally {
monitor.Dispose ();
}
}).Wait ();
} finally {
IdeApp.Workbench.AutoReloadDocuments = false;
IdeApp.Workbench.UnlockGui ();
}
}
示例8: ApplyStash
public static IAsyncOperation ApplyStash (GitRepository repo, int s)
{
var monitor = new MessageDialogProgressMonitor (true, false, false, true);
var statusTracker = IdeApp.Workspace.GetFileStatusTracker ();
ThreadPool.QueueUserWorkItem (delegate {
try {
ReportStashResult (repo.ApplyStash (monitor, s));
} catch (Exception ex) {
string msg = GettextCatalog.GetString ("Stash operation failed.");
monitor.ReportError (msg, ex);
}
finally {
monitor.Dispose ();
statusTracker.Dispose ();
}
});
return monitor.AsyncOperation;
}