diff --git a/build.9.0.gradle b/build.9.0.gradle
index b31565813..f2fe42850 100644
--- a/build.9.0.gradle
+++ b/build.9.0.gradle
@@ -15,6 +15,7 @@ task appletJar<<{
fileset(dir:"${basicDir}/report/build/classes/main")
fileset(dir:"${basicDir}/platform/build/classes/main")
}
+ unjar(src:"${libDir}/fr-core-9.0.jar",dest:"./tmp")
unjar(src:"${libDir}/fr-third-9.0.jar",dest:"./tmp")
unjar(src:"${libDir}/servlet-api.jar",dest:"./tmp")
jar(jarfile:"build/libs/fr-applet-9.0.jar"){
diff --git a/designer/src/com/fr/design/mainframe/InformationCollector.java b/designer/src/com/fr/design/mainframe/InformationCollector.java
index a5912da56..37e712378 100644
--- a/designer/src/com/fr/design/mainframe/InformationCollector.java
+++ b/designer/src/com/fr/design/mainframe/InformationCollector.java
@@ -3,7 +3,7 @@
*/
package com.fr.design.mainframe;
-import com.fr.base.ConfigManager;
+import com.fr.base.ConfigManagerFactory;
import com.fr.base.FRContext;
import com.fr.data.core.db.DBUtils;
import com.fr.data.core.db.dialect.DialectFactory;
@@ -13,23 +13,51 @@ import com.fr.data.core.db.dml.Table;
import com.fr.design.DesignerEnvManager;
import com.fr.design.mainframe.errorinfo.ErrorInfoUploader;
import com.fr.design.mainframe.templateinfo.TemplateInfoCollector;
-import com.fr.general.*;
+import com.fr.general.ComparatorUtils;
+import com.fr.general.DateUtils;
+import com.fr.general.DesUtils;
+import com.fr.general.GeneralUtils;
+import com.fr.general.IOUtils;
+import com.fr.general.SiteCenter;
import com.fr.general.http.HttpClient;
import com.fr.json.JSONArray;
import com.fr.json.JSONException;
+import com.fr.json.JSONObject;
import com.fr.record.DBRecordManager;
-import com.fr.stable.*;
-import com.fr.stable.xml.*;
+import com.fr.stable.ArrayUtils;
+import com.fr.stable.EncodeConstants;
+import com.fr.stable.ProductConstants;
+import com.fr.stable.StableUtils;
+import com.fr.stable.StringUtils;
+import com.fr.stable.xml.XMLPrintWriter;
+import com.fr.stable.xml.XMLReadable;
+import com.fr.stable.xml.XMLTools;
+import com.fr.stable.xml.XMLWriter;
+import com.fr.stable.xml.XMLableReader;
import com.fr.third.javax.xml.stream.XMLStreamException;
-import org.json.JSONObject;
-import java.io.*;
+import java.io.BufferedWriter;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
* @author neil
@@ -126,19 +154,23 @@ public class InformationCollector implements XMLReadable, XMLWriter {
JSONArray startStopArray = new JSONArray();
for (int i = 0; i < startStop.size(); i++) {
JSONObject jo = new JSONObject();
- jo.put(ATTR_START, startStop.get(i).getStartDate());
- jo.put(ATTR_STOP, startStop.get(i).getStopDate());
- startStopArray.put(jo);
+ try {
+ jo.put(ATTR_START, startStop.get(i).getStartDate());
+ jo.put(ATTR_STOP, startStop.get(i).getStopDate());
+ startStopArray.put(jo);
+ DesignerEnvManager envManager = DesignerEnvManager.getEnvManager();
+ content.put(XML_START_STOP, startStopArray);
+ content.put(XML_UUID, envManager.getUUID());
+ content.put(XML_JAR, GeneralUtils.readBuildNO());
+ content.put(XML_VERSION, ProductConstants.RELEASE_VERSION);
+ content.put(XML_USERNAME, ConfigManagerFactory.getProviderInstance().getBbsUsername());
+ content.put(XML_KEY, envManager.getActivationKey());
+ content.put(XML_OS, System.getProperty("os.name"));
+ } catch (JSONException e) {
+ FRContext.getLogger().error(e.getMessage(), e);
+ }
}
- DesignerEnvManager envManager = DesignerEnvManager.getEnvManager();
- content.put(XML_START_STOP, startStopArray);
- content.put(XML_UUID, envManager.getUUID());
- content.put(XML_JAR, GeneralUtils.readBuildNO());
- content.put(XML_VERSION, ProductConstants.RELEASE_VERSION);
- content.put(XML_USERNAME, ConfigManager.getProviderInstance().getBbsUsername());
- content.put(XML_KEY, envManager.getActivationKey());
- content.put(XML_OS, System.getProperty("os.name"));
-
+
try {
return content.toString().getBytes(EncodeConstants.ENCODING_UTF_8);
} catch (UnsupportedEncodingException e) {
@@ -162,7 +194,12 @@ public class InformationCollector implements XMLReadable, XMLWriter {
}
String res = hc.getResponseText();
//服务器返回true,说明已经取得成功,清空当前记录的信息
- boolean success = ComparatorUtils.equals(new JSONObject(res).get("status"), "success");
+ boolean success = false;
+ try {
+ success = ComparatorUtils.equals(new JSONObject(res).get("status"), "success");
+ } catch (JSONException e) {
+ FRContext.getLogger().error(e.getMessage(), e);
+ }
if (success){
this.reset();
}
@@ -202,8 +239,13 @@ public class InformationCollector implements XMLReadable, XMLWriter {
}
String res = httpClient.getResponseText();
- boolean success = ComparatorUtils.equals(new JSONObject(res).get("status"), "success");
- //服务器返回true, 说明已经获取成功, 清空当前记录的信息
+ boolean success = false;
+ try {
+ success = ComparatorUtils.equals(new JSONObject(res).get("status"), "success");
+ } catch (JSONException e) {
+ FRContext.getLogger().error(e.getMessage(), e);
+ }
+ //服务器返回true, 说明已经获取成功, 清空当前记录的信息
if (success) {
deleteLogDB(conn, table);
}
@@ -255,7 +297,7 @@ public class InformationCollector implements XMLReadable, XMLWriter {
}
DesignerEnvManager envManager = DesignerEnvManager.getEnvManager();
- content.put("username", ConfigManager.getProviderInstance().getBbsUsername());
+ content.put("username", ConfigManagerFactory.getProviderInstance().getBbsUsername());
content.put("uuid", envManager.getUUID());
content.put("functions", functionArray);
diff --git a/designer_base/src/com/fr/design/DesignerEnvManager.java b/designer_base/src/com/fr/design/DesignerEnvManager.java
index f43d05bac..1cd613785 100644
--- a/designer_base/src/com/fr/design/DesignerEnvManager.java
+++ b/designer_base/src/com/fr/design/DesignerEnvManager.java
@@ -14,7 +14,6 @@ import com.fr.env.RemoteEnv;
import com.fr.env.SignIn;
import com.fr.file.FILEFactory;
import com.fr.general.ComparatorUtils;
-import com.fr.general.FRLevel;
import com.fr.general.FRLogFormatter;
import com.fr.general.FRLogger;
import com.fr.general.GeneralContext;
@@ -34,9 +33,10 @@ import com.fr.stable.xml.XMLTools;
import com.fr.stable.xml.XMLWriter;
import com.fr.stable.xml.XMLableReader;
-import javax.swing.*;
+import javax.swing.SwingWorker;
import javax.swing.SwingWorker.StateValue;
-import java.awt.*;
+import java.awt.Color;
+import java.awt.Rectangle;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
@@ -53,7 +53,6 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.FileHandler;
import java.util.logging.Handler;
-import java.util.logging.Level;
/**
* The manager of Designer GUI.
@@ -97,7 +96,6 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
private Color paginationLineColor = Color.black; // line color of paper
private boolean supportCellEditorDef = false;
private boolean isDragPermited = false;
- private Level level = Level.INFO;
private int language;
//2014-8-26默认显示全部, 因为以前的版本, 虽然是false, 实际上是显示所有表, 因此这边要兼容
private boolean useOracleSystemSpace = true;
@@ -240,10 +238,6 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
*/
public static void loadLogSetting() {
DesignerEnvManager designerEnvManager = DesignerEnvManager.getEnvManager();
- Level logLevel = designerEnvManager.getLogLevel();
- if (logLevel != null) {
- FRContext.getLogger().setLogLevel(logLevel, true);
- }
if (StringUtils.isNotEmpty(designerEnvManager.getJdkHome())) {
System.setProperty("java.home", designerEnvManager.getJdkHome());
}
@@ -1156,20 +1150,6 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
this.logLocation = logsLocation;
}
- /**
- * 返回日志的等级
- */
- public Level getLogLevel() {
- return this.level;
- }
-
- /**
- * 设置log的等级
- */
- public void setLogLevel(Level level) {
- this.level = level;
- }
-
/**
* 设置撤销的限制次数
*/
@@ -1320,8 +1300,6 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
readActiveKey(reader);
} else if ("LogLocation".equals(name)) {
readLogLocation(reader);
- } else if ("LogLevel".equals(name)) {
- this.readLogLevel(reader);
} else if ("Language".equals(name)) {
readLanguage(reader);
} else if ("JettyServerPort".equals(name)) {
@@ -1516,15 +1494,6 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
checkRecentOpenedFileNum();
}
-
- private void readLogLevel(XMLableReader reader) {
- String level;
- if ((level = reader.getElementValue()) != null) {
- this.setLogLevel(FRLevel.getByName(level).getLevel());
- }
- }
-
-
/**
* Write XML.
* The method will be invoked when save data to XML file.
@@ -1700,11 +1669,6 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
writer.end();
}
- if (this.level != null) {
- writer.startTAG("LogLevel");
- writer.textNode(FRLevel.getByLevel(this.level).getName());
- writer.end();
- }
if (StringUtils.isNotBlank(jdkHome)) {
writer.startTAG("jdkHome");
writer.textNode(jdkHome);
diff --git a/designer_base/src/com/fr/design/actions/file/PreferencePane.java b/designer_base/src/com/fr/design/actions/file/PreferencePane.java
index 51b8c374a..d32b110d1 100644
--- a/designer_base/src/com/fr/design/actions/file/PreferencePane.java
+++ b/designer_base/src/com/fr/design/actions/file/PreferencePane.java
@@ -1,6 +1,8 @@
package com.fr.design.actions.file;
import com.fr.base.BaseUtils;
+import com.fr.base.ConfigManager;
+import com.fr.base.FRContext;
import com.fr.design.DesignerEnvManager;
import com.fr.design.RestartHelper;
import com.fr.design.dialog.BasicDialog;
@@ -25,9 +27,24 @@ import com.fr.general.FRFont;
import com.fr.general.FRLevel;
import com.fr.general.Inter;
-import javax.swing.*;
-import java.awt.*;
-import java.awt.event.*;
+import javax.swing.JFileChooser;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.KeyStroke;
+import javax.swing.SwingUtilities;
+import java.awt.BorderLayout;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.Window;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
import java.io.File;
import java.util.ArrayList;
import java.util.Locale;
@@ -354,7 +371,7 @@ public class PreferencePane extends BasicPane {
logLevelPane.add(logLevelComboBox);
logLevelComboBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- DesignerEnvManager.getEnvManager().setLogLevel(((FRLevel) logLevelComboBox.getSelectedItem()).getLevel());
+ ConfigManager.getProviderInstance().setServerLogLevel(((FRLevel) logLevelComboBox.getSelectedItem()).getLevel());
}
});
}
@@ -534,7 +551,7 @@ public class PreferencePane extends BasicPane {
this.logExportDirectoryField.setText(designerEnvManager.getLogLocation());
- this.logLevelComboBox.setSelectedItem(FRLevel.getByLevel(designerEnvManager.getLogLevel()));
+ this.logLevelComboBox.setSelectedItem(FRLevel.getByLevel(ConfigManager.getProviderInstance().getServerLogLevel()));
this.languageComboBox.setSelectedItem(LANGUAGE.get(designerEnvManager.getLanguage()));
designerEnvLanguageIndex = designerEnvManager.getLanguage();
@@ -578,8 +595,6 @@ public class PreferencePane extends BasicPane {
designerEnvManager.setLogLocation(this.logExportDirectoryField.getText());
- designerEnvManager.setLogLevel(((FRLevel) logLevelComboBox.getSelectedItem()).getLevel());
-
designerEnvManager.setSupportUndo(supportUndoCheckBox.isSelected());
designerEnvManager.setSupportDefaultParentCalculate(supportDefaultParentCalculateCheckBox.isSelected());
@@ -615,6 +630,14 @@ public class PreferencePane extends BasicPane {
if (maxUndoLimit.getSelectedIndex() == SELECTED_INDEX_5) {
designerEnvManager.setUndoLimit(MAX_UNDO_LIMIT_50);
}
+
+ ConfigManager.getProviderInstance().setServerLogLevel(((FRLevel) logLevelComboBox.getSelectedItem()).getLevel());
+ try {
+ FRContext.getCurrentEnv().writeResource(ConfigManager.getProviderInstance());
+ } catch (Exception e) {
+ FRContext.getLogger().error(e.getMessage());
+ }
+
}
/*
diff --git a/designer_base/src/com/fr/design/extra/LoginWebBridge.java b/designer_base/src/com/fr/design/extra/LoginWebBridge.java
index d7e53c005..79d3684e2 100644
--- a/designer_base/src/com/fr/design/extra/LoginWebBridge.java
+++ b/designer_base/src/com/fr/design/extra/LoginWebBridge.java
@@ -2,7 +2,6 @@ package com.fr.design.extra;
import com.fr.base.ConfigManager;
import com.fr.base.FRContext;
-import com.fr.design.DesignerEnvManager;
import com.fr.design.bbs.BBSLoginUtils;
import com.fr.design.dialog.UIDialog;
import com.fr.design.extra.ucenter.Client;
@@ -10,6 +9,7 @@ import com.fr.design.extra.ucenter.XMLHelper;
import com.fr.design.gui.ilable.UILabel;
import com.fr.general.SiteCenter;
import com.fr.general.http.HttpClient;
+import com.fr.json.JSONObject;
import com.fr.stable.EncodeConstants;
import com.fr.stable.StringUtils;
import javafx.scene.web.WebEngine;
@@ -312,9 +312,9 @@ public class LoginWebBridge {
* @param userInfo
*/
public void getLoginInfo(String userInfo) {
- org.json.JSONObject jo = new org.json.JSONObject(userInfo);
- String status = jo.get("status").toString();
try{
+ JSONObject jo = new JSONObject(userInfo);
+ String status = jo.get("status").toString();
if (status.equals(LOGIN_SUCCESS)) {
String username = jo.get("username").toString();
int uid = Integer.parseInt(jo.get("uid") == null ? "" : jo.get("uid").toString());
diff --git a/designer_base/src/com/fr/design/extra/PluginWebBridge.java b/designer_base/src/com/fr/design/extra/PluginWebBridge.java
index a516fb40b..0fbc7057e 100644
--- a/designer_base/src/com/fr/design/extra/PluginWebBridge.java
+++ b/designer_base/src/com/fr/design/extra/PluginWebBridge.java
@@ -10,6 +10,8 @@ import com.fr.design.gui.ilable.UILabel;
import com.fr.general.FRLogger;
import com.fr.general.Inter;
import com.fr.general.SiteCenter;
+import com.fr.json.JSONException;
+import com.fr.json.JSONObject;
import com.fr.plugin.context.PluginContext;
import com.fr.plugin.context.PluginMarker;
import com.fr.plugin.manage.PluginManager;
@@ -19,7 +21,6 @@ import javafx.scene.web.WebEngine;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import netscape.javascript.JSObject;
-import org.json.JSONObject;
import javax.swing.*;
import java.awt.*;
@@ -91,10 +92,14 @@ public class PluginWebBridge {
public String getRunConfig() {
if (action != null) {
JSONObject jsonObject = new JSONObject();
- jsonObject.put(ACTION, action.getContext());
- Set keySet = config.keySet();
- for (String key : keySet) {
- jsonObject.put(key, config.get(key).toString());
+ try {
+ jsonObject.put(ACTION, action.getContext());
+ Set keySet = config.keySet();
+ for (String key : keySet) {
+ jsonObject.put(key, config.get(key).toString());
+ }
+ } catch (JSONException e) {
+ FRContext.getLogger().error(e.getMessage(), e);
}
return jsonObject.toString();
}
diff --git a/designer_base/src/com/fr/design/mainframe/loghandler/DesignerLogHandler.java b/designer_base/src/com/fr/design/mainframe/loghandler/DesignerLogHandler.java
index 740bd4ffe..9a2aed712 100644
--- a/designer_base/src/com/fr/design/mainframe/loghandler/DesignerLogHandler.java
+++ b/designer_base/src/com/fr/design/mainframe/loghandler/DesignerLogHandler.java
@@ -1,20 +1,44 @@
package com.fr.design.mainframe.loghandler;
import com.fr.base.BaseUtils;
+import com.fr.base.ConfigManager;
import com.fr.base.FRContext;
-import com.fr.design.DesignerEnvManager;
import com.fr.design.gui.icontainer.UIScrollPane;
import com.fr.design.gui.imenu.UIMenuItem;
import com.fr.design.layout.FRGUIPaneFactory;
-import com.fr.general.*;
+import com.fr.general.ComparatorUtils;
+import com.fr.general.FRLogLevel;
+import com.fr.general.FRLogger;
+import com.fr.general.GeneralContext;
+import com.fr.general.Inter;
import com.fr.log.LogHandler;
import com.fr.stable.EnvChangedListener;
import com.fr.stable.xml.LogRecordTimeProvider;
-import javax.swing.*;
-import javax.swing.text.*;
-import java.awt.*;
-import java.awt.event.*;
+import javax.swing.AbstractAction;
+import javax.swing.ActionMap;
+import javax.swing.InputMap;
+import javax.swing.JCheckBoxMenuItem;
+import javax.swing.JComponent;
+import javax.swing.JPanel;
+import javax.swing.JPopupMenu;
+import javax.swing.JTextPane;
+import javax.swing.KeyStroke;
+import javax.swing.text.BadLocationException;
+import javax.swing.text.DefaultEditorKit;
+import javax.swing.text.Document;
+import javax.swing.text.SimpleAttributeSet;
+import javax.swing.text.StyleConstants;
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
@@ -105,7 +129,7 @@ public class DesignerLogHandler {
@Override
public void actionPerformed(ActionEvent e) {
JPopupMenu showsetPopup = new JPopupMenu();
- int logLevelvalue = DesignerEnvManager.getEnvManager().getLogLevel().intValue();
+ int logLevelvalue = ConfigManager.getProviderInstance().getServerLogLevel().intValue();
if (logLevelvalue <= INFO_INT) {
showsetPopup.add(showInfo);
showsetPopup.add(showError);
diff --git a/designer_form/src/com/fr/design/widget/ui/designer/mobile/ElementCaseDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/mobile/ElementCaseDefinePane.java
index 9168b23fd..70c3b94f6 100644
--- a/designer_form/src/com/fr/design/widget/ui/designer/mobile/ElementCaseDefinePane.java
+++ b/designer_form/src/com/fr/design/widget/ui/designer/mobile/ElementCaseDefinePane.java
@@ -3,6 +3,7 @@ package com.fr.design.widget.ui.designer.mobile;
import com.fr.base.mobile.MobileFitAttrState;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.designer.creator.XCreator;
+import com.fr.design.designer.properties.items.Item;
import com.fr.design.foldablepane.UIExpandablePane;
import com.fr.design.gui.frpane.AttributeChangeListener;
import com.fr.design.gui.icheckbox.UICheckBox;
@@ -27,11 +28,11 @@ import java.awt.*;
* Created by fanglei on 2017/8/8.
*/
public class ElementCaseDefinePane extends MobileWidgetDefinePane{
- private static final String[] ITEMS = {
- MobileFitAttrState.HORIZONTAL.description(),
- MobileFitAttrState.VERTICAL.description(),
- MobileFitAttrState.BIDIRECTIONAL.description(),
- MobileFitAttrState.NONE.description()
+ private static final Item[] ITEMS = {
+ new Item(MobileFitAttrState.HORIZONTAL.description(), MobileFitAttrState.HORIZONTAL),
+ new Item(MobileFitAttrState.VERTICAL.description(), MobileFitAttrState.VERTICAL),
+ new Item(MobileFitAttrState.BIDIRECTIONAL.description(), MobileFitAttrState.BIDIRECTIONAL),
+ new Item(MobileFitAttrState.NONE.description(), MobileFitAttrState.NONE)
};
private XCreator xCreator; // 当前选中控件的xCreator
@@ -122,8 +123,8 @@ public class ElementCaseDefinePane extends MobileWidgetDefinePane{
this.designer = designer;
this.addAttributeChangeListener(changeListener);
ElementCaseEditor elementCaseEditor = (ElementCaseEditor)xCreator.toData();
- this.hComboBox.setSelectedIndex(elementCaseEditor.getHorziontalAttr().getState() - 1);
- this.vComboBox.setSelectedIndex(elementCaseEditor.getVerticalAttr().getState() - 1);
+ this.hComboBox.setSelectedItem(new Item (elementCaseEditor.getHorziontalAttr().description(), elementCaseEditor.getHorziontalAttr()));
+ this.vComboBox.setSelectedItem(new Item (elementCaseEditor.getVerticalAttr().description(), elementCaseEditor.getVerticalAttr()));
this.heightRestrictCheckBox.setSelected(elementCaseEditor.isHeightRestrict());
this.maxHeightLabel.setVisible(elementCaseEditor.isHeightRestrict());
this.maxHeightSpinner.setVisible(elementCaseEditor.isHeightRestrict());
@@ -136,10 +137,10 @@ public class ElementCaseDefinePane extends MobileWidgetDefinePane{
String globalName = this.getGlobalName();
switch (globalName) {
case "hComboBox":
- ((ElementCaseEditor)xCreator.toData()).setHorziontalAttr(MobileFitAttrState.parse(hComboBox.getSelectedIndex() + 1));
+ ((ElementCaseEditor)xCreator.toData()).setHorziontalAttr(((MobileFitAttrState)((Item)hComboBox.getSelectedItem()).getValue()));
break;
case "vComboBox":
- ((ElementCaseEditor)xCreator.toData()).setVerticalAttr(MobileFitAttrState.parse(vComboBox.getSelectedIndex() + 1));
+ ((ElementCaseEditor)xCreator.toData()).setVerticalAttr(((MobileFitAttrState)((Item)vComboBox.getSelectedItem()).getValue()));
break;
case "heightRestrictCheckBox":
boolean isHeightRestrict = heightRestrictCheckBox.isSelected();