List of usage examples for com.google.gwt.user.client.ui Image addClickHandler
public HandlerRegistration addClickHandler(ClickHandler handler)
From source file:asquare.gwt.tkdemo.client.demos.DialogPanel.java
License:Apache License
private Widget createModalDialogDemo() { BasicPanel panel = new BasicPanel("div", "block"); panel.setStyleName("example division"); DomUtil.setStyleAttribute(panel, "whiteSpace", "nowrap"); panel.add(new HTML("<h4>ModalDialog examples</h4>")); class CloseListener implements ClickHandler { private final ModalDialog m_dialog; public CloseListener(ModalDialog dialog) { m_dialog = dialog;// ww w. ja v a2s . c o m } public void onClick(ClickEvent event) { m_dialog.hide(); } } class CloseButton extends Button { public CloseButton(ModalDialog dialog) { super("Close"); addClickHandler(new CloseListener(dialog)); } public CloseButton(ModalDialog dialog, String text) { super(text); addClickHandler(new CloseListener(dialog)); } } final Button plainDialog = new Button("Plain"); plainDialog.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { final ModalDialog dialog = new ModalDialog(); dialog.setCaption("Caption area", false); dialog.add(new Label("Content area")); dialog.add(new CloseButton(dialog)); dialog.show(plainDialog); } }); panel.add(plainDialog); final Button verboseDialog = new Button("Verbose"); verboseDialog.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { final ModalDialog dialog = new ModalDialog(); dialog.setCaption("Verbose dialog", false); dialog.add(new Label("Twas brillig, and the slithy toves " + " Did gyre and gimble in the wabe: " + "All mimsy were the borogoves, " + " And the mome raths outgrabe " + "Beware the Jabberwock, my son! " + "The jaws that bite, the claws that catch! " + "Beware the Jubjub bird, and shun " + "The frumious Bandersnatch!")); dialog.add(new CloseButton(dialog)); dialog.show(verboseDialog); } }); panel.add(verboseDialog); final Button captionLessDialog = new Button("No caption"); captionLessDialog.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { final ModalDialog dialog = new ModalDialog(); dialog.add(new Label("Captionless dialog")); dialog.add(new CloseButton(dialog)); dialog.show(captionLessDialog); } }); panel.add(captionLessDialog); final Button loadingDialog = new Button("Loading..."); loadingDialog.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { final ModalDialog dialog = new ModalDialog(); final Label label = new Label("0% loaded"); dialog.add(label); dialog.show(loadingDialog); new Timer() { private int m_count = 0; public void run() { label.setText(++m_count + "% loaded"); if (m_count == 100) { dialog.hide(); cancel(); } } }.scheduleRepeating(1); } }); panel.add(loadingDialog); final Button undraggableDialog = new Button("Drag disabled"); undraggableDialog.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { final ModalDialog dialog = new ModalDialog() { protected List<Controller> createCaptionControllers() { List<Controller> result = new ArrayList<Controller>(); result.add(ControlSurfaceController.getInstance()); return result; } }; dialog.setCaption("Drag disabled", false); dialog.add(new Label( "This dialog uses a custom controller in the header which does not provide drag support.")); dialog.add(new CloseButton(dialog)); dialog.show(undraggableDialog); } }); panel.add(undraggableDialog); final Button styledDragDialog = new Button("Drag style"); styledDragDialog.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { final ModalDialog dialog = new ModalDialog(); String oldPrimaryName = dialog.getStylePrimaryName(); dialog.setStylePrimaryName("dialog-dragstyle"); dialog.addStyleName(oldPrimaryName); dialog.setCaption("Drag me", false); dialog.add(new Label( "This dialog employs the \"tk-ModalDialog-dragging\" style which is applied while dragging. ")); dialog.add(new CloseButton(dialog)); dialog.show(styledDragDialog); } }); panel.add(styledDragDialog); final Button focusManagementDialog = new Button("Focus management"); focusManagementDialog.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { final ModalDialog dialog = new ModalDialog(); dialog.setCaption("Register", false); FocusModel fModel = dialog.getFocusModel(); final int FIELD_COUNT = 3; Grid table = new Grid(FIELD_COUNT, 2); dialog.add(table); Widget[] labels = new Widget[FIELD_COUNT]; labels[0] = new Label("User name: "); labels[1] = new Label("Password: "); labels[2] = new Label("Retype password: "); FocusWidget[] fields = new FocusWidget[FIELD_COUNT]; fields[0] = new TextBox(); fields[1] = new PasswordTextBox(); fields[2] = new PasswordTextBox(); CellFormatter formatter = table.getCellFormatter(); for (int i = 0; i < labels.length; i++) { table.setWidget(i, 0, labels[i]); formatter.setHorizontalAlignment(i, 0, HasHorizontalAlignment.ALIGN_LEFT); table.setWidget(i, 1, fields[i]); /* * Manually add fields to focus cycle. (The dialog does not * scan the children of panels for focusable widgets.) */ fModel.add(fields[i]); } // this widget will be focused when the dialog is shown fModel.setFocusWidget(fields[0]); ColumnPanel buttonPanel = new ColumnPanel(); buttonPanel.setWidth("100%"); dialog.add(buttonPanel); Button closeButton = new CloseButton(dialog, "Register!"); fModel.add(closeButton); buttonPanel.add(closeButton); Button cancelButton = new CloseButton(dialog, "Cancel"); fModel.add(cancelButton); buttonPanel.addWidget(cancelButton, false); buttonPanel.setCellHorizontalAlignment(ColumnPanel.ALIGN_RIGHT); dialog.show(focusManagementDialog); } }); panel.add(focusManagementDialog); final Button explicitlyPositionedDialog = new Button("Explicitly positioned"); explicitlyPositionedDialog.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { final ModalDialog dialog = new ModalDialog(); dialog.removeController(dialog.getController(ModalDialog.PositionDialogController.class)); int contentWidth = 300; int contentHeight = 100; dialog.setContentWidth(contentWidth + "px"); dialog.setContentHeight(contentHeight + "px"); dialog.setPopupPosition(100, 100); dialog.setCaption("Explicitly positioned dialog", false); dialog.add(new Label( "Automatic positioning is disabled. Dimensions and position are set explicitly. ")); dialog.add(new CloseButton(dialog)); dialog.show(explicitlyPositionedDialog); } }); panel.add(explicitlyPositionedDialog); final Button multipleDialogs = new Button("Multiple dialogs"); multipleDialogs.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { ModalDialog dialog = new ModalDialog(); dialog.setCaption("First dialog", false); FocusModel fModel = dialog.getFocusModel(); RowPanel outer = new RowPanel(); dialog.add(new HTML("")); final UrlLocation urlBox = new UrlLocation(); urlBox.setText("http://www.asquare.net"); urlBox.setWidth("350px"); fModel.add(urlBox); outer.add(urlBox); Button goButton = new Button("Go"); fModel.add(goButton); fModel.setFocusWidget(goButton); outer.addWidget(goButton, false); ListBox addressList = new ListBox(); addressList.addItem("Select an address"); addressList.addItem("http://www.asquare.net"); addressList.addItem("http://www.google.com"); addressList.addItem("http://www.sourceforge.net"); addressList.addItem("http://www.apache.org"); fModel.add(addressList); outer.add(addressList); final Frame frame = new Frame(); frame.setSize("400px", "200px"); outer.add(frame); urlBox.addChangeHandler(new ChangeHandler() { public void onChange(ChangeEvent event) { frame.setUrl(urlBox.getURL()); } }); goButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { frame.setUrl(urlBox.getURL()); } }); addressList.addChangeHandler(new ChangeHandler() { public void onChange(ChangeEvent event) { ListBox list = (ListBox) event.getSource(); if (list.getSelectedIndex() > 0) { urlBox.setText(list.getItemText(list.getSelectedIndex())); frame.setUrl(list.getItemText(list.getSelectedIndex())); } } }); final Button secondDialog = new Button("Show second dialog"); secondDialog.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { final ModalDialog dialog = new ModalDialog(); dialog.setCaption("Second dialog", false); dialog.add(new Label("Note that you cannot manipulate the widgets in the first dialog. ")); dialog.add(new CloseButton(dialog)); dialog.show(secondDialog); } }); fModel.add(secondDialog); outer.add(secondDialog); Button closeButton = new CloseButton(dialog); fModel.add(closeButton); outer.add(closeButton); dialog.add(outer); dialog.show(multipleDialogs); } }); panel.add(multipleDialogs); final Button styledDialog = new Button("Styled"); styledDialog.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { final ModalDialog dialog = new ModalDialog(); dialog.addStyleName("dialog-styled"); HorizontalPanel caption = new HorizontalPanel(); caption.setWidth("100%"); Label captionText = new Label("Oopsie!"); caption.add(captionText); caption.setCellWidth(captionText, "100%"); Image close = new Image("close.gif"); close.addClickHandler(new CloseListener(dialog)); caption.add(close); dialog.setCaption(caption); dialog.add(new Label("I've been a bad, bad browser.")); dialog.add(new Button("Deny ice cream", new CloseListener(dialog))); dialog.show(styledDialog); } }); panel.add(styledDialog); return panel; }
From source file:ccc.client.gwt.widgets.ContextActionGridPlugin.java
License:Open Source License
/** * Constructor./* w w w. j a v a2s. c om*/ * * @param contextMenu Context menu * @param resourceTable */ public ContextActionGridPlugin(final Menu contextMenu, final ColumnConfigSupport ccs) { _contextMenu = contextMenu; setWidth(COLUMN_WIDTH); setSortable(false); setResizable(false); setFixed(true); setMenuDisabled(true); setDataIndex(""); // This is GWT image with GWT click handler. // Replace with GXT classes if possible. final Image btn = new Image(ImagePaths.BULLET_DISK); btn.addClickHandler(new ClickHandler() { @Override public void onClick(final ClickEvent arg0) { if (ccs.visibleColumns() != null) { final User user = InternalServices.globals.currentUser(); final Map<String, String> meta = user.getMetadata(); meta.put(ccs.preferenceName(), ccs.visibleColumns()); new UpdateCurrentUserAction(user) { /** {@inheritDoc} */ @Override protected void onSuccess(final User newUser) { InternalServices.window.alert(UI_CONSTANTS.columnsSaved()); } }.execute(); } } }); setWidget(btn, ""); }
From source file:ch.heftix.mailxel.client.AddressEditBar.java
License:Open Source License
public AddressEditBar(final MailServiceAsync mailxelService, final MailxelPanel mailxelPanel) { // mlPanel = new MultiLinePanel(100, new Label(","), 1); mlPanel = new MultiLinePanel(100, null); AddressSuggestOracle oracle = new AddressSuggestOracle(mailxelService, mailxelPanel); sb = new SuggestBox(oracle); sb.setWidth("80px"); sb.addSelectionHandler(new SelectionHandler<Suggestion>() { public void onSelection(SelectionEvent<Suggestion> event) { AddressSuggestion s = (AddressSuggestion) event.getSelectedItem(); AddressTO aTO = s.getAddressTO(); addAddress(aTO);/* w w w. j a v a2s .c om*/ sb.setValue(""); } }); Image add = new Image("img/plus.png"); add.setTitle("add recipient"); add.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { String tmp = sb.getText(); if (null != tmp && tmp.length() > 3 && tmp.contains("@")) { AddressTO aTO = new AddressTO(); aTO.address = tmp.trim(); addAddress(aTO); sb.setValue(""); } } }); Image erase = new Image("img/eraser.png"); erase.setTitle("remove all recipients"); erase.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { for (DeletableItem<AddressTO> di : items) { mlPanel.removeWidget(di); } items.clear(); } }); add(sb); add(add); add(erase); add(mlPanel); }
From source file:ch.heftix.mailxel.client.AddressOverviewGrid.java
License:Open Source License
public AddressOverviewGrid(final MailServiceAsync mailxelService, final MailxelPanel mailxelPanel) { HorizontalPanel toolbar = new HorizontalPanel(); Image save = new Image("img/save.png"); save.setTitle("Save"); save.setStylePrimaryName("mailxel-toolbar-item"); save.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { final StatusItem si = mailxelPanel.statusStart("address update"); List<AddressTO> addressesToSave = new ArrayList<AddressTO>(); int len = grid.getRowCount(); for (int i = FIRST_PAYLOAD_ROW; i < len; i++) { TextBoxWChangeDetection tbS = (TextBoxWChangeDetection) grid.getWidget(i, 0); TextBoxWChangeDetection tbN = (TextBoxWChangeDetection) grid.getWidget(i, 1); TextBoxWChangeDetection tbA = (TextBoxWChangeDetection) grid.getWidget(i, 2); CheckBoxWChangeDetection cbV = (CheckBoxWChangeDetection) grid.getWidget(i, 3); CheckBoxWChangeDetection cbP = (CheckBoxWChangeDetection) grid.getWidget(i, 4); if (null != tbS && null != tbA && null != cbV && null != cbP && (tbS.isDirty() || tbN.isDirty() || tbA.isDirty() || cbV.isDirty() || cbP.isDirty())) { // add to save list AddressTO to = new AddressTO(); to.shortname = tbS.getText(); if (tbS.isDirty()) { to.shortNameDirty = true; }// w ww .ja v a 2 s.c om to.name = tbN.getText(); if (tbN.isDirty()) { to.nameDirty = true; } to.address = tbA.getText(); to.isValid = cbV.getValue(); if (cbV.isDirty()) { to.validDirty = true; } to.isPreferred = cbP.getValue(); if (cbP.isDirty()) { to.preferredDirty = true; } addressesToSave.add(to); } } mailxelService.saveAddresses(addressesToSave, new AsyncCallback<Void>() { public void onFailure(Throwable caught) { si.error(caught); } public void onSuccess(Void result) { si.done(); } }); } }); toolbar.add(save); // toolbar.add(statusMessage); add(toolbar); final TextBox shortname = new TextBox(); shortname.setWidth("50px"); final TextBox address = new TextBox(); address.setWidth("300px"); // header grid.setText(LABEL_ROW, 0, "Shortname"); grid.setText(LABEL_ROW, 1, "Name"); grid.setText(LABEL_ROW, 2, "Address"); grid.setText(LABEL_ROW, 3, "Valid"); grid.setText(LABEL_ROW, 4, "Pref."); grid.setText(LABEL_ROW, 5, "Last Seen"); grid.setText(LABEL_ROW, 6, "# Seen"); ColumnFormatter fmt = grid.getColumnFormatter(); fmt.setWidth(0, "50px"); fmt.setWidth(1, "100px"); fmt.setWidth(2, "300px"); fmt.setWidth(3, "50px"); fmt.setWidth(4, "50px"); fmt.setWidth(5, "100px"); fmt.setWidth(6, "100px"); final AsyncCallback<List<AddressTO>> callback = new AsyncCallback<List<AddressTO>>() { public void onSuccess(List<AddressTO> result) { addresses = result; // clean all except header int rows = grid.getRowCount(); for (int i = rows - 1; i >= FIRST_PAYLOAD_ROW; i--) { grid.removeRow(i); } int row = FIRST_PAYLOAD_ROW; for (AddressTO address : result) { TextBoxWChangeDetection snTB = new TextBoxWChangeDetection(); snTB.setText(address.shortname); snTB.setWidth("50px"); grid.setWidget(row, 0, snTB); // grid.setText(row, 1, address.address); TextBoxWChangeDetection nTB = new TextBoxWChangeDetection(); if (null != address.name) { nTB.setText(address.name); } nTB.setWidth("100px"); grid.setWidget(row, 1, nTB); TextBoxWChangeDetection aTB = new TextBoxWChangeDetection(); aTB.setText(address.address); aTB.setWidth("300px"); grid.setWidget(row, 2, aTB); CheckBoxWChangeDetection cbValid = new CheckBoxWChangeDetection(); cbValid.setValue(address.isValid); grid.setWidget(row, 3, cbValid); CheckBoxWChangeDetection cbPref = new CheckBoxWChangeDetection(); cbPref.setValue(address.isPreferred); grid.setWidget(row, 4, cbPref); grid.setText(row, 5, address.lastSeen); grid.setText(row, 6, Integer.toString(address.count)); row++; } if (null != statusItem) { statusItem.done("found " + Integer.toString(row - FIRST_PAYLOAD_ROW) + " addresses.", 0); statusItem = null; } } public void onFailure(Throwable caught) { statusItem.error(caught); } }; final KeyPressHandler kbla = new KeyPressHandler() { public void onKeyPress(KeyPressEvent event) { if (KeyCodes.KEY_ENTER == event.getCharCode()) { String snTxt = UIUtil.trimNull(shortname.getText()); String aTxt = UIUtil.trimNull(address.getText()); statusItem = mailxelPanel.statusStart("address search"); mailxelService.searchAddresses(snTxt, aTxt, callback); } } }; // final KeyboardListenerAdapter kbla = new KeyboardListenerAdapter() { // // public void onKeyPress(Widget sender, char keyCode, int modifiers) { // if (KEY_ENTER == keyCode) { // String snTxt = UIUtil.trimNull(shortname.getText()); // String aTxt = UIUtil.trimNull(address.getText()); // // statusItem = mailxelPanel.statusStart("address search started"); // // mailxelService.searchAddresses(snTxt, aTxt, callback); // } // } // }; shortname.addKeyPressHandler(kbla); address.addKeyPressHandler(kbla); grid.setWidget(HEADER_ROW_1, 0, shortname); grid.setWidget(HEADER_ROW_1, 2, address); add(grid); }
From source file:ch.heftix.mailxel.client.AddressUploadGrid.java
License:Open Source License
public AddressUploadGrid(final MailServiceAsync mailxelService, final MailxelPanel mailxelPanel) { HorizontalPanel toolbar = new HorizontalPanel(); Image save = new Image("img/save.png"); save.setTitle("Save"); save.setStylePrimaryName("mailxel-toolbar-item"); save.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { String text = textArea.getText(); mailxelService.saveAddresses(text, new AsyncCallback<Void>() { public void onFailure(Throwable caught) { statusMessage.setText("Cannot save addresses: " + caught); }//from ww w. ja va 2 s. co m public void onSuccess(Void result) { statusMessage.setText("Addresses saved"); } }); } }); toolbar.add(save); toolbar.add(statusMessage); add(toolbar); textArea.setCharacterWidth(80); textArea.setVisibleLines(25); add(textArea); }
From source file:ch.heftix.mailxel.client.AttachmentBar.java
License:Open Source License
public void addAttachement(final AttachmentTO aTO, final MailxelPanel mailxelPanel, final OnDemandTabPanel bodyPanel) { final Image icon = createIcon(aTO.name); icon.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { boolean directDownload = false; // attachment clicked; check for button MouseEvent me = (MouseEvent) sender; if (NativeEvent.BUTTON_RIGHT == me.getNativeButton()) { directDownload = true;//from w w w. j a v a 2s .c om } final AttachmentPanel aPanel = new AttachmentPanel(aTO, mailxelService, mailxelPanel, directDownload); if (null != bodyPanel) { bodyPanel.add(aPanel, UIUtil.shorten(aTO.name)); // bodyPanel.selectTab(bodyPanel.getWidgetCount() - 1); } else { final PopupWindow pWin = new PopupWindow(aTO.name, aPanel, mailxelPanel); int x = getAbsoluteLeft(); int y = getAbsoluteTop(); pWin.setPopupPosition(x, y); pWin.show(); } } }); DeletableItem<AttachmentTO> di = new DeletableItem<AttachmentTO>(icon, aTO, this); items.add(di); add(icon); }
From source file:ch.heftix.mailxel.client.CategorizationToolbar.java
License:Open Source License
public CategorizationToolbar(final HasPrevNext prevNextProvider, final MailDetailDisplay mailDetailDisplay, final MailServiceAsync mailxelService, final MailxelPanel mailxelPanel) { this.prevNextProvider = prevNextProvider; this.mailDetailDisplay = mailDetailDisplay; final AsyncCallback<Void> markCatCallback = new AsyncCallback<Void>() { public void onSuccess(Void result) { // mailxelPanel.setWorking(false); showNext();//from ww w.j a v a2s . c o m mailxelPanel.updateMailCounts(); } public void onFailure(Throwable caught) { // mailxelPanel.setWorking(false); mailxelPanel.statusError("set categories failed", caught); } }; Image fwd = new Image("img/resultset_next.png"); fwd.setTitle("Next"); fwd.setStylePrimaryName("mailxel-toolbar-item"); fwd.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { showNext(); } }); Image prev = new Image("img/resultset_previous.png"); prev.setTitle("Next"); prev.setStylePrimaryName("mailxel-toolbar-item"); prev.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { showPrev(); } }); Image scheduleForLater = new Image("img/clock_go.png"); scheduleForLater.setTitle("Schedule for Later"); scheduleForLater.setStylePrimaryName("mailxel-toolbar-item"); scheduleForLater.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { if (currentMessageId > 0) { mailxelService.markStatus(currentMessageId, 999, markCatCallback); } } }); // Image scheduleForToday = new Image("img/target.png"); // scheduleForToday.setTitle("Schedule for Today"); // scheduleForToday.setStylePrimaryName("mailxel-toolbar-item"); // scheduleForToday.addClickHandler(new ClickHandler() { // // public void onClick(ClickEvent sender) { // if (currentMessageId > 0) { // mailxelService.markStatus(currentMessageId, 992, markCatCallback); // } // } // }); Image imgLike = new Image("img/star-small.png"); imgLike.setTitle("Like"); imgLike.setStylePrimaryName("mailxel-toolbar-item"); imgLike.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { if (currentMessageId > 0) { mailxelService.markStatus(currentMessageId, 989, markCatCallback); } } }); Image ignore = new Image("img/ignore.png"); ignore.setTitle("Ignore"); ignore.setStylePrimaryName("mailxel-toolbar-item"); ignore.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { if (currentMessageId > 0) { mailxelService.markStatus(currentMessageId, 994, markCatCallback); } } }); Image tookNote = new Image("img/eye.png"); tookNote.setTitle("Took Note"); tookNote.setStylePrimaryName("mailxel-toolbar-item"); tookNote.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { if (currentMessageId > 0) { mailxelService.markStatus(currentMessageId, 993, markCatCallback); } } }); Image waitForAnswer = new Image("img/hourglass.png"); waitForAnswer.setTitle("waiting for answer"); waitForAnswer.setStylePrimaryName("mailxel-toolbar-item"); waitForAnswer.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { if (currentMessageId > 0) { mailxelService.markStatus(currentMessageId, 998, markCatCallback); } } }); Image done = new Image("img/tick.png"); done.setTitle("task completed"); done.setStylePrimaryName("mailxel-toolbar-item"); done.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { if (currentMessageId > 0) { mailxelService.markStatus(currentMessageId, 997, markCatCallback); } } }); Image trash = new Image("img/bin.png"); trash.setTitle("trash"); trash.setStylePrimaryName("mailxel-toolbar-item"); trash.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { if (currentMessageId > 0) { List<Integer> ids = new ArrayList<Integer>(); ids.add(currentMessageId); mailxelService.markAsDeleted(ids, markCatCallback); } } }); CategorySuggestOracle oracle = new CategorySuggestOracle(mailxelService); final SuggestBox gtdSb = new SuggestBox(oracle); gtdSb.setWidth("50px"); gtdSb.setTitle("add category"); Image categorize = new Image("img/categorize.png"); categorize.setTitle("categorize"); categorize.setStylePrimaryName("mailxel-toolbar-item"); categorize.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { String gtd = gtdSb.getText(); if (currentMessageId > 0 && null != gtd) { List<Integer> ids = new ArrayList<Integer>(); ids.add(currentMessageId); mailxelService.updateCategories(ids, gtd, markCatCallback); } } }); HorizontalPanel gtdBar = new HorizontalPanel(); gtdBar.add(gtdSb); gtdBar.add(categorize); add(prev); add(scheduleForLater); // add(scheduleForToday); add(imgLike); add(waitForAnswer); add(done); add(tookNote); add(ignore); add(trash); add(gtdBar); add(fwd); }
From source file:ch.heftix.mailxel.client.CategoryOverviewGrid.java
License:Open Source License
public CategoryOverviewGrid(final MailServiceAsync mailxelService, final MailxelPanel mailxelPanel) { HorizontalPanel toolbar = new HorizontalPanel(); Image save = new Image("img/save.png"); save.setTitle("Save"); save.setStylePrimaryName("mailxel-toolbar-item"); save.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { final StatusItem si = mailxelPanel.statusStart("category update"); List<Category> categoriesToSave = new ArrayList<Category>(); int len = grid.getRowCount(); for (int i = FIRST_PAYLOAD_ROW; i < len; i++) { TextBoxWChangeDetection tbS = (TextBoxWChangeDetection) grid.getWidget(i, 0); if (null != tbS && tbS.isDirty()) { // add to save list Category existing = categories.get(i - FIRST_PAYLOAD_ROW); existing.name = tbS.getText(); categoriesToSave.add(existing); }/*from w w w. j a v a 2 s .com*/ } mailxelService.saveCategories(categoriesToSave, new AsyncCallback<Void>() { public void onFailure(Throwable caught) { si.error(caught); } public void onSuccess(Void result) { si.done(); } }); } }); toolbar.add(save); Image addCategory = new Image("img/plus.png"); addCategory.setTitle("New Category"); addCategory.setStylePrimaryName("mailxel-toolbar-item"); addCategory.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { Category cat = new Category(); cat.id = Constants.UNDEFINED_ID; cat.name = "new category"; categories.add(cat); updateGrid(categories); } }); toolbar.add(addCategory); add(toolbar); final TextBox category = new TextBox(); category.setWidth("400px"); // header grid.setText(LABEL_ROW, 0, "Category"); final MailxelAsyncCallback<List<Category>> callback = new MailxelAsyncCallback<List<Category>>() { private StatusItem si = null; public void setStatusItem(StatusItem statusItem) { this.si = statusItem; } public void onSuccess(List<Category> result) { categories = result; int row = updateGrid(result); si.done("found " + Integer.toString(row - FIRST_PAYLOAD_ROW) + " categories.", 0); } public void onFailure(Throwable caught) { si.error(caught); } }; // final KeyboardListenerAdapter kbla = new KeyboardListenerAdapter() { // // public void onKeyPress(Widget sender, char keyCode, int modifiers) { // if (KEY_ENTER == keyCode) { // String snTxt = UIUtil.trimNull(category.getText()); // // mailxelPanel.setStatus("category search started"); // // mailxelService.searchCategories(snTxt, callback); // } // } // }; final KeyPressHandler kbla = new KeyPressHandler() { public void onKeyPress(KeyPressEvent event) { if (KeyCodes.KEY_ENTER == event.getCharCode()) { String snTxt = UIUtil.trimNull(category.getText()); StatusItem si = mailxelPanel.statusStart("category search"); callback.setStatusItem(si); mailxelService.searchCategories(snTxt, callback); } } }; category.addKeyPressHandler(kbla); grid.setWidget(HEADER_ROW_1, 0, category); add(grid); }
From source file:ch.heftix.mailxel.client.ConfigGrid.java
License:Open Source License
public ConfigGrid(final MailServiceAsync mailxelService, final MailxelPanel mailxelPanel) { this.mailxelService = mailxelService; this.mailxelPanel = mailxelPanel; lbu.add("Production", LOGConstants.PRODUCTION); lbu.add("Test", LOGConstants.TEST); lbu.add("Development", LOGConstants.DEV); lBUAddressDisplay.add("Shortname", AddressTOUtil.DISPLAY_SHORTNAME); lBUAddressDisplay.add("Name", AddressTOUtil.DISPLAY_NAME); lBUAddressDisplay.add("Address", AddressTOUtil.DISPLAY_ADDRESS); // save// www .j a va2 s. co m HorizontalPanel toolbar = new HorizontalPanel(); Image save = new Image("img/save.png"); save.setTitle("Save"); save.setStylePrimaryName("mailxel-toolbar-item"); save.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { final ConfigTO cTO = new ConfigTO(); cTO.localstore = textBoxes[1][ILOCALSTORE].getText(); cTO.me = textBoxes[1][IME].getText(); cTO.replyAddressDisplayType = lBUAddressDisplay.getSelectedValue().intValue(); cTO.sentHandlingBCC = checkBoxes[1][SH_BCC].getValue(); cTO.sentHandlingStoreLocally = checkBoxes[1][SH_COPY_LOCAL].getValue(); cTO.sentHandlingCopySent = checkBoxes[1][SH_COPY_SENT].getValue(); cTO.sentHandlingCopyAccountName = textBoxes[1][SH_COPY_SENT_ACCOUNT].getText(); cTO.sentHandlingCopyFolderName = textBoxes[1][SH_COPY_SENT_FOLDER].getText(); String tmp = textBoxes[1][IMAXSEARCHROWS].getText(); cTO.maxSearchRows = ListUtil.parse(tmp, 50); tmp = textBoxes[1][IMAXADDRESSSUGGESTROWS].getText(); cTO.maxAddressSuggestions = ListUtil.parse(tmp, 10); cTO.logConfiguration = lbu.getSelectedValue().intValue(); cTO.replyAddressDisplayType = lBUAddressDisplay.getSelectedValue().intValue(); cTO.displayTime = checkBoxes[1][SH_DISPLAY_TIME].getValue(); cTO.explcitWildcards = checkBoxes[1][SH_EXPLICIT_WILDCARDS].getValue(); tmp = textBoxes[1][SH_MAX_MAIL_DOWNLOAD_PER_FOLDER].getText(); cTO.maxMailDownloadsPerFolder = ListUtil.parse(tmp, 100); tmp = textBoxes[1][SH_MAILDOWNLOAD_DELAY].getText(); cTO.downloadMailDelay = ListUtil.parse(tmp, 0); int col = 3; cTO.smtpHost = textBoxes[col][IHOST].getText(); cTO.smtpPort = textBoxes[col][IPORT].getText(); cTO.smtpUser = textBoxes[col][IUSER].getText(); List<AccountConfigTO> accounts = new ArrayList<AccountConfigTO>(); List<String> accountNames = new ArrayList<String>(); int numAccounts = textBoxes.length - 4; for (int i = 0; i < numAccounts; i++) { col++; String accountName = textBoxes[col][INAME].getText(); AccountConfigTO aTO = new AccountConfigTO(); aTO.name = accountName; aTO.server = textBoxes[col][IHOST].getText(); aTO.protocol = textBoxes[col][IPROTOCOL].getText(); aTO.isSSL = checkBoxes[col][ISSL].getValue(); aTO.port = textBoxes[col][IPORT].getText(); aTO.scannedfolders = ListUtil.getFromComaSeparated(textBoxes[col][IFOLDERS].getText()); aTO.excludedfolders = ListUtil.getFromComaSeparated(textBoxes[col][IEXCLUDE].getText()); aTO.user = textBoxes[col][IUSER].getText(); aTO.reorgRules = ListUtil.getFromComaSeparated(textBoxes[col][IREORGRULE].getText()); accountNames.add(accountName); accounts.add(aTO); } String[] aNames = new String[accountNames.size()]; accountNames.toArray(aNames); cTO.accountNames = aNames; AccountConfigTO[] aTOs = new AccountConfigTO[accounts.size()]; accounts.toArray(aTOs); cTO.accounts = aTOs; final StatusItem si = mailxelPanel.statusStart("saving configuration"); mailxelService.saveConfig(cTO, new AsyncCallback<Void>() { public void onFailure(Throwable caught) { si.error(caught); } public void onSuccess(Void result) { si.done(); mailxelPanel.setConfig(cTO); // mailxelPanel.closeTab(ConfigGrid.this); } }); } }); Image addAccount = new Image("img/server_add.png"); addAccount.setTitle("New Account"); addAccount.setStylePrimaryName("mailxel-toolbar-item"); addAccount.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { grid.clear(); ConfigTO cTO = mailxelPanel.getConfig(); addNewAccount(cTO); fillGrid(cTO); } }); ColumnFormatter cf = grid.getColumnFormatter(); cf.setStylePrimaryName(0, "col-bg"); RowFormatter rf = grid.getRowFormatter(); for (int i = 1; i < INUMROWS; i = i + 2) { rf.setStylePrimaryName(i, "row-bg"); } toolbar.add(save); toolbar.add(addAccount); toolbar.add(status); add(toolbar); add(grid); ConfigTO cTO = mailxelPanel.getConfig(); fillGrid(cTO); }
From source file:ch.heftix.mailxel.client.DeletableItem.java
License:Open Source License
public DeletableItem(final Widget widget, final T payload, final ItemDeletionHandler<T> deletionHandler) { this.payload = payload; add(widget);/*from w w w .j a v a2 s . c o m*/ Image icon = new Image("img/close.png"); icon.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { deletionHandler.onDeletion(DeletableItem.this); } }); add(icon); }