blob: e8a570ac85fc5d30cf9f983720773c88e857acd7 [file] [log] [blame]
Alexandre Savard0014d232012-09-24 10:31:23 -04001package com.savoirfairelinux.sflphone.client;
2
3import android.content.Context;
4import android.text.Editable;
5import android.widget.TableLayout;
6import android.util.AttributeSet;
7import android.util.Log;
8import android.util.SparseArray;
9import android.view.LayoutInflater;
10import android.view.View;
11import android.view.View.OnClickListener;
12import android.widget.Button;
13import android.widget.EditText;
14
15import com.savoirfairelinux.sflphone.R;
16
17public class Numpad extends TableLayout implements OnClickListener
18{
19 private static final String TAG = "Numpad";
20 private static final SparseArray<String> DIGITS_NAME = new SparseArray<String>();
21 private EditText mEditText;
22
23 static {
24 DIGITS_NAME.put(R.id.numButton0, "0");
25 DIGITS_NAME.put(R.id.numButton1, "1");
26 DIGITS_NAME.put(R.id.numButton2, "2");
27 DIGITS_NAME.put(R.id.numButton3, "3");
28 DIGITS_NAME.put(R.id.numButton4, "4");
29 DIGITS_NAME.put(R.id.numButton5, "5");
30 DIGITS_NAME.put(R.id.numButton6, "6");
31 DIGITS_NAME.put(R.id.numButton7, "7");
32 DIGITS_NAME.put(R.id.numButton8, "8");
33 DIGITS_NAME.put(R.id.numButton9, "9");
34 DIGITS_NAME.put(R.id.numButtonStar, "*");
35 DIGITS_NAME.put(R.id.numButtonSharp, "#");
36 }
37
38 public Numpad(Context context)
39 {
40 super(context);
41 }
42
43 public Numpad(Context context, AttributeSet attrs)
44 {
45 super(context, attrs);
46 LayoutInflater inflater = LayoutInflater.from(context);
47 inflater.inflate(R.layout.numpad, this, true);
48 }
49
50 protected void onFinishInflate()
51 {
52 super.onFinishInflate();
53
54 for(int i = 0; i < DIGITS_NAME.size(); i++)
55 {
56 Button b = (Button) findViewById(DIGITS_NAME.keyAt(i));
57 b.setText(DIGITS_NAME.valueAt(i));
58 b.setOnClickListener(this);
59 }
60 }
61
62 public void setEditText(EditText editText)
63 {
64 mEditText = editText;
65 }
66
67 @Override
68 public void onClick(View v)
69 {
70 Log.i(TAG, "Clicked " + ((Button)v).getText().toString() );
71 Editable edit = mEditText.getText();
72 edit.append(((Button)v).getText());
73 }
74}