import java.util.*;

public class Widgets1 {
	private Map<String, Widget1> value = new HashMap<>();
	private CurScreen curScreen;
	private SwingPresenter presenter;
	public Widgets1(SwingPresenter presenter) {
		this.presenter = presenter;
	}
	public Map<String, Object> getValue() {
		Map<String, Object> value = new HashMap<>();
		for (String key: this.value.keySet()) {
			Widget1 widget = this.value.get(key);
			value.put(key, widget.getValue());
		}
		return value;
	}
	public void setValue(Map<String, Object> value) {
		for (String key: value.keySet()) {
			String type = "";
			if (((Map<String, Object>) value.get(key)).get("type") != null) type = (String) ((Map<String, Object>) value.get(key)).get("type");
			int y = 0;
			if (((Map<String, Object>) value.get(key)).get("y") != null) y = (int) ((Map<String, Object>) value.get(key)).get("y");
			int x = 0;
			if (((Map<String, Object>) value.get(key)).get("x") != null) x = (int) ((Map<String, Object>) value.get(key)).get("x");
			int height = 0;
			if (((Map<String, Object>) value.get(key)).get("height") != null) height = (int) ((Map<String, Object>) value.get(key)).get("height");
			String text = "";
			if (((Map<String, Object>) value.get(key)).get("text") != null) text = (String) ((Map<String, Object>) value.get(key)).get("text");
			boolean visible = false;
			if (((Map<String, Object>) value.get(key)).get("visible") != null) visible = (boolean) ((Map<String, Object>) value.get(key)).get("visible");
			int width = 0;
			if (((Map<String, Object>) value.get(key)).get("width") != null) width = (int) ((Map<String, Object>) value.get(key)).get("width");
			int state = 0;
			if (((Map<String, Object>) value.get(key)).get("state") != null) state = (int) ((Map<String, Object>) value.get(key)).get("state");
			this.value.put(key, new Widget1(type, text, visible, x, y, width, height, 0, null, presenter));
		}
	}
	public Widget1 getWidget1(String wid) {
		return this.value.get(wid);
	}
	public void setReferences(Screen screen, CurScreen curScreen, SwingPresenter presenter, BusinessCardManagement businessCardManagement, Editcompany editcompany, Editaddress1 editaddress1, Editbusiness1 editbusiness1, Editestablish editestablish, Editbusiness2 editbusiness2, Editposition editposition, Editcompanydetail editcompanydetail, EditURL editURL, Editaddress2 editaddress2, Editrepresentative editrepresentative, Company company, Representative representative, Position position, Establishment establishment, Address1 address1, Address2 address2, Businessdescription1 businessdescription1, Businessdescription2 businessdescription2, Companyoverview companyoverview, URL URL, Search6 search6, SearchCriteriaScreen searchCriteriaScreen, Search3 search3, Search5 search5, Search1 search1, Result result, Search2 search) {
		this.curScreen = curScreen;
		for (Widget1 widget: value.values()) {
			widget.setReferences(screen, curScreen, presenter, businessCardManagement, editcompany, editaddress1, editbusiness1, editestablish, editbusiness2, editposition, editcompanydetail, editURL, editaddress2, editrepresentative, company, representative, position, establishment, address1, address2, businessdescription1, businessdescription2, companyoverview, URL, search6, searchCriteriaScreen, search3, search5, search1, result, search);
		}
	}
}