Skip to content

Commit 13f5d1b

Browse files
committed
update: add Nice3Point packages
1 parent d1a8970 commit 13f5d1b

14 files changed

+33
-1396
lines changed

source/RevitDevTool/Application.cs

Lines changed: 11 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,30 @@
1-
using System.IO;
2-
using System.Reflection;
3-
using Autodesk.Revit.UI;
4-
using Autodesk.Revit.UI.Events;
1+
using Autodesk.Revit.UI;
2+
using Nice3point.Revit.Toolkit.External;
53
using RevitDevTool.Commands;
6-
using RevitDevTool.Extensions;
7-
using RevitDevTool.Handlers;
84

95
namespace RevitDevTool;
106

11-
[PublicAPI]
12-
public class Application : IExternalApplication
7+
[UsedImplicitly]
8+
public class Application : ExternalApplication
139
{
14-
public static UIControlledApplication RevitUiControlledApplication { get; private set; } = null!;
15-
public static UIApplication RevitUiApplication => new RibbonItemEventArgs().Application;
16-
public static Autodesk.Revit.ApplicationServices.Application RevitApplication => RevitUiApplication.Application;
17-
public static UIDocument? RevitActiveUiDocument => RevitUiApplication.ActiveUIDocument;
18-
public static Document? RevitActiveDocument => RevitActiveUiDocument?.Document;
19-
public static bool IsInRevitApiMode => RevitUiApplication.ActiveAddInId is not null;
20-
21-
public Result OnStartup(UIControlledApplication application)
10+
public override void OnStartup()
2211
{
23-
ResolveAssemblies();
24-
RevitUiControlledApplication = application;
2512
ExternalEventController.Register();
26-
AddButton(application);
27-
AddDockable(application);
28-
return Result.Succeeded;
13+
AddButton(Application);
14+
AddDockable(Application);
2915
}
3016

31-
public Result OnShutdown(UIControlledApplication application)
32-
{
33-
return Result.Succeeded;
34-
}
35-
3617
private static void AddDockable(UIControlledApplication application)
3718
{
3819
TraceCommand.RegisterDockablePane(application);
3920
}
4021

4122
private static void AddButton(UIControlledApplication application)
4223
{
43-
var panel = application.CreateRibbonPanel("DevTool");
24+
var panel = application.CreatePanel("External Tools");
4425

45-
panel.AddPushButton<TraceCommand>("Trace\nPanel")
46-
.SetLargeImage("/RevitDevTool;component/Images/log.png")
47-
.SetLongDescription("Display trace data");
48-
}
49-
50-
private static void ResolveAssemblies()
51-
{
52-
var currentAssemblyPath = Assembly.GetExecutingAssembly().Location;
53-
var currentAssemblyDirectory = Path.GetDirectoryName(currentAssemblyPath);
54-
if (currentAssemblyDirectory is null) return;
55-
var assemblyFiles = Directory.GetFiles(currentAssemblyDirectory, "*.dll");
56-
foreach (var assemblyFile in assemblyFiles)
57-
{
58-
Assembly.LoadFrom(assemblyFile);
59-
}
26+
panel.AddPushButton<TraceCommand>("Trace Panel")
27+
.SetLargeImage("/RevitDevTool;component/Resources/Icons/TraceCommand32_light.tiff")
28+
.SetLongDescription("Show/Hide Trace Panel");
6029
}
6130
}
Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,35 @@
11
using Autodesk.Revit.Attributes;
22
using Autodesk.Revit.UI;
3+
using Nice3point.Revit.Toolkit.Decorators;
4+
using Nice3point.Revit.Toolkit.External;
35
using RevitDevTool.View;
4-
using DockablePaneProvider = RevitDevTool.Utils.DockablePaneProvider;
56

67
namespace RevitDevTool.Commands;
78

89
[UsedImplicitly]
910
[Transaction(TransactionMode.Manual)]
10-
public class TraceCommand : IExternalCommand
11+
public class TraceCommand : ExternalCommand
1112
{
1213
private const string CommandName = "TraceLog";
1314
private const string Guid = "43AE2B41-0BE6-425A-B27A-724B2CE17351";
1415

16+
public override void Execute()
17+
{
18+
try
19+
{
20+
var id = new DockablePaneId(new Guid(Guid));
21+
var dockableWindow = UiApplication.GetDockablePane(id);
22+
if(!dockableWindow.IsShown())
23+
dockableWindow.Show();
24+
else
25+
dockableWindow.Hide();
26+
}
27+
catch (Exception e)
28+
{
29+
TaskDialog.Show("Error", e.ToString());
30+
}
31+
}
32+
1533
public static void RegisterDockablePane(UIControlledApplication application)
1634
{
1735
DockablePaneProvider
@@ -28,23 +46,4 @@ public static void RegisterDockablePane(UIControlledApplication application)
2846
};
2947
});
3048
}
31-
32-
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
33-
{
34-
try
35-
{
36-
var id = new DockablePaneId(new Guid(Guid));
37-
var dockableWindow = commandData.Application.GetDockablePane(id);
38-
if(!dockableWindow.IsShown())
39-
dockableWindow.Show();
40-
else
41-
dockableWindow.Hide();
42-
return Result.Succeeded;
43-
}
44-
catch (Exception e)
45-
{
46-
TaskDialog.Show("Error", e.ToString());
47-
return Result.Failed;
48-
}
49-
}
5049
}

source/RevitDevTool/Extensions/RibbonExtensions.Helpers.cs

Lines changed: 0 additions & 192 deletions
This file was deleted.

0 commit comments

Comments
 (0)