本文整理汇总了C#中TextViewContext类的典型用法代码示例。如果您正苦于以下问题:C# TextViewContext类的具体用法?C# TextViewContext怎么用?C# TextViewContext使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
TextViewContext类属于命名空间,在下文中一共展示了TextViewContext类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IsVisible
public bool IsVisible(TextViewContext context)
{
return context.SelectedTreeNodes != null &&
context.SelectedTreeNodes.Length == 1 &&
context.SelectedTreeNodes[0] is AssemblyTreeNode &&
!string.IsNullOrWhiteSpace(((AssemblyTreeNode)context.SelectedTreeNodes[0]).LoadedAssembly.FileName);
}
示例2: Execute
public void Execute(TextViewContext context)
{
if (TreeView_IsVisible(context))
MainWindow.Instance.JumpToReference(ILSpyTreeNode.GetModule(context.SelectedTreeNodes).GlobalType.FindStaticConstructor());
else if (TextEditor_IsVisible(context))
MainWindow.Instance.JumpToReference(GoToEntryPointCommand.GetModule().GlobalType.FindStaticConstructor());
}
示例3: TextEditor_IsVisible
static bool TextEditor_IsVisible(TextViewContext context)
{
ModuleDef module;
return context.TextView != null &&
(module = GetModule()) != null &&
module.EntryPoint is MethodDef;
}
示例4: TreeView_IsVisible
static bool TreeView_IsVisible(TextViewContext context)
{
ModuleDef module;
return context.TreeView == MainWindow.Instance.treeView &&
((module = ILSpyTreeNode.GetModule(context.SelectedTreeNodes)) != null) &&
module.EntryPoint is MethodDef;
}
示例5: IsEnabled
public bool IsEnabled(TextViewContext context)
{
if (context.SelectedTreeNodes == null)
return false;
foreach (var node in context.SelectedTreeNodes)
{
var typeNode = node as TypeTreeNode;
if (typeNode != null && !typeNode.IsPublicAPI)
return false;
var eventNode = node as EventTreeNode;
if (eventNode != null && (!eventNode.IsPublicAPI || !eventNode.EventDefinition.DeclaringType.IsPublic))
return false;
var fieldNode = node as FieldTreeNode;
if (fieldNode != null && (!fieldNode.IsPublicAPI || !fieldNode.FieldDefinition.DeclaringType.IsPublic))
return false;
var propertyNode = node as PropertyTreeNode;
if (propertyNode != null && (!propertyNode.IsPublicAPI || !propertyNode.PropertyDefinition.DeclaringType.IsPublic))
return false;
var methodNode = node as MethodTreeNode;
if (methodNode != null && (!methodNode.IsPublicAPI || !methodNode.MethodDefinition.DeclaringType.IsPublic))
return false;
var namespaceNode = node as NamespaceTreeNode;
if (namespaceNode != null && string.IsNullOrEmpty(namespaceNode.Name))
return false;
}
return true;
}
示例6: Execute
public void Execute(TextViewContext context)
{
if (context.SelectedTreeNodes != null) {
foreach (var node in context.SelectedTreeNodes) {
node.Parent.Children.Remove(node);
}
}
}
示例7: IsVisible
public bool IsVisible(TextViewContext context)
{
if (context.TreeView is AnalyzerTreeView && context.SelectedTreeNodes != null && context.SelectedTreeNodes.All(n => n.Parent.IsRoot))
return false;
if (context.SelectedTreeNodes == null)
return context.Reference != null && context.Reference.Reference is MemberReference;
return context.SelectedTreeNodes.All(n => n is IMemberTreeNode);
}
示例8: Execute
public void Execute(TextViewContext context)
{
if (context.SelectedTreeNodes != null) {
foreach (ILSpyTreeNode node in context.SelectedTreeNodes) {
SearchMsdn(node);
}
}
}
示例9: IsVisible
public bool IsVisible(TextViewContext context)
{
var list = GetMappings(context);
return list != null &&
list.Count != 0 &&
list[0].MemberMapping.MethodDefinition != null &&
list[0].MemberMapping.MethodDefinition.Body != null &&
list[0].MemberMapping.MethodDefinition.Body.Instructions.Count > 0;
}
示例10: Execute
public void Execute(TextViewContext context)
{
if (context.SelectedTreeNodes != null) {
foreach (IMemberTreeNode node in context.SelectedTreeNodes) {
Analyze(node.Member);
}
} else if (context.Reference != null && context.Reference.Reference is IMemberRef) {
if (context.Reference.Reference is IMemberRef)
Analyze((IMemberRef)context.Reference.Reference);
}
}
示例11: Execute
public override void Execute(TextViewContext context)
{
var obj = GetReference(context);
if (obj != null) {
var member = MainWindow.ResolveReference(obj);
if (member == null)
MainWindow.Instance.ShowMessageBox("Could not resolve member definition");
else
Execute(member);
}
}
示例12: Execute
public void Execute(TextViewContext context)
{
if (context.SelectedTreeNodes != null) {
foreach (IMemberTreeNode node in context.SelectedTreeNodes) {
Analyze(node.Member);
}
} else if (context.Reference != null && context.Reference.Reference is MemberReference) {
if (context.Reference.Reference is MemberReference)
Analyze((MemberReference)context.Reference.Reference);
// TODO: implement support for other references: ParameterReference, etc.
}
}
示例13: IsEnabled
public bool IsEnabled(TextViewContext context)
{
if (context.TreeView is AnalyzerTreeView && context.SelectedTreeNodes != null && context.SelectedTreeNodes.Length > 0 && context.SelectedTreeNodes.All(n => n.Parent.IsRoot))
return false;
if (context.SelectedTreeNodes == null)
return context.Reference != null && MainWindow.ResolveReference(context.Reference.Reference) != null;
foreach (IMemberTreeNode node in context.SelectedTreeNodes) {
if (CanAnalyze(node.Member))
return true;
}
return false;
}
示例14: Execute
public void Execute(TextViewContext context)
{
if (context.SelectedTreeNodes != null) {
foreach (var node in context.SelectedTreeNodes) {
var mr = node as IMemberTreeNode;
if (mr != null)
Analyze(mr.Member);
}
} else if (context.Reference != null && context.Reference.Reference is IMemberRef) {
if (context.Reference.Reference is IMemberRef)
Analyze((IMemberRef)context.Reference.Reference);
}
}
示例15: IsVisible
public bool IsVisible(TextViewContext context)
{
if (context.SelectedTreeNodes == null)
return false;
return context.SelectedTreeNodes.All(
n => n is NamespaceTreeNode
|| n is TypeTreeNode
|| n is EventTreeNode
|| n is FieldTreeNode
|| n is PropertyTreeNode
|| n is MethodTreeNode);
}