@Override public void setDataSource(final DataSource datasource) { super.setDataSource(datasource); final Criterion levelcriterion = new Criterion(MillerTreeView.LEVEL, OperatorId.EQUALS, level); if (level != 0) { final Criterion parentcriterion = new Criterion(MillerTreeView.PARENT_ID, OperatorId.EQUALS, 0); levelcriterion.addCriteria(parentcriterion); } filterData(levelcriterion); final ArrayList<ListGridField> newfields = new ArrayList<ListGridField>(); for (final ListField field : ListField.values()) { final ListGridField newfield = new ListGridField(field.toString()); newfield.setTitle(Integer.toString(level)); newfield.setAlign(Alignment.LEFT); hideField(field.toString()); newfields.add(newfield); } setFields(newfields.toArray(new ListGridField[0])); }
public teamsInClass_Team_Widget( final Criteria criteria, final UserDetailsReceivedEvent userDetails) { this.userDetails = userDetails; final TeamModelMessages targetMessages = (TeamModelMessages) GWT.create(TeamModelMessages.class); BoatTypeModelMessages boatTypeMessages = (BoatTypeModelMessages) GWT.create(BoatTypeModelMessages.class); setPadding(10); setIsGroup(true); setGroupTitle( classMessages.richFormView_teamsInClass_coupling_with_Team( targetMessages.tab_name_TeamModel())); // all elements from the target reference, to be picked from to make a connection setWidth100(); setHeight100(); this.grid.setWidth100(); // grid.setHeight(150); //automatically ought to use all the space // grid.setHeight("*"); this.grid.setAlternateRecordStyles(false); this.grid.setCellHeight(32); this.grid.setDataSource(dataSource); this.grid.setAutoFetchData(false); this.grid.setCanEdit(true); this.grid.setModalEditing(true); this.grid.setShowFilterEditor(true); this.grid.setDoubleClickDelay(100); this.grid.setEditEvent(ListGridEditEvent.DOUBLECLICK); this.grid.setListEndEditAction(RowEndEditAction.DONE); this.grid.setCanRemoveRecords(true); this.grid.setAutoSaveEdits(true); this.grid.setCanSelectText(true); this.grid.setAllowFilterExpressions(true); this.grid.setCanDragSelectText(true); this.grid.setCanRemoveRecords( false); // we have our own delete button, with extra functionality /* */ ListGridField idField = new ListGridField("Team_id", "Team id"); ListGridField sailNumberField = new ListGridField("sailNumber", targetMessages.sailNumber()); sailNumberField.setAlign(Alignment.LEFT); sailNumberField = TeamRichTableView.setFormatterForsailNumber(sailNumberField); ListGridField teamNameField = new ListGridField("teamName", targetMessages.teamName()); teamNameField.setAlign(Alignment.LEFT); teamNameField = TeamRichTableView.setFormatterForteamName(teamNameField); ListGridField nameCaptainField = new ListGridField("nameCaptain", targetMessages.nameCaptain()); nameCaptainField.setAlign(Alignment.LEFT); nameCaptainField = TeamRichTableView.setFormatterFornameCaptain(nameCaptainField); ListGridField streetField = new ListGridField("street", targetMessages.street()); streetField.setAlign(Alignment.LEFT); streetField = TeamRichTableView.setFormatterForstreet(streetField); ListGridField zipcodeField = new ListGridField("zipcode", targetMessages.zipcode()); zipcodeField.setAlign(Alignment.LEFT); zipcodeField = TeamRichTableView.setFormatterForzipcode(zipcodeField); ListGridField cityField = new ListGridField("city", targetMessages.city()); cityField.setAlign(Alignment.LEFT); cityField = TeamRichTableView.setFormatterForcity(cityField); ListGridField emailField = new ListGridField("email", targetMessages.email()); emailField.setAlign(Alignment.LEFT); emailField = TeamRichTableView.setFormatterForemail(emailField); ListGridField phoneField = new ListGridField("phone", targetMessages.phone()); phoneField.setAlign(Alignment.LEFT); phoneField = TeamRichTableView.setFormatterForphone(phoneField); ListGridField numPersonsField = new ListGridField("numPersons", targetMessages.numPersons()); numPersonsField.setAlign(Alignment.LEFT); numPersonsField = TeamRichTableView.setFormatterFornumPersons(numPersonsField); ListGridField toerField = new ListGridField("toer", targetMessages.toer()); toerField = TeamRichTableView.setFormatterFortoer(toerField); ListGridField spinField = new ListGridField("spin", targetMessages.spin()); spinField = TeamRichTableView.setFormatterForspin(spinField); ListGridField waitinglistField = new ListGridField("waitinglist", targetMessages.waitinglist()); waitinglistField = TeamRichTableView.setFormatterForwaitinglist(waitinglistField); ListGridField femaleTeamField = new ListGridField("femaleTeam", targetMessages.femaleTeam()); femaleTeamField = TeamRichTableView.setFormatterForfemaleTeam(femaleTeamField); ListGridField remark_Field = new ListGridField("remark_", targetMessages.remark_()); remark_Field.setAlign(Alignment.LEFT); remark_Field = TeamRichTableView.setFormatterForremark_(remark_Field); ListGridField teamStartTimeField = new ListGridField("teamStartTime", targetMessages.teamStartTime()); teamStartTimeField.setAlign(Alignment.LEFT); teamStartTimeField = TeamRichTableView.setFormatterForteamStartTime(teamStartTimeField); teamStartTimeField.setTimeFormatter(TimeDisplayFormat.TOSHORTPADDED24HOURTIME); // call to a custom field, this class should be created customly teamStartTimeField = nl.sytematic.projects.BrioRaceSystem.client.custom.TeamTeamStartTimeCustomFieldFactory .getCustomField(grid, teamStartTimeField, userDetails); ListGridField endTimeField = new ListGridField("endTime", targetMessages.endTime()); endTimeField.setAlign(Alignment.LEFT); endTimeField = TeamRichTableView.setFormatterForendTime(endTimeField); endTimeField.setTimeFormatter(TimeDisplayFormat.TOSHORTPADDED24HOURTIME); ListGridField sailingTimeField = new ListGridField("sailingTime", targetMessages.sailingTime()); sailingTimeField.setAlign(Alignment.LEFT); sailingTimeField = TeamRichTableView.setFormatterForsailingTime(sailingTimeField); sailingTimeField.setTimeFormatter(TimeDisplayFormat.TOSHORTPADDED24HOURTIME); // call to a custom field, this class should be created customly sailingTimeField = nl.sytematic.projects.BrioRaceSystem.client.custom.TeamSailingTimeCustomFieldFactory .getCustomField(grid, sailingTimeField, userDetails); ListGridField swTimeField = new ListGridField("swTime", targetMessages.swTime()); swTimeField.setAlign(Alignment.LEFT); swTimeField = TeamRichTableView.setFormatterForswTime(swTimeField); swTimeField.setTimeFormatter(TimeDisplayFormat.TOSHORTPADDED24HOURTIME); // call to a custom field, this class should be created customly swTimeField = nl.sytematic.projects.BrioRaceSystem.client.custom.TeamSwTimeCustomFieldFactory .getCustomField(grid, swTimeField, userDetails); ListGridField registrationDateTimeField = new ListGridField("registrationDateTime", targetMessages.registrationDateTime()); registrationDateTimeField.setAlign(Alignment.LEFT); registrationDateTimeField = TeamRichTableView.setFormatterForregistrationDateTime(registrationDateTimeField); // registrationDateTimeField.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATETIME); DateTimeItem registrationDateTimeEditor = new DateTimeItem(); registrationDateTimeEditor.setUseTextField(true); registrationDateTimeEditor.setUseMask(true); // registrationDateTimeEditor.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATETIME); registrationDateTimeField.setEditorType(registrationDateTimeEditor); // registrationDateTimeField.setFilterEditorType(registrationDateTimeEditor); // call to a custom field, this class should be created customly registrationDateTimeField = nl.sytematic.projects.BrioRaceSystem.client.custom .TeamRegistrationDateTimeCustomFieldFactory.getCustomField( grid, registrationDateTimeField, userDetails); ListGridField payDateField = new ListGridField("payDate", targetMessages.payDate()); payDateField.setAlign(Alignment.LEFT); payDateField = TeamRichTableView.setFormatterForpayDate(payDateField); // payDateField.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATE); DateItem payDateEditor = new DateItem(); payDateEditor.setUseTextField(true); payDateEditor.setUseMask(true); // payDateEditor.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATE); payDateField.setEditorType(payDateEditor); // payDateField.setFilterEditorType(payDateEditor); ListGridField payOrderField = new ListGridField("payOrder", targetMessages.payOrder()); payOrderField.setAlign(Alignment.LEFT); payOrderField = TeamRichTableView.setFormatterForpayOrder(payOrderField); ListGridField payIdField = new ListGridField("payId", targetMessages.payId()); payIdField.setAlign(Alignment.LEFT); payIdField = TeamRichTableView.setFormatterForpayId(payIdField); ListGridField acceptedField = new ListGridField("accepted", targetMessages.accepted()); acceptedField = TeamRichTableView.setFormatterForaccepted(acceptedField); ListGridField payStatusField = new ListGridField("payStatus", targetMessages.payStatus()); payStatusField.setAlign(Alignment.LEFT); payStatusField = TeamRichTableView.setFormatterForpayStatus(payStatusField); ListGridField BoatTypeField = new ListGridField("BoatType_id", boatTypeMessages.name_single()); ListGridField ClassField = new ListGridField("Class_id", classMessages.name_single()); final SelectItem BoatTypeSelectItem = new SelectItem("BoatType_id", boatTypeMessages.name_single()); BoatTypeSelectItem.setOptionDataSource(DataSource.get("BoatType")); BoatTypeSelectItem.setValueField("BoatType_id"); BoatTypeSelectItem.setAlign(Alignment.LEFT); BoatTypeSelectItem.setTextAlign(Alignment.LEFT); BoatTypeSelectItem.setTitleAlign(Alignment.LEFT); ListGrid BoatTypeListGrid = new ListGrid(); BoatTypeListGrid.setShowFilterEditor(true); BoatTypeListGrid.setFilterOnKeypress(true); SortSpecifier BoatTypeSort = new SortSpecifier("typeName", SortDirection.ASCENDING); SortSpecifier[] BoatTypeSorts = new SortSpecifier[] {BoatTypeSort}; BoatTypeListGrid.setInitialSort(BoatTypeSorts); BoatTypeSelectItem.setDisplayField("typeName"); BoatTypeSelectItem.setAllowEmptyValue(true); BoatTypeSelectItem.setPickListWidth(800); BoatTypeSelectItem.setPickListFields( new ListGridField("typeName", boatTypeMessages.typeName()), new ListGridField("SW_value", boatTypeMessages.SW_value())); BoatTypeSelectItem.setPickListProperties(BoatTypeListGrid); BoatTypeField.setAlign(Alignment.LEFT); BoatTypeField.setEditorType(BoatTypeSelectItem); BoatTypeField.setOptionDataSource(DataSource.get("BoatType")); BoatTypeField.setDisplayField("typeName"); BoatTypeField.setFilterEditorType(BoatTypeSelectItem); // reusing this is okay appareantly ButtonItem newBoatType = new ButtonItem("newBoatType", boatTypeMessages.new_window()); newBoatType.addClickHandler( new com.smartgwt.client.widgets.form.fields.events.ClickHandler() { @Override public void onClick(com.smartgwt.client.widgets.form.fields.events.ClickEvent event) { BoatTypeNewEntryWindow w = new BoatTypeNewEntryWindow( null, new DSCallback() { @Override public void execute( DSResponse response, Object rawData, DSRequest request) { RecordList rl = response.getDataAsRecordList(); if (rl.getLength() > 0) { Record r = rl.get(0); Log.debug("Record found in callback"); Integer id = r.getAttributeAsInt("BoatType_id"); Log.debug("ID is " + id); BoatTypeSelectItem.setValue(id); // select the just added value } } }); w.show(); w.bringToFront(); } }); final SelectItem ClassSelectItem = new SelectItem("Class_id", classMessages.name_single()); ClassSelectItem.setOptionDataSource(DataSource.get("Class")); ClassSelectItem.setValueField("Class_id"); ClassSelectItem.setAlign(Alignment.LEFT); ClassSelectItem.setTextAlign(Alignment.LEFT); ClassSelectItem.setTitleAlign(Alignment.LEFT); ListGrid ClassListGrid = new ListGrid(); ClassListGrid.setShowFilterEditor(true); ClassListGrid.setFilterOnKeypress(true); SortSpecifier ClassSort = new SortSpecifier("className", SortDirection.ASCENDING); SortSpecifier[] ClassSorts = new SortSpecifier[] {ClassSort}; ClassListGrid.setInitialSort(ClassSorts); ClassSelectItem.setDisplayField("className"); ClassSelectItem.setAllowEmptyValue(true); ClassSelectItem.setPickListWidth(800); ClassSelectItem.setPickListFields( new ListGridField("className", classMessages.className()), new ListGridField("startTime", classMessages.startTime())); ClassSelectItem.setPickListProperties(ClassListGrid); ClassField.setAlign(Alignment.LEFT); ClassField.setEditorType(ClassSelectItem); ClassField.setOptionDataSource(DataSource.get("Class")); ClassField.setDisplayField("className"); ClassField.setFilterEditorType(ClassSelectItem); // reusing this is okay appareantly ButtonItem newClass = new ButtonItem("newClass", classMessages.new_window()); newClass.addClickHandler( new com.smartgwt.client.widgets.form.fields.events.ClickHandler() { @Override public void onClick(com.smartgwt.client.widgets.form.fields.events.ClickEvent event) { ClassNewEntryWindow w = new ClassNewEntryWindow( null, new DSCallback() { @Override public void execute( DSResponse response, Object rawData, DSRequest request) { RecordList rl = response.getDataAsRecordList(); if (rl.getLength() > 0) { Record r = rl.get(0); Log.debug("Record found in callback"); Integer id = r.getAttributeAsInt("Class_id"); Log.debug("ID is " + id); ClassSelectItem.setValue(id); // select the just added value } } }); w.show(); w.bringToFront(); } }); ListGridField deleteField = new ListGridField("deleteField", "-"); deleteField.setShouldPrint(false); deleteField.setCellIcon( GWT.getHostPageBaseURL() + "images/icons/32/woofunction/remove_32.png"); deleteField.setType(ListGridFieldType.ICON); deleteField.setTitle(""); deleteField.setWidth(32); deleteField.setIconSize(24); deleteField.setCanDragResize(false); deleteField.setCanSort(false); deleteField.setCanEdit(false); deleteField.setCanGroupBy(false); deleteField.setCanFreeze(false); deleteField.setCanFilter(false); deleteField.setCanHide(false); deleteField.setCanReorder(false); this.grid.addRecordClickHandler( new RecordClickHandler() { public void onRecordClick(RecordClickEvent event) { ListGridField clicked = event.getField(); final Record r = event.getRecord(); if ("deleteField".equals(clicked.getName())) { SC.confirm( radosMessages.delete_confirm_coupling(), new BooleanCallback() { public void execute(Boolean confirmed) { if (confirmed != null && confirmed) { grid.removeData(r); } else { // Cancel } } }); } } }); ArrayList<ListGridField> fields = new ArrayList<ListGridField>(); fields.add(idField); fields.add(sailNumberField); fields.add(teamNameField); fields.add(nameCaptainField); fields.add(streetField); fields.add(zipcodeField); fields.add(cityField); fields.add(emailField); fields.add(phoneField); fields.add(numPersonsField); fields.add(toerField); fields.add(spinField); fields.add(waitinglistField); fields.add(femaleTeamField); fields.add(remark_Field); fields.add(teamStartTimeField); fields.add(endTimeField); fields.add(sailingTimeField); fields.add(swTimeField); fields.add(registrationDateTimeField); fields.add(payDateField); fields.add(payOrderField); fields.add(payIdField); fields.add(acceptedField); fields.add(payStatusField); fields.add(BoatTypeField); if (userDetails.hasAuthority("CAN_DELETE_TEAM")) { fields.add(deleteField); } ListGridField[] fieldsArr = fields.toArray(new ListGridField[fields.size()]); this.grid.setFields(fieldsArr); this.grid.fetchData(criteria); buttonPanel.setMargin(2); grid.hideField("Team_id"); // newButton.setSize(32); newButton.setIcon(GWT.getHostPageBaseURL() + "images/icons/32/woofunction/add_32.png"); newButton.setIconOrientation("right"); newButton.addClickHandler( new ClickHandler() { public void onClick(ClickEvent event) { Map<String, Object> defaultValues = new HashMap<String, Object>(); defaultValues.put("Class_id", criteria.getAttribute("Class_id")); grid.startEditingNew(defaultValues); } }); buttonPanel.addMember(newButton); /*IButton printButton = new IButton(radosMessages.richTableView_print_button());*/ IButton printButton = new IButton(radosMessages.richTableView_print_button()); printButton.setShowRollOver(false); printButton.setIcon(GWT.getHostPageBaseURL() + "images/icons/32/woofunction/printer_32.png"); printButton.setIconOrientation("right"); // Img printButton = new // Img(GWT.getHostPageBaseURL()+"images/icons/32/woofunction/printer_32.png"); // printButton.setSize(32); // printButton.setAltText(radosMessages.richTableView_print_button()); printButton.addClickHandler( new ClickHandler() { public void onClick(ClickEvent event) { Canvas.showPrintPreview(grid); } }); buttonPanel.addMember(printButton); EmailGridButtonWidget email = new EmailGridButtonWidget(new Canvas[] {grid}); email.setDefaultMessage(targetMessages.name_single() + "overzicht"); email.setDefaultSubject(targetMessages.name_single() + "overzicht"); email.setDefaultFrom(BrioRaceSystemApplicationPanel.getUserdetails().getEmail()); buttonPanel.addMember(email); ExportButtonWidget exportButton = new ExportButtonWidget(grid, dataSource); buttonPanel.addMember(exportButton); buttonPanel.setHeight(30); this.addMember(buttonPanel); this.addMember(grid); handleRights(); }
/** * Instantiates a new side nav input tree. * * @param dispatcher the dispatcher * @param lang */ private InputQueueTree( final DispatchAsync dispatcher, final LangConstants lang, final EventBus eventBus) { this.lang = lang; setWidth100(); setHeight100(); setCustomIconProperty("icon"); setAnimateFolderTime(100); setAnimateFolders(true); setAnimateFolderSpeed(1000); setNodeIcon("silk/application_view_list.png"); setFolderIcon("silk/folder.png"); setShowOpenIcons(true); setShowDropIcons(false); setShowSortArrow(SortArrow.CORNER); setShowConnectors(true); setShowAllRecords(true); setLoadDataOnDemand(true); setCanSort(true); setAutoFetchData(true); setShowRoot(false); setSelectionType(SelectionStyle.SINGLE); setShowRollOverCanvas(true); MenuItem showItem = new MenuItem(lang.show(), "icons/16/structure.png"); final Menu showMenu = new Menu(); showMenu.setShowShadow(true); showMenu.setShadowDepth(10); showMenu.setItems(showItem); createItem = new MenuItem(lang.create(), "icons/16/structure_into.png"); final Menu editMenu = new Menu(); editMenu.setShowShadow(true); editMenu.setShadowDepth(10); setContextMenu(editMenu); dispatcher.execute( new HasUserRightsAction(new EDITOR_RIGHTS[] {EDITOR_RIGHTS.LONG_RUNNING_PROCESS}), new DispatchCallback<HasUserRightsResult>() { @Override public void callback(HasUserRightsResult result) { canLongProcess = result.getOk()[0]; } }); addCellContextClickHandler( new CellContextClickHandler() { @Override public void onCellContextClick(CellContextClickEvent event) { ListGridRecord record = event.getRecord(); final String path = record.getAttribute(Constants.ATTR_ID); if (path != null && path.length() > 1 && path.substring(1).contains("/")) { // String model = path.substring(1, path.substring(1).indexOf("/") + 1); String id = path.substring(path.substring(1).indexOf("/") + 2); if (id.contains("/")) { id = id.substring(0, id.indexOf("/")); } MenuItem quartz = new MenuItem(lang.addToScheduler(), "icons/16/clock.png"); quartz.addClickHandler( new ClickHandler() { @Override public void onClick(MenuItemClickEvent event) { String msg = event.getMenu().getEmptyMessage(); // duplicate code String model = msg.substring(0, msg.indexOf("/")); String path = msg.substring(msg.indexOf("/") + 1); QuartzConvertImagesAction action = new QuartzConvertImagesAction(model, path); DispatchCallback<QuartzConvertImagesResult> quartzConvertCallback = new DispatchCallback<QuartzConvertImagesResult>() { @Override public void callback(QuartzConvertImagesResult result) { if (result.getNumberOfImages() != null) { SC.say( result.getNumberOfImages().toString() + " images will be converted"); } else { SC.say("No images found"); } } }; dispatcher.execute(action, quartzConvertCallback); } }); if (record.getAttributeAsBoolean(Constants.ATTR_INGEST_INFO)) { MenuItem ingestInfo = new MenuItem(lang.ingestInfo(), "icons/16/export1.png"); ingestInfo.addClickHandler( new ClickHandler() { @Override public void onClick(MenuItemClickEvent event) { getIngestInfo(path, dispatcher, eventBus); } }); if (canLongProcess) { editMenu.setItems(createItem, ingestInfo, quartz); } else { editMenu.setItems(createItem, ingestInfo); } } else { if (canLongProcess) { editMenu.setItems(createItem, quartz); } else { editMenu.setItems(createItem); } } editMenu.setEmptyMessage(path.substring(1, path.length())); editMenu.showContextMenu(); } else { showMenu.showContextMenu(); } } }); addShowContextMenuHandler( new ShowContextMenuHandler() { @Override public void onShowContextMenu(ShowContextMenuEvent event) { event.cancel(); } }); eventBus.addHandler( RefreshTreeEvent.getType(), new RefreshTreeEvent.RefreshTreeHandler() { @Override public void onRefreshTree(RefreshTreeEvent event) { if (event.getTree() == NAME_OF_TREE.INPUT_QUEUE) refreshTree(); } }); TreeGridField field1 = new TreeGridField(); field1.setCanFilter(true); field1.setName(Constants.ATTR_BARCODE); field1.setTitle("ID"); field1.setCellFormatter( new CellFormatter() { @Override public String format(Object value, ListGridRecord record, int rowNum, int colNum) { boolean ingestInfo = record.getAttributeAsBoolean(Constants.ATTR_INGEST_INFO); if (ingestInfo) { return record.getAttribute(Constants.ATTR_BARCODE) + HTML_TICK_CODE; } else { return record.getAttribute(Constants.ATTR_BARCODE); } } }); ListGridField nameField = new ListGridField(); nameField.setCanFilter(true); nameField.setName(Constants.ATTR_NAME); nameField.setTitle(lang.name()); setFields(field1, nameField); setDataSource(new InputTreeGwtRPCDS(dispatcher, lang)); }
private void initWidgets() { addGoodsCategory = new AddGoodsCategory(); mainLayout = new VLayout(); gridLayout = new HLayout(); gridLayout.setBackgroundColor("BurlyWood"); gridLayout.setHeight100(); gridLayout.setOverflow(Overflow.SCROLL); controlLayout = new HLayout(); controlLayout.setMargin(10); controlLayout.setHeight(buttonSizeHeight); goodsCategoryList = new ListGrid(); goodsCategoryList.setDataSource(DataSource.get("goodsCategory")); goodsCategoryList.setCanEdit(false); goodsCategoryList.setAutoSaveEdits(true); goodsCategoryList.setAutoFetchData(true); ListGridField goodsCategoryId = new ListGridField(); goodsCategoryId.setTitle(Constants.GOODSCATEGORY_GOODSCATEGORYID_TITLE); goodsCategoryId.setName(Constants.GOODSCATEGORY_GOODSCATEGORYID); goodsCategoryId.setWidth("10%"); ListGridField goodsCategoryShortNameTH = new ListGridField(); goodsCategoryShortNameTH.setTitle(Constants.GOODSCATEGORY_GOODSCATEGORYSHORTNAME_TH_TITLE); goodsCategoryShortNameTH.setName(Constants.GOODSCATEGORY_GOODSCATEGORYSHORTNAME_TH); goodsCategoryShortNameTH.setWidth("10%"); ListGridField goodsCategoryDetailsTH = new ListGridField(); goodsCategoryDetailsTH.setTitle(Constants.GOODSCATEGORY_GOODSCATEGORYDETAILS_TH_TITLE); goodsCategoryDetailsTH.setName(Constants.GOODSCATEGORY_GOODSCATEGORYDETAILS_TH); goodsCategoryDetailsTH.setWidth("60%"); goodsCategoryList.setFields(goodsCategoryId, goodsCategoryShortNameTH, goodsCategoryDetailsTH); goodsCategoryList.addRecordDoubleClickHandler( new RecordDoubleClickHandler() { @Override public void onRecordDoubleClick(RecordDoubleClickEvent event) { Record record = new Record(); record.setAttribute("goodsCategory", event.getRecord()); AddGoods.setGoodsCategoryAsRecord(record); } }); submit = new IButton(Constants.BUTTON_TITLE_SUBMIT); submit.setMargin(1); cancel = new IButton(Constants.BUTTON_TITLE_CANCEL); cancel.setMargin(1); search = new IButton(Constants.BUTTON_TITLE_SEARCH); search.setMargin(1); add = new IButton(Constants.BUTTON_TITLE_ADD); add.setMargin(1); edit = new IButton(Constants.BUTTON_TITLE_EDIT); edit.setMargin(1); submit.setSize(buttonSizeHeight, buttonSizeHeight); cancel.setSize(buttonSizeHeight, buttonSizeHeight); search.setSize(buttonSizeHeight, buttonSizeHeight); add.setSize(buttonSizeWidth, buttonSizeHeight); edit.setSize(buttonSizeWidth, buttonSizeHeight); add.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { addGoodsCategory.showAddGoodsCategory(); } }); edit.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { addGoodsCategory.showAddGoodsCategory( Constants.RECORD_ACTION_EDIT, goodsCategoryList.getSelectedRecord()); } }); cancel.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { hide(); } }); submit.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { Record record = new Record(); record.setAttribute("goodsCategory", goodsCategoryList.getSelectedRecord()); // SC.say("GoodsCategoryList:"+"goodCategory"); AddGoods.setGoodsCategoryAsRecord(record); hide(); } }); addKeyPressHandler( new KeyPressHandler() { @Override public void onKeyPress(KeyPressEvent event) { if (event.getKeyName().equals(KeyNames.ENTER)) { Record record = new Record(); record.setAttribute("goodsCategory", goodsCategoryList.getSelectedRecord()); AddGoods.setGoodsCategoryAsRecord(record); hide(); } if (event.isAltKeyDown() && event.getKeyName().equals("A")) { addGoodsCategory.showAddGoodsCategory(); } if (event.isAltKeyDown() && event.getKeyName().equals("E")) { addGoodsCategory.showAddGoodsCategory( Constants.RECORD_ACTION_EDIT, goodsCategoryList.getSelectedRecord()); } } }); Canvas emptyButtonWSize = new Canvas(); emptyButtonWSize.setSize(buttonSizeWidth, buttonSizeHeight); gridLayout.addMember(goodsCategoryList); controlLayout.addMembers(submit, cancel, search, emptyButtonWSize, add, edit); mainLayout.addMembers(gridLayout, controlLayout); setDataSectionBackgroundColor("Grey"); addDataSection(mainLayout); }