no message
This commit is contained in:
10
src/_VisualDVM/ProjectData/Project/ChangeSettingPass.java
Normal file
10
src/_VisualDVM/ProjectData/Project/ChangeSettingPass.java
Normal 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;
|
||||
}
|
||||
}
|
||||
11
src/_VisualDVM/ProjectData/Project/ProjectInfoDBTable.java
Normal file
11
src/_VisualDVM/ProjectData/Project/ProjectInfoDBTable.java
Normal 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 "проект";
|
||||
}
|
||||
}
|
||||
69
src/_VisualDVM/ProjectData/Project/UI/VersionsTree.java
Normal file
69
src/_VisualDVM/ProjectData/Project/UI/VersionsTree.java
Normal 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;
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
));
|
||||
*/
|
||||
}
|
||||
1528
src/_VisualDVM/ProjectData/Project/db_project_info.java
Normal file
1528
src/_VisualDVM/ProjectData/Project/db_project_info.java
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user