-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathAbstractWidget.java
More file actions
105 lines (95 loc) · 2.34 KB
/
AbstractWidget.java
File metadata and controls
105 lines (95 loc) · 2.34 KB
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
package org.lcdproc.lcdjava;
/**
* Abstract parent class for Widgets.
* <p>Copyright (c) 2004-2005 Darren Greaves.
* @author Darren Greaves
* @version $Id: AbstractWidget.java,v 1.3 2008-07-06 15:38:34 boncey Exp $
*/
public abstract class AbstractWidget implements Widget
{
/**
* Version details.
*/
public static final String CVSID =
"$Id: AbstractWidget.java,v 1.3 2008-07-06 15:38:34 boncey Exp $";
/**
* The Widget id.
*/
private int _id;
/**
* The Screen this Widget belongs to.
*/
private Screen _screen;
/**
* Constructor.
* @param id the of the Widget.
* @param screen the Screen that knows about this Widget.
*/
protected AbstractWidget(int id, Screen screen)
{
_id = id;
_screen = screen;
}
/**
* Get the Widget id.
* @return the Widget id.
*/
public int getId()
{
return _id;
}
/**
* Add this Widget to the Screen that constructed us.
* @return whether or not the widget was added successfully.
*/
public boolean activate()
{
return _screen.addWidget(this);
}
/**
* Remove this Widget from the Screen that constructed us.
*/
public void remove()
{
_screen.removeWidget(this);
}
/**
* Strip any quotes from the provided text.
* @param text the text to strip quotes from.
* @return the text with any quotes removed.
*/
protected String stripQuotes(String text)
{
StringBuffer ret = new StringBuffer();
if (text != null)
{
char[] chars = text.toCharArray();
for (int i = 0; i < chars.length; i++)
{
if (chars[i] != '\"')
{
ret.append(chars[i]);
}
}
}
return (text == null) ? null : ret.toString();
}
/**
* Update this Widget's state.
*/
protected void update()
{
_screen.updateWidget(this);
}
/**
* Return a String representing this Widget.
* @return a String representing this Widget.
*/
public String toString()
{
return "Type = " + getType() +
"; screen id = " + _screen.getId() +
"; id = " + getId() +
"; data = " + getData();
}
}