mirror of
https://github.com/wmjordan/PDFPatcher.git
synced 2026-10-18 13:42:28 +08:00
7d279bc324
!重构代码
68 lines
1.6 KiB
C#
68 lines
1.6 KiB
C#
using System;
|
|
using System.Windows.Forms;
|
|
using PDFPatcher.Model;
|
|
|
|
namespace PDFPatcher.Functions
|
|
{
|
|
sealed partial class TextPositionConditionEditor : UserControl, IFilterConditionEditor
|
|
{
|
|
AutoBookmarkCondition.TextPositionCondition _condition;
|
|
bool _lock;
|
|
|
|
public TextPositionConditionEditor() {
|
|
InitializeComponent();
|
|
_lock = true;
|
|
_PositionBox.SelectedIndex = 0;
|
|
_lock = false;
|
|
}
|
|
|
|
#region ITextInfoFilterEditor 成员
|
|
|
|
public AutoBookmarkCondition Filter {
|
|
get => _condition;
|
|
set {
|
|
_condition = (AutoBookmarkCondition.TextPositionCondition)value;
|
|
_lock = true;
|
|
_PositionBox.SelectedIndex = _condition.Position - 1;
|
|
if (_condition.MinValue == _condition.MaxValue) {
|
|
_SpecificBox.Checked = true;
|
|
_SpecificValueBox.Value = (decimal)_condition.MaxValue;
|
|
}
|
|
else {
|
|
_RangeBox.Checked = true;
|
|
_MaxBox.Value = (decimal)_condition.MaxValue;
|
|
_MinBox.Value = (decimal)_condition.MinValue;
|
|
}
|
|
ToggleControlState();
|
|
_lock = false;
|
|
}
|
|
}
|
|
|
|
public UserControl EditorControl => this;
|
|
|
|
#endregion
|
|
|
|
void ControlChanged(object sender, EventArgs e) {
|
|
ToggleControlState();
|
|
if (_lock) {
|
|
return;
|
|
}
|
|
float min, max;
|
|
if (_SpecificBox.Checked) {
|
|
min = max = (float)_SpecificValueBox.Value;
|
|
}
|
|
else /*if (_YRangeBox.Checked)*/ {
|
|
min = (float)_MinBox.Value;
|
|
max = (float)_MaxBox.Value;
|
|
}
|
|
_condition.SetRange((byte)(_PositionBox.SelectedIndex + 1), min, max);
|
|
EditAdjustmentForm.UpdateFilter(this);
|
|
}
|
|
|
|
void ToggleControlState() {
|
|
_MinBox.Enabled = _MaxBox.Enabled = _RangeBox.Checked;
|
|
_SpecificValueBox.Enabled = _SpecificBox.Checked;
|
|
}
|
|
}
|
|
}
|