using System; using System.Windows.Forms; using FastReport.Format; using FastReport.Controls; using FastReport.Dialog; using System.Reflection; using FastReport.Utils; namespace FastReport { partial class TextObjectBase : ICustomDataTreeItemsProvider { #region Private Methods private bool ShouldSerializeBrackets() { return Brackets != "[,]"; } private bool ShouldSerializePadding() { return Padding != new Padding(2, 0, 2, 0); } private bool ShouldSerializeFormat() { return (formats.Count == 1 && !(formats[0] is GeneralFormat)) || formats.Count > 1; } #endregion #region Public Methods /// public override void AssignFormat(ReportComponentBase source) { base.AssignFormat(source); TextObjectBase src = source as TextObjectBase; if (src == null) return; Formats.Assign(src.Formats); } /// public virtual void ProvideCustomItems(DataTreeView tree) { TreeNode dialogNode = null; foreach (Base c in Report.AllObjects) { if (c is DialogControl) { PropertyInfo bindableProp = (c as DialogControl).BindableProperty; if (bindableProp != null) { if (dialogNode == null) { dialogNode = tree.Nodes.Add(Res.Get("Designer,ToolWindow,Dictionary,DialogControls")); dialogNode.ImageIndex = 136; dialogNode.SelectedImageIndex = dialogNode.ImageIndex; } TreeNode node = dialogNode.Nodes.Add(c.Name + "." + bindableProp.Name); node.ImageIndex = DataTreeHelper.GetTypeImageIndex(bindableProp.PropertyType); node.SelectedImageIndex = node.ImageIndex; } } } } #endregion } }