void OnSelectionChanged(object ob, EventArgs a)
{
if (frontend != null)
{
bool canCut, canCopy, canPaste, canDelete;
ObjectWrapper obj = ObjectWrapper.Lookup(widget.Selection);
Stetic.Wrapper.Widget wrapper = obj as Stetic.Wrapper.Widget;
IEditableObject editable = widget.Selection as IEditableObject;
if (editable == null)
{
editable = obj as IEditableObject;
}
if (editable != null)
{
canCut = editable.CanCut;
canCopy = editable.CanCopy;
canPaste = editable.CanPaste;
canDelete = editable.CanDelete;
}
else
{
canCut = canCopy = canPaste = canDelete = false;
}
frontend.NotifySelectionChanged(Component.GetSafeReference(obj), canCut, canCopy, canPaste, canDelete);
if (SelectionChanged != null)
{
SelectionChanged(this, new Stetic.Wrapper.WidgetEventArgs(wrapper));
}
}
}