From 9e5a13f54f478273962b3b23bd3c747cf9640a51 Mon Sep 17 00:00:00 2001 From: gnosygnu Date: Tue, 1 Jan 2019 18:18:07 -0500 Subject: [PATCH] Category: Pass count into category msg [#316] --- .../doubles/Xoctg_double_box__tst.java | 25 ++++++++++++++++++- .../pageboxs/doubles/Xoctg_double_grp.java | 22 ++++++++++------ .../pageboxs/doubles/Xoctg_double_itm.java | 5 ++-- .../xtns/cites/References_nde_basic_tst.java | 2 +- 4 files changed, 43 insertions(+), 11 deletions(-) diff --git a/400_xowa/src/gplx/xowa/addons/wikis/ctgs/htmls/pageboxs/doubles/Xoctg_double_box__tst.java b/400_xowa/src/gplx/xowa/addons/wikis/ctgs/htmls/pageboxs/doubles/Xoctg_double_box__tst.java index e7489aaa8..cb84241c6 100644 --- a/400_xowa/src/gplx/xowa/addons/wikis/ctgs/htmls/pageboxs/doubles/Xoctg_double_box__tst.java +++ b/400_xowa/src/gplx/xowa/addons/wikis/ctgs/htmls/pageboxs/doubles/Xoctg_double_box__tst.java @@ -18,7 +18,30 @@ import org.junit.*; import gplx.xowa.wikis.data.tbls.*; public class Xoctg_double_box__tst { @Before public void init() {fxt.Clear();} private Xoctg_double_box__fxt fxt = new Xoctg_double_box__fxt(); - @Test public void Basic() { + @Test public void Single() { + fxt.Init_ctg_hidden("Category:A"); + fxt.Init_ctg_normal("Category:D"); + fxt.Test_print_hidden(String_.Concat_lines_nl + ( "
" + , "
" + , "Category:" + , "
    " + , "
  • " + , "D" + , "
  • " + , "
" + , "
" + , "" + , "
" + )); + } + @Test public void Plural() { fxt.Init_ctg_hidden("Category:A", "Category:B", "Category:C"); fxt.Init_ctg_normal("Category:D", "Category:E", "Category:F"); fxt.Test_print_hidden(String_.Concat_lines_nl diff --git a/400_xowa/src/gplx/xowa/addons/wikis/ctgs/htmls/pageboxs/doubles/Xoctg_double_grp.java b/400_xowa/src/gplx/xowa/addons/wikis/ctgs/htmls/pageboxs/doubles/Xoctg_double_grp.java index 96f011eb7..ce4d22cea 100644 --- a/400_xowa/src/gplx/xowa/addons/wikis/ctgs/htmls/pageboxs/doubles/Xoctg_double_grp.java +++ b/400_xowa/src/gplx/xowa/addons/wikis/ctgs/htmls/pageboxs/doubles/Xoctg_double_grp.java @@ -19,24 +19,32 @@ import gplx.xowa.langs.*; import gplx.xowa.langs.msgs.*; import gplx.xowa.htmls.core.htmls.*; import gplx.xowa.users.history.*; public class Xoctg_double_grp implements Bfr_arg { - private byte[] lbl_ctg_help, lbl_ctg_text, lbl_hidden; + private Xow_wiki wiki; + private byte[] lbl_ctg_help; public boolean Type_is_normal() {return type_is_normal;} private boolean type_is_normal; public Xoctg_double_itm Itms() {return itms;} private final Xoctg_double_itm itms = new Xoctg_double_itm(); public void Init_by_wiki(Xow_wiki wiki, Xou_history_mgr history_mgr, boolean type_is_normal) { this.type_is_normal = type_is_normal; - lbl_ctg_text = wiki.Msg_mgr().Val_by_id(Xol_msg_itm_.Id_ctg_tbl_hdr); - lbl_ctg_help = Xol_msg_mgr_.Get_msg_val(wiki, wiki.Lang(), Key_pagecategorieslink, Bry_.Ary_empty); - lbl_hidden = wiki.Msg_mgr().Val_by_id(Xol_msg_itm_.Id_ctg_tbl_hidden); + this.wiki = wiki; + this.lbl_ctg_help = Xol_msg_mgr_.Get_msg_val(wiki, wiki.Lang(), Key_pagecategorieslink, Bry_.Ary_empty); itms.Init_by_wiki(wiki, history_mgr); } public void Bfr_arg__add(Bry_bfr bfr) { - if (type_is_normal) + int count = itms.Itms__count(); + if (type_is_normal) { + byte[] lbl_ctg_text = wiki.Msg_mgr().Val_by_key_args(Key_pagecategories, count); Fmt__normal.Bld_many(bfr, lbl_ctg_help, lbl_ctg_text, itms); - else + } + else { + byte[] lbl_hidden = wiki.Msg_mgr().Val_by_id_args(Xol_msg_itm_.Id_ctg_tbl_hidden, count); Fmt__hidden.Bld_many(bfr, lbl_hidden, itms); + } } - private static final byte[] Key_pagecategorieslink = Bry_.new_a7("pagecategorieslink"); + private static final byte[] + Key_pagecategorieslink = Bry_.new_a7("pagecategorieslink") + , Key_pagecategories = Bry_.new_a7("pagecategories") + ; private static final Bry_fmt Fmt__normal = Bry_fmt.Auto_nl_skip_last ( "" diff --git a/400_xowa/src/gplx/xowa/addons/wikis/ctgs/htmls/pageboxs/doubles/Xoctg_double_itm.java b/400_xowa/src/gplx/xowa/addons/wikis/ctgs/htmls/pageboxs/doubles/Xoctg_double_itm.java index d657410b5..fdf8ecd6b 100644 --- a/400_xowa/src/gplx/xowa/addons/wikis/ctgs/htmls/pageboxs/doubles/Xoctg_double_itm.java +++ b/400_xowa/src/gplx/xowa/addons/wikis/ctgs/htmls/pageboxs/doubles/Xoctg_double_itm.java @@ -26,8 +26,9 @@ public class Xoctg_double_itm implements gplx.core.brys.Bfr_arg { this.href_wtr = wiki.Html__href_wtr(); this.history_mgr = history_mgr; } - public void Itms__clear() {itms.Clear();} - public void Itms__add(Xoctg_pagebox_itm page) {itms.Add(page);} + public void Itms__clear() {itms.Clear();} + public int Itms__count() {return itms.Count();} + public void Itms__add(Xoctg_pagebox_itm page) {itms.Add(page);} public void Bfr_arg__add(Bry_bfr bfr) { int len = itms.Count(); for (int i = 0; i < len; ++i) { diff --git a/400_xowa/src/gplx/xowa/xtns/cites/References_nde_basic_tst.java b/400_xowa/src/gplx/xowa/xtns/cites/References_nde_basic_tst.java index f6e5a5697..d29f67800 100644 --- a/400_xowa/src/gplx/xowa/xtns/cites/References_nde_basic_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/cites/References_nde_basic_tst.java @@ -16,7 +16,7 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt package gplx.xowa.xtns.cites; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; import org.junit.*; public class References_nde_basic_tst { - @Before public void init() {fxt.Clear_ref_mgr();} private final Xop_fxt fxt = new Xop_fxt(); + @Before public void init() {fxt.Clear_ref_mgr();} private final Xop_fxt fxt = new Xop_fxt(); @After public void term() {fxt.Init_para_n_();} @Test public void Basic() { fxt.Test_parse_page_wiki_str(String_.Concat_lines_nl_skip_last