name | class, % | method, % | block, % | line, % |
---|
| | | | |
class GuiContext$9 | 100% (1/1) | 100% (1/1) | 88% (29/33) | 87% (0.9/1) |
<static initializer> | | 100% (1/1) | 88% (29/33) | 87% (0.9/1) |
| | | | |
class GuiContext | 100% (1/1) | 96% (26/27) | 96% (211/219) | 94% (47/50) |
removeContextListener (GuiContextListener): void | | 0% (0/1) | 0% (0/6) | 0% (0/2) |
setIdentityHolder (IdentityHolder): void | | 100% (1/1) | 80% (8/10) | 75% (3/4) |
GuiContext (): void | | 100% (1/1) | 100% (29/29) | 100% (9/9) |
access$002 (GuiContext, Participant): Participant | | 100% (1/1) | 100% (5/5) | 100% (1/1) |
access$102 (GuiContext, Event): Event | | 100% (1/1) | 100% (5/5) | 100% (1/1) |
access$200 (GuiContext): Board | | 100% (1/1) | 100% (3/3) | 100% (1/1) |
access$202 (GuiContext, Board): Board | | 100% (1/1) | 100% (5/5) | 100% (1/1) |
access$300 (GuiContext): BoardImageModel | | 100% (1/1) | 100% (3/3) | 100% (1/1) |
access$302 (GuiContext, BoardImageModel): BoardImageModel | | 100% (1/1) | 100% (5/5) | 100% (1/1) |
access$402 (GuiContext, Board): Board | | 100% (1/1) | 100% (5/5) | 100% (1/1) |
access$502 (GuiContext, Account): Account | | 100% (1/1) | 100% (5/5) | 100% (1/1) |
addContextListener (GuiContextListener): void | | 100% (1/1) | 100% (9/9) | 100% (3/3) |
getAccount (): Account | | 100% (1/1) | 100% (3/3) | 100% (1/1) |
getBoard (): Board | | 100% (1/1) | 100% (3/3) | 100% (1/1) |
getDrawBoard (): Board | | 100% (1/1) | 100% (3/3) | 100% (1/1) |
getIdentity (): Account | | 100% (1/1) | 100% (4/4) | 100% (1/1) |
getImageModel (): BoardImageModel | | 100% (1/1) | 100% (3/3) | 100% (1/1) |
getNotification (): Event | | 100% (1/1) | 100% (3/3) | 100% (1/1) |
getParticipant (): Participant | | 100% (1/1) | 100% (3/3) | 100% (1/1) |
setAccountChannel (Channel): void | | 100% (1/1) | 100% (11/11) | 100% (3/3) |
setBoardChannel (Channel): void | | 100% (1/1) | 100% (11/11) | 100% (3/3) |
setBoardImageChannel (Channel): void | | 100% (1/1) | 100% (11/11) | 100% (3/3) |
setEventChannel (Channel): void | | 100% (1/1) | 100% (17/17) | 100% (4/4) |
setIdentityChannel (Channel): void | | 100% (1/1) | 100% (11/11) | 100% (3/3) |
setNotificationChannel (Channel): void | | 100% (1/1) | 100% (11/11) | 100% (3/3) |
setParticipantChannel (Channel): void | | 100% (1/1) | 100% (11/11) | 100% (3/3) |
update (): void | | 100% (1/1) | 100% (24/24) | 100% (3/3) |
| | | | |
class GuiContext$1 | 100% (1/1) | 100% (2/2) | 100% (10/10) | 100% (3/3) |
GuiContext$1 (GuiContext): void | | 100% (1/1) | 100% (6/6) | 100% (1/1) |
push (Account): void | | 100% (1/1) | 100% (4/4) | 100% (2/2) |
| | | | |
class GuiContext$2 | 100% (1/1) | 100% (2/2) | 100% (15/15) | 100% (4/4) |
GuiContext$2 (GuiContext): void | | 100% (1/1) | 100% (6/6) | 100% (1/1) |
push (Participant): void | | 100% (1/1) | 100% (9/9) | 100% (3/3) |
| | | | |
class GuiContext$3 | 100% (1/1) | 100% (2/2) | 100% (15/15) | 100% (4/4) |
GuiContext$3 (GuiContext): void | | 100% (1/1) | 100% (6/6) | 100% (1/1) |
push (Event): void | | 100% (1/1) | 100% (9/9) | 100% (3/3) |
| | | | |
class GuiContext$4 | 100% (1/1) | 100% (2/2) | 100% (15/15) | 100% (4/4) |
GuiContext$4 (GuiContext): void | | 100% (1/1) | 100% (6/6) | 100% (1/1) |
push (Board): void | | 100% (1/1) | 100% (9/9) | 100% (3/3) |
| | | | |
class GuiContext$5 | 100% (1/1) | 100% (2/2) | 100% (38/38) | 100% (9/9) |
GuiContext$5 (GuiContext): void | | 100% (1/1) | 100% (6/6) | 100% (1/1) |
push (DrawingAreaHolder): void | | 100% (1/1) | 100% (32/32) | 100% (8/8) |
| | | | |
class GuiContext$6 | 100% (1/1) | 100% (2/2) | 100% (15/15) | 100% (4/4) |
GuiContext$6 (GuiContext): void | | 100% (1/1) | 100% (6/6) | 100% (1/1) |
push (Account): void | | 100% (1/1) | 100% (9/9) | 100% (3/3) |
| | | | |
class GuiContext$7 | 100% (1/1) | 100% (2/2) | 100% (29/29) | 100% (4/4) |
GuiContext$7 (GuiContext): void | | 100% (1/1) | 100% (6/6) | 100% (1/1) |
passEvent (Event): boolean | | 100% (1/1) | 100% (23/23) | 100% (3/3) |
| | | | |
class GuiContext$8 | 100% (1/1) | 100% (2/2) | 100% (10/10) | 100% (3/3) |
GuiContext$8 (GuiContext): void | | 100% (1/1) | 100% (6/6) | 100% (1/1) |
pushEvent (Event): void | | 100% (1/1) | 100% (4/4) | 100% (2/2) |
1 | // Copyright 2004-2007 Jean-Francois Poilpret |
2 | // |
3 | // Licensed under the Apache License, Version 2.0 (the "License"); |
4 | // you may not use this file except in compliance with the License. |
5 | // You may obtain a copy of the License at |
6 | // |
7 | // http://www.apache.org/licenses/LICENSE-2.0 |
8 | // |
9 | // Unless required by applicable law or agreed to in writing, software |
10 | // distributed under the License is distributed on an "AS IS" BASIS, |
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
12 | // See the License for the specific language governing permissions and |
13 | // limitations under the License. |
14 | |
15 | package net.sourceforge.hiveboard.util; |
16 | |
17 | import javax.swing.event.EventListenerList; |
18 | |
19 | import net.sourceforge.hiveboard.Account; |
20 | import net.sourceforge.hiveboard.Board; |
21 | import net.sourceforge.hiveboard.Event; |
22 | import net.sourceforge.hiveboard.event.EventsPriorities; |
23 | import net.sourceforge.hiveboard.event.PersistentDeferredConsumer; |
24 | import net.sourceforge.hiveboard.main.IdentityHolder; |
25 | import net.sourceforge.hiveboard.model.BoardImageModel; |
26 | import net.sourceforge.hiveboard.view.DrawingAreaHolder; |
27 | import net.sourceforge.hiveevents.Channel; |
28 | import net.sourceforge.hiveevents.Filter; |
29 | import net.sourceforge.hiveevents.PersistentConsumer; |
30 | |
31 | /** |
32 | * @author Jean-Francois Poilpret |
33 | */ |
34 | final public class GuiContext |
35 | { |
36 | public void addContextListener(GuiContextListener l) |
37 | { |
38 | _listeners.add(GuiContextListener.class, l); |
39 | // Force update |
40 | l.contextChanged(this); |
41 | } |
42 | |
43 | public void removeContextListener(GuiContextListener l) |
44 | { |
45 | _listeners.remove(GuiContextListener.class, l); |
46 | } |
47 | |
48 | public void setIdentityHolder(IdentityHolder identity) |
49 | { |
50 | _identity = identity; |
51 | if (_identity.getIdentity() != null) |
52 | { |
53 | update(); |
54 | } |
55 | } |
56 | |
57 | public void setIdentityChannel(Channel<Account> identityChannel) |
58 | { |
59 | int priority = EventsPriorities.GUI_STATE_UPDATE; |
60 | identityChannel.registerPushConsumer(priority, new PersistentConsumer<Account>() |
61 | { |
62 | public void push(Account event) |
63 | { |
64 | update(); |
65 | } |
66 | }); |
67 | } |
68 | |
69 | public void setParticipantChannel(Channel<Participant> participantChannel) |
70 | { |
71 | int priority = EventsPriorities.GUI_STATE_UPDATE; |
72 | participantChannel.registerPushConsumer(priority, new PersistentConsumer<Participant>() |
73 | { |
74 | public void push(Participant participant) |
75 | { |
76 | _participant = participant; |
77 | update(); |
78 | } |
79 | }); |
80 | } |
81 | |
82 | public void setNotificationChannel(Channel<Event> notificationChannel) |
83 | { |
84 | int priority = EventsPriorities.GUI_STATE_UPDATE; |
85 | notificationChannel.registerPushConsumer(priority, new PersistentConsumer<Event>() |
86 | { |
87 | public void push(Event e) |
88 | { |
89 | _notification = e; |
90 | update(); |
91 | } |
92 | }); |
93 | } |
94 | |
95 | public void setBoardChannel(Channel<Board> boardChannel) |
96 | { |
97 | int priority = EventsPriorities.GUI_STATE_UPDATE; |
98 | boardChannel.registerPushConsumer(priority, new PersistentConsumer<Board>() |
99 | { |
100 | public void push(Board board) |
101 | { |
102 | _board = board; |
103 | update(); |
104 | } |
105 | }); |
106 | } |
107 | |
108 | public void setBoardImageChannel(Channel<DrawingAreaHolder> boardImageChannel) |
109 | { |
110 | int priority = EventsPriorities.GUI_STATE_UPDATE; |
111 | boardImageChannel.registerPushConsumer( priority, |
112 | new PersistentConsumer<DrawingAreaHolder>() |
113 | { |
114 | public void push(DrawingAreaHolder holder) |
115 | { |
116 | if (holder != null) |
117 | { |
118 | _imageModel = holder.getDrawingArea().getBoardImageModel(); |
119 | _drawBoard = _imageModel.getBoard(); |
120 | } |
121 | else |
122 | { |
123 | _imageModel = null; |
124 | _drawBoard = null; |
125 | } |
126 | update(); |
127 | } |
128 | }); |
129 | } |
130 | |
131 | public void setAccountChannel(Channel<Account> accountChannel) |
132 | { |
133 | int priority = EventsPriorities.GUI_STATE_UPDATE; |
134 | accountChannel.registerPushConsumer(priority, new PersistentConsumer<Account>() |
135 | { |
136 | public void push(Account account) |
137 | { |
138 | _account = account; |
139 | update(); |
140 | } |
141 | }); |
142 | } |
143 | |
144 | public void setEventChannel(Channel<Event> eventsChannel) |
145 | { |
146 | int priority = EventsPriorities.GUI_STATE_UPDATE; |
147 | Filter<Event> filter = new Filter<Event>() |
148 | { |
149 | public boolean passEvent(Event event) |
150 | { |
151 | switch (event.getType()) |
152 | { |
153 | case EVT_MODIFY_BOARD: |
154 | case EVT_JOIN_BOARD: |
155 | case EVT_LEAVE_BOARD: |
156 | case EVT_GIVE_TOKEN: |
157 | return ( (_board != null) |
158 | && (_board.getId() == event.getWhere())); |
159 | |
160 | default: |
161 | return false; |
162 | } |
163 | } |
164 | }; |
165 | eventsChannel.registerPushConsumer(priority, filter, new PersistentDeferredConsumer() |
166 | { |
167 | @Override protected void pushEvent(Event event) |
168 | { |
169 | update(); |
170 | } |
171 | }); |
172 | } |
173 | |
174 | public Account getIdentity() |
175 | { |
176 | return _identity.getIdentity(); |
177 | } |
178 | |
179 | public Account getAccount() |
180 | { |
181 | return _account; |
182 | } |
183 | |
184 | public Board getBoard() |
185 | { |
186 | return _board; |
187 | } |
188 | |
189 | public BoardImageModel getImageModel() |
190 | { |
191 | return _imageModel; |
192 | } |
193 | |
194 | public Board getDrawBoard() |
195 | { |
196 | return _drawBoard; |
197 | } |
198 | |
199 | public Participant getParticipant() |
200 | { |
201 | return _participant; |
202 | } |
203 | |
204 | public Event getNotification() |
205 | { |
206 | return _notification; |
207 | } |
208 | |
209 | protected void update() |
210 | { |
211 | for (GuiContextListener listener: _listeners.getListeners(GuiContextListener.class)) |
212 | { |
213 | listener.contextChanged(this); |
214 | } |
215 | } |
216 | |
217 | private Account _account = null; |
218 | private Board _board = null; |
219 | private BoardImageModel _imageModel = null; |
220 | private Board _drawBoard = null; |
221 | private Participant _participant = null; |
222 | private Event _notification = null; |
223 | private IdentityHolder _identity = null; |
224 | private EventListenerList _listeners = new EventListenerList(); |
225 | } |