1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.vaadin.v7.contextmenu;
18
19 import java.io.Serializable;
20 import java.util.EventListener;
21
22 import com.vaadin.contextmenu.ContextMenu;
23 import com.vaadin.contextmenu.ContextMenu.ContextMenuOpenListener.ContextMenuOpenEvent;
24 import com.vaadin.v7.contextmenu.GridContextMenu.GridContextMenuOpenListener.GridContextMenuOpenEvent;
25 import com.vaadin.v7.shared.ui.grid.GridConstants.Section;
26 import com.vaadin.v7.ui.Grid;
27 import com.vaadin.v7.ui.Grid.GridContextClickEvent;
28
29 @SuppressWarnings("serial")
30
31
32
33
34
35
36 @Deprecated
37 public class GridContextMenu extends ContextMenu {
38
39 public GridContextMenu(Grid parentComponent) {
40 super(parentComponent, true);
41 }
42
43 private void addGridSectionContextMenuListener(final Section section,
44 final GridContextMenuOpenListener listener) {
45 addContextMenuOpenListener(new ContextMenuOpenListener() {
46 @Override
47 public void onContextMenuOpen(ContextMenuOpenEvent event) {
48 if (event
49 .getContextClickEvent() instanceof GridContextClickEvent) {
50 GridContextClickEvent gridEvent = (GridContextClickEvent) event
51 .getContextClickEvent();
52 if (gridEvent.getSection() == section) {
53 listener.onContextMenuOpen(new GridContextMenuOpenEvent(
54 GridContextMenu.this, gridEvent));
55 }
56 }
57 }
58 });
59 }
60
61 public void addGridHeaderContextMenuListener(
62 GridContextMenuOpenListener listener) {
63 addGridSectionContextMenuListener(Section.HEADER, listener);
64 }
65
66 public void addGridFooterContextMenuListener(
67 GridContextMenuOpenListener listener) {
68 addGridSectionContextMenuListener(Section.FOOTER, listener);
69 }
70
71 public void addGridBodyContextMenuListener(
72 GridContextMenuOpenListener listener) {
73 addGridSectionContextMenuListener(Section.BODY, listener);
74 }
75
76 public interface GridContextMenuOpenListener
77 extends EventListener, Serializable {
78
79 public void onContextMenuOpen(GridContextMenuOpenEvent event);
80
81 public static class GridContextMenuOpenEvent
82 extends ContextMenuOpenEvent {
83 private final Object itemId;
84 private final int rowIndex;
85 private final Object propertyId;
86 private final Section section;
87
88 public GridContextMenuOpenEvent(ContextMenu contextMenu,
89 GridContextClickEvent contextClickEvent) {
90 super(contextMenu, contextClickEvent);
91 itemId = contextClickEvent.getItemId();
92 rowIndex = contextClickEvent.getRowIndex();
93 propertyId = contextClickEvent.getPropertyId();
94 section = contextClickEvent.getSection();
95 }
96
97 public Object getItemId() {
98 return itemId;
99 }
100
101 public int getRowIndex() {
102 return rowIndex;
103 }
104
105 public Object getPropertyId() {
106 return propertyId;
107 }
108
109 public Section getSection() {
110 return section;
111 }
112 }
113 }
114 }