ui_form.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * ui_form.cpp
  3. *
  4. * Created on: 2021年8月20日
  5. * Author: pengzc
  6. */
  7. #include "ui_form.h"
  8. int UIForm::getListItemCount(const ZKListView* pListView) const {
  9. return fields.size();
  10. }
  11. void UIForm::obtainListItemData(ZKListView* pListView,
  12. ZKListView::ZKListItem* pListItem, int index) {
  13. if (index >= int(fields.size())) {
  14. return;
  15. }
  16. std::map<int, ZKListView::ZKListSubItem*> items;
  17. items[Field::ICON] = pListItem->findSubItemByID(ids[Field::ICON]);
  18. items[Field::TITLE] = pListItem->findSubItemByID(ids[Field::TITLE]);
  19. items[Field::VALUE] = pListItem->findSubItemByID(ids[Field::VALUE]);
  20. items[Field::ARRAW] = pListItem->findSubItemByID(ids[Field::ARRAW]);
  21. items[Field::ONLY_TITLE] = pListItem->findSubItemByID(ids[Field::ONLY_TITLE]);
  22. items[Field::SWITCH] = pListItem->findSubItemByID(ids[Field::SWITCH]);
  23. items[Field::DIVIDER] = pListItem->findSubItemByID(ids[Field::DIVIDER]);
  24. (*(fields.begin() + index))->Paint(pListView, pListItem, index, items);
  25. }
  26. UIForm::~UIForm() {
  27. for (auto& f : fields) {
  28. delete f;
  29. }
  30. fields.clear();
  31. }
  32. void UIForm::onItemClick(ZKListView* pListView, int index, int itemID) {
  33. if (index >= int(fields.size())) {
  34. return;
  35. }
  36. (*(fields.begin() + index))->Click();
  37. }