protected static bool TryWrapToolbarManager()
{
if (ToolbarManager == null)
{
Tools.PostDebugMessage(string.Format(
"{0}: Loading ToolbarManager.",
"ToolbarButtonWrapper"
));
ToolbarManager = AssemblyLoader.loadedAssemblies
.Select(a => a.assembly.GetExportedTypes())
.SelectMany(t => t)
.FirstOrDefault(t => t.FullName == "Toolbar.ToolbarManager");
Tools.PostDebugMessage(string.Format(
"{0}: Loaded ToolbarManager. Getting Instance.",
"ToolbarButtonWrapper"
));
if (ToolbarManager == null)
{
return false;
}
TBManagerInstance = ToolbarManager.GetProperty(
"Instance",
System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static
)
.GetValue(null, null);
Tools.PostDebugMessage(string.Format(
"{0}: Got ToolbarManager Instance '{1}'. Getting 'add' method.",
"ToolbarButtonWrapper",
TBManagerInstance
));
TBManagerAdd = ToolbarManager.GetMethod("add");
Tools.PostDebugMessage(string.Format(
"{0}: Got ToolbarManager Instance 'add' method. Loading IButton.",
"ToolbarButtonWrapper"
));
}
return true;
}