本文整理汇总了C#中GitUIEventHandler类的典型用法代码示例。如果您正苦于以下问题:C# GitUIEventHandler类的具体用法?C# GitUIEventHandler怎么用?C# GitUIEventHandler使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
GitUIEventHandler类属于命名空间,在下文中一共展示了GitUIEventHandler类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: InvokeEventOnClose
public void InvokeEventOnClose(Form form, GitUIEventHandler ev)
{
form.FormClosed += (object o, FormClosedEventArgs ea) =>
{
InvokeEvent(form == null ? null : form.Owner, ev);
};
}
示例2: ShowModelessForm
public void ShowModelessForm(IWin32Window owner, bool requiresValidWorkingDir,
GitUIEventHandler preEvent, GitUIPostActionEventHandler postEvent, Func<Form> provideForm)
{
if (requiresValidWorkingDir && !RequiresValidWorkingDir(owner))
return;
if (!InvokeEvent(owner, preEvent))
return;
Form form = provideForm();
FormClosedEventHandler formClosed = null;
formClosed = (sender, e) =>
{
form.FormClosed -= formClosed;
InvokePostEvent(owner, true, postEvent);
};
form.FormClosed += formClosed;
form.ShowInTaskbar = true;
if (Application.OpenForms.Count > 0)
form.Show();
else
form.ShowDialog();
}
示例3: InvokeEvent
private bool InvokeEvent(IWin32Window ownerForm, GitUIEventHandler gitUIEventHandler)
{
return InvokeEvent(this, ownerForm, gitUIEventHandler);
}
示例4: DoActionOnRepo
/// <summary>
///
/// </summary>
/// <param name="requiresValidWorkingDir">If action requires valid working directory</param>
/// <param name="owner">Owner window</param>
/// <param name="changesRepo">if successfuly done action changes repo state</param>
/// <param name="preEvent">Event invoked before performing action</param>
/// <param name="postEvent">Event invoked after performing action</param>
/// <param name="action">Action to do. Return true to indicate that the action was successfully done.</param>
/// <returns>true if action was sccessfully done, false otherwise</returns>
public bool DoActionOnRepo(IWin32Window owner, bool requiresValidWorkingDir, bool changesRepo,
GitUIEventHandler preEvent, GitUIPostActionEventHandler postEvent, Func<bool> action)
{
bool actionDone = false;
RepoChangedNotifier.Lock();
try
{
if (requiresValidWorkingDir && !RequiresValidWorkingDir(owner))
return false;
if (!InvokeEvent(owner, preEvent))
return false;
try
{
actionDone = action();
}
finally
{
InvokePostEvent(owner, actionDone, postEvent);
}
}
finally
{
RepoChangedNotifier.UnLock(changesRepo && actionDone);
}
return actionDone;
}
示例5: DoAction
/// <summary>
///
/// </summary>
/// <param name="requiresValidWorkingDir">If action requires valid working directory</param>
/// <param name="owner">Owner window</param>
/// <param name="preEvent">Event invoked before performing action</param>
/// <param name="postEvent">Event invoked after performing action</param>
/// <param name="action">Action to do</param>
/// <returns>true if action was done, false otherwise</returns>
public bool DoAction(IWin32Window owner, bool requiresValidWorkingDir, GitUIEventHandler preEvent, GitUIPostActionEventHandler postEvent, Func<bool> action)
{
if (requiresValidWorkingDir && !RequiresValidWorkingDir(owner))
return false;
if (!InvokeEvent(owner, preEvent))
return false;
bool actionDone = action();
InvokePostEvent(owner, actionDone, postEvent);
return actionDone;
}
示例6: InvokeEvent
private bool InvokeEvent(GitUIEventHandler gitUIEventHandler)
{
return InvokeEvent(this, gitUIEventHandler);
}
示例7: InvokeEvent
internal static bool InvokeEvent(GitUIEventHandler gitUIEventHandler)
{
try
{
GitUIEventArgs e = new GitUIEventArgs(GitUICommands.Instance);
if (gitUIEventHandler != null)
gitUIEventHandler.Invoke(e);
return !e.Cancel;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Exception");
}
return true;
}