int IHeightAdaptable.CalcHeight(GraphicsCache cache, int width) { RepositoryItemEM_RadioValueEditor cri = Item as RepositoryItemEM_RadioValueEditor; if (cri.ControlType == null) { return(this.CalcMinHeight(cache.Graphics)); } return(cri.DrawControl.Height); }
public override void Assign(RepositoryItem item) { BeginUpdate(); try { base.Assign(item); ControlType = (item as RepositoryItemEM_RadioValueEditor).ControlType; RepositoryItemEM_RadioValueEditor source = item as RepositoryItemEM_RadioValueEditor; if (source == null) { return; } // } finally { EndUpdate(); } }
void DrawEditors(List <BaseEdit> editors, ControlGraphicsInfoArgs info, RepositoryItemEM_RadioValueEditor cri) { foreach (BaseEdit editor in editors) { RepositoryItem ri = cri.ControlRepositories[editor.EditorTypeName]; ri.Assign(editor.Properties); BaseEditViewInfo bevi = ri.CreateViewInfo(); bevi.EditValue = editor.EditValue; Rectangle rec = editor.Bounds; rec.X += info.ViewInfo.Bounds.X; rec.Y += info.ViewInfo.Bounds.Y; bevi.CalcViewInfo(info.Graphics, MouseButtons.Left, new Point(0, 0), rec); ControlGraphicsInfoArgs cinfo = new ControlGraphicsInfoArgs(bevi, info.Cache, info.ViewInfo.Bounds); BaseEditPainter bp = ri.CreatePainter(); try { bp.Draw(cinfo); } catch { } } }
public override void Draw(ControlGraphicsInfoArgs info) { base.Draw(info); EM_RadioValueEditorViewInfo vi = info.ViewInfo as EM_RadioValueEditorViewInfo; RepositoryItemEM_RadioValueEditor cri = vi.Item as RepositoryItemEM_RadioValueEditor; if (cri.ControlType == null) { return; } (cri.DrawControl as IEditValue).EditValue = vi.EditValue; cri.DrawControl.Bounds = info.Bounds; Bitmap bm = new Bitmap(info.Bounds.Width, info.Bounds.Height); cri.DrawControl.DrawToBitmap(bm, new Rectangle(0, 0, bm.Width, bm.Height)); info.Graphics.DrawImage(bm, info.Bounds.Location); List <BaseEdit> editors = new List <BaseEdit>(); editors = EditorFinder.FindEditors(cri.DrawControl); DrawEditors(editors, info, cri); }
static EM_RadioValueBarEditItem() { RepositoryItemEM_RadioValueEditor.RegisterEM_RadioValueEditor(); }