📄 gemlayoutconfigurationdialog.java
字号:
tp_main.addTab("Apply Values", panelLayoutRunWrapper);
setToolTipText();
pack();
}
/******************************************************************************/
protected JPanel getAdditionalForceConfig(){
return new JPanel();
}
/******************************************************************************/
protected JPanel getAdditionalForceLUConfig(){
return new JPanel();
}
/******************************************************************************/
protected void setToolTipText(){
tf_initTemperature .setToolTipText("Temperature Cells will be initialised with");
tf_minTemperature .setToolTipText("Algorithm stops when all Temperatures/the average of all Temperatures is below this value");
tf_maxTemperature .setToolTipText("Value, no temperature will surmount");
tf_prefEdgeLength .setToolTipText("preferred Length of Edges");
tf_gravitation .setToolTipText("attracting Force to the Barycenter of the Graph");
tf_randomImpulseRange .setToolTipText("Power of disturbing Forces");
tf_overlapDetectWidth .setToolTipText("Distance around a cell that will be searched for overlapping of other cells");
tf_overlapPrefDistance .setToolTipText("Distance the Algorithm try's to keep as mimimum between overlapped cells");
tf_alphaOsc .setToolTipText("Angle in witch Oscillations are detected");
tf_alphaRot .setToolTipText("Angle in witch Rotations are detected");
tf_sigmaOsc .setToolTipText("Penaltyvalue for Oscillations (with a higher Value Temperature decreases more slowly)");
tf_sigmaRot .setToolTipText("Penaltyvalue for Rotations (with a small Value Temperature decreases more slowly)");
tf_lu_initTemperature .setToolTipText(tf_initTemperature.getToolTipText());
tf_lu_minTemperature .setToolTipText(tf_minTemperature.getToolTipText());
tf_lu_maxTemperature .setToolTipText(tf_maxTemperature.getToolTipText());
tf_lu_prefEdgeLength .setToolTipText(tf_prefEdgeLength.getToolTipText());
tf_lu_gravitation .setToolTipText(tf_gravitation.getToolTipText());
tf_lu_randomImpulseRange .setToolTipText(tf_randomImpulseRange.getToolTipText());
tf_lu_overlapDetectWidth .setToolTipText(tf_overlapDetectWidth.getToolTipText());
tf_lu_overlapPrefDistance.setToolTipText(tf_overlapPrefDistance.getToolTipText());
tf_lu_alphaOsc .setToolTipText(tf_alphaOsc.getToolTipText());
tf_lu_alphaRot .setToolTipText(tf_alphaRot.getToolTipText());
tf_lu_sigmaOsc .setToolTipText(tf_sigmaOsc.getToolTipText());
tf_lu_sigmaRot .setToolTipText(tf_sigmaRot.getToolTipText());
tf_lu_depth .setToolTipText("Cells depth Edges away from the inserted Cells will also be updated");
tf_lu_cluster_initTemperature .setToolTipText("Initial temperature for clusters. It is recommended, that this value is below the initial temperature for normal vertices.");
tf_lu_cluster_forceScalingFactor.setToolTipText("Scales the forces, affecting clusters. Possible values are between 0.0 and 1.0. A small value ensures, that clusters move slow and over short distances.");
tf_lu_cluster_factor .setToolTipText("Factor the creation of clusters. A lower value leads to more clusters, with smaller size, a higher value to fewer, bigger clusters");
cb_computePermutation .setToolTipText("Algorithms will be calculated with the same/permutating order of Cells");
cb_endPerAverage .setToolTipText("Should the Algorithm stop when all Temperatures/the average of all Temperatures is below the min. Temperature");
cb_avoidOverlapping .setToolTipText("Switches the calculation of a Force, that appears when two Cells are overlapping");
cb_useOptimizationAlg .setToolTipText("Enables finetuning after the "+GEMLayoutAlgorithm.KEY_CAPTION+"-Algorithm with a short run of the "+AnnealingLayoutController.KEY_TITLE+"-Algorithm");
cb_lu_enableLayoutUpdate .setToolTipText("Should the Algorithm be performed, when Cells collapses/expand");
cb_lu_computePermutation .setToolTipText(cb_computePermutation.getToolTipText());
cb_lu_endPerAverage .setToolTipText(cb_endPerAverage.getToolTipText());
cb_lu_avoidOverlapping .setToolTipText(cb_avoidOverlapping.getToolTipText());
cb_lu_useOptimizationAlg .setToolTipText(cb_useOptimizationAlg.getToolTipText());
cb_lu_cluster_enable .setToolTipText("Switches clustering for the layout update process on/off");
comb_lu_method .setToolTipText("Method of organizing place for inserted Cells");
button_ConfigOptimizeAlg .setToolTipText("Configures the "+AnnealingLayoutController.KEY_TITLE+"-Algorithm for finetuning purpose");
button_lu_ConfigOptimizeAlg.setToolTipText(button_ConfigOptimizeAlg.getToolTipText());
}
/******************************************************************************/
/** Closes the dialog
* @see #action_cancel
* */
private void closeDialog() {
action_cancel();
}
/******************************************************************************/
protected boolean assertDouble(String text,String name,ArrayList errList){
try {
Double.parseDouble(text);
}
catch( NumberFormatException e ){
String errMsg = name+" is NOT a double value";
errList.add(errMsg);
return false;
}
return true;
}
/******************************************************************************/
protected boolean assertInteger(String text,String name,ArrayList errList){
try {
Integer.parseInt(text);
}
catch( NumberFormatException e ){
String errMsg = name+" is NOT a integer value";
errList.add(errMsg);
return false;
}
return true;
}
/******************************************************************************/
protected boolean assertRange(String value, double minValue,
double maxValue, boolean includeMinimum,
boolean includeMaximum, String name,
ArrayList errList){
double val = Double.parseDouble(value);
boolean isOK = true;
if( includeMinimum ){
isOK = minValue <= val;
}
else {
isOK = minValue < val;
}
if( isOK ){
if( includeMaximum ){
isOK = maxValue >= val;
}
else {
isOK = maxValue > val;
}
if( isOK )
return true;
}
//if isOK == false
String errMsg = name+" is out of the interval ";
if( includeMinimum ){
errMsg += "[";
}
else {
errMsg += "]";
}
errMsg += minValue+";"+maxValue;
if( includeMaximum ){
errMsg += "]";
}
else {
errMsg += "[";
}
errList.add(errMsg);
return false;
}
/******************************************************************************/
protected boolean assertRange(String value, int minValue, int maxValue,
boolean includeMinimum,
boolean includeMaximum,
String name, ArrayList errList){
int val = Integer.parseInt(value);
boolean isOK = true;
if( includeMinimum ){
isOK = minValue <= val;
}
else {
isOK = minValue < val;
}
if( isOK ){
if( includeMaximum ){
isOK = maxValue >= val;
}
else {
isOK = maxValue > val;
}
if( isOK )
return true;
}
//if isOK == false
String errMsg = name+" is out of the interval ";
if( includeMinimum ){
errMsg += "[";
}
else {
errMsg += "]";
}
errMsg += minValue+";"+maxValue;
if( includeMaximum ){
errMsg += "]";
}
else {
errMsg += "[";
}
errList.add(errMsg);
return false;
}
/******************************************************************************/
protected boolean assertMinimum(String value,double minValue,boolean include,String name,ArrayList errList){
double val = Double.parseDouble(value);
boolean isOK = true;
if( include ){
isOK = minValue <= val;
}
else {
isOK = minValue < val;
}
if( isOK )
return true;
String errMsg = name+" has to be bigger";
if( include ){
errMsg += " or equal to ";
}
else {
errMsg += " then ";
}
errMsg += String.valueOf(minValue);
errList.add(errMsg);
return false;
}
/******************************************************************************/
protected boolean assertMinimum(String value,int minValue,boolean include,String name,ArrayList errList){
int val = Integer.parseInt(value);
boolean isOK = true;
if( include ){
isOK = minValue <= val;
}
else {
isOK = minValue < val;
}
if( isOK )
return true;
String errMsg = name+" has to be bigger";
if( include ){
errMsg += " or equal to ";
}
else {
errMsg += " then ";
}
errMsg += String.valueOf(minValue);
errList.add(errMsg);
return false;
}
/******************************************************************************/
public double getInitTemperature(){
return Double.parseDouble(tf_initTemperature.getText());
}
/******************************************************************************/
public void setInitTemperature(double temperature){
tf_initTemperature.setText(String.valueOf(temperature));
}
/******************************************************************************/
public double getMinTemperature(){
return Double.parseDouble(tf_minTemperature.getText());
}
/******************************************************************************/
public void setMinTemperature(double temperature){
tf_minTemperature.setText(String.valueOf(temperature));
}
/******************************************************************************/
public double getMaxTemperature(){
return Double.parseDouble(tf_maxTemperature.getText());
}
/******************************************************************************/
public void setMaxTemperature(double temperature){
tf_maxTemperature.setText(String.valueOf(temperature));
}
/******************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -