/// <summary>
 /// Constructor for root event
 /// </summary>
 /// <param name="engineViewmodel"></param>
 public EventPanelViewmodelBase(EngineViewmodel engineViewmodel) : base()
 {
     _engineViewmodel = engineViewmodel;
     _engine          = engineViewmodel.Engine;
     _level           = 0;
     _isExpanded      = true;
     _videoFormat     = engineViewmodel.VideoFormat;
     _root            = (EventPanelRootViewmodel)this;
 }
 /// <summary>
 /// Constructor for child events
 /// </summary>
 /// <param name="aEvent"></param>
 /// <param name="parent"></param>
 protected EventPanelViewmodelBase(IEvent aEvent, EventPanelViewmodelBase parent) : base()
 {
     if (aEvent == null) // dummy child
     {
         return;
     }
     _engine      = aEvent.Engine;
     _videoFormat = _engine.VideoFormat;
     _event       = aEvent;
     if (parent != null)
     {
         _parent          = parent;
         _root            = parent._root;
         _engineViewmodel = parent._engineViewmodel;
         _level           = (_parent == null) ? 0 : _parent._level + 1;
         if (aEvent.SubEventsCount > 0)
         {
             _childrens.Add(DummyChild);
         }
     }
     _event.PropertyChanged += OnEventPropertyChanged;
     _event.SubEventChanged += OnSubeventChanged;
     _event.Relocated       += OnRelocated;
 }