Clover Coverage Report - FEST Swing 1.2
Coverage timestamp: Tue Jun 1 2010 15:19:25 PDT
../../../../img/srcFileCovDistChart10.png 0% of files have more coverage
8   57   4   2.67
2   25   0.5   3
3     1.33  
1    
 
  AWTEventPoster       Line # 30 8 0% 4 0 100% 1.0
 
No Tests
 
1    /*
2    * Created on Apr 2, 2008
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5    * in compliance with the License. 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 distributed under the License
10    * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11    * or implied. See the License for the specific language governing permissions and limitations under
12    * the License.
13    *
14    * Copyright @2008-2010 the original author or authors.
15    */
16    package org.fest.swing.core;
17   
18    import static org.fest.swing.timing.Pause.pause;
19   
20    import java.awt.*;
21   
22    import org.fest.swing.input.InputState;
23    import org.fest.swing.monitor.WindowMonitor;
24   
25    /**
26    * Understands posting <code>{@link AWTEvent}</code>s in a <code>{@link EventQueue}</code>.
27    *
28    * @author Yvonne Wang
29    */
 
30    class AWTEventPoster {
31   
32    private final Toolkit toolkit;
33    private final InputState inputState;
34    private final WindowMonitor windowMonitor;
35    private final Settings settings;
36   
 
37  1592 toggle AWTEventPoster(Toolkit toolkit, InputState inputState, WindowMonitor windowMonitor, Settings settings) {
38  1592 this.toolkit = toolkit;
39  1592 this.inputState = inputState;
40  1592 this.windowMonitor = windowMonitor;
41  1592 this.settings = settings;
42    }
43   
44    // Post the given event to the corresponding event queue for the given component.
 
45  2 toggle void postEvent(Component c, AWTEvent event) {
46    // Force an update of the input state, so that we're in synch internally. Otherwise we might post more events before
47    // this one gets processed and end up using stale values for those events.
48  2 inputState.update(event);
49  2 eventQueueFor(c).postEvent(event);
50  2 pause(settings.delayBetweenEvents());
51    }
52   
53    /* Usually only needed when dealing with Applets. */
 
54  2 toggle private EventQueue eventQueueFor(Component c) {
55  2 return c != null ? windowMonitor.eventQueueFor(c) : toolkit.getSystemEventQueue();
56    }
57    }