вывод диалоговых форм для объектов в отдельный класс

This commit is contained in:
2024-10-22 16:44:13 +03:00
parent 38b2896e4a
commit a60fd375d0
66 changed files with 840 additions and 792 deletions

View File

@@ -0,0 +1,53 @@
package _VisualDVM.Repository.Subscribes.UI;
import Common.Utils.Utils_;
import Common.Visual.UI;
import Common.Visual.Windows.Dialog.DBObjectDialog;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Account.AccountRole;
import _VisualDVM.Repository.Subscribes.Subscriber;
public class SubscriberDialog extends DBObjectDialog<Subscriber, SubscriberFields> {
public SubscriberDialog() {
super(SubscriberFields.class);
}
@Override
public int getDefaultHeight() {
return 250;
}
@Override
public int getDefaultWidth() {
return 450;
}
@Override
public void validateFields() {
if (fields.tfName.getText().isEmpty())
Log.Writeln("Имя учётной записи не может быть пустым");
Utils_.validateEmail(fields.tfAddress.getText(), Log);
if (fields.tfAddress.getText().isEmpty())
Log.Writeln_("Адрес электронной почты не может быть пустым");
if (!title_text.equals("Регистрация") && (fields.tfAddress.isEditable() && Global.componentsServer.db.subscribers.Data.containsKey(fields.tfAddress.getText()))) {
Log.Writeln_("Адрес электронной почты " + Utils_.Brackets(fields.tfAddress.getText()) + " уже есть в списке.");
}
}
@Override
public void fillFields() {
fields.tfName.setText(Result.name);
fields.tfAddress.setText(Result.address);
fields.cbMail.setSelected(Result.mailOn != 0);
UI.TrySelect(fields.cbRole, Result.role);
}
@Override
public void SetEditLimits() {
fields.tfAddress.setEditable(false);
}
private AccountRole getSelectedRole() {
return (AccountRole) fields.cbRole.getSelectedItem();
}
@Override
public void ProcessResult() {
Result.name = fields.tfName.getText();
Result.address = fields.tfAddress.getText();
Result.mailOn = fields.cbMail.isSelected() ? 1 : 0;
Result.role = getSelectedRole();
}
};