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,48 @@
package _VisualDVM.GlobalData.CompilerOption;
import Common.Database.Objects.DBObject;
import Common.Utils.CommonUtils;
import com.sun.org.glassfish.gmbal.Description;
import java.util.Arrays;
import java.util.Vector;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CompilerOption extends DBObject {
@Description("PRIMARY KEY, UNIQUE")
public String name = "";
public String parameterSeparator = "";
public String parameterName = "";
public String parameterValue = "";
public Vector<String> parameterVariants = new Vector<>();
public Vector<String> description = new Vector<>();
//--------------------------------------
public boolean hasParameter() {
return !parameterName.isEmpty();
}
@Override
public Object getPK() {
return name;
}
@Override
public String toString() {
return name + (hasParameter() ? (parameterSeparator +
(parameterValue.contains(" ") ? CommonUtils.DQuotes(parameterValue) : parameterValue)) : "");
}
public void CheckParameterVariants() {
for (String line : description)
if (CheckLine(line)) break;
}
public boolean CheckLine(String line) {
if (hasParameter()) {
Pattern DVM_PARAM_VALUES_REGEX = Pattern.compile(CommonUtils.TBrackets(parameterName) + "\\s*=\\s*" + "\\w+(\\|\\w+)+", Pattern.CASE_INSENSITIVE);
Matcher matcher = DVM_PARAM_VALUES_REGEX.matcher(line);
if (matcher.find()) {
String s = line.substring(matcher.start(), matcher.end());
String packed = s.substring(s.lastIndexOf('=') + 1).trim();
parameterVariants = new Vector<>(Arrays.asList(packed.split("\\|")));
return true;
}
}
return false;
}
}

View File

@@ -0,0 +1,47 @@
package _VisualDVM.GlobalData.CompilerOption;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Tables.TableEditors;
import Common.Visual.Tables.TableRenderers;
import static Common.Visual.Tables.TableRenderers.RendererMultiline;
public class CompilerOptionsSet extends DataSet<String, CompilerOption> {
public CompilerOptionsSet() {
super(String.class, CompilerOption.class);
}
@Override
public String[] getUIColumnNames() {
return new String[]{
"Параметр", "Значение", "Описание"
};
}
@Override
public Object getFieldAt(CompilerOption object, int columnIndex) {
switch (columnIndex) {
case 2:
return object.parameterName + object.parameterSeparator;
case 3:
return object.parameterValue;
case 4:
return object.description;
default:
return null;
}
}
@Override
protected DataSetControlForm createUI() {
return new DataSetControlForm(this) {
@Override
public boolean hasCheckBox() {
return true;
}
@Override
protected void AdditionalInitColumns() {
columns.get(2).setRenderer(TableRenderers.RendererCompilerOptionParameterName);
columns.get(3).setRenderer(TableRenderers.RendererCompilerOptionParameterValue);
columns.get(3).setEditor(TableEditors.EditorCompilerOptionParameterValue);
columns.get(4).setRenderer(RendererMultiline);
}
};
}
}

View File

@@ -0,0 +1,20 @@
package _VisualDVM.GlobalData.CompilerOption.UI;
import Common.Visual.CommonUI;
import Common.Visual.Tables.DBObjectRenderer;
import Common.Visual.Fonts.VisualiserFonts;
import _VisualDVM.GlobalData.CompilerOption.CompilerOption;
public class CompilerOptionParameterNameRenderer extends DBObjectRenderer {
@Override
public void Display() {
if (value != null) {
CompilerOption option = (CompilerOption) value;
if (option.hasParameter()) {
setFont(CommonUI.getTheme().Fonts.get(VisualiserFonts.TreePlain));
setText(option.parameterName);
} else {
setFont(CommonUI.getTheme().Fonts.get(VisualiserFonts.UnknownState));
setText("нет");
}
}
}
}

View File

@@ -0,0 +1,33 @@
package _VisualDVM.GlobalData.CompilerOption.UI;
import Common.Visual.CommonUI;
import Common.Visual.Tables.DBObjectEditor;
import Common.Visual.Fonts.VisualiserFonts;
import Common.Visual.Windows.Dialog.Text.ComboTextDialog;
import _VisualDVM.GlobalData.CompilerOption.CompilerOption;
public class CompilerOptionParameterValueEditor extends DBObjectEditor<CompilerOption> {
@Override
public void Action() {
if (value.hasParameter()) {
setFont(CommonUI.getTheme().Fonts.get(VisualiserFonts.Hyperlink));
//-
setText(value.parameterValue.isEmpty() ? "не задано" : value.parameterValue);
//-
ComboTextDialog dialog = new ComboTextDialog();
if (!value.parameterValue.isEmpty())
CommonUI.TrySelect(dialog.fields, value.parameterValue);
dialog.fields.setEditable(value.parameterVariants.isEmpty());
if (dialog.ShowDialog("Изменить значение опции " + value.name,
value.parameterVariants)) {
value.parameterValue = dialog.Result;
setText(value.parameterValue.isEmpty() ? "не задано" : value.parameterValue);
}
} else {
setFont(CommonUI.getTheme().Fonts.get(VisualiserFonts.UnknownState));
setText("нет");
}
}
@Override
public Object getCellEditorValue() {
return value.parameterValue;
}
}

View File

@@ -0,0 +1,20 @@
package _VisualDVM.GlobalData.CompilerOption.UI;
import Common.Visual.CommonUI;
import Common.Visual.Tables.DBObjectRenderer;
import Common.Visual.Fonts.VisualiserFonts;
import _VisualDVM.GlobalData.CompilerOption.CompilerOption;
public class CompilerOptionParameterValueRenderer extends DBObjectRenderer {
@Override
public void Display() {
if (value != null) {
CompilerOption option = (CompilerOption) value;
if (option.hasParameter()) {
setFont(CommonUI.getTheme().Fonts.get(VisualiserFonts.Hyperlink));
setText(option.parameterValue.isEmpty() ? "не задано" : option.parameterValue);
} else {
setFont(CommonUI.getTheme().Fonts.get(VisualiserFonts.UnknownState));
setText("нет");
}
}
}
}

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="_VisualDVM.GlobalData.CompilerOption.UI.CompilerOptionsFields">
<grid id="27dc6" binding="content" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<xy x="20" y="20" width="500" height="400"/>
</constraints>
<properties/>
<border type="none"/>
<children/>
</grid>
</form>

View File

@@ -0,0 +1,12 @@
package _VisualDVM.GlobalData.CompilerOption.UI;
import Common.Visual.Windows.Dialog.DialogFields;
import javax.swing.*;
import java.awt.*;
public class CompilerOptionsFields implements DialogFields {
private JPanel content;
@Override
public Component getContent() {
return content;
}
}