public void ApplyTemplate(TunableListTemplate template) { if (null == template) { throw new ArgumentNullException(nameof(template)); } mTunableList.ApplyTemplate(template); }
public void ApplyTemplate(TableTemplate template) { if (null == template) { throw new ArgumentNullException(nameof(template)); } Height = TableTemplate.Height; var listTemplate = new TunableListTemplate { HeaderClickable = template.HeaderClickable, CommandMenu = template.CommandMenu }; listTemplate.Columns.AddRange(template.Columns); listTemplate.Icons.AddRange(template.Icons); listTemplate.SetTemplateInternals(template.TemplateName, template.BaseDirectory); ApplyTemplate(listTemplate); }
public void ApplyTemplate(TunableListTemplate template) { if (null == template) { throw new ArgumentNullException(nameof(template)); } Reset(); if (null == template.Columns) { throw new BadTemplateException("null == template.Columns"); } BeginUpdate(); Enabled = false; HeaderStyle = template.HeaderClickable ? ColumnHeaderStyle.Clickable : ColumnHeaderStyle.Nonclickable; if (template.Groups.Count > 0) { var groups = new List <ListViewGroup>(); foreach (var groupTemplate in template.Groups) { if (null == groupTemplate.Key) { throw new BadTemplateException("null == groupTemplate.Key"); } if (null == groupTemplate.HeaderText) { throw new BadTemplateException("null == groupTemplate.HeaderText"); } groups.Add(new ListViewGroup(groupTemplate.Key, groupTemplate.HeaderText)); } Groups.AddRange(groups.ToArray()); ShowGroups = true; } var columnHeaders = new List <ColumnHeader>(); foreach (var columnTemplate in template.Columns) { if (null == columnTemplate.Name) { throw new BadTemplateException("null == columnTemplate.Name"); } if (null == columnTemplate.HeaderText) { throw new BadTemplateException("null == columnTemplate.HeaderText"); } if (0 == columnTemplate.Width) { throw new BadTemplateException("0 == columnTemplate.Width"); } var columnHeader = new ColumnHeader { Name = columnTemplate.Name, Text = columnTemplate.HeaderText, Width = columnTemplate.Width }; columnHeaders.Add(columnHeader); } Columns.AddRange(columnHeaders.ToArray()); if (null != template.CommandMenu && 0 != template.CommandMenu.Items.Count) { _commandMenu.ApplyTemplate(template.CommandMenu); ContextMenuStrip = _commandMenu; } if (template.Icons.Any()) { foreach (var imageTemplate in template.Icons) { if (null == imageTemplate.Name) { throw new BadTemplateException("null == imageTemplate.Name"); } var iconHolder = imageTemplate.BuildIconHolder(); if (null == iconHolder) { throw new BadTemplateException("null == iconHolder"); } var image = iconHolder.TryBuildImage(); if (null != image) { _imageList.Images.Add(imageTemplate.Name, image); } } SmallImageList = _imageList; } if (template.CheckBoxes) { CheckBoxes = true; OwnerDraw = true; } Enabled = true; EndUpdate(); }