упраздение лишних енумов в оформлении таблиц и деревьев.

This commit is contained in:
2024-10-15 15:13:57 +03:00
parent b7b82e54c6
commit 5e2a9848da
146 changed files with 565 additions and 615 deletions

View File

@@ -5,7 +5,7 @@ import Common.Database.Tables.DBTable;
import Common.Database.Tables.DBTableColumn;
import Common.Passes.PassException;
import Common.Utils.Utils_;
import Common.Visual.UI_;
import Common.Visual.UI;
import javafx.util.Pair;
import java.io.File;
@@ -210,7 +210,7 @@ public abstract class SQLiteDatabase extends Database {
protected void insert(DBTable table, DBObject o) throws Exception {
PreparedStatement ps = insertStatements.get(table.d);
if (ps == null)
UI_.Info("INSERT NULL");
UI.Info("INSERT NULL");
int i = 1;
for (DBTableColumn column : table.columns.values()) {
if (!column.AutoIncrement) {
@@ -234,7 +234,7 @@ public abstract class SQLiteDatabase extends Database {
protected void update(DBTable table, DBObject o) throws Exception {
PreparedStatement ps = updateStatements.get(table.d);
if (ps == null)
UI_.Info("UPDATE NULL");
UI.Info("UPDATE NULL");
int i = 1;
for (DBTableColumn column : table.columns.values()) {
if (!column.AutoIncrement) {

View File

@@ -8,7 +8,7 @@ import Common.Visual.DataSetFilter;
import Common.Visual.FilterInterface;
import Common.Visual.Menus.DataMenuBar;
import Common.Visual.Tables.ColumnFilter;
import Common.Visual.UI_;
import Common.Visual.UI;
import Common.Visual.Windows.Dialog.DBObjectDialog;
import Common.Visual.Windows.Dialog.DialogFields;
import _VisualDVM.Global;
@@ -46,7 +46,7 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
return null;
}
public void mountUI(JPanel content_in) {
UI_.Clear(content_in);
UI.Clear(content_in);
//-->
ui_ = createUI();
ui_.setContent(content_in);
@@ -150,7 +150,7 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
return false;
}
public boolean ShowDeleteObjectDialog(DBObject object) {
return UI_.Warning(getSingleDescription() + " " + object.getBDialogName() + " будет удален(а)");
return UI.Warning(getSingleDescription() + " " + object.getBDialogName() + " будет удален(а)");
}
public String QName() {
return "\"" + Name + "\"";

View File

@@ -30,9 +30,11 @@ public abstract class MainModule_<D extends VisualiserDatabase, U extends UIModu
db_class = db_class_in;
instance = this;
}
public void CreateAll() throws Exception {
if (ui_class != null)
public void Init() throws Exception {
//нужно потому что внутри есть ссылки на экземпляр объекта, и конструктор не годится
if (ui_class != null) {
ui = ui_class.newInstance();
}
//--
createPasses();
//-

View File

@@ -6,7 +6,7 @@ import Common.Utils.Utils_;
import Common.Visual.Controls.PassButton;
import Common.Visual.Controls.PassControl;
import Common.Visual.Controls.StablePassMenuItem;
import Common.Visual.UI_;
import Common.Visual.UI;
import Common.Visual.Windows.PassForm;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
@@ -151,30 +151,30 @@ public class Pass<T> {
//-
private void PerformCanNotStart() throws Exception {
performCanNotStart();
if (UI_.isActive())
if (UI.isActive())
showCanNotStart();
}
protected void PerformPreparation() throws Exception {
performPreparation();
if (UI_.isActive())
if (UI.isActive())
showPreparation();
}
private void PerformFinish() throws Exception {
performFinish();
//-
if (UI_.isActive())
if (UI.isActive())
showFinish();
}
private void PerformDone() throws Exception {
performDone();
//-
if (UI_.isActive())
if (UI.isActive())
showDone();
}
private void PerformFail() throws Exception {
performFail();
//-
if (UI_.isActive())
if (UI.isActive())
showFail();
}
//------
@@ -207,7 +207,7 @@ public class Pass<T> {
Vector<String> ToPrint = new Vector<>();
createStack_r(ToDo, ToPrint);
if (Global.properties.ConfirmPassesStart && !ToPrint.isEmpty() &&
!UI_.Question("Выполнить проход(ы):\n" + String.join("\n", ToPrint))
!UI.Question("Выполнить проход(ы):\n" + String.join("\n", ToPrint))
) return false;
while (ToDo.size() > 1) {
if (!ToDo.pop().start()) return false;
@@ -218,7 +218,7 @@ public class Pass<T> {
//-
if (Global.properties.ShowPassesDone && !ToPrint.isEmpty()
) {
UI_.Info("Проход(ы)\n\n" + String.join("\n", ToPrint) +
UI.Info("Проход(ы)\n\n" + String.join("\n", ToPrint) +
"\nуспешно выполнен(ы)!");
}
//-
@@ -232,7 +232,7 @@ public class Pass<T> {
return false;
}
public void Interrupt() throws Exception {
UI_.Info("Проход " + Utils_.Brackets(getDescription()) + " не разрешено прерывать.");
UI.Info("Проход " + Utils_.Brackets(getDescription()) + " не разрешено прерывать.");
}
public boolean needsConfirmations() {
return false;
@@ -259,10 +259,10 @@ public class Pass<T> {
timer.Start();
//------------------------------->
try {
if (UI_.isActive()) FocusBeforeStart();
if (UI.isActive()) FocusBeforeStart();
if (canStart(args)) {
PerformPreparation();
if (UI_.isActive() && needsAnimation()) {
if (UI.isActive() && needsAnimation()) {
animation_sem = new Semaphore(1);
animation_sem.acquire();
//---
@@ -343,8 +343,8 @@ public class Pass<T> {
" окончен за " + timer.Print() +
" состояние " + Utils_.Brackets(state.getDescription())
);
if (!Log.isEmpty() && UI_.isActive())
UI_.Error(
if (!Log.isEmpty() && UI.isActive())
UI.Error(
"проход " + Utils_.Brackets(getDescription()) + "\n" + state.getDescription() + "\n\n" +
Log.toString());
}
@@ -353,7 +353,7 @@ public class Pass<T> {
}
//--
public void ShowSapforMessage(String message) {
if (UI_.isActive() && form != null) {
if (UI.isActive() && form != null) {
String[] data = message.split(":");
switch (data[0]) {
case "message_1":

View File

@@ -1,5 +1,5 @@
package Common.Utils;
import Common.Visual.UI_;
import Common.Visual.UI;
import java.io.File;
import java.io.FileWriter;
@@ -34,8 +34,8 @@ public interface Loggable {
ex.printStackTrace(writer);
writer.flush();
Print(out.toString());
if (UI_.isActive())
UI_.Error("Возникло исключение. Подробности в файле журнала\n" +
if (UI.isActive())
UI.Error("Возникло исключение. Подробности в файле журнала\n" +
Utils_.Brackets(getLogFile().getAbsolutePath()));
}
}

View File

@@ -9,6 +9,8 @@ import Common.MainModule_;
import Common.Utils.Utils_;
import Common.Visual.Menus.TableMenu;
import Common.Visual.Tables.ColumnInfo;
import Common.Visual.Tables.DBObjectSelectionRenderer;
import Common.Visual.Tables.DBObjectSelector;
import Common.Visual.Tables.DataTable;
import Common.Visual.Tables.Grid.GridAnchestor;
import _VisualDVM.Global;
@@ -23,9 +25,6 @@ import java.util.Arrays;
import java.util.Vector;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import static Common.Visual.Tables.TableEditors.EditorSelect;
import static Common.Visual.Tables.TableRenderers.RendererSelect;
public class DataSetControlForm extends ControlWithCurrentForm<DataTable> {
protected JPanel dataPanel;
protected DataSet dataSource;
@@ -55,7 +54,7 @@ public class DataSetControlForm extends ControlWithCurrentForm<DataTable> {
@Override
public void Clear() {
super.Clear();
UI_.Clear(dataPanel);
UI.Clear(dataPanel);
}
public DataSet getDataSource() {
return dataSource;
@@ -96,7 +95,7 @@ public class DataSetControlForm extends ControlWithCurrentForm<DataTable> {
columns.clear();
columns.add(new ColumnInfo(getDataSource().getPKName()));
if (hasCheckBox()) {
columns.add(new ColumnInfo("", RendererSelect, EditorSelect));
columns.add(new ColumnInfo("", DBObjectSelectionRenderer.class, DBObjectSelector.class));
columns.get(1).setMinWidth(25);
columns.get(1).setMaxWidth(25);
}
@@ -184,9 +183,9 @@ public class DataSetControlForm extends ControlWithCurrentForm<DataTable> {
ColumnInfo columnInfo = columns.get(i);
if (columnInfo.isVisible()) {
if (columnInfo.hasRenderer())
getColumnModel().getColumn(i).setCellRenderer(MainModule_.instance.getUI().getTableRenderer(columnInfo.getRenderer()));
getColumnModel().getColumn(i).setCellRenderer(MainModule_.instance.getUI().getTableRenderer(columnInfo.getRendererClass()));
if (columnInfo.hasEditor())
getColumnModel().getColumn(i).setCellEditor(MainModule_.instance.getUI().getTableEditor(columnInfo.getEditor()));
getColumnModel().getColumn(i).setCellEditor(MainModule_.instance.getUI().getTableEditor(columnInfo.getEditorClass()));
if (columnInfo.hasMaxWidth())
getColumnModel().getColumn((i)).setMaxWidth(columnInfo.getMaxWidth());
if (columnInfo.hasMinWidth())

View File

@@ -1,7 +1,7 @@
package Common.Visual.Menus;
import Common.MainModule_;
import Common.Passes.Pass;
import Common.Visual.UI_;
import Common.Visual.UI;
import javax.swing.*;
import java.awt.*;
@@ -28,6 +28,6 @@ public class FastAccessMenuBar extends VisualiserMenuBar {
}
}
public void Drop() {
UI_.Clear(this);
UI.Clear(this);
}
}

View File

@@ -1,6 +1,6 @@
package Common.Visual.Menus;
import Common.Utils.Utils_;
import Common.Visual.UI_;
import Common.Visual.UI;
import javax.swing.*;
import java.awt.event.ActionEvent;
@@ -27,7 +27,7 @@ public class TextComboBoxMenu extends StyledPopupMenu {
new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
UI_.TrySelect(box, Utils_.getFromClipboard());
UI.TrySelect(box, Utils_.getFromClipboard());
}
});
add(m_paste);

View File

@@ -4,29 +4,22 @@ public class ColumnInfo {
private String Name = "?";
private boolean visible = true;
private boolean editable = false;
private TableRenderers renderer = TableRenderers.RendererDefault;
private TableEditors editor = TableEditors.EditorDefault;
private Class rendererClass = null;
private Class editorClass = null;
private int maxWidth = CommonConstants.Nan;
private int minWidth = CommonConstants.Nan;
//private int lastWidth = Utils.Nan;
// public void setLastWidth(int width_in) {
// lastWidth = width_in;
// }
// public int getLastWidth() {
// return lastWidth;
// }
public ColumnInfo(String name_in) {
setName(name_in);
}
public ColumnInfo(String name_in, TableRenderers renderer_in, TableEditors editor_in) {
public ColumnInfo(String name_in, Class renderer_in, Class editor_in) {
setName(name_in);
setRenderer(renderer_in);
setRendererClass(renderer_in);
setEditable(true);
setEditor(editor_in);
setEditorClass(editor_in);
}
public ColumnInfo(String name_in, TableRenderers renderer_in) {
public ColumnInfo(String name_in, Class renderer_in) {
setName(name_in);
setRenderer(renderer_in);
setRendererClass(renderer_in);
}
public String getName() {
return Name;
@@ -46,24 +39,24 @@ public class ColumnInfo {
public void setEditable(boolean editable_in) {
this.editable = editable_in;
}
public TableRenderers getRenderer() {
return renderer;
public Class getRendererClass() {
return rendererClass;
}
public void setRenderer(TableRenderers renderer_in) {
this.renderer = renderer_in;
public void setRendererClass(Class renderer_in) {
this.rendererClass = renderer_in;
}
public TableEditors getEditor() {
return editor;
public Class getEditorClass() {
return editorClass;
}
public void setEditor(TableEditors editor_in) {
this.editor = editor_in;
setEditable(editor != TableEditors.EditorDefault);
public void setEditorClass(Class editor_in) {
this.editorClass = editor_in;
setEditable(editorClass != null);
}
public boolean hasRenderer() {
return getRenderer() != TableRenderers.RendererDefault;
return getRendererClass() != null;
}
public boolean hasEditor() {
return getEditor() != TableEditors.EditorDefault;
return getEditorClass() != null;
}
public int getMaxWidth() {
return maxWidth;
@@ -84,11 +77,4 @@ public class ColumnInfo {
public boolean hasMinWidth() {
return minWidth != CommonConstants.Nan;
}
/*
public boolean hasLastWidth() {
return lastWidth != Utils.Nan;
}
*/
//-
}

View File

@@ -1,10 +0,0 @@
package Common.Visual.Tables;
import _VisualDVM.TestingSystem.Common.Configuration.Configuration;
public class ConfigurationAutoRenderer extends DBObjectRenderer {
@Override
public void Display() {
if (value != null) {
setIcon(((Configuration) value).GetAutoIcon());
}
}
}

View File

@@ -1,38 +0,0 @@
package Common.Visual.Tables;
import Common.Passes.Pass;
import _VisualDVM.Global;
import _VisualDVM.Passes.Server.EditServerObject;
import _VisualDVM.ServerObjectsCache.VisualCaches;
import _VisualDVM.TestingSystem.Common.Configuration.Configuration;
import _VisualDVM.TestingSystem.Common.TestingServer;
import _VisualDVM.TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
public class ConfigurationAutoSwitcher extends DBObjectEditor<Configuration> {
@Override
public void Action() {
value.SwitchAuto();
setIcon(value.GetAutoIcon());
///-
Pass pass = new EditServerObject<TestingServer, Configuration>(Global.testingServer, Configuration.class) {
@Override
protected boolean canStart(Object... args) throws Exception {
target = (Configuration) args[0];
return true;
}
@Override
public String getDescription() {
return "Обновить флаг автоматического тестирования";
}
@Override
protected void showDone() throws Exception {
VisualCaches.RefreshCache(target);
if (target instanceof SapforConfiguration)
Global.testingServer.db.sapforConfigurations.ShowUI(target.id);
}
};
pass.Do(value);
}
@Override
public Object getCellEditorValue() {
return value;
}
}

View File

@@ -1,5 +1,5 @@
package Common.Visual.Tables;
public class DBObjectSelectionRenderer extends DBObjectRenderer {
public class DBObjectSelectionRenderer extends RendererDBObject {
/*
@Override
public Dimension getMinimumSize() {

View File

@@ -1,6 +1,6 @@
package Common.Visual.Tables;
import Common.Database.Objects.DBObject;
public class DBObjectSelector<T extends DBObject> extends DBObjectEditor<T> {
public class DBObjectSelector<T extends DBObject> extends EditorDBObject<T> {
@Override
public void Action() {
value.SwitchSelection();

View File

@@ -9,7 +9,7 @@ import javax.swing.table.TableCellEditor;
import java.awt.*;
import java.util.EventObject;
import java.util.Objects;
public abstract class DBObjectEditor<T extends DBObject> extends EditorCell implements TableCellEditor {
public abstract class EditorDBObject<T extends DBObject> extends EditorCell implements TableCellEditor {
//задается при редактировании клетки.
public T value = null;
protected transient ChangeEvent changeEvent;

View File

@@ -1,15 +0,0 @@
package Common.Visual.Tables;
import Common.Visual.Controls.HyperlinksStyledList;
import javax.swing.*;
import javax.swing.table.TableCellRenderer;
import java.awt.*;
import java.util.Vector;
public class HyperlinksRenderer extends HyperlinksStyledList implements TableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
setBackground(isSelected ? table.getSelectionBackground() : table.getBackground());
setListData((Vector) value);
return this;
}
}

View File

@@ -5,11 +5,11 @@ import javax.swing.table.TableCellRenderer;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class EditableHeaderRenderer implements TableCellRenderer {
public class RendereEditableHeader implements TableCellRenderer {
private JTable table = null;
private MouseEventReposter reporter = null;
private JComponent editor;
public EditableHeaderRenderer(JComponent editor) {
public RendereEditableHeader(JComponent editor) {
this.editor = editor;
this.editor.setBorder(UIManager.getBorder("TableHeader.cellBorder"));
}

View File

@@ -3,7 +3,7 @@ import Common.Database.Objects.DBObject;
import Common.Visual.DataControl;
import javax.swing.*;
public abstract class DBObjectRenderer extends RendererCell<DBObject> {
public abstract class RendererDBObject extends RendererCell<DBObject> {
@Override
public DBObject Init(JTable table, Object value, int row, int column) {
return ((DataControl) table).getRowObject(row);

View File

@@ -4,7 +4,7 @@ import Common.Utils.Utils_;
import javax.swing.*;
import java.util.Date;
//название пересекается с встроенным классом поэтому подчеркивание.
public class DateRenderer_ extends RendererCell<Date> {
public class RendererDate extends RendererCell<Date> {
private static final Date zero = new Date(0);
@Override
public Date Init(JTable table, Object value, int row, int column) {

View File

@@ -4,7 +4,7 @@ import Common.Visual.Fonts.VisualiserFonts;
import javax.swing.*;
import java.util.Vector;
public class HiddenListRenderer extends RendererCell<Vector<String>> {
public class RendererHiddenList extends RendererCell<Vector<String>> {
@Override
public Vector<String> Init(JTable table, Object value, int row, int column) {
return (Vector<String>) value;

View File

@@ -1,6 +1,6 @@
package Common.Visual.Tables;
import javax.swing.*;
public class MaskedIntegerValueRenderer extends RendererCell<Long> {
public class RendererMaskedNanInteger extends RendererCell<Long> {
@Override
public Long Init(JTable table, Object value, int row, int column) {
return (Long) value;

View File

@@ -5,7 +5,7 @@ import javax.swing.*;
import javax.swing.table.TableCellRenderer;
import java.awt.*;
import java.util.Vector;
public class MultilineRenderer extends StyledList implements TableCellRenderer {
public class RendererMultiline extends StyledList implements TableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
setBackground(isSelected ? table.getSelectionBackground() : table.getBackground());

View File

@@ -3,7 +3,7 @@ import Common.Visual.Controls.StyledProgressBar;
import javax.swing.*;
import javax.swing.table.TableCellRenderer;
public class ProgressBarRenderer extends StyledProgressBar implements TableCellRenderer {
public class RendererProgressBar extends StyledProgressBar implements TableCellRenderer {
@Override
public java.awt.Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
setBackground(isSelected ? table.getSelectionBackground() : table.getBackground());

View File

@@ -3,7 +3,7 @@ import Common.MainModule_;
import Common.Visual.StatusEnum;
import javax.swing.*;
public class StatusEnumRenderer extends RendererCell<StatusEnum> {
public class RendererStatusEnum extends RendererCell<StatusEnum> {
@Override
public StatusEnum Init(JTable table, Object value, int row, int column) {
return (StatusEnum) value;

View File

@@ -1,6 +1,6 @@
package Common.Visual.Tables;
import javax.swing.*;
public class TopLeftRenderer extends RendererCell {
public class RendererTopLeft extends RendererCell {
@Override
public Object Init(JTable table, Object value, int row, int column) {
return value;

View File

@@ -5,8 +5,8 @@ import Common.Visual.Fonts.VisualiserFonts;
import javax.swing.*;
import javax.swing.table.TableCellRenderer;
import java.awt.*;
public class WrapTextRenderer extends JTextArea implements TableCellRenderer {
public WrapTextRenderer() {
public class RendererWrapText extends JTextArea implements TableCellRenderer {
public RendererWrapText() {
setLineWrap(true);
setWrapStyleWord(true);
// setOpaque(false);

View File

@@ -1,10 +0,0 @@
package Common.Visual.Tables;
public enum TableEditors {
EditorDefault,
EditorSelect,
EditorHyperlinks,
EditorDimension,
EditorCompilerEnvironmentValue,
EditorCompilerOptionParameterValue,
EditorAutoConfiguration
}

View File

@@ -1,20 +0,0 @@
package Common.Visual.Tables;
public enum TableRenderers {
RendererDefault,
RendererDate,
RendererProgress,
RendererSelect,
RendererDimension,
RendererMultiline,
RendererHyperlinks,
RendererTopLeft,
RendererMaskedInt,
RendererVariantRank,
RendererHiddenList,
RendererWrapText,
RendererCompilerOptionParameterValue,
RendererCompilerEnvironmentValue,
RendererCompilerOptionParameterName,
RendererStatusEnum,
RendererAutoConfiguration
}

View File

@@ -1,89 +0,0 @@
package Common.Visual.Tables;
import _VisualDVM.ProjectData.Files.UI.FilesHyperlinksPanel;
import javax.swing.*;
import javax.swing.event.CellEditorListener;
import javax.swing.event.ChangeEvent;
import javax.swing.table.TableCellEditor;
import java.awt.*;
import java.util.EventObject;
import java.util.Objects;
import java.util.Vector;
public class VectorEditor extends FilesHyperlinksPanel implements TableCellEditor {
protected transient ChangeEvent changeEvent;
@Override
public Component getTableCellEditorComponent(
JTable table, Object value, boolean isSelected, int row, int column) {
if (value instanceof Vector) {
UpdateByCell((Vector) value);
this.Hyperlinks.setBackground(table.getSelectionBackground());
Hyperlinks.setSelectionBackground(table.getSelectionBackground());
Hyperlinks.setSelectionForeground(table.getSelectionForeground());
}
return this;
}
@Override
public Object getCellEditorValue() {
return links;
}
//Copied from AbstractCellEditor
//protected EventListenerList listenerList = new EventListenerList();
@Override
public boolean isCellEditable(EventObject e) {
return true;
}
@Override
public boolean shouldSelectCell(EventObject anEvent) {
return true;
}
@Override
public boolean stopCellEditing() {
fireEditingStopped();
return true;
}
@Override
public void cancelCellEditing() {
fireEditingCanceled();
}
@Override
public void addCellEditorListener(CellEditorListener l) {
listenerList.add(CellEditorListener.class, l);
}
@Override
public void removeCellEditorListener(CellEditorListener l) {
listenerList.remove(CellEditorListener.class, l);
}
public CellEditorListener[] getCellEditorListeners() {
return listenerList.getListeners(CellEditorListener.class);
}
protected void fireEditingStopped() {
// Guaranteed to return a non-null array
Object[] listeners = listenerList.getListenerList();
// Process the listeners last to first, notifying
// those that are interested in this event
for (int i = listeners.length - 2; i >= 0; i -= 2) {
if (listeners[i] == CellEditorListener.class) {
// Lazily create the event:
if (Objects.isNull(changeEvent)) {
changeEvent = new ChangeEvent(this);
}
((CellEditorListener) listeners[i + 1]).editingStopped(changeEvent);
}
}
}
protected void fireEditingCanceled() {
// Guaranteed to return a non-null array
Object[] listeners = listenerList.getListenerList();
// Process the listeners last to first, notifying
// those that are interested in this event
for (int i = listeners.length - 2; i >= 0; i -= 2) {
if (listeners[i] == CellEditorListener.class) {
// Lazily create the event:
if (Objects.isNull(changeEvent)) {
changeEvent = new ChangeEvent(this);
}
((CellEditorListener) listeners[i + 1]).editingCanceled(changeEvent);
}
}
}
}

View File

@@ -24,8 +24,8 @@ public class StyledTree extends JTree implements ThemeElement {
setFont(MainModule_.instance.getUI().getTheme().Fonts.get(VisualiserFonts.TreePlain));
setToggleClickCount(0); //отключение сворачивание разворачивания по двойному клику
//--
if (!getRenderer().equals(TreeRenderers.RendererUndefined))
setCellRenderer(MainModule_.instance.getUI().getTreeRenderer(getRenderer()));
if (getRendererClass()!=null)
setCellRenderer(MainModule_.instance.getUI().getTreeRenderer(getRendererClass()));
//--
getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
addTreeSelectionListener(e -> {
@@ -65,8 +65,8 @@ public class StyledTree extends JTree implements ThemeElement {
applyTheme();
ExpandAll();
}
public TreeRenderers getRenderer() {
return TreeRenderers.RendererUndefined;
public Class getRendererClass() {
return null;
}
public void EventsOn() {
events_on = true;

View File

@@ -1,6 +1,6 @@
package Common.Visual.Trees;
import Common.Visual.ControlForm;
import Common.Visual.UI_;
import Common.Visual.UI;
import java.awt.*;
public class TreeForm<C extends StyledTree> extends ControlForm<C> {
@@ -25,6 +25,6 @@ public class TreeForm<C extends StyledTree> extends ControlForm<C> {
@Override
public void Clear() {
super.Clear();
UI_.Clear(content);
UI.Clear(content);
}
}

View File

@@ -1,13 +0,0 @@
package Common.Visual.Trees;
public enum TreeRenderers {
RendererUndefined,
//-
RendererGraph,
RendererFile,
RendererRemoteFile,
RendererVersion,
RendererRule,
RendererAttachment,
RendererSapforVersion,
RendererSelection,
}

View File

@@ -5,13 +5,8 @@ import Common.Utils.Utils_;
import javax.swing.*;
import javax.swing.event.ChangeListener;
import javax.swing.text.DefaultFormatter;
import javax.swing.text.DefaultHighlighter;
import javax.swing.text.Highlighter;
import java.awt.*;
public class UI_ {
//--
public static final Highlighter.HighlightPainter GreenTextPainter = new DefaultHighlighter.DefaultHighlightPainter(new Color(152, 251, 152, 90));
public static final Highlighter.HighlightPainter RedTextPainter = new DefaultHighlighter.DefaultHighlightPainter(new Color(240, 128, 128, 90));
public class UI {
public static boolean active = false;
public static boolean isActive() {
return active;
@@ -55,7 +50,7 @@ public class UI_ {
}
//Примитивные диалоговые элементы
public static boolean Question(Component parent, String text) {
return !UI_.isActive() || (JOptionPane.showConfirmDialog(parent,
return !UI.isActive() || (JOptionPane.showConfirmDialog(parent,
text + "?",
"Подтверждение",
JOptionPane.YES_NO_OPTION,
@@ -66,16 +61,16 @@ public class UI_ {
}
public static void Info(String message) {
Utils_.CopyToClipboard(message);
if (UI_.isActive())
if (UI.isActive())
JOptionPane.showMessageDialog(MainModule_.instance.getUI().getFrontWindow(), message, "", 1);
}
public static void Error(String message) {
Utils_.CopyToClipboard(message);
if (UI_.isActive())
if (UI.isActive())
JOptionPane.showMessageDialog(MainModule_.instance.getUI().getFrontWindow(), message, "", 0);
}
public static boolean Warning(String text) {
return !UI_.isActive() ||
return !UI.isActive() ||
JOptionPane.showConfirmDialog(MainModule_.instance.getUI().getFrontWindow(),
text + "\nВы уверены?",
"Подтверждение",

View File

@@ -2,10 +2,8 @@ package Common.Visual;
import Common.Database.Tables.DataSet;
import Common.Visual.Menus.DataMenuBar;
import Common.Visual.Menus.FastAccessMenuBar;
import Common.Visual.Tables.*;
import Common.Visual.Themes.DefaultTheme;
import Common.Visual.Themes.VisualiserTheme;
import Common.Visual.Trees.SelectionTreeCellRenderer;
import Common.Visual.Windows.PassForm;
import javax.swing.*;
@@ -16,15 +14,12 @@ import java.awt.*;
import java.util.LinkedHashMap;
import java.util.Stack;
import static Common.Visual.Tables.TableEditors.EditorSelect;
import static Common.Visual.Tables.TableRenderers.*;
import static Common.Visual.Trees.TreeRenderers.RendererSelection;
public class UIModule_ {
public LinkedHashMap<Class<? extends DataSet>, DataMenuBar> menuBars = new LinkedHashMap<>();
public Stack<Component> windowsStack = new Stack<>();
protected LinkedHashMap<Common.Visual.Tables.TableRenderers, TableCellRenderer> tableRenderers = new LinkedHashMap<>();
protected LinkedHashMap<Common.Visual.Tables.TableEditors, TableCellEditor> tableEditors = new LinkedHashMap<>();
protected LinkedHashMap<Common.Visual.Trees.TreeRenderers, TreeCellRenderer> treeRenderers = new LinkedHashMap<>();
protected LinkedHashMap<Class, TableCellRenderer> tableRenderers = new LinkedHashMap<>();
protected LinkedHashMap<Class, TableCellEditor> tableEditors = new LinkedHashMap<>();
protected LinkedHashMap<Class, TreeCellRenderer> treeRenderers = new LinkedHashMap<>();
//--
VisualiserTheme theme = new DefaultTheme();
FastAccessMenuBar fastAccessMenuBar = new FastAccessMenuBar();
@@ -62,20 +57,6 @@ public class UIModule_ {
UIManager.put("OptionPane.cancelButtonText", "Отмена");
UIManager.put("OptionPane.okButtonText", "Готово");
//</editor-fold>
tableRenderers.put(RendererDate, new DateRenderer_());
tableRenderers.put(RendererProgress, new ProgressBarRenderer());
tableRenderers.put(RendererSelect, new DBObjectSelectionRenderer());
tableRenderers.put(RendererMultiline, new MultilineRenderer());
tableRenderers.put(RendererHyperlinks, new HyperlinksRenderer());
tableRenderers.put(RendererTopLeft, new TopLeftRenderer());
tableRenderers.put(RendererMaskedInt, new MaskedIntegerValueRenderer());
tableRenderers.put(RendererHiddenList, new HiddenListRenderer());
tableRenderers.put(RendererWrapText, new WrapTextRenderer());
tableRenderers.put(RendererStatusEnum, new StatusEnumRenderer());
//-
tableEditors.put(EditorSelect, new DBObjectSelector());
//
treeRenderers.put(RendererSelection, new SelectionTreeCellRenderer());
}
//--
public VisualiserTheme getTheme() {
@@ -108,13 +89,49 @@ public class UIModule_ {
}
return res;
}
public TableCellRenderer getTableRenderer(Common.Visual.Tables.TableRenderers r_name) {
return tableRenderers.get(r_name);
public TableCellRenderer getTableRenderer(Class key) {
TableCellRenderer res = null;
if (tableRenderers.containsKey(key))
res= tableRenderers.get(key);
else {
try {
res = (TableCellRenderer) key.newInstance();
}
catch (Exception ex){
ex.printStackTrace();
}
tableRenderers.put(key,res);
}
return res;
}
public TableCellEditor getTableEditor(Common.Visual.Tables.TableEditors e_name) {
return tableEditors.get(e_name);
public TableCellEditor getTableEditor(Class key) {
TableCellEditor res = null;
if (tableEditors.containsKey(key))
res= tableEditors.get(key);
else {
try {
res = (TableCellEditor) key.newInstance();
}
catch (Exception ex){
ex.printStackTrace();
}
tableEditors.put(key,res);
}
return res;
}
public TreeCellRenderer getTreeRenderer(Common.Visual.Trees.TreeRenderers r_name) {
return treeRenderers.get(r_name);
public TreeCellRenderer getTreeRenderer(Class key) {
TreeCellRenderer res = null;
if (treeRenderers.containsKey(key))
res= treeRenderers.get(key);
else {
try {
res = (TreeCellRenderer) key.newInstance();
}
catch (Exception ex){
ex.printStackTrace();
}
treeRenderers.put(key,res);
}
return res;
}
}

View File

@@ -4,7 +4,7 @@ import Common.Utils.TextLog;
import Common.Utils.Utils_;
import Common.Visual.Fonts.VisualiserFonts;
import Common.Visual.Themes.ThemeElement;
import Common.Visual.UI_;
import Common.Visual.UI;
import javax.swing.*;
import java.awt.*;
@@ -137,7 +137,7 @@ public class Dialog<T, F extends DialogFields> extends JDialog implements ThemeE
OK = true;
CloseAction();
} else
UI_.Error("Валидация не пройдена:\n" + Log.toString());
UI.Error("Валидация не пройдена:\n" + Log.toString());
}
protected void onCancel() {
CloseAction();