Inheritance: System.EventArgs
        void HandleCloseTab(object sender, TdiTabCloseEventArgs e)
        {
            if (CheckClosingSlaveTabs ((ITdiTab)sender))
                return;

            if (!e.AskSave || SaveIfNeed ((ITdiTab)sender))
                CloseTab ((ITdiTab)sender);
        }
 protected void OnJournalClose(object sender, TdiTabCloseEventArgs arg)
 {
     if (CloseTab != null)
         CloseTab (this, arg);
 }
 void TdiTab_CloseTab(object sender, TdiTabCloseEventArgs e)
 {
     Respond (ResponseType.Close);
 }
        protected void OnDialogClose(object sender, TdiTabCloseEventArgs arg)
        {
            if (TabParent.CheckClosingSlaveTabs (this as ITdiTab))
                return;

            ITdiDialog dlg = sender as ITdiDialog;
            if (arg.AskSave && dlg.HasChanges) {
                string Message = "Объект изменён. Сохранить изменения перед закрытием?";
                MessageDialog md = new MessageDialog ((Window)this.Toplevel, DialogFlags.Modal,
                                       MessageType.Question,
                                       ButtonsType.YesNo,
                                       Message);
                md.AddButton ("Отмена", ResponseType.Cancel);
                int result = md.Run ();
                md.Destroy ();
                if (result == (int)ResponseType.Cancel)
                    return;
                if (result == (int)ResponseType.Yes) {
                    if (!dlg.Save ()) {
                        logger.Warn ("Объект не сохранён. Отмена закрытия...");
                        return;
                    }
                }
            }
            ActiveDialog = null;
            (dlg as Widget).Destroy ();
            OnSladerTabChanged ();
        }