no message
This commit is contained in:
48
src/_VisualDVM/GlobalData/CompilerOption/CompilerOption.java
Normal file
48
src/_VisualDVM/GlobalData/CompilerOption/CompilerOption.java
Normal 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;
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -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("нет");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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("нет");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user