/* WCRelation.java - A part of word card corresponds to a semantic relations part * of a page (entry) in Wiktionary. * * Copyright (c) 2009-2012 Andrew Krizhanovsky <andrew.krizhanovsky at gmail.com> * Distributed under EPL/LGPL/GPL/AL/BSD multi-license. */ package wikokit.kiwidict.word_card; import java.util.List; import wikokit.base.wikt.constant.Relation; import wikokit.base.wikt.sql.TMeaning; import wikokit.base.wikt.sql.TRelation; import wikokit.kiwidict.KWConstants; import wikokit.kiwidict.util.GUI; import android.app.Activity; import android.database.sqlite.SQLiteDatabase; import android.widget.LinearLayout; import android.widget.LinearLayout.LayoutParams; import android.widget.TextView; public class WCRelation { /** Creates a part of card (parts of wiki pages) with list of quotes * related to one meaning (sense). * * @return null if there are no any quotes for this meaning. **/ public LinearLayout create ( Activity _context, SQLiteDatabase db, TMeaning _tmeaning ) { // GUI LayoutParams mpwc_top_margin = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 1); mpwc_top_margin.setMargins(0, GUI.ConvertPixelsToDP(_context, KWConstants.relation_gap), 0, 0); // .setMargins(left, top, right, bottom); LinearLayout result_layout = new LinearLayout(_context); result_layout.setOrientation(LinearLayout.VERTICAL); result_layout.setLayoutParams(mpwc_top_margin); // all relations for this meaning TRelation[] rels = TRelation.get(db, _tmeaning); //for each relation type Relation[] relation_types = Relation.getAllRelationsOrderedArray(); boolean b_at_least_one_relation_exists = false; for(Relation r_type : relation_types) { WCRelationOneType _r1 = new WCRelationOneType(); //LinearLayout ll_r1 = _r1.create(_context, db, rels, r_type); TextView rel_text = _r1.create(_context, db, rels, r_type); if(null != rel_text) { b_at_least_one_relation_exists = true; result_layout.addView(rel_text); } } if(b_at_least_one_relation_exists) return result_layout; return null; } }