no message

This commit is contained in:
2024-10-09 22:21:57 +03:00
parent 54c80c516b
commit 6252af944e
699 changed files with 2634 additions and 1997 deletions

View File

@@ -0,0 +1,10 @@
package _VisualDVM.ProjectData.Project;
import _VisualDVM.GlobalData.Settings.DBSetting;
import Visual_DVM_2021.Passes.Pass_2021;
public class ChangeSettingPass extends Pass_2021<DBSetting> {
@Override
protected boolean canStart(Object... args) throws Exception {
target = (DBSetting) args[0];
return true;
}
}

View File

@@ -0,0 +1,11 @@
package _VisualDVM.ProjectData.Project;
import Common.Database.Tables.DBTable;
public class ProjectInfoDBTable extends DBTable<String, db_project_info> {
public ProjectInfoDBTable() {
super(String.class, db_project_info.class);
}
@Override
public String getSingleDescription() {
return "проект";
}
}

View File

@@ -0,0 +1,69 @@
package _VisualDVM.ProjectData.Project.UI;
import Common.CurrentAnchestor;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.Visual.Menus.GraphMenu;
import _VisualDVM.Visual.Menus.VersionsMenu;
import Common.Visual.Selectable;
import Common.Visual.Trees.DataTree;
import Common.Visual.Trees.TreeRenderers;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021;
import javax.swing.tree.TreePath;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class VersionsTree extends DataTree {
public VersionsTree() {
super(Current.getRoot().node);
SelectCurrentProject();
this.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case KeyEvent.VK_DELETE:
Pass_2021.passes.get(PassCode_2021.DeleteVersion).Do();
break;
case KeyEvent.VK_ENTER:
if (Current.HasVersion())
Pass_2021.passes.get(PassCode_2021.OpenCurrentProject).Do(Current.getVersion());
break;
}
}
});
}
@Override
public TreeRenderers getRenderer() {
return TreeRenderers.RendererVersion;
}
@Override
public Current getCurrent() {
return Current.Version;
}
public void SelectCurrentProject() {
setSelectionPath(new TreePath(Current.getProject().node.getPath()));
}
@Override
protected GraphMenu createMenu() {
return new VersionsMenu(this);
}
@Override
public void LeftMouseAction1() {
if (Global.versions_multiselection) {
// только если есть режим выбора версий.
Object element = CurrentAnchestor.get(getCurrent());
if ((element instanceof Selectable)) {
((Selectable) element).SwitchSelection();
updateUI();
}
}
}
@Override
public void LeftMouseAction2() {
Pass_2021.passes.get(PassCode_2021.OpenCurrentProject).Do(Current.getVersion());
}
@Override
protected int getStartLine() {
return 1;
}
}

View File

@@ -0,0 +1,75 @@
package _VisualDVM.ProjectData.Project.UI;
import Common.Visual.CommonUI;
import _VisualDVM.Current;
import _VisualDVM.Global;
import Common.Visual.Selectable;
import Common.Visual.Fonts.VisualiserFonts;
import Common.Visual.Trees.StyledTreeCellRenderer;
import _VisualDVM.ProjectData.Project.db_project_info;
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import java.net.URL;
//https://docs.oracle.com/javase/7/docs/api/javax/swing/tree/DefaultMutableTreeNode.html
//https://java.hotexamples.com/ru/examples/java.awt/JTree/-/java-jtree-class-examples.html
public class VersionsTreeCellRenderer extends StyledTreeCellRenderer {
public java.awt.Component getTreeCellRendererComponent(
JTree tree, Object value,
boolean selected, boolean expanded,
boolean leaf, int row, boolean hasFocus) {
super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
Object o = ((DefaultMutableTreeNode) value).getUserObject();
db_project_info version = (db_project_info) o;
if (Global.versions_multiselection) {
setIcon(((Selectable) o).GetSelectionIcon());
} else {
URL imageUrl = null;
boolean current = Current.HasProject() && version.Home.equals(Current.getProject().Home);
String type_image_key = "";
if (version.Home.equals(Current.getRoot().Home))
type_image_key = "Root";
else if (version.IsMCopy())
type_image_key = "M";
else
type_image_key = "Version";
if (current)
type_image_key = "current" + type_image_key;
imageUrl = getClass().getResource("/icons/versions/" +
type_image_key +
".png");
if (imageUrl != null) {
setIcon(new ImageIcon(imageUrl));
}
}
setForeground(tree.getForeground());
setFont(CommonUI.getTheme().Fonts.get(
version.isNew ? VisualiserFonts.NewVersion : VisualiserFonts.TreePlain));
setText(version.getTitle());
return this;
}
/*
Fonts.put(VisualiserFonts.Version, new Font(
new HashMap<TextAttribute, Object>() {
{
put(TextAttribute.FAMILY, "Times New Roman");
put(TextAttribute.FOREGROUND, Color.BLACK);
put(TextAttribute.BACKGROUND, Color.WHITE);
put(TextAttribute.SIZE, 14);
}
}
));
Fonts.put(VisualiserFonts.NewVersion, new Font(
new HashMap<TextAttribute, Object>() {
{
put(TextAttribute.FAMILY, "Times New Roman");
put(TextAttribute.FOREGROUND, Color.BLACK);
put(TextAttribute.BACKGROUND, Color.YELLOW);
put(TextAttribute.SIZE, 14);
}
}
));
*/
}

File diff suppressed because it is too large Load Diff