OSDN Git Service

初期インポート
[u6kcommons/chat-translation.git] / chat / src / chat / client / Index.java
1 \r
2 package chat.client;\r
3 \r
4 import java.util.List;\r
5 \r
6 import com.google.gwt.core.client.EntryPoint;\r
7 import com.google.gwt.core.client.GWT;\r
8 import com.google.gwt.event.dom.client.ClickEvent;\r
9 import com.google.gwt.event.dom.client.ClickHandler;\r
10 import com.google.gwt.user.client.Window;\r
11 import com.google.gwt.user.client.rpc.AsyncCallback;\r
12 import com.google.gwt.user.client.ui.Button;\r
13 import com.google.gwt.user.client.ui.Grid;\r
14 import com.google.gwt.user.client.ui.HorizontalPanel;\r
15 import com.google.gwt.user.client.ui.RootPanel;\r
16 import com.google.gwt.user.client.ui.TextBox;\r
17 import com.google.gwt.user.client.ui.VerticalPanel;\r
18 \r
19 public class Index implements EntryPoint {\r
20 \r
21     private final ChatServiceAsync chatService = GWT.create(ChatService.class);\r
22 \r
23     private Grid receiveMessageGrid;\r
24 \r
25     private TextBox messageField;\r
26 \r
27     private Button sayButton;\r
28 \r
29     public void onModuleLoad() {\r
30         VerticalPanel p1 = new VerticalPanel();\r
31 \r
32         this.receiveMessageGrid = new Grid(0, 1);\r
33         p1.add(this.receiveMessageGrid);\r
34 \r
35         HorizontalPanel p2 = new HorizontalPanel();\r
36         p1.add(p2);\r
37 \r
38         this.messageField = new TextBox();\r
39         this.messageField.setFocus(true);\r
40         p2.add(this.messageField);\r
41 \r
42         this.sayButton = new Button();\r
43         this.sayButton.setText("Say");\r
44         this.sayButton.addClickHandler(new ClickHandler() {\r
45 \r
46             @Override\r
47             public void onClick(ClickEvent event) {\r
48                 Index.this.sayMessage();\r
49             }\r
50 \r
51         });\r
52         p2.add(this.sayButton);\r
53 \r
54         RootPanel.get().add(p1);\r
55 \r
56         this.getMessages();\r
57     }\r
58 \r
59     private void sayMessage() {\r
60         this.chatService.say(this.messageField.getText(), new AsyncCallback<Void>() {\r
61 \r
62             @Override\r
63             public void onSuccess(Void result) {\r
64             }\r
65 \r
66             @Override\r
67             public void onFailure(Throwable caught) {\r
68                 Window.alert("error");\r
69             }\r
70 \r
71         });\r
72 \r
73         this.messageField.setText("");\r
74         this.messageField.setFocus(true);\r
75     }\r
76 \r
77     private void getMessages() {\r
78         this.chatService.getMessage(new AsyncCallback<List<ChatMessageDto>>() {\r
79 \r
80             @Override\r
81             public void onSuccess(List<ChatMessageDto> result) {\r
82                 for (ChatMessageDto dto : result) {\r
83                     Index.this.receiveMessageGrid.resize(Index.this.receiveMessageGrid.getRowCount() + 1, 1);\r
84                     Index.this.receiveMessageGrid.setText(Index.this.receiveMessageGrid.getRowCount() - 1, 0, dto.getMessage());\r
85                 }\r
86 \r
87                 Index.this.getMessages();\r
88             }\r
89 \r
90             @Override\r
91             public void onFailure(Throwable caught) {\r
92                 Window.alert("error");\r
93             }\r
94 \r
95         });\r
96     }\r
97 \r
98 }\r