продолжение рефакторинга таблиц. перевод меню баров в интерфейс

This commit is contained in:
2024-10-17 21:24:55 +03:00
parent debc1a6cae
commit 452c023f1d
45 changed files with 515 additions and 510 deletions

View File

@@ -6,7 +6,6 @@ import Common.Passes.PassCode_;
import Common.Utils.TextLog;
import Common.Visual.DataSetControlForm;
import Common.Visual.DataSetFilter;
import Common.Visual.FilterInterface;
import Common.Visual.Menus.DataMenuBar;
import Common.Visual.Tables.ColumnFilter;
import Common.Visual.UI;
@@ -14,7 +13,6 @@ import Common.Visual.Windows.Dialog.DBObjectDialog;
import Common.Visual.Windows.Dialog.DialogFields;
import javax.swing.*;
import java.awt.*;
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.Vector;
@@ -28,16 +26,9 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
public Class<D> d; //класс объектов.
public LinkedHashMap<K, D> Data = new LinkedHashMap<>(); //наполнение
//-
protected DataSetControlForm ui= null;
public DataSetControlForm getUI() {
return ui;
}
public void setUI(DataSetControlForm ui_in) {
this.ui = ui_in;
}
//-
public LinkedHashMap<Integer, ColumnFilter> columnsFilters = new LinkedHashMap<>(); //текстовые фильтры столбцов
protected FilterInterface f_ui; // отображение количества объектов
//-
protected DataSetControlForm ui = null;
//--
protected Vector<DataSetFilter<D>> filters = new Vector<>();
//--
@@ -46,39 +37,14 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
d = d_in;
Name = d.getSimpleName();
}
public DataSetControlForm getUI() {
return ui;
}
protected void createFilters() {
}
public boolean hasMenuBar() {
return true;
}
public DataMenuBar createMenuBar() {
return new DataMenuBar(getPluralDescription());
}
public void mountUI(JPanel mountPanel_in) {
UI.Clear(mountPanel_in);
//-->
setUI(createUI(mountPanel_in));
//-->
if (hasMenuBar()) {
try {
DataMenuBar bar = null;
if (!MainModule_.instance.getUI().menuBars.containsKey(getClass())) {
bar = createMenuBar();
if (getUI().hasCheckBox())
bar.createSelectionButtons(this);
MainModule_.instance.getUI().menuBars.put(getClass(), bar);
} else {
bar = MainModule_.instance.getUI().menuBars.get(getClass());
}
mountPanel_in.add(bar, BorderLayout.NORTH);
//--
setFilterUI(count -> MainModule_.instance.getUI().menuBars.get(getClass()).countLabel.setText(String.valueOf(count)));
//--
} catch (Exception ex) {
ex.printStackTrace();
}
}
//----
ui = createUI(mountPanel_in);
createFilters();
if (!filters.isEmpty()) {
DataMenuBar menuBar = MainModule_.instance.getUI().menuBars.get(getClass());
@@ -86,31 +52,23 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
menuBar.addMenus(filter.menu);
}
}
public DataSetControlForm getUi() {
return getUI();
}
public void setFilterUI(FilterInterface ui_in) {
f_ui = ui_in;
}
public void ClearUI() {
if ((getUI() != null) && getUI().isShown()) {
getUI().ClearSelection();
getUI().Clear();
if (f_ui != null)
f_ui.ShowNoMatches();
if ((ui != null) && ui.isShown()) {
ui.ClearSelection();
ui.Clear();
}
}
public void RefreshUI() {
if (getUI() != null) getUI().Refresh();
if (ui != null) ui.Refresh();
}
public int getRowCountUI() {
return getUI().getRowCount();
return ui.getRowCount();
}
public void SetCurrentObjectUI(Object pk) {
if (getUI() != null) {
if (ui != null) {
//todo возможно проверить, что текущий объект уже соответствует ключу, и если да, то ничего делать.
getUI().ClearSelection(); //сброс текущего объекта и всего что с ним связано.
getUI().Select(pk);
ui.ClearSelection(); //сброс текущего объекта и всего что с ним связано.
ui.Select(pk);
}
}
public String[] getUIColumnNames() {
@@ -120,7 +78,7 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
return null;
}
public boolean hasUI() {
return getUI() != null;
return ui != null;
}
public void SelectAll(boolean flag) {
for (D object : Data.values()) {
@@ -237,10 +195,8 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
for (DataSetFilter<D> filter : filters)
filter.Drop();
//--
if (getUI() != null) {
getUI().Show();
if (f_ui != null)
f_ui.ShowMatchesCount(getRowCountUI());
if (ui != null) {
ui.Show();
}
//--
for (DataSetFilter<D> filter : filters)
@@ -250,10 +206,8 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
for (DataSetFilter<D> filter : filters)
filter.Drop();
//--
if (getUI() != null) {
getUI().Show(key);
if (f_ui != null)
f_ui.ShowMatchesCount(getRowCountUI());
if (ui != null) {
ui.Show(key);
}
//--
for (DataSetFilter<D> filter : filters)
@@ -326,7 +280,7 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
if (hasUI()) {
Object lastPk = selections.get(getClass());
if ((CurrentName() != null) && (lastPk != null)) {
getUI().Select(lastPk);
ui.Select(lastPk);
}
}
}