рефакторинг контролов таблиц. убрал странный и запутанный старый код
This commit is contained in:
@@ -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() {
|
||||
} //перерисовать контрол.
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user