Files
2022-04-21 21:43:45 +08:00

61 lines
1.5 KiB
C#

using System;
using System.Windows.Forms;
using PDFPatcher.Model;
namespace PDFPatcher.Functions
{
sealed partial class TextSizeConditionEditor : UserControl, IFilterConditionEditor
{
AutoBookmarkCondition.TextSizeCondition _condition;
bool _lock;
public TextSizeConditionEditor() {
InitializeComponent();
}
#region ITextInfoFilterEditor 成员
public AutoBookmarkCondition Filter {
get => _condition;
set {
_condition = (AutoBookmarkCondition.TextSizeCondition)value;
_lock = true;
if (_condition.MinSize == _condition.MaxSize) {
_SizeBox.Checked = true;
_SpecificSizeBox.Value = (decimal)_condition.MaxSize;
}
else {
_SizeRangeBox.Checked = true;
_MaxSizeBox.Value = (decimal)_condition.MaxSize;
_MinSizeBox.Value = (decimal)_condition.MinSize;
}
ToggleControlState();
_lock = false;
}
}
public UserControl EditorControl => this;
#endregion
void ControlChanged(object sender, EventArgs e) {
ToggleControlState();
if (_lock) {
return;
}
if (_SizeBox.Checked) {
_condition.SetRange((float)_SpecificSizeBox.Value, (float)_SpecificSizeBox.Value);
}
else if (_SizeRangeBox.Checked) {
_condition.SetRange((float)_MinSizeBox.Value, (float)_MaxSizeBox.Value);
}
EditAdjustmentForm.UpdateFilter(this);
}
void ToggleControlState() {
_MinSizeBox.Enabled = _MaxSizeBox.Enabled = _SizeRangeBox.Checked;
_SpecificSizeBox.Enabled = _SizeBox.Checked;
}
}
}