public void widgetSelected(SelectionEvent e) {
newValue = combo.getText();
+ item = lineLabelViewItem
+ .getItem(CommonItemListFactory.ITEM_NET_TAP_DEVICE);
+ if (item != null && item instanceof NetTapDeviceViewItem) {
+ ((NetTapDeviceViewItem) item).resetCombo(newValue);
+ }
+
// Disable / enable following item - bridge name, ip info, dns
AdvancedViewItem item = lineLabelViewItem
.getItem(CommonItemListFactory.ITEM_NET_IP_INFO);
((NetIPInfoViewItem) item).resetSubItems(newValue);
}
- item = lineLabelViewItem
- .getItem(CommonItemListFactory.ITEM_NET_TAP_DEVICE);
- if (item != null && item instanceof NetTapDeviceViewItem) {
- ((NetTapDeviceViewItem) item).resetCombo(newValue);
- }
item = lineLabelViewItem.getItem(CommonItemListFactory.ITEM_NET_DNS);
if (item != null && item instanceof NetDnsViewItem) {
return newValue;
}
+ private boolean useDHCP() {
+ AdvancedViewItem item = lineLabelViewItem
+ .getItem(CommonItemListFactory.ITEM_NET_IP_INFO);
+ if (item != null && item instanceof NetIPInfoViewItem) {
+ if (((NetIPInfoViewItem) item).useDHCP()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
public void resetText(String connectType) {
- if (connectType.equals(NetConnectTypeViewItem.VALUE_NAT)) {
+ boolean enabled = false;
+ if (connectType.equals(NetConnectTypeViewItem.VALUE_BRIDGE) && !useDHCP()) {
+ enabled = true;
+ }
+
+ if (enabled) {
+ text.setEnabled(true);
+ newValue = oldValue; // restore
+ } else {
// disable text input
text.setEnabled(false);
oldValue = newValue; // save
newValue = "";
-
- } else if (connectType.equals(NetConnectTypeViewItem.VALUE_BRIDGE)) {
- // enable text input
- text.setEnabled(true);
- newValue = oldValue; // restore
}
text.setText(newValue);
resetText(connectType);
}
- // If use DHCP, set disabled.
- item = lineLabelViewItem.getItem(CommonItemListFactory.ITEM_NET_IP_INFO);
- if (item != null && item instanceof NetIPInfoViewItem) {
- if (((NetIPInfoViewItem)item).useDHCP()) {
- setEnabled(false);
- }
- }
return false;
}
} else if (connectType.equals(NetConnectTypeViewItem.VALUE_BRIDGE)) {
// setCheckBox(newValue ? true : false);
setEnabled(true);
+ setCheckBox(true); // If Bridge network selected, set DHCP default.
+ setIPInfoEnabled(false);
}
}
}
}
public void resetText(String connectType) {
- if (connectType.equals(NetConnectTypeViewItem.VALUE_NAT)) {
+ if (connectType.equals(NetConnectTypeViewItem.VALUE_BRIDGE)
+ && !useDHCP()) {
+ resetText(true);
+
+ } else {
resetText(false);
+ }
+ }
- } else if (connectType.equals(NetConnectTypeViewItem.VALUE_BRIDGE)) {
- resetText(true);
+ private boolean useDHCP() {
+ if (parentItem instanceof NetIPInfoViewItem) {
+ NetIPInfoViewItem netItem = (NetIPInfoViewItem)parentItem;
+ if (netItem.useDHCP()) {
+ return true;
+ }
}
+ return false;
}
@Override
resetText(connectType);
}
- // If use DHCP, set disabled.
- if (parentItem instanceof NetIPInfoViewItem) {
- NetIPInfoViewItem netItem = (NetIPInfoViewItem)parentItem;
- if (netItem.useDHCP()) {
- setEnabled(false);
- }
- }
-
return false;
}
@Override
public boolean settingModifyItem(VMPropertyValue value) {
-
oldValue = newValue = value.getAdvancedOptionValue(name);
// text.setText(newValue);
if (enabled) {
// enable text input
- setEnabled(true);
newValue = oldValue; // restore
} else {
// disable text input
- setEnabled(false);
oldValue = newValue; // save
newValue = "";
}
if (newValue != null) {
text.setText(newValue);
}
+ setEnabled(enabled);
}
}