using System; using System.Drawing; using System.Windows.Forms; using FastReport.Utils; using FastReport.Forms; namespace FastReport.Barcode { partial class BarcodeObject : IHasEditor { #region Private Methods private bool ShouldSerializePadding() { return Padding != new System.Windows.Forms.Padding(); } #endregion #region Public Methods /// public override SmartTagBase GetSmartTag() { return new BarcodeSmartTag(this); } /// public override ContextMenuBase GetContextMenu() { return new BarcodeObjectMenu(Report.Designer); } /// public override SizeF GetPreferredSize() { if ((Page as ReportPage).IsImperialUnitsUsed) return new SizeF(Units.Inches * 1, Units.Inches * 1); return new SizeF(Units.Centimeters * 2.5f, Units.Centimeters * 2.5f); } /// public override void OnBeforeInsert(int flags) { Barcode = (BarcodeBase)Activator.CreateInstance(Barcodes.Items[flags].objType); Text = barcode.GetDefaultValue(); } /// public bool InvokeEditor() { bool res = false; bool isRichBarcode = false; if (Barcode is BarcodeQR || Barcode is BarcodeAztec) isRichBarcode = true; using (BarcodeEditorForm form = new BarcodeEditorForm(Text, Report, Brackets, isRichBarcode)) { if (!form.IsDisposed) { DialogResult result = form.ShowDialog(); if (result == DialogResult.OK) { AllowExpressions = true; Text = form.result; res = true; } } } return res; } /// public override int GetImageIndex() { return Barcode is Barcode2DBase ? 149 : 123; } #endregion } }