public override bool add(ControlUI pControl) { bool ret = base.add(pControl); if (!ret) { return(ret); } if (mCurSel == -1 && pControl.isVisible()) { mCurSel = getItemIndex(pControl); } else { pControl.setVisible(false); } return(ret); }
public override bool add(ControlUI pControl) { // Override the Add() method so we can add items specifically to // the intended widgets. Headers are assumed to be // answer the correct interface so we can add multiple list headers. if (pControl.getInterface("ListHeader") != null) { if (mHeader != pControl && mHeader.getCount() == 0) { { // 把旧的表头控件属性赋予到新的表头控件 pControl.setBackImage(mHeader.getBackImage()); pControl.setVisible(mHeader.isVisible()); } base.remove(mHeader); mHeader = null; mHeader = (ListHeaderUI)(pControl); } return(base.addAt(pControl, 0)); } // We also need to recognize header sub-items if (pControl.getClass() == "ListHeaderItemUI") { return(mHeader.add(pControl)); } // The list items should know about us IListItemUI pListItem = (IListItemUI)pControl.getInterface("ListItem"); if (pListItem != null) { pListItem.setOwner(this); pListItem.setIndex(getCount()); } return(mList.add(pControl)); }
public override bool addAt(ControlUI pControl, int iIndex) { bool ret = base.addAt(pControl, iIndex); if (!ret) { return(ret); } if (mCurSel == -1 && pControl.isVisible()) { mCurSel = getItemIndex(pControl); } else if (mCurSel != -1 && iIndex <= mCurSel) { mCurSel += 1; } else { pControl.setVisible(false); } return(ret); }