no message
This commit is contained in:
@@ -42,14 +42,16 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
|
||||
}
|
||||
protected void createFilters() {
|
||||
}
|
||||
public Class getMenuBarClass(){return null;}
|
||||
public Class getMenuBarClass() {
|
||||
return null;
|
||||
}
|
||||
public void mountUI(JPanel content_in) {
|
||||
UI_.Clear(content_in);
|
||||
//-->
|
||||
ui_ = createUI();
|
||||
ui_.setContent(content_in);
|
||||
//-->
|
||||
if (getMenuBarClass()!=null){
|
||||
if (getMenuBarClass() != null) {
|
||||
try {
|
||||
DataMenuBar bar = null;
|
||||
if (!MainModule_.instance.getUI().menuBars.containsKey(getClass())) {
|
||||
@@ -64,8 +66,7 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
|
||||
if (ui_.hasCheckBox())
|
||||
bar.createSelectionButtons(this);
|
||||
//--
|
||||
}
|
||||
catch ( Exception ex){
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,37 +15,45 @@ import java.util.Vector;
|
||||
public abstract class MainModule_<D extends VisualiserDatabase, U extends UIModule_> {
|
||||
public static MainModule_ instance = null; //текущий экземпляр. всегда один.
|
||||
//--
|
||||
D db=null;
|
||||
Class<D> db_class=null;
|
||||
LinkedHashMap<Current_, Object> objects=null; //Current
|
||||
D db = null;
|
||||
Class<D> db_class = null;
|
||||
LinkedHashMap<Current_, Object> objects = null; //Current
|
||||
//--
|
||||
LinkedHashMap<PassCode_, Pass> passes=null;
|
||||
LinkedHashMap<PassCode_, Pass> passes = null;
|
||||
//--
|
||||
U ui=null;
|
||||
Class<U> ui_class=null;
|
||||
MenuElement[] last_menu_path=null;
|
||||
U ui = null;
|
||||
Class<U> ui_class = null;
|
||||
MenuElement[] last_menu_path = null;
|
||||
//--
|
||||
public MainModule_(Class<D> db_class_in, Class<U> ui_class_in) throws Exception {
|
||||
ui_class=ui_class_in;
|
||||
ui_class = ui_class_in;
|
||||
db_class = db_class_in;
|
||||
instance = this;
|
||||
}
|
||||
public void CreateAll() throws Exception{
|
||||
if (ui_class!=null)
|
||||
ui=ui_class.newInstance();
|
||||
public void CreateAll() throws Exception {
|
||||
if (ui_class != null)
|
||||
ui = ui_class.newInstance();
|
||||
//--
|
||||
createPasses();
|
||||
//-
|
||||
objects = new LinkedHashMap<>();
|
||||
}
|
||||
//ИНТЕРФЕЙС
|
||||
public boolean hasUI(){return ui!=null;}
|
||||
public U getUI(){
|
||||
public boolean hasUI() {
|
||||
return ui != null;
|
||||
}
|
||||
public U getUI() {
|
||||
return ui;
|
||||
}
|
||||
public boolean hasLastMenuPath(){return last_menu_path!=null;}
|
||||
public MenuElement[] getLastMenuPath(){return last_menu_path;}
|
||||
public MenuElement[] setLastMenuPath(MenuElement[] last_menu_path_in){return last_menu_path=last_menu_path_in;}
|
||||
public boolean hasLastMenuPath() {
|
||||
return last_menu_path != null;
|
||||
}
|
||||
public MenuElement[] getLastMenuPath() {
|
||||
return last_menu_path;
|
||||
}
|
||||
public MenuElement[] setLastMenuPath(MenuElement[] last_menu_path_in) {
|
||||
return last_menu_path = last_menu_path_in;
|
||||
}
|
||||
//БАЗА ДАННЫХ И ТЕКУЩИЕ ОБЪЕКТЫ
|
||||
public D getDb() {
|
||||
return db;
|
||||
|
||||
@@ -9,6 +9,7 @@ import Common.Visual.Controls.StablePassMenuItem;
|
||||
import Common.Visual.UI_;
|
||||
import Common.Visual.Windows.PassForm;
|
||||
import _VisualDVM.Global;
|
||||
import _VisualDVM.GlobalData.Settings.SettingName;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
@@ -94,7 +95,7 @@ public class Pass<T> {
|
||||
} catch (Exception ex) {
|
||||
Utils_.MainLog.PrintException(ex);
|
||||
}
|
||||
MainModule_.instance.getUI().getFastAccessMenuBar().Refresh();
|
||||
MainModule_.instance.getUI().getFastAccessMenuBar().Refresh(((Global.mainModule.getDb()).settings.get(SettingName.FastAccessPassesCount).toInt32()));
|
||||
}
|
||||
}
|
||||
public boolean isDone() {
|
||||
@@ -266,7 +267,8 @@ public class Pass<T> {
|
||||
animation_sem.acquire();
|
||||
//---
|
||||
form = null;
|
||||
MainModule_.instance.getUI().DropPassForm();;
|
||||
MainModule_.instance.getUI().DropPassForm();
|
||||
;
|
||||
System.gc();
|
||||
//--
|
||||
form = MainModule_.instance.getUI().SetPassForm(new PassForm(this));
|
||||
|
||||
@@ -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())
|
||||
|
||||
33
src/Common/Visual/Menus/FastAccessMenuBar.java
Normal file
33
src/Common/Visual/Menus/FastAccessMenuBar.java
Normal 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);
|
||||
}
|
||||
}
|
||||
@@ -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 -> {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user