private void Tree_CellToolTipShowing(object sender, ToolTipShowingEventArgs e)
        {
            var model = e.Model;

            if (model is IMasqueradeAs m)
            {
                model = m.MasqueradingAs();
            }

            e.AutoPopDelay = 32767;



            string problem = _activator.DescribeProblemIfAny(model);

            if (!string.IsNullOrWhiteSpace(problem))
            {
                e.StandardIcon = ToolTipControl.StandardIcons.Error;
                e.Title        = model.ToString();

                e.Text      = problem;
                e.IsBalloon = true;
            }
            else
            if (model is ICanBeSummarised sum)
            {
                e.StandardIcon = ToolTipControl.StandardIcons.Info;

                if (model is IMapsDirectlyToDatabaseTable d)
                {
                    e.Title = $"{model} (ID: {d.ID})";
                }
                else
                {
                    e.Title = model.ToString();
                }

                e.Text      = sum.GetSummary(false, false);
                e.IsBalloon = true;
            }
        }
Beispiel #2
0
 private string Tree_CellToolTipGetter(OLVColumn column, object modelObject)
 {
     return(_activator.DescribeProblemIfAny(modelObject));
 }