1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
using System;
using System.IO;
using Mono.Addins;
namespace TextEditor
{
public class OpenFileCondition: ConditionType
{
public OpenFileCondition ()
{
// It's important to notify changes in the status of a condition,
// to make sure the extension points are properly updated.
TextEditorApp.OpenFileChanged += delegate {
NotifyChanged ();
};
}
public override bool Evaluate (NodeElement conditionNode)
{
// Get the required extension value from an attribute,
// and check againts the extension of the currently open document
string val = conditionNode.GetAttribute ("extension");
if (val.Length > 0) {
string ext = Path.GetExtension (TextEditorApp.OpenFileName);
foreach (string requiredExtension in val.Split (','))
if (ext == "." + requiredExtension)
return true;
}
return false;
}
}
}
|