static int TestListFrom_CreateItem(TestListFrom *pThis)
{
int nErr = SUCCESS;
nErr = ISHELL_CreateInstance(pThis->a.m_pIShell,AEECLSID_IMAGEWIDGET,(void**)&pThis->piwImg);
nErr += ISHELL_CreateInstance(pThis->a.m_pIShell,AEECLSID_STATICWIDGET,(void**)&pThis->piwText);
nErr += ISHELL_CreateInstance(pThis->a.m_pIShell,AEECLSID_PROPCONTAINER,(void**)&pThis->pIPropContainer);
if(nErr == SUCCESS)
{
WidgetProp prop;
WExtent imgwe = {30,30};
WExtent textwe = {50,30};
//image widget
prop.bVisible = TRUE;
prop.prop = WIDGET_KEEP_EXTENT;
IWIDGET_SetExtent(pThis->piwImg,&imgwe);
//IWIDGET_SetBorderWidth(pThis->piwImg,1);
//IWIDGET_SetBorderColor(pThis->piwImg,MAKE_RGB(255,255,255));;
IPROPCONTAINER_Insert(pThis->pIPropContainer,pThis->piwImg, WIDGET_ZNORMAL, &prop);
//text widget
prop.bVisible = TRUE;
prop.prop = 1;
//IWIDGET_SetExtent(pThis->piwText,&textwe);
//IWIDGET_SetBorderWidth(pThis->piwText,1);
// IWIDGET_SetBorderColor(pThis->piwText,MAKE_RGB(255,0,0));
IWIDGET_SetFlags(pThis->piwText,IDF_ALIGN_LEFT|IDF_ALIGN_MIDDLE);
IWIDGET_SetFGColor(pThis->piwText,MAKE_RGB(255,255,255));
IPROPCONTAINER_Insert(pThis->pIPropContainer,pThis->piwText,WIDGET_ZNORMAL,&prop);
IPROPCONTAINER_QueryInterface(pThis->pIPropContainer,AEEIID_WIDGET,(void**)&pThis->piwItem);
IWIDGET_SetLayoutStyle(pThis->piwItem,LAYOUT_HORZ);
}
return nErr;
}
static int TestListFrom_CreateList(TestListFrom *pThis)
{
int nErr = SUCCESS;
nErr = TestListFrom_CreateItem(pThis);
//nErr += ISHELL_CreateInstance(pThis->a.m_pIShell,AEECLSID_LISTFORM,(void**)&pThis->pITestListFrom);
nErr += ISHELL_CreateInstance(pThis->a.m_pIShell,AEECLSID_FORM,(void**)&pThis->pITestListFrom);
nErr += ISHELL_CreateInstance(pThis->a.m_pIShell,AEECLSID_VECTORMODEL,(void**)&pThis->pIVectMod);
nErr += ISHELL_CreateInstance(pThis->a.m_pIShell,AEECLSID_VALUEMODEL,(void**)&pThis->pIValueMod);
nErr += ISHELL_CreateInstance(pThis->a.m_pIShell,AEECLSID_LISTWIDGET,(void**)&pThis->piwList);
if(nErr == SUCCESS)
{
IWIDGET_SetItemHeight(pThis->piwList,30);
IWIDGET_SetItemWidth(pThis->piwList,240);
IWIDGET_SetBGColor(pThis->piwList,MAKE_RGB(0,0,0));
IWIDGET_SetModel(pThis->piwItem,(IModel*)pThis->pIValueMod);
IWIDGET_SetIndexer(pThis->piwList,(PFNINDEXER)TestListFrom_ListIndex,pThis);
IMODEL_AddListenerEx((IModel*)pThis->pIValueMod,&pThis->Valuelistener,(PFNLISTENER)TestListFrom_ValueListener,(void*)pThis);
HANDLERDESC_Init(&pThis->widgethd ,TestListFrom_WidgetHandleEvent,pThis,NULL);
IWIDGET_SetHandler(pThis->piwList,&pThis->widgethd);
nErr = IFORM_SetWidget(pThis->pITestListFrom,WID_FORM,pThis->piwList);
IWIDGET_Release(pThis->piwList);
TestListFrom_InitalData(pThis);
IWIDGET_SetModel(pThis->piwList,(IModel*)pThis->pIVectMod);
IDECORATOR_SetWidget((IDecorator*)pThis->piwList,pThis->piwItem);
TestListFrom_FormDes(pThis);
}
IROOTFORM_PushForm(pThis->pIRootForm,pThis->pITestListFrom);
HANDLERDESC_Init(&pThis->Formhd ,TestListFrom_FormHandleEvent,pThis,NULL);
IFORM_SetHandler(pThis->pITestListFrom,&pThis->Formhd);
return nErr;
}