View Javadoc
1   package org.vaadin.tokenfield;
2   
3   import org.vaadin.tokenfield.client.ui.TokenFieldServerRpc;
4   
5   import com.vaadin.server.PaintException;
6   import com.vaadin.server.PaintTarget;
7   import com.vaadin.v7.ui.ComboBox;
8   
9   public abstract class TokenComboBox extends ComboBox {
10  
11      private static final long serialVersionUID = 8382983756053298383L;
12  
13      protected TokenField.InsertPosition insertPosition;
14  
15      private TokenFieldServerRpcdServerRpc.html#TokenFieldServerRpc">TokenFieldServerRpc rpc = new TokenFieldServerRpc() {
16          public void deleteToken() {
17              onDelete();
18          }
19      };
20  
21      public TokenComboBox(TokenField.InsertPosition insertPosition) {
22          this.insertPosition = insertPosition;
23          registerRpc(rpc);
24      }
25  
26      @Override
27      public void paintContent(PaintTarget target) throws PaintException {
28          super.paintContent(target);
29          target.addVariable(this, "del", false);
30          if (insertPosition == TokenField.InsertPosition.AFTER) {
31              target.addAttribute("after", true);
32          }
33      }
34  
35      public void setTokenInsertPosition(TokenField.InsertPosition insertPosition) {
36          this.insertPosition = insertPosition;
37          requestRepaint();
38      }
39  
40      abstract protected void onDelete();
41  
42  }