You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TableContextMenuOnField.java 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package com.vaadin.tests.components.table;
  2. import com.vaadin.event.Action;
  3. import com.vaadin.event.LayoutEvents.LayoutClickEvent;
  4. import com.vaadin.event.LayoutEvents.LayoutClickListener;
  5. import com.vaadin.tests.components.TestBase;
  6. import com.vaadin.ui.Button;
  7. import com.vaadin.ui.Component;
  8. import com.vaadin.ui.Link;
  9. import com.vaadin.ui.Table;
  10. import com.vaadin.ui.TextField;
  11. import com.vaadin.ui.VerticalLayout;
  12. public class TableContextMenuOnField extends TestBase {
  13. private static final Action ACTION_MYACTION = new Action("Action!!");
  14. @Override
  15. protected void setup() {
  16. Table table = new Table();
  17. table.setSelectable(true);
  18. table.setMultiSelect(true);
  19. table.addActionHandler(new Action.Handler() {
  20. @Override
  21. public void handleAction(Action action, Object sender, Object target) {
  22. // TODO Auto-generated method stub
  23. }
  24. @Override
  25. public Action[] getActions(Object target, Object sender) {
  26. return new Action[] { ACTION_MYACTION };
  27. }
  28. });
  29. table.addGeneratedColumn("layout", new Table.ColumnGenerator() {
  30. @Override
  31. public Component generateCell(Table source, Object itemId,
  32. Object columnId) {
  33. VerticalLayout layout = new VerticalLayout();
  34. layout.addComponent(new TextField());
  35. layout.addListener(new LayoutClickListener() {
  36. @Override
  37. public void layoutClick(LayoutClickEvent event) {
  38. getMainWindow().showNotification("HELLO");
  39. }
  40. });
  41. return layout;
  42. }
  43. });
  44. table.addGeneratedColumn("textfield", new Table.ColumnGenerator() {
  45. @Override
  46. public Component generateCell(Table source, Object itemId,
  47. Object columnId) {
  48. return new TextField();
  49. }
  50. });
  51. table.addGeneratedColumn("link", new Table.ColumnGenerator() {
  52. @Override
  53. public Component generateCell(Table source, Object itemId,
  54. Object columnId) {
  55. return new Link("Link", null);
  56. }
  57. });
  58. table.addGeneratedColumn("button", new Table.ColumnGenerator() {
  59. @Override
  60. public Component generateCell(Table source, Object itemId,
  61. Object columnId) {
  62. return new Button("Button");
  63. }
  64. });
  65. table.addItem();
  66. table.addItem();
  67. table.addItem();
  68. addComponent(table);
  69. }
  70. @Override
  71. protected String getDescription() {
  72. return "Right clicking on an item without a context menu should bring"
  73. + "up the Tables context menu";
  74. }
  75. @Override
  76. protected Integer getTicketNumber() {
  77. return 4264;
  78. }
  79. }