no message

This commit is contained in:
2024-10-15 13:35:33 +03:00
parent e4d907e4a3
commit b7b82e54c6
121 changed files with 204 additions and 280 deletions

View File

@@ -5,6 +5,7 @@ import Common.Database.Objects.DBObject;
import Common.Database.Tables.DBTable;
import Common.Database.Tables.DataSet;
import Common.Database.Tables.FKBehaviour;
import Common.MainModule_;
import Common.Utils.Utils_;
import Common.Visual.Menus.TableMenu;
import Common.Visual.Tables.ColumnInfo;
@@ -12,7 +13,6 @@ import Common.Visual.Tables.DataTable;
import Common.Visual.Tables.Grid.GridAnchestor;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Grid.TableVisualData;
import _VisualDVM.Visual.UI;
import javax.swing.*;
import javax.swing.table.TableColumn;
@@ -184,9 +184,9 @@ public class DataSetControlForm extends ControlWithCurrentForm<DataTable> {
ColumnInfo columnInfo = columns.get(i);
if (columnInfo.isVisible()) {
if (columnInfo.hasRenderer())
getColumnModel().getColumn(i).setCellRenderer(UI.TableRenderers.get(columnInfo.getRenderer()));
getColumnModel().getColumn(i).setCellRenderer(MainModule_.instance.getUI().getTableRenderer(columnInfo.getRenderer()));
if (columnInfo.hasEditor())
getColumnModel().getColumn(i).setCellEditor(UI.TableEditors.get(columnInfo.getEditor()));
getColumnModel().getColumn(i).setCellEditor(MainModule_.instance.getUI().getTableEditor(columnInfo.getEditor()));
if (columnInfo.hasMaxWidth())
getColumnModel().getColumn((i)).setMaxWidth(columnInfo.getMaxWidth());
if (columnInfo.hasMinWidth())

View File

@@ -0,0 +1,33 @@
package Common.Visual.Menus;
import Common.MainModule_;
import Common.Passes.Pass;
import Common.Visual.UI_;
import javax.swing.*;
import java.awt.*;
public class FastAccessMenuBar extends VisualiserMenuBar {
@Override
public void setSizeLimits() {
//если задавать PreffredSize 0, скролл НЕ РАБОТАЕТ. Магия!
}
public void showPass(Pass pass) {
JButton button = pass.createButton();
add(button);
Dimension d = button.getPreferredSize();
button.setPreferredSize(new Dimension(d.width, 30));
revalidate();
repaint();
}
public void Refresh(int limit) {
Drop();
int i = 1;
for (Object pass : MainModule_.instance.getFirstAccessPasses()) {
showPass((Pass) pass);
++i;
if (i > limit) break;
}
}
public void Drop() {
UI_.Clear(this);
}
}

View File

@@ -3,7 +3,6 @@ import Common.MainModule_;
import Common.Visual.Fonts.VisualiserFonts;
import Common.Visual.Themes.ThemeElement;
import _VisualDVM.Visual.Menus.GraphMenu;
import _VisualDVM.Visual.UI;
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
@@ -26,7 +25,7 @@ public class StyledTree extends JTree implements ThemeElement {
setToggleClickCount(0); //отключение сворачивание разворачивания по двойному клику
//--
if (!getRenderer().equals(TreeRenderers.RendererUndefined))
setCellRenderer(UI.TreeRenderers.get(getRenderer()));
setCellRenderer(MainModule_.instance.getUI().getTreeRenderer(getRenderer()));
//--
getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
addTreeSelectionListener(e -> {

View File

@@ -1,49 +1,35 @@
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 _VisualDVM.Visual.Menus.FastAccessMenuBar.FastAccessMenuBar;
import javax.swing.*;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableCellRenderer;
import javax.swing.tree.TreeCellRenderer;
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<>();
//--
VisualiserTheme theme = new DefaultTheme();
public VisualiserTheme getTheme() {
return theme;
}
public void setTheme(VisualiserTheme theme_in) {
theme = theme_in;
}
//--
PassForm passForm = null;//текущая форма прохода. нужна для
public boolean HasPassForm(){return passForm!=null;}
public PassForm GetPassForm(){return passForm;}
public PassForm SetPassForm(PassForm passForm_in){
return passForm = passForm_in;
}
public void DropPassForm(){passForm=null;}
//--
//--
FastAccessMenuBar fastAccessMenuBar = new FastAccessMenuBar();
public FastAccessMenuBar getFastAccessMenuBar(){return fastAccessMenuBar;}
//-
public LinkedHashMap<Class<? extends DataSet>, DataMenuBar> menuBars = new LinkedHashMap<>();
//--
public Stack<Component> windowsStack = new Stack<>();
public Component getFrontWindow() {
Component res = null;
try {
res = windowsStack.peek();
} catch (Exception ignored) {
}
return res;
}
public UIModule_(){
PassForm passForm = null;//текущая форма прохода. нужна для
public UIModule_() {
//<editor-fold desc="Локализация компонентов окна JFileChooser">
UIManager.put("FileChooser.openButtonText", "Открыть");
UIManager.put("FileChooser.cancelButtonText", "Отмена");
@@ -76,5 +62,59 @@ 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() {
return theme;
}
public void setTheme(VisualiserTheme theme_in) {
theme = theme_in;
}
//--
public boolean HasPassForm() {
return passForm != null;
}
public PassForm GetPassForm() {
return passForm;
}
public PassForm SetPassForm(PassForm passForm_in) {
return passForm = passForm_in;
}
public void DropPassForm() {
passForm = null;
}
public FastAccessMenuBar getFastAccessMenuBar() {
return fastAccessMenuBar;
}
public Component getFrontWindow() {
Component res = null;
try {
res = windowsStack.peek();
} catch (Exception ignored) {
}
return res;
}
public TableCellRenderer getTableRenderer(Common.Visual.Tables.TableRenderers r_name) {
return tableRenderers.get(r_name);
}
public TableCellEditor getTableEditor(Common.Visual.Tables.TableEditors e_name) {
return tableEditors.get(e_name);
}
public TreeCellRenderer getTreeRenderer(Common.Visual.Trees.TreeRenderers r_name) {
return treeRenderers.get(r_name);
}
}

View File

@@ -5,15 +5,18 @@ 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.*;
import java.util.Stack;
public class UI_ {
public static boolean active = false; //есть ли интерфейс. в консольных версиях не нужен.
//---
//--
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 static boolean active = false;
public static boolean isActive() {
return active;
}
//-----
//---
public static void Clear(Container container) {
container.removeAll();
container.repaint();