protected override void OnLoad(object sender, EventArgs eventArgs) { new LayoutManager(this) .Bind(comboName) .WidthToForm() .Bind(textboxWidth, textboxHeight) .WidthTo(() => Width / 3) .Bind(comboUnit) .WidthTo(() => Width - 2 * (Width / 3)) .Bind(labelX) .LeftTo(() => textboxWidth.Right) .Bind(textboxHeight) .LeftTo(() => labelX.Right) .Bind(comboUnit) .LeftTo(() => textboxHeight.Right) .Bind(btnCancel, btnOK, btnDelete) .RightToForm() .Activate(); initialDimens = PageSizeDimens ?? ScanPageSize.Letter.PageDimensions(); UpdateDropdown(); comboName.Text = PageSizeName ?? ""; UpdateDimens(initialDimens); }
public static decimal HeightInInches(this PageDimensions pageDimensions) { switch (pageDimensions.Unit) { case PageSizeUnit.Inch: return(pageDimensions.Height); case PageSizeUnit.Centimetre: return(pageDimensions.Height * 0.393701m); case PageSizeUnit.Millimetre: return(pageDimensions.Height * 0.0393701m); default: throw new ArgumentException(); } }
public static decimal WidthInMm(this PageDimensions pageDimensions) { switch (pageDimensions.Unit) { case PageSizeUnit.Inch: return(pageDimensions.Width * 25.4m); case PageSizeUnit.Centimetre: return(pageDimensions.Width * 10); case PageSizeUnit.Millimetre: return(pageDimensions.Width); default: throw new ArgumentException(); } }
public static int HeightInThousandthsOfAnInch(this PageDimensions pageDimensions) { switch (pageDimensions.Unit) { case PageSizeUnit.Inch: return((int)(pageDimensions.Height * 1000)); case PageSizeUnit.Centimetre: return((int)(pageDimensions.Height * 0.393701m * 1000)); case PageSizeUnit.Millimetre: return((int)(pageDimensions.Height * 0.0393701m * 1000)); default: throw new ArgumentException(); } }
private void btnOK_Click(object sender, EventArgs e) { const NumberStyles numberStyle = NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands | NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingSign; decimal width, height; if (!decimal.TryParse(textboxWidth.Text, numberStyle, CultureInfo.CurrentCulture, out width)) { textboxWidth.Focus(); return; } if (!decimal.TryParse(textboxHeight.Text, numberStyle, CultureInfo.CurrentCulture, out height)) { textboxHeight.Focus(); return; } Result = new PageDimensions { Width = width, Height = height, Unit = (PageSizeUnit)comboUnit.SelectedIndex }; DialogResult = DialogResult.OK; Close(); }
public static int HeightInThousandthsOfAnInch(this PageDimensions pageDimensions) { return((int)(HeightInInches(pageDimensions) * 1000)); }
private void btnOK_Click(object sender, EventArgs e) { const NumberStyles numberStyle = NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands | NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingSign; decimal width, height; if (!decimal.TryParse(textboxWidth.Text, numberStyle, CultureInfo.CurrentCulture, out width)) { textboxWidth.Focus(); return; } if (!decimal.TryParse(textboxHeight.Text, numberStyle, CultureInfo.CurrentCulture, out height)) { textboxHeight.Focus(); return; } PageSizeName = null; PageSizeDimens = new PageDimensions { Width = width, Height = height, Unit = (PageSizeUnit)comboUnit.SelectedIndex }; if (!string.IsNullOrWhiteSpace(comboName.Text)) { PageSizeName = comboName.Text; var presets = UserConfigManager.Config.CustomPageSizePresets; presets.RemoveAll(x => x.Name == PageSizeName); presets.Add(new NamedPageSize { Name = PageSizeName, Dimens = PageSizeDimens }); UserConfigManager.Save(); } DialogResult = DialogResult.OK; Close(); }
private void UpdateDimens(PageDimensions dimens) { textboxWidth.Text = dimens.Width.ToString(CultureInfo.CurrentCulture); textboxHeight.Text = dimens.Height.ToString(CultureInfo.CurrentCulture); comboUnit.SelectedIndex = (int)dimens.Unit; }
private void SelectCustomPageSize(string name, PageDimensions dimens) { for (int i = 0; i < cmbPage.Items.Count; i++) { var item = (PageSizeListItem) cmbPage.Items[i]; if (item.Type == ScanPageSize.Custom && item.CustomName == name && item.CustomDimens == dimens) { cmbPage.SelectedIndex = i; return; } } // Not found, so insert a new item cmbPage.Items.Insert(cmbPage.Items.Count - 1, new PageSizeListItem { Type = ScanPageSize.Custom, Label = string.IsNullOrEmpty(name) ? string.Format(MiscResources.CustomPageSizeFormat, dimens.Width, dimens.Height, dimens.Unit.Description()) : string.Format(MiscResources.NamedPageSizeFormat, name, dimens.Width, dimens.Height, dimens.Unit.Description()), CustomName = name, CustomDimens = dimens }); cmbPage.SelectedIndex = cmbPage.Items.Count - 2; }