本文整理汇总了C#中Boss.Has方法的典型用法代码示例。如果您正苦于以下问题:C# Boss.Has方法的具体用法?C# Boss.Has怎么用?C# Boss.Has使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Boss
的用法示例。
在下文中一共展示了Boss.Has方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetDirectoryEditor
public Boss GetDirectoryEditor(Boss window)
{
Boss result = null;
if (window != null)
{
if (window.Has<IDirectoryEditor>())
{
result = window;
}
else if (window.Has<ITextEditor>())
{
result = DoFindAssociatedBoss(window.Get<ITextEditor>());
}
}
if (result == null)
{
result = DoFindDefaultBoss();
}
return result;
}
示例2: DoAddTitle
private void DoAddTitle(Boss boss)
{
if (boss.Has<ITextEditor>() && !boss.Has<IDocumentWindowTitle>())
{
var editor = boss.Get<ITextEditor>();
if (editor.Path != null && editor.Path.StartsWith(m_timeMachineDir))
{
boss.ExtendWithInterface(typeof(TimeMachineWindowTitle), typeof(IDocumentWindowTitle));
}
}
}
示例3: DoGetFile
private string DoGetFile(Boss boss)
{
var editor = boss.Get<ITextEditor>();
string file = null;
if (boss.Has<ICodeViewer>())
{
var viewer = boss.Get<ICodeViewer>();
file = viewer.Path;
}
else
{
file = editor.Path;
}
return file;
}
示例4: Populate
public void Populate(NSMenu menu, NSTextView view, Boss window)
{
// ITextContextCommands expect that the main window is the one the user
// is working with.
view.window().makeKeyAndOrderFront(view);
// We don't extend the default menu because it has tons of stuff that we
// don't really want. But we should add the services...
// NSMenu menu = SuperCall("menuForEvent:", evt).To<NSMenu>();
// menu.addItem(NSMenuItem.separatorItem());
try
{
// Get the selection.
m_view = view;
m_range = view.selectedRange();
m_selection = null;
if (m_range.length > 0)
view.string_().getCharacters_range(m_range, out m_selection);
// Get the language.
string language = null;
if (window.Has<ITextEditor>())
{
var editor = window.Get<ITextEditor>();
language = editor.Language;
}
// Get the commands.
var watch = new Stopwatch();
watch.Start();
m_entries.Clear();
if (window != null)
DoGetEntries(view, m_selection, language, window);
DoGetEntries(view, m_selection, language, m_boss);
if (m_entries.Count == 0)
{
if (window != null)
DoGetEntries(view, null, language, window);
DoGetEntries(view, null, language, m_boss);
}
Log.WriteLine("ContextMenu", "took {0:0.000} secs to open the menu", watch.ElapsedMilliseconds/1000.0);
m_entries.Sort(this.DoCompareEntry);
// Remove duplicate separators and any at the start or end.
for (int i = m_entries.Count - 1; i > 0; --i)
{
if (m_entries[i].Command.Name == null && m_entries[i - 1].Command.Name == null)
m_entries.RemoveAt(i);
}
while (m_entries.Count > 0 && m_entries[0].Command.Name == null)
m_entries.RemoveAt(0);
while (m_entries.Count > 0 && m_entries[m_entries.Count - 1].Command.Name == null)
m_entries.RemoveAt(m_entries.Count - 1);
// Build the menu.
menu.removeAllItems();
for (int i = 0; i < m_entries.Count; ++i)
{
NSMenuItem item = null;
if (m_entries[i].Command.Name != null)
{
if (m_entries[i].Command.Name != Constants.Ellipsis)
{
item = NSMenuItem.Create(m_entries[i].Command.Name, "dispatchTextContextMenu:");
if (m_entries[i].Command.Title != null)
item.setAttributedTitle(m_entries[i].Command.Title);
}
else
item = NSMenuItem.Create(Constants.Ellipsis);
item.setTag(i);
}
else
{
Contract.Assert(m_entries[i].Command.Handler == null, "names is null, but handlers is not");
item = NSMenuItem.separatorItem();
}
if (item != null)
menu.addItem(item);
}
}
catch (DatabaseLockedException)
{
NSString title = NSString.Create("Database was locked.");
NSString message = NSString.Create("Try again.");
Unused.Value = Functions.NSRunAlertPanel(title, message);
}
catch (Exception e)
{
Log.WriteLine(TraceLevel.Error, "App", "Error building context menu:");
Log.WriteLine(TraceLevel.Error, "App", "{0}", e);
NSString title = NSString.Create("Error building the menu.");
NSString message = NSString.Create(e.Message);
Unused.Value = Functions.NSRunAlertPanel(title, message);
//.........这里部分代码省略.........
示例5: onOpened
public void onOpened(TextController controller)
{
m_boss = controller.Boss;
m_autoComplete = m_boss.Get<IAutoComplete>();
setTypingAttributes(CurrentStyles.DefaultAttributes);
setAutomaticTextReplacementEnabled(false);
if (m_boss.Has<ITooltip>())
{
m_tooltip = m_boss.Get<ITooltip>();
m_timer = new System.Threading.Timer((object state) =>
{
NSApplication.sharedApplication().BeginInvoke(this.DoShowTooltip);
});
}
}