using System;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Internal.Reactors;
[assembly: ExtensionApplication(typeof(CuiEvents.MyPlugin))]
namespace CuiEvents
{
public class MyPlugin : IExtensionApplication
{
void IExtensionApplication.Initialize()
{
try
{
CuiEventManager cuiMng = CuiEventManager.Instance();
cuiMng.LoadRibbon += cuiMng_LoadRibbon;
cuiMng.WorkspaceRibbonSave += cuiMng_WorkspaceRibbonSave;
cuiMng.WorkspaceRestore += cuiMng_WorkspaceRestore;
}
catch { }
}
//////////////////////////////////////////////////////////////////////////
// Во всех следующих событиях можно себе отметить, что следует пересоздать
// свою Ленту, созданную динамически. Само пересоздание можно выполнить
// в любом другом событии. Например, Application.Idle или
// Editor.EnteringQuiescentState
//////////////////////////////////////////////////////////////////////////
void cuiMng_WorkspaceRestore(object sender, WorkspaceEventArgs e)
{
Application.ShowAlertDialog("Восстанавливается рабочее пространство <"
+ e.Name + "> Id=" + e.Id);
}
void cuiMng_WorkspaceRibbonSave(object sender, WorkspaceEventArgs e)
{
Application.ShowAlertDialog("Сохраняется рабочее пространство <"
+ e.Name + "> Id=" + e.Id);
}
void cuiMng_LoadRibbon(object sender, CuiLoadEventArgs e)
{
Application.ShowAlertDialog("Загружается Лента в рабочее пространство: <"
+ e.CurrentWorkspaceName + ">"
+ e.CurrentWorkspaceId);
}
void IExtensionApplication.Terminate()
{
}
}
}