litesoft
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt
package org.litesoft.GWT.client;
import java.util.*;
import org.litesoft.core.typeutils.*;
public class StatusBar
{
private static Stack<String> sMessages = new Stack<String>();
public static void remove( String pText )
{
if ( (pText != null) && sMessages.remove( pText ) )
{
refresh();
}
}
public static void add( String pText )
{
if ( pText != null )
{
if ( sMessages.isEmpty() )
{
sMessages.push( pText );
}
else if ( !pText.equals( sMessages.peek() ) )
{
sMessages.remove( pText );
sMessages.push( pText );
}
refresh();
}
}
public static void refresh()
{
set( sMessages.isEmpty() ? " " : sMessages.peek() );
}
public static void prepend( String pText, String pSep )
{
if ( pText != null )
{
String zExistingText = Strings.noEmpty( get() );
if ( zExistingText != null )
{
pText = Strings.trimToLength( Strings.deNull( pSep ) + zExistingText, 80, "..." );
}
set( pText );
}
}
public static native void set( String pText )/*-{
$wnd.status = pText;
}-*/;
public static native String get()/*-{
return $wnd.status;
}-*/;
}
|