@Override protected Canvas getCellHoverComponent(Record record, Integer rowNum, Integer colNum) { // only show a custom DetailViewer for the description column only if (colNum == 1) { DetailViewer detailViewer = new DetailViewer(); detailViewer.setWidth(400); // Define the fields that we want to display in the details popup. // These // fields are populated from the record of the selected ValueSets. DetailViewerField descripitonField = new DetailViewerField("value", "Description"); DetailViewerField formalNameField = new DetailViewerField("formalName", "Formal Name"); detailViewer.setFields(formalNameField, descripitonField); detailViewer.setData(new Record[] {record}); return detailViewer; } return null; }
public TabCalendar() { try { setTitle(CallCenter.constants.menuCalendar()); setCanClose(true); datasource = DataSource.get("CalSecDS"); mainLayout = new VLayout(5); mainLayout.setWidth100(); mainLayout.setHeight100(); mainLayout.setMargin(5); searchForm = new DynamicForm(); searchForm.setAutoFocus(true); searchForm.setWidth(780); searchForm.setTitleWidth(300); searchForm.setNumCols(4); mainLayout.addMember(searchForm); calendarStateItem = new ComboBoxItem(); calendarStateItem.setTitle(CallCenter.constants.type()); calendarStateItem.setWidth(300); calendarStateItem.setName("calendar_state_id"); calendarStateItem.setValueMap(ClientMapUtil.getInstance().getCalendarStates()); calendarStateItem.setAddUnknownValues(false); secCalendarTypeItem = new ComboBoxItem(); secCalendarTypeItem.setTitle(CallCenter.constants.moonPhase()); secCalendarTypeItem.setWidth(300); secCalendarTypeItem.setName("calendar_event_id"); secCalendarTypeItem.setValueMap(ClientMapUtil.getInstance().getSecCalendarTypes()); secCalendarTypeItem.setAddUnknownValues(false); calendarDayItem = new DateItem(); calendarDayItem.setTitle(CallCenter.constants.date()); calendarDayItem.setWidth(300); calendarDayItem.setValue(new Date()); calendarDayItem.setName("calendar_day"); calendarDayItem.setHint(CallCenter.constants.choose()); descriptionItem = new TextItem(); descriptionItem.setTitle(CallCenter.constants.description()); descriptionItem.setName("calendar_description"); descriptionItem.setWidth(300); commentItem = new TextItem(); commentItem.setTitle(CallCenter.constants.comment()); commentItem.setName("calendar_comment"); commentItem.setWidth(300); byCalendarDayItem = new CheckboxItem(); byCalendarDayItem.setTitle(CallCenter.constants.searchByDate()); byCalendarDayItem.setWidth(300); byCalendarDayItem.setName("buCalDaySearch"); byCalendarDayItem.setValue(false); searchForm.setFields( calendarStateItem, secCalendarTypeItem, descriptionItem, commentItem, byCalendarDayItem, calendarDayItem); HLayout buttonLayout = new HLayout(5); buttonLayout.setWidth(780); buttonLayout.setHeight(30); buttonLayout.setAlign(Alignment.RIGHT); clearButton = new IButton(); clearButton.setTitle(CallCenter.constants.clear()); findButton = new IButton(); findButton.setTitle(CallCenter.constants.find()); buttonLayout.setMembers(findButton, clearButton); mainLayout.addMember(buttonLayout); ToolStrip toolStrip = new ToolStrip(); toolStrip.setWidth(780); toolStrip.setPadding(5); mainLayout.addMember(toolStrip); addBtn = new ToolStripButton(CallCenter.constants.add(), "addIcon.png"); addBtn.setLayoutAlign(Alignment.LEFT); addBtn.setWidth(50); toolStrip.addButton(addBtn); editBtn = new ToolStripButton(CallCenter.constants.modify(), "editIcon.png"); editBtn.setLayoutAlign(Alignment.LEFT); editBtn.setWidth(50); toolStrip.addButton(editBtn); disableBtn = new ToolStripButton(CallCenter.constants.disable(), "deleteIcon.png"); disableBtn.setLayoutAlign(Alignment.LEFT); disableBtn.setWidth(50); toolStrip.addButton(disableBtn); activateBtn = new ToolStripButton(CallCenter.constants.enable(), "restoreIcon.gif"); activateBtn.setLayoutAlign(Alignment.LEFT); activateBtn.setWidth(50); toolStrip.addButton(activateBtn); toolStrip.addSeparator(); copyBtn = new ToolStripButton(CallCenter.constants.copy(), "copy.png"); copyBtn.setLayoutAlign(Alignment.LEFT); copyBtn.setWidth(50); toolStrip.addButton(copyBtn); listGrid = new ListGrid() { protected String getCellCSSText(ListGridRecord record, int rowNum, int colNum) { ListGridRecord countryRecord = (ListGridRecord) record; if (countryRecord == null) { return super.getCellCSSText(record, rowNum, colNum); } Integer deleted = countryRecord.getAttributeAsInt("deleted"); if (deleted != null && !deleted.equals(0)) { return "color:red;"; } else { return super.getCellCSSText(record, rowNum, colNum); } }; }; listGrid.setWidth(780); listGrid.setHeight(260); listGrid.setAlternateRecordStyles(true); listGrid.setDataSource(datasource); listGrid.setAutoFetchData(false); listGrid.setShowFilterEditor(false); listGrid.setCanEdit(false); listGrid.setCanRemoveRecords(false); listGrid.setFetchOperation("searchAllSecularCalendars"); listGrid.setShowRowNumbers(true); listGrid.setCanHover(true); listGrid.setShowHover(true); listGrid.setShowHoverComponents(true); datasource.getField("calendar_day").setTitle(CallCenter.constants.date()); datasource.getField("event").setTitle(CallCenter.constants.moonPhase()); datasource.getField("state").setTitle(CallCenter.constants.type()); datasource.getField("sun_rise").setTitle(CallCenter.constants.order()); datasource.getField("calendar_description").setTitle(CallCenter.constants.description()); datasource.getField("calendar_comment").setTitle(CallCenter.constants.comment()); datasource.getField("rec_date").setTitle(CallCenter.constants.recDate()); datasource.getField("rec_user").setTitle(CallCenter.constants.recUser()); datasource.getField("upd_date").setTitle(CallCenter.constants.updDate()); datasource.getField("upd_user").setTitle(CallCenter.constants.updUser()); ListGridField calendar_day = new ListGridField("calendar_day", CallCenter.constants.date(), 150); ListGridField event = new ListGridField("event", CallCenter.constants.moonPhase(), 150); ListGridField state = new ListGridField("state", CallCenter.constants.type(), 80); ListGridField sun_rise = new ListGridField("sun_rise", CallCenter.constants.sunRise(), 100); ListGridField calendar_description = new ListGridField("calendar_description", CallCenter.constants.description(), 250); calendar_day.setAlign(Alignment.LEFT); event.setAlign(Alignment.LEFT); state.setAlign(Alignment.CENTER); sun_rise.setAlign(Alignment.CENTER); listGrid.setFields(calendar_day, event, state, sun_rise, calendar_description); mainLayout.addMember(listGrid); findButton.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { search(); } }); clearButton.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { calendarStateItem.clearValue(); secCalendarTypeItem.clearValue(); calendarDayItem.clearValue(); descriptionItem.clearValue(); commentItem.clearValue(); } }); addBtn.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { DlgAddEditSecCalendar dlgEditSecCalendar = new DlgAddEditSecCalendar(listGrid, null, false); dlgEditSecCalendar.show(); } }); editBtn.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { ListGridRecord listGridRecord = listGrid.getSelectedRecord(); if (listGridRecord == null) { SC.say(CallCenter.constants.pleaseSelrecord()); return; } DlgAddEditSecCalendar dlgEditSecCalendar = new DlgAddEditSecCalendar(listGrid, listGridRecord, false); dlgEditSecCalendar.show(); } }); copyBtn.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { ListGridRecord listGridRecord = listGrid.getSelectedRecord(); if (listGridRecord == null) { SC.say(CallCenter.constants.pleaseSelrecord()); return; } DlgAddEditSecCalendar dlgEditSecCalendar = new DlgAddEditSecCalendar(listGrid, listGridRecord, true); dlgEditSecCalendar.show(); } }); disableBtn.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { ListGridRecord listGridRecord = listGrid.getSelectedRecord(); if (listGridRecord == null) { SC.say(CallCenter.constants.pleaseSelrecord()); return; } Integer deleted = listGridRecord.getAttributeAsInt("deleted"); if (!deleted.equals(0)) { SC.say(CallCenter.constants.recordAlrDisabled()); return; } final Integer calendar_id = listGridRecord.getAttributeAsInt("calendar_id"); SC.ask( CallCenter.constants.askForDisable(), new BooleanCallback() { @Override public void execute(Boolean value) { if (value) { changeStatus(calendar_id, 1); } } }); } }); activateBtn.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { ListGridRecord listGridRecord = listGrid.getSelectedRecord(); if (listGridRecord == null) { SC.say(CallCenter.constants.pleaseSelrecord()); return; } Integer deleted = listGridRecord.getAttributeAsInt("deleted"); if (deleted.equals(0)) { SC.say(CallCenter.constants.recordAlrEnabled()); return; } final Integer calendar_id = listGridRecord.getAttributeAsInt("calendar_id"); SC.ask( CallCenter.constants.askForEnable(), new BooleanCallback() { @Override public void execute(Boolean value) { if (value) { changeStatus(calendar_id, 0); } } }); } }); TabSet tabSet = new TabSet(); tabSet.setWidth(780); Tab tabDetViewer = new Tab(CallCenter.constants.view()); final DetailViewer detailViewer = new DetailViewer(); detailViewer.setDataSource(datasource); detailViewer.setWidth(750); tabDetViewer.setPane(detailViewer); listGrid.addRecordClickHandler( new RecordClickHandler() { public void onRecordClick(RecordClickEvent event) { detailViewer.viewSelectedData(listGrid); } }); listGrid.addRecordDoubleClickHandler( new RecordDoubleClickHandler() { @Override public void onRecordDoubleClick(RecordDoubleClickEvent event) { ListGridRecord listGridRecord = listGrid.getSelectedRecord(); if (listGridRecord == null) { SC.say(CallCenter.constants.pleaseSelrecord()); return; } DlgAddEditSecCalendar dlgEditSecCalendar = new DlgAddEditSecCalendar(listGrid, listGridRecord, false); dlgEditSecCalendar.show(); } }); tabSet.setTabs(tabDetViewer); mainLayout.addMember(tabSet); setPane(mainLayout); } catch (Exception e) { e.printStackTrace(); SC.say(e.getMessage().toString()); } }