public PaymentTypeMgmt(BalanceSheet sheet) { super(AccountsMessages.BAL_SHEET_NEW_PAY_TYPE); this.balSheet = sheet; setWidth("320px"); setIcon(IconManager.getIcon(IconManager.CATG_MGMT_SM)); accordion = new Accordion(); accordion.setSizeFull(); HorizontalLayout hl = new HorizontalLayout(); hl.setSpacing(true); VerticalLayout vl1 = new VerticalLayout(); vl1.setSpacing(true); paymentCategories = new ListSelect(STRINGS.getString(AccountsMessages.BAL_SHEET_PAYMENT_CATEGORY)); populatePaymentCategories(); paymentCategories.setNullSelectionAllowed(false); paymentCategories.setImmediate(true); paymentCategories.setRows(NUM_ROWS); paymentCategories.addListener(this); Set<String> keys = categories.keySet(); if (keys.size() > 0) paymentCategories.select(keys.iterator().next()); vl1.addComponent(paymentCategories); hl.addComponent(vl1); VerticalLayout vl2 = new VerticalLayout(); vl2.setSpacing(true); paymentTypes = new ListSelect(STRINGS.getString(AccountsMessages.BAL_SHEET_PAYMENT_TYPE)); populatePaymentTypes(categories.get(paymentCategories.getValue())); paymentTypes.setNullSelectionAllowed(false); paymentTypes.setImmediate(true); paymentTypes.setRows(NUM_ROWS); vl2.addComponent(paymentTypes); hl.addComponent(vl2); current = accordion.addTab(hl); current.setCaption(STRINGS.getString(AccountsMessages.CURRENT)); addNewCategory = accordion.addTab(generateCreateNewCategoryForm()); addNewCategory.setCaption( STRINGS.getString(AccountsMessages.ADD_NEW) + " " + STRINGS.getString(AccountsMessages.BAL_SHEET_PAYMENT_CATEGORY)); addNewType = accordion.addTab(generateCreateNewTypeForm()); addNewType.setCaption( STRINGS.getString(AccountsMessages.ADD_NEW) + " " + STRINGS.getString(AccountsMessages.BAL_SHEET_PAYMENT_TYPE)); addComponent(accordion); }