In a SystemWeaver extension, you can listen for events.


Below is a small example in an extension.


With the line shown below, a listener is added for the Item_AddPart event: 


_eventManager.Item_AddPart += AddPartEvent;


 It will listen for AddPart events for items the client has in its cache.


Example

In the below example, a message is shown if a part is added:

    [Plugin, VisualPlugin, NeedsManagedWrapper(typeof(WPFPluginContentWrapper))]
    public partial class ItemViewWithEventsContent : RemObjects.Hydra.WPF.VisualPlugin, IswItemViewContent
    {
        private IswItemViewHost _host;
        private SWEventManager _eventManager;
        private IswDialogs _dialogs;
        private IswItem _currentItem;

        public ItemViewWithEventsContent()
        {
            InitializeComponent();
            _eventManager = new SWEventManager();
        }

        public void SetHost(IswItemViewHost host)
        {
            _host = host;
            _host.SetEvent(_eventManager);
            _dialogs = _host.GetDialogs();
            _eventManager.Item_AddPart += AddPartEvent;
        }

        private void AddPartEvent(IswPart arg1, IswNodes arg2)
        {
            MessageBox.Show($"Part {arg1.Name} was added!");
        }

        public void SetCurrentItem(IswItem AItem)
        {
            _currentItem = AItem;
        }
    }