]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - src/com/hughes/android/dictionary/DictionaryActivity.java
Switching to HtmlDisplayActivity.
[Dictionary.git] / src / com / hughes / android / dictionary / DictionaryActivity.java
index f526cb9eebbd46b0d09cde37c042a8459b441a28..84238e9f3fafd110eb5a83c7ca7bf7f590490555 100644 (file)
@@ -64,8 +64,10 @@ import android.view.View;
 import android.view.View.OnClickListener;\r
 import android.view.View.OnLongClickListener;\r
 import android.view.ViewGroup;\r
+import android.view.ViewGroup.LayoutParams;\r
 import android.view.WindowManager;\r
 import android.view.inputmethod.InputMethodManager;\r
+import android.webkit.WebView;\r
 import android.widget.AdapterView;\r
 import android.widget.AdapterView.AdapterContextMenuInfo;\r
 import android.widget.BaseAdapter;\r
@@ -83,6 +85,7 @@ import android.widget.Toast;
 import com.hughes.android.dictionary.DictionaryInfo.IndexInfo;\r
 import com.hughes.android.dictionary.engine.Dictionary;\r
 import com.hughes.android.dictionary.engine.EntrySource;\r
+import com.hughes.android.dictionary.engine.HtmlEntry;\r
 import com.hughes.android.dictionary.engine.Index;\r
 import com.hughes.android.dictionary.engine.Index.IndexEntry;\r
 import com.hughes.android.dictionary.engine.PairEntry;\r
@@ -929,6 +932,9 @@ public class DictionaryActivity extends ListActivity {
   // --------------------------------------------------------------------------\r
   // IndexAdapter\r
   // --------------------------------------------------------------------------\r
+  \r
+  static ViewGroup.LayoutParams WEIGHT_1 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.FILL_PARENT, 1.0f);\r
+  static ViewGroup.LayoutParams WEIGHT_0 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.FILL_PARENT, 0.0f);\r
 \r
   final class IndexAdapter extends BaseAdapter {\r
     \r
@@ -977,6 +983,8 @@ public class DictionaryActivity extends ListActivity {
         return getView(position, (PairEntry.Row) row, parent, result);\r
       } else if (row instanceof TokenRow) {\r
         return getView((TokenRow) row, parent, result);\r
+      } else if (row instanceof HtmlEntry.Row) {\r
+        return getView((HtmlEntry.Row) row, parent, result);\r
       } else {\r
         throw new IllegalArgumentException("Unsupported Row type: " + row.getClass());\r
       }\r
@@ -1071,7 +1079,39 @@ public class DictionaryActivity extends ListActivity {
 \r
       return result;\r
     }\r
+    \r
 \r
+    private TableLayout getView(HtmlEntry.Row row, ViewGroup parent, final TableLayout result) {\r
+      final Context context = parent.getContext();\r
+      \r
+      final HtmlEntry htmlEntry = row.getEntry();\r
+      \r
+      //final TableRow tableRow = new TableRow(context);\r
+      final LinearLayout tableRow = new LinearLayout(context);\r
+      result.addView(tableRow);\r
+      \r
+      // Text.\r
+      final TextView textView = new TextView(context);\r
+      textView.setText(htmlEntry.title);\r
+      textView.setLayoutParams(new LinearLayout.LayoutParams(0, ViewGroup.LayoutParams.WRAP_CONTENT, 1.0f));\r
+      tableRow.addView(textView);\r
+      \r
+      // Button.\r
+      final Button button = new Button(context);\r
+      button.setText("open");\r
+      button.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, 0.0f));\r
+      tableRow.addView(button);\r
+      \r
+      button.setOnClickListener(new OnClickListener() {\r
+        @Override\r
+        public void onClick(View v) {\r
+          startActivity(HtmlDisplayActivity.getHtmlIntent(String.format("<html><head></head><body>%s</body></html>", htmlEntry.html)));\r
+        }\r
+      });\r
+      \r
+      return result;\r
+    }\r
+    \r
     private TableLayout getView(TokenRow row, ViewGroup parent, final TableLayout result) {\r
       final Context context = parent.getContext();\r
       final TextView textView = new TextView(context);\r