public Result OnStartup(UIControlledApplication application)
{
try
{
// Version
if (!application.ControlledApplication.VersionName.Contains("2014") && !application.ControlledApplication.VersionName.Contains("2015"))
{
using (TaskDialog td = new TaskDialog("Cannot Continue"))
{
td.TitleAutoPrefix = false;
td.MainInstruction = "Incompatible Revit Version";
td.MainContent = "This Add-In was built for Revit 2014 and 2015, please contact CASE for assistance.";
td.Show();
}
return Result.Cancelled;
}
// Master Tab
const string c_tabName = "CASE";
try
{
// Create the Tab
application.CreateRibbonTab(c_tabName);
}
catch { }
// Assembly Paths
string m_issuetracker = Path.Combine(ProgramFilesx86(), "CASE", "ARUP Issue Tracker", "ARUP.IssueTracker.dll");
// Check that File Exists
if (!File.Exists(m_issuetracker))
{
using (TaskDialog td = new TaskDialog("Cannot Continue"))
{
td.TitleAutoPrefix = false;
td.MainInstruction = "Required Issue Tracker Library Not Found";
td.MainContent = m_issuetracker;
td.Show();
}
return Result.Cancelled;
}
// Load Assemblies
Assembly.LoadFrom(m_issuetracker);
// Tab
RibbonPanel m_panel = application.CreateRibbonPanel(c_tabName, "Arup Issue Tracker");
// Button Data
PushButton m_pushButton = m_panel.AddItem(new PushButtonData("Issue Tracker",
"Issue Tracker",
Path.Combine(_path, "ARUP.IssueTracker.Revit.dll"),
"ARUP.IssueTracker.Revit.Entry.CmdMain")) as PushButton;
// Images and Tooltip
if (m_pushButton != null)
{
m_pushButton.Image = LoadPngImgSource("ARUP.IssueTracker.Assets.ARUPIssueTrackerIcon16x16.png", m_issuetracker);
m_pushButton.LargeImage = LoadPngImgSource("ARUP.IssueTracker.Assets.ARUPIssueTrackerIcon32x32.png", m_issuetracker);
m_pushButton.ToolTip = "Arup Issue Manager";
}
}
catch (Exception ex1)
{
MessageBox.Show("exception: " + ex1);
return Result.Failed;
}
return Result.Succeeded;
}