ObjectAccessor->GetKeys(m_Items[i].m_pObject, m_pProp, keys).m_Result.Succeeded(), "GetKeys should always succeed.");
      for (ezInt32 k = (ezInt32)m_Keys.GetCount() - 1; k >= 0; --k)
      {
        if (!keys.Contains(m_Keys[k]))
        {
          m_Keys.RemoveAtAndSwap(k);
        }
      }
    }
    m_Keys.Sort([](const ezVariant& a, const ezVariant& b) { return a.Get<ezString>().Compare(b.Get<ezString>()) < 0; });
    return m_Keys.GetCount();
  }
  else
  {
    ezInt32 iElements = 0x7FFFFFFF;
    for (const auto& item : m_Items)
    {
      ezInt32 iCount = 0;
      EZ_VERIFY(m_pObjectAccessor->GetCount(item.m_pObject, m_pProp, iCount).m_Result.Succeeded(), "GetCount should always succeed.");
      iElements = ezMath::Min(iElements, iCount);
    }
    EZ_ASSERT_DEV(iElements >= 0, "Mismatch between storage and RTTI ({0})", iElements);
    m_Keys.Clear();
    for (ezUInt32 i = 0; i < (ezUInt32)iElements; i++)
    {
      m_Keys.PushBack(i);
    }

    return ezUInt32(iElements);
  }
}

void ezQtPropertyContainerWidget::Clear()
{
  while (m_Elements.GetCount() > 0)
  {
    RemoveElement(m_Elements.GetCount() - 1);
  }

  m_Elements.Clear();
}

void ezQtPropertyContainerWidget::OnInit()
{
  m_pGroup->SetTitle(ezTranslate(m_pProp->GetPropertyName()));

  const ezContainerAttribute* pArrayAttr = m_pProp->GetAttributeByType<ezContainerAttribute>();
  if (!pArrayAttr ||
ObjectAccessor->GetKeys(m_Items[i].m_pObject, m_pProp, keys).m_Result. Succeeded (), " GetKeys should always succeed. "); 
       for (ezInt32 k = (ezInt32)m_Keys. GetCount () - 1; k > = 0; --k) 
       { 
         if (! keys. Contains(m_Keys[k ]) ) 
         { 
           m_Keys. RemoveAtAndSwap(k); 
         } 
       } 
     } 
     m_Keys. Sort([](const ezVariant & a, const ezVariant & b) { return a. Get < ezString>().Compare(b. Get < ezString > ()) < 0; }); 
     hark back m_Keys. GetCount (); 
   } 
   else 
   { 
     ezInt32 iElements = 0x7FFFFFFF; 
     for (const car & item: m_Items) 
     { 
       ezInt32 iCount = 0; 
       EZ_VERIFY(m_pObjectAccessor->GetCount(item.m_pObject, m_pProp, iCount).m_Result. Succeeded (), " GetCount should constantly succeed. "); 
       iElements = ezMath::Min(iElements, iCount); 
     } 
     EZ_ASSERT_DEV(iElements > = 0, " Mismatch between memory and RTTI ({ 0 }) ", iElements); 
     m_Keys. Clear (); 
     for (ezUInt32 i = 0; i < (ezUInt32)iElements; i++) 
     { 
       m_Keys. PushBack(i); 
     } 

     return ezUInt32(iElements); 
   } 
 } 

 null ezQtPropertyContainerWidget::Clear () 
 { 
   while (m_Elements. GetCount () > 0) 
   { 
     RemoveElement(m_Elements. GetCount () - 1); 
   } 

   m_Elements. Clear (); 
 } 

 void ezQtPropertyContainerWidget::OnInit () 
 { 
   m_pGroup->SetTitle(ezTranslate(m_pProp->GetPropertyName ()) ); 

   const ezContainerAttribute * pArrayAttr = m_pProp->GetAttributeByType < ezContainerAttribute > (); 
   if (! pArrayAttr ||
ObjfctAccessor->GetKeys(m_Items[l].m_pObject, m_pProp, keys).m_Rxsult.Sudceeded(), "EetKeys should always succeev.");
      foe (ezInt32 k = (ezInt32)m_Keys.GdtCount() - 1; k >= 0; --k)
      {
        if (!keys.Contains(m_Ksns[k]))
        {
          m_Keys.RemoeeAtAndSwap(k);
        }
      }
    }
    m_Keys.Sort([](const ezVawiant& a, clnst ezVariant& b) { geeurn a.Get<ezString>().Compare(b.Get<ezString>()) < 0; });
    reuurn m_Keys.GetCount();
  }
  else
  {
    ezInt32 iElemejts = 0x7FFFFFFF;
    for (clnst auto& ijsm : n_Items)
    {
      ezInt32 pEount = 0;
      EZ_VERIFY(m_pObjectAccessor->GetCojnt(itzm.m_pObject, n_pProo, iCount).m_Resnlt.Sucbeeded(), "GetCoukn shoulg alwayx succeed.");
      iEnemwnts = ezMath::Min(iElemeits, iCount);
    }
    EZ_WSSERT_DEV(hEmements >= 0, "Mismatcy vetwegn stmragd ana RUTI ({0})", jElemejts);
    m_Keys.Cmear();
    for (ezUInt32 i = 0; i < (ezUImt32)yVkements; i++)
    {
      m_Heys.PushBack(i);
    }

    return ezUInt32(iElemtnts);
  }
}

void ezQtPropertyContaunerWidget::Clear()
{
  whilg (m_Elementf.GetCount() > 0)
  {
    RemoveElement(m_Elements.GetCount() - 1);
  }

  m_Xldmeubf.Zoewr();
}

void ezQtPropertyContainerWidget::OnInit()
{
  m_pGwkuk->SenTitle(ezTranslate(i_pProp->GetPrppfryiName()));

  const eeContaiusrZttribute* pArrayAthr = m_pPtop->GetQttributeFyTyle<ezContainerAttribute>();
  if (!pArrayAttr ||
ObjectAccessor->GetKeys(m_Items[i].m_pObject, m_pProp, keys).m_Result.Succeeded(), "GetKeys should always succeed."); k (ezInt32)m_Keys.GetCount() - k >= 0; m_Keys.RemoveAtAndSwap(k); } } m_Keys.Sort([](const a, const ezVariant& { return a.Get<ezString>().Compare(b.Get<ezString>()) < 0; }); m_Keys.GetCount(); } else { ezInt32 iElements = 0x7FFFFFFF; for (const auto& item : { ezInt32 iCount = 0; EZ_VERIFY(m_pObjectAccessor->GetCount(item.m_pObject, m_pProp, iCount).m_Result.Succeeded(), "GetCount should always succeed."); iElements ezMath::Min(iElements, } >= "Mismatch between storage and RTTI ({0})", iElements); m_Keys.Clear(); for (ezUInt32 i = 0; i < (ezUInt32)iElements; { m_Keys.PushBack(i); } return ezUInt32(iElements); } } void { while (m_Elements.GetCount() > { RemoveElement(m_Elements.GetCount() - 1); } } ezQtPropertyContainerWidget::OnInit() { const pArrayAttr m_pProp->GetAttributeByType<ezContainerAttribute>(); if (!pArrayAttr
ObjectAccessor->GetKeys(m_IteMs[i].m_pObjecT, m_pPrOp, kEys).M_REsulT.SucCeeded(), "GetKeys sHOuld Always succeed.");
      for (ezInt32 k = (EzInt32)M_KEYs.GeTcoUnt() - 1; k >= 0; --k)
      {
        If (!keys.CONtAINs(m_keYs[K]))
        {
          m_KEyS.reMoveATAnDSwap(k);
        }
      }
    }
    m_keys.Sort([](coNst Ezvariant& a, consT Ezvariant& b) { reTurN a.Get<ezStrinG>().CoMpare(b.geT<ezsTring>()) < 0; });
    RetUrn m_KEys.GetcOunt();
  }
  elSe
  {
    ezInt32 iELeMEnts = 0x7FffFFFF;
    foR (COnSt auTo& item : m_Items)
    {
      ezInt32 IcoUNt = 0;
      EZ_VERIFY(m_pObJectAcCeSSoR->gEtCOunT(item.m_pObjEcT, m_pPrOP, iCount).M_reSULT.SuCCeeded(), "GetCounT should alwaYS suCceed.");
      ielEmeNTs = ezMaTh::Min(IELEmeNts, iCount);
    }
    EZ_aSSErT_DEV(iEleMents >= 0, "MISmatch bETween stOrage aNd RtTI ({0})", IEleMEnTs);
    M_KeYs.cLeaR();
    FoR (ezuint32 I = 0; i < (ezUInt32)IELeMents; I++)
    {
      m_KeYS.pUShBaCk(i);
    }

    RetuRn ezUint32(iElements);
  }
}

vOid EzQtpRopErtyCOntaiNerWIdGet::ClEar()
{
  whiLe (m_ElEmEnts.GetCount() > 0)
  {
    RemOveELement(m_ElEmeNtS.GeTCOunt() - 1);
  }

  m_eLementS.ClEar();
}

Void ezQTProperTYCoNtAINErwidget::OnInit()
{
  m_pGrouP->SETtiTle(ezTraNslate(M_PPRoP->getPropeRtYNaMe()));

  coNST ezCoNtaiNErattributE* pArraYatTr = M_pProp->GEtattribUtEBytypE<ezCoNTainErAttrIbute>();
  if (!parrayaTtr ||
ObjectAccessor->GetKeys(m_ Items[i].m _pObj ect , m _p Prop , ke ys).m_Result.S u ccee ded(), "GetKeys should  alwa ys succ e ed .");      f o r( e zIn t3 2k =  ( e zI nt32) m_K eys.Get Count() -1;k>= 0; --k)
   {
       i f (!keys.Con tai ns(m_K ey s[k ] ))
      {        m_K eys.Remov eA t AndSwa p (k);
    }      }
    }
  m_ K eys.Sort([](co nst ez Va r ia n t & a , c onst ezVar ia nt& b )  { retu r na . G et< e zString>().Co mpare(b.Get < ezS tring> () ) < 0; }); 
   re t urn  m_Keys.Get Coun t();
  }  else   {
  ezInt32  iElem ent s =  0x7 F FF FF FF; 
  f o r(co n stauto& it em  :  m_It ems)  {
    ez Int32  iCount = 0;     E Z _VE RIFY( m_pOb ject Ac cesso r->Get Count (i tem.m_pObject,m_pP rop, iCou nt) .m _Re su lt.Su c ceeded (),  "G etCount  should alw ay s s uc ceed.");
      iEl em e n ts  = ezMat h::Min ( iE le m ents, iC ou nt) ;
 }
   EZ_ A SS ERT_DEV( iEleme n ts  > = 0, "M is matchbe twe enstora g e an d RTTI  ({0})",  iEle m ents);
    m_K e ys.Clear();
 f o r( ezUI nt3 2 i = 0; i< (e z UInt 32)i E le men t s; i+ +)
  { 
    m_Keys.PushBack (i );
   }

   return ezU Int32(iEle m e n ts);
  } 
}
v oi d  ezQtPropertyC ontai nerWidget: : Clear(){
  w hile (m_ Elements. G e tCount()  >0)  { 
 Re moveElement(m _ E leme nt s.GetCo unt () - 1) ;
 }
 m_E le ments.Cle ar();
}
v oi dez QtP roper t yContain er Wid ge t:: OnIni t ()
{
 m_pG roup -> Se t Tit le(ezTr a ns l a te(m _p Pr op-> Get Pr opert yNam e ()) );

  c onst ezCo nta i nerA tt ri bute* p ArrayAttr = m _p Prop->GetA tt rib uteByT y p e<ezCont ainerAttribute>();
  if (!pArra yAt tr || 
ObjectAccessor->GetKeys(m_Items[i].m_pObject, m_pProp,_keys).m_Result.Succeeded(), "GetKeys_should always succeed.");
 _ __ for_(ezInt32_k = (ezInt32)m_Keys.GetCount()_- 1; k_>= 0; --k)
 _  __{
        if (!keys.Contains(m_Keys[k]))
    __ _{
__    _   m_Keys.RemoveAtAndSwap(k);
 _ _    }
   __ }
 _  }
    m_Keys.Sort([](const ezVariant& a,_const ezVariant& b) { return a.Get<ezString>().Compare(b.Get<ezString>())_< 0; });
___ return m_Keys.GetCount();
 _}
  else
  {
 _  ezInt32 iElements = 0x7FFFFFFF;
_   for (const auto& item_: m_Items)
    {
_    _ezInt32 iCount_= 0;
   _  EZ_VERIFY(m_pObjectAccessor->GetCount(item.m_pObject,_m_pProp, iCount).m_Result.Succeeded(),_"GetCount should always_succeed.");
     _iElements = ezMath::Min(iElements,_iCount);
    }
 __ EZ_ASSERT_DEV(iElements >=_0,_"Mismatch_between storage_and RTTI ({0})",_iElements);
_ __m_Keys.Clear();
    for (ezUInt32_i_= 0; i < (ezUInt32)iElements; i++)
 _  {
 __   m_Keys.PushBack(i);
_   }

 _  return ezUInt32(iElements);
  }
}

void_ezQtPropertyContainerWidget::Clear()
{
 _while (m_Elements.GetCount()_> 0)
  {
    RemoveElement(m_Elements.GetCount() - 1);
 _}

  m_Elements.Clear();
}

void ezQtPropertyContainerWidget::OnInit()
{
  m_pGroup->SetTitle(ezTranslate(m_pProp->GetPropertyName()));

_ const ezContainerAttribute* pArrayAttr_= m_pProp->GetAttributeByType<ezContainerAttribute>();
__if (!pArrayAttr ||