public class LocationEditUICTEx extends LocationEditUI {
public LocationEditUICTEx() throws Exception {
super();
}
private static final long serialVersionUID = -2829809835023377076L;
KDBizPromptBox provinceP = new KDBizPromptBox();
KDBizPromptBox cityP = new KDBizPromptBox();
KDBizPromptBox countryP = new KDBizPromptBox();
KDTextField txtaddress = new KDTextField();
@Override
public void onLoad() throws Exception {
Hashtable hashTable = new Hashtable();
DEPUtils.findComponent(this, new String[] { "txtaddress", "prmtprovince", "prmtcity", "prmtcountry" }, hashTable);
if (hashTable.size() > 0) {
if ((KDBizPromptBox) hashTable.get("prmtprovince") != null) {
provinceP = (KDBizPromptBox) hashTable.get("prmtprovince");
cityP = (KDBizPromptBox) hashTable.get("prmtcity");
countryP = (KDBizPromptBox) hashTable.get("prmtcountry");
txtaddress = (KDTextField) hashTable.get("txtaddress");
provinceP.addDataChangeListener(new DataChangeListener() {
@Override
public void dataChanged(DataChangeEvent arg0) {
try {
prmtprovince_dataChanged(arg0);
} catch (Exception e) {
e.printStackTrace();
}
}
});
cityP.addDataChangeListener(new DataChangeListener() {
@Override
public void dataChanged(DataChangeEvent arg0) {
try {
prmtcity_dataChanged(arg0);
} catch (Exception e) {
e.printStackTrace();
}
}
});
countryP.addDataChangeListener(new DataChangeListener() {
@Override
public void dataChanged(DataChangeEvent arg0) {
try {
prmtcountry_dataChanged(arg0);
} catch (Exception e) {
e.printStackTrace();
}
}
});
cityP.addSelectorListener(new SelectorListener() {
@Override
public void willShow(SelectorEvent paramSelectorEvent) {
ProvinceInfo provinceinfo = null;
if (provinceP.getValue() != null) {
provinceinfo = (ProvinceInfo) provinceP.getValue();
}
if (provinceinfo != null) {
EntityViewInfo view = new EntityViewInfo();
FilterInfo filter = new FilterInfo();
filter.getFilterItems().add(new FilterItemInfo("province.id", provinceinfo.getId()));
view.setFilter(filter);
cityP.setEntityViewInfo(view);
cityP.getQueryAgent().resetRuntimeEntityView();
}
}
});
countryP.addSelectorListener(new SelectorListener() {
@Override
public void willShow(SelectorEvent paramSelectorEvent) {
CityInfo city = null;
if (cityP.getValue() != null) {
city = (CityInfo) cityP.getValue();
}
if (city != null) {
EntityViewInfo view = new EntityViewInfo();
FilterInfo filter = new FilterInfo();
filter.getFilterItems().add(new FilterItemInfo("city.id", city.getId()));
view.setFilter(filter);
countryP.setEntityViewInfo(view);
countryP.getQueryAgent().resetRuntimeEntityView();
}
}
});
}
}
super.onLoad();
}
protected void prmtprovince_dataChanged(DataChangeEvent e) throws Exception {
ProvinceInfo provinceinfo = null;
boolean flag = (e.getOldValue() != null && e.getNewValue() == null) || (e.getOldValue() == null && e.getNewValue() != null) || (e.getOldValue() != null && e.getNewValue() != null && !e.getOldValue().toString().equals(e.getNewValue().toString()));
if (flag && !isFirstOnload()) {
if (provinceP.getValue() != null) {
provinceinfo = (ProvinceInfo) provinceP.getValue();
}
if (provinceinfo != null) {
EntityViewInfo view = new EntityViewInfo();
FilterInfo filter = new FilterInfo();
filter.getFilterItems().add(new FilterItemInfo("province.id", provinceinfo.getId()));
view.setFilter(filter);
cityP.setEntityViewInfo(view);
}
cityP.setValue(null);
countryP.setValue(null);
setAdress(provinceinfo, null, null, txtaddress);
}
}
protected void prmtcity_dataChanged(DataChangeEvent e) throws Exception {
ProvinceInfo provinceinfo = null;
CityInfo city = null;
boolean flag = (e.getOldValue() != null && e.getNewValue() == null) || (e.getOldValue() == null && e.getNewValue() != null) || (e.getOldValue() != null && e.getNewValue() != null && !e.getOldValue().toString().equals(e.getNewValue().toString()));
if (flag && !isFirstOnload()) {
if (provinceP.getValue() != null) {
provinceinfo = (ProvinceInfo) provinceP.getValue();
}
if (cityP.getValue() != null) {
city = (CityInfo) cityP.getValue();
}
if (city != null) {
EntityViewInfo view = new EntityViewInfo();
FilterInfo filter = new FilterInfo();
filter.getFilterItems().add(new FilterItemInfo("city.id", city.getId()));
view.setFilter(filter);
countryP.setEntityViewInfo(view);
}
countryP.setValue(null);
setAdress(provinceinfo, city, null, txtaddress);
}
}
protected void prmtcountry_dataChanged(DataChangeEvent e) throws Exception {
ProvinceInfo province = null;
CityInfo city = null;
RegionInfo region = null;
boolean flag = (e.getOldValue() != null && e.getNewValue() == null) || (e.getOldValue() == null && e.getNewValue() != null) || (e.getOldValue() != null && e.getNewValue() != null && !e.getOldValue().toString().equals(e.getNewValue().toString()));
if (flag && !isFirstOnload()) {
if (provinceP.getValue() != null) {
province = (ProvinceInfo) provinceP.getValue();
}
if (cityP.getValue() != null) {
city = (CityInfo) cityP.getValue();
}
if (countryP.getValue() != null) {
region = (RegionInfo) countryP.getValue();
}
setAdress(province, city, region, txtaddress);
}
}
private void setAdress(ProvinceInfo province, CityInfo city, RegionInfo region, KDTextField KdtAaddress) {
StringBuffer adress = new StringBuffer();
if (province != null) {
adress.append(province.getName());
}
if (city != null) {
adress.append(" ").append(city.getName());
}
if (region != null) {
adress.append(" ").append(region.getName());
}
KdtAaddress.setText(adress.toString());
}
}