diff --git a/src/ui/android/res/drawable-hdpi/open_arrow.png b/src/ui/android/res/drawable-hdpi/open_arrow.png new file mode 100644 index 000000000..ec7453797 Binary files /dev/null and b/src/ui/android/res/drawable-hdpi/open_arrow.png differ diff --git a/src/ui/android/res/layout/activity_lexical_entry.xml b/src/ui/android/res/layout/activity_lexical_entry.xml index 75be89885..55bf51059 100644 --- a/src/ui/android/res/layout/activity_lexical_entry.xml +++ b/src/ui/android/res/layout/activity_lexical_entry.xml @@ -5,20 +5,44 @@ android:layout_width="match_parent" > - + android:layout_alignParentRight="true" + android:padding="8dp" + android:background="#C0C0C0" + > + + + + + + \ No newline at end of file diff --git a/src/ui/android/res/layout/lexical_item.xml b/src/ui/android/res/layout/lexical_item.xml new file mode 100644 index 000000000..0c56b6730 --- /dev/null +++ b/src/ui/android/res/layout/lexical_item.xml @@ -0,0 +1,21 @@ + + + + + + \ No newline at end of file diff --git a/src/ui/android/res/values/strings.xml b/src/ui/android/res/values/strings.xml index ca5ea7317..2720ed10c 100644 --- a/src/ui/android/res/values/strings.xml +++ b/src/ui/android/res/values/strings.xml @@ -1,9 +1,9 @@ - GF4Translator + GF Translator Microphone Switch languages - + Opening diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/ConversationView.java b/src/ui/android/src/org/grammaticalframework/ui/android/ConversationView.java index 75d34f886..f138da336 100644 --- a/src/ui/android/src/org/grammaticalframework/ui/android/ConversationView.java +++ b/src/ui/android/src/org/grammaticalframework/ui/android/ConversationView.java @@ -76,7 +76,10 @@ public class ConversationView extends ScrollView { showWordButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { - mListener.onWordSelected(lexicon2); + TextView textview = (TextView) + ((View) v.getParent()).findViewById(R.id.text); + CharSequence text = textview.getText(); + mListener.onWordSelected(text, lexicon2); } }); } @@ -88,6 +91,6 @@ public class ConversationView extends ScrollView { } public interface OnWordSelectedListener { - public void onWordSelected(Object lexicon); + public void onWordSelected(CharSequence word, Object lexicon); } } diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/LexicalEntryActivity.java b/src/ui/android/src/org/grammaticalframework/ui/android/LexicalEntryActivity.java index b50cbd0bd..a8717c1aa 100644 --- a/src/ui/android/src/org/grammaticalframework/ui/android/LexicalEntryActivity.java +++ b/src/ui/android/src/org/grammaticalframework/ui/android/LexicalEntryActivity.java @@ -3,9 +3,14 @@ package org.grammaticalframework.ui.android; import java.util.ArrayList; import java.util.List; +import android.app.Activity; import android.app.ListActivity; import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; import android.widget.ArrayAdapter; +import android.widget.TextView; import org.grammaticalframework.pgf.*; import org.grammaticalframework.ui.android.LanguageSelector.OnLanguageSelectedListener; @@ -25,7 +30,6 @@ public class LexicalEntryActivity extends ListActivity { mShowLanguageView = (LanguageSelector) findViewById(R.id.show_language); mShowLanguageView.setLanguages(mTranslator.getAvailableSourceLanguages()); - mShowLanguageView.setSelectedLanguage(mTranslator.getTargetLanguage()); mShowLanguageView.setOnLanguageSelectedListener(new OnLanguageSelectedListener() { @Override public void onLanguageSelected(Language language) { @@ -33,6 +37,9 @@ public class LexicalEntryActivity extends ListActivity { updateTranslations(); } }); + + TextView descrView = (TextView) findViewById(R.id.lexical_desc); + descrView.setText(getIntent().getExtras().getString("source")); updateTranslations(); } @@ -44,17 +51,34 @@ public class LexicalEntryActivity extends ListActivity { List data = new ArrayList(); for (MorphoAnalysis a : list) { - // Expr e = Expr.readExpr(a.getLemma()); - String phrase = "FOO" ; //mTranslator.linearize(e); + Expr e = Expr.readExpr(a.getLemma()); + String phrase = mTranslator.linearize(e); if (!data.contains(phrase)) { data.add(phrase); } } - ArrayAdapter adapter = new ArrayAdapter(this, + ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, - data); + data) { + public View getView(int position, View convertView, ViewGroup parent) { + String item = getItem(position); + + LayoutInflater inflater = (LayoutInflater) getContext() + .getSystemService(Activity.LAYOUT_INFLATER_SERVICE); + if (convertView == null) { + convertView = inflater.inflate(R.layout.lexical_item, null); + } + + TextView descView = + (TextView) convertView.findViewById(R.id.lexical_desc); + descView.setText(item); + + return convertView; + } + }; + setListAdapter(adapter); } } diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java b/src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java index 91823946b..c312d7aad 100644 --- a/src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java +++ b/src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java @@ -68,8 +68,9 @@ public class MainActivity extends Activity { mConversationView.setOnWordSelectedListener(new OnWordSelectedListener() { @Override - public void onWordSelected(Object lexicon) { + public void onWordSelected(CharSequence word, Object lexicon) { Intent myIntent = new Intent(MainActivity.this, LexicalEntryActivity.class); + myIntent.putExtra("source", word); myIntent.putExtra("analyses", (Serializable) lexicon); MainActivity.this.startActivity(myIntent); } @@ -83,7 +84,6 @@ public class MainActivity extends Activity { mTranslator = ((GFTranslator) getApplicationContext()).getTranslator(); mSourceLanguageView.setLanguages(mTranslator.getAvailableSourceLanguages()); - mSourceLanguageView.setSelectedLanguage(mTranslator.getSourceLanguage()); mSourceLanguageView.setOnLanguageSelectedListener(new OnLanguageSelectedListener() { @Override public void onLanguageSelected(Language language) { @@ -91,7 +91,6 @@ public class MainActivity extends Activity { } }); mTargetLanguageView.setLanguages(mTranslator.getAvailableTargetLanguages()); - mTargetLanguageView.setSelectedLanguage(mTranslator.getTargetLanguage()); mTargetLanguageView.setOnLanguageSelectedListener(new OnLanguageSelectedListener() { @Override public void onLanguageSelected(Language language) { diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java b/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java index 797428a36..9f50ebc18 100644 --- a/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java +++ b/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java @@ -20,7 +20,7 @@ public class Translator { private static final String TAG = "Translator"; // TODO: allow changing - private String mGrammar = "ParseEngChi.pgf"; + private String mGrammar = "ParseEngAbs.pgf"; // TODO: build dynamically? private Language[] mLanguages = {