Exemplo n.º 1
0
        protected virtual int CalcRowPreviewEditorHeight(int rowHandle, RepositoryItem item)
        {
            if (!View.OptionsView.ShowPreview || View.IsGroupRow(rowHandle) || View.IsFilterRow(rowHandle))
            {
                return(0);
            }
            int res         = (View.OptionsView.ShowPreviewRowLines != DevExpress.Utils.DefaultBoolean.False ? 1 : 0);
            int eventHeight = View.RaiseMeasurePreviewHeightAccessMetod(rowHandle);

            if (eventHeight != -1)
            {
                return(eventHeight == 0 ? 0 : res + eventHeight);
            }
            Graphics g = GInfo.AddGraphics(null);

            try
            {
                IHeightAdaptable ha = fRowPreviewViewInfo as IHeightAdaptable;
                if (ha != null)
                {
                    fRowPreviewViewInfo.EditValue = View.GetRowPreviewValue(rowHandle);
                    //res = ha.CalcHeight(GInfo.Cache, this.CalcRowPreviewWidth(rowHandle) - this.PreviewIndent - GridRowPreviewPainter.PreviewTextIndent * 2);

                    GridRowPreviewPainter x = new GridRowPreviewPainter(this.Painter.ElementsPainter);
                    //res = ha.CalcHeight(GInfo.Cache, this.CalcRowPreviewWidth(rowHandle) - this.GetPreviewIndent() - x.GetPreviewTextIndent(()fRowPreviewViewInfo.) * 2);
                }
                res = Math.Max(fRowPreviewViewInfo.CalcMinHeight(g), res);
            }
            finally
            {
                GInfo.ReleaseGraphics();
            }
            res += PreviewTextVIndent * 2;
            return(res);
        }
Exemplo n.º 2
0
        public virtual Rectangle GetRowPreviewEditBounds(GridDataRowInfo ri)
        {
            Rectangle r = new Rectangle(new Point(0, 0), ri.PreviewBounds.Size);
            //r.Inflate(-GridRowPreviewPainter.PreviewTextIndent, -GridRowPreviewPainter.PreviewTextVIndent);
            GridRowPreviewPainter x = new GridRowPreviewPainter(this.Painter.ElementsPainter);

            r.Inflate(-x.GetPreviewTextIndent(ri), -x.GetPreviewTextVIndent(ri));
            r.X     += x.GetPreviewIndent(this); // ri.PreviewIndent;
            r.Width -= x.GetPreviewIndent(this); // ri.PreviewIndent;
            return(r);
        }