рефакторинг контролов таблиц. убрал странный и запутанный старый код

This commit is contained in:
2024-10-17 20:04:16 +03:00
parent 01d366e256
commit 66fa638ec4
55 changed files with 241 additions and 212 deletions

View File

@@ -5,31 +5,30 @@ import javax.swing.*;
import java.awt.*;
//класс, представляющий собой прокручиваемую панель, на которой лежит нечто.
public class ControlForm<C extends Component> {
JPanel mountPanel = null; //панель на которую монтируется UI.помимо контрола может содержать меню сверху.
JPanel scrollPanel = null; //панель на которой лежит скролл.
JScrollPane scroll = null; //панель прокрутки в которую встроен контрол
public C control = null;
public JScrollPane scroll = null;
protected Class<C> control_class;
protected JPanel content; //задник.
public ControlForm(Class<C> class_in) {
protected Class<C> control_class = null;
public ControlForm(Class<C> class_in, JPanel mountPanel_in) {
control_class = class_in;
setContent(new JPanel(new BorderLayout()));
mountPanel = mountPanel_in;
mountPanel.add((scrollPanel = new JPanel(new BorderLayout())), BorderLayout.CENTER);
}
//нужно будет вывестии сделать нормальные формы для деревьев а не ручное создание.
public JPanel getContent() {
return content;
}
public void setContent(JPanel content_in) {
content = content_in;
}
//-
public JPanel getMountPanel(){return mountPanel;} //todo осталось только в projectForm, вывести
//новое отображение предполагает полную перерисовку контрола.(?)
public void Show() {
Clear();
CreateControl();
//------------------------
createControl();
//--
scroll = new JScrollPane(control);
scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
scroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
//--
scrollPanel.add(scroll);
scrollPanel.updateUI();
}
public void CreateControl() {
protected void createControl() {
try {
control = control_class.newInstance();
} catch (Exception e) {
@@ -40,13 +39,14 @@ public class ControlForm<C extends Component> {
return control != null;
}
public void Clear() {
UI.Clear(scrollPanel);
control = null; //очищено.
}
public void Refresh() {
if (control != null)
refresh();
redrawControl();
}
//-
protected void refresh() {
protected void redrawControl() {
} //перерисовать контрол.
}

View File

@@ -1,6 +1,5 @@
package Common.Visual;
import Common.CommonConstants;
import Common.Current_;
import Common.Database.Objects.DBObject;
import Common.Database.Objects.Grid.TableVisualData;
import Common.Database.Tables.DBTable;
@@ -27,35 +26,15 @@ import java.util.Vector;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public class DataSetControlForm extends ControlForm<DataTable> {
protected JPanel dataPanel;
protected DataSet dataSource;
protected int current_row_i;
protected boolean events_on = true;
protected String colNamesAndSizes = "";
protected Vector<ColumnInfo> columns = new Vector<>();
public DataSetControlForm(DataSet dataSource_in) {
this(dataSource_in, DataTable.class);
}
public DataSetControlForm(DataSet dataSource_in, Class tableClass) {
super(tableClass);
public DataSetControlForm(DataSet dataSource_in, JPanel mountPanel_in) {
super(DataTable.class, mountPanel_in);
dataSource = dataSource_in;
//---
dataPanel = new JPanel(new BorderLayout());
content.add(dataPanel, BorderLayout.CENTER);
}
public JPanel getDataPanel() {
return dataPanel;
}
@Override
public void Show() {
super.Show();
dataPanel.add(scroll);
dataPanel.updateUI();
}
@Override
public void Clear() {
super.Clear();
UI.Clear(dataPanel);
}
public void SaveColumns() {
if (MainModule_.instance.getDb() != null) {
@@ -101,7 +80,7 @@ public class DataSetControlForm extends ControlForm<DataTable> {
}
@SuppressWarnings("unchecked")
@Override
public void CreateControl() {
protected void createControl() {
CreateColumnsInfo();
GridAnchestor table_data_model = new GridAnchestor(getHeaders(), dataSource.getVisibleKeys()) {
@SuppressWarnings("unchecked")
@@ -276,7 +255,7 @@ public class DataSetControlForm extends ControlForm<DataTable> {
}
}
@Override
protected void refresh() {
protected void redrawControl() {
control.CorrectSizes();
}
public void Show(Object pk) {

View File

@@ -2,29 +2,19 @@ package Common.Visual.Trees;
import Common.Visual.ControlForm;
import Common.Visual.UI;
import javax.swing.*;
import java.awt.*;
public class TreeForm<C extends StyledTree> extends ControlForm<C> {
public TreeForm(Class<C> class_in) {
super(class_in);
public TreeForm(Class<C> class_in, JPanel mountPanel_in) {
super(class_in, mountPanel_in);
}
//временно, чтобы не затрагивать коды раньше времени.
public StyledTree getTree() {
return control;
}
@Override
protected void refresh() {
protected void redrawControl() {
getTree().revalidate();
getTree().repaint();
}
@Override
public void Show() {
super.Show();
content.add(scroll, BorderLayout.CENTER);
content.updateUI();
}
@Override
public void Clear() {
super.Clear();
UI.Clear(content);
}
}