void ShowToolTip(IModelColumnTooltipData modelColumnTooltipData) { var toolTipControlInfo = new ToolTipControlInfo(); var item = new ToolTipItem { ImageToTextDistance = 0 }; var modelTooltipData = modelColumnTooltipData.TooltipData; if (modelTooltipData.DataOnToolTip) { var modelMember = modelColumnTooltipData.ModelMember; if (modelMember.MemberInfo.MemberType == typeof(Image)) { var image = modelMember.MemberInfo.GetValue(GridView.GetRow(HotTrackInfo.RowHandle)) as Image; if (modelTooltipData.MaxWidth > 0 && modelTooltipData.MaxHeight > 0) { image = image.CreateImage(modelTooltipData.MaxWidth, modelTooltipData.MaxHeight); } item.Image = image; } else { item.Text = string.Format("{0}", GridView.GetRowCellValue(HotTrackInfo.RowHandle, HotTrackInfo.Column)); } } else if (!string.IsNullOrEmpty(modelTooltipData.ToolTipText)) { item.Text = modelTooltipData.ToolTipText; } else { var controller = ObjectToolTipController(modelColumnTooltipData); controller.ShowHint(GridView.GetRow(HotTrackInfo.RowHandle), HotTrackInfo.HitPoint, ObjectSpace, _toolTipController); return; } toolTipControlInfo.Object = HotTrackInfo; toolTipControlInfo.SuperTip = new SuperToolTip(); toolTipControlInfo.SuperTip.Items.Add(item); toolTipControlInfo.ToolTipPosition = Cursor.Position; _toolTipController.ShowHint(toolTipControlInfo); }
ObjectToolTipController ObjectToolTipController(IModelColumnTooltipData modelColumnTooltipData) { var objects = new[] { View.Editor.Control }; return((ObjectToolTipController)Activator.CreateInstance(modelColumnTooltipData.TooltipData.ToolTipController, objects)); }