cmUi.h/c : Added cmUiListEleLabelToIndex() and shell for cmUiSelectPanel().
This commit is contained in:
parent
4b59da2947
commit
02f9bceaac
38
cmUi.c
38
cmUi.c
@ -618,7 +618,7 @@ cmUiRC_t _cmUiCreateCtl( cmUi_t* p, unsigned appId, unsigned panelId, cmUiCId_t
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if( cmArrayIsValid(ap->ctlArrH) == false || usrId >= cmArrayCount(ap->ctlArrH) )
|
if( cmArrayIsValid(ap->ctlArrH) == false || usrId >= cmArrayCount(ap->ctlArrH) )
|
||||||
ctl = cmArrayClr(cmUiCtl_t,ap->ctlArrH,usrId);
|
ctl = cmArrayClr(cmUiCtl_t,ap->ctlArrH,usrId);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ctl = cmArrayPtr(cmUiCtl_t,ap->ctlArrH,usrId);
|
ctl = cmArrayPtr(cmUiCtl_t,ap->ctlArrH,usrId);
|
||||||
@ -1501,6 +1501,19 @@ cmUiRC_t cmUiClearPanel( cmUiH_t uiH, unsigned appId, unsigned panelId )
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cmUiRC_t cmUiSelectPanel( cmUiH_t uiH, const cmChar_t* label )
|
||||||
|
{
|
||||||
|
cmUiRC_t rc = kOkUiRC;
|
||||||
|
cmUi_t* p = _cmUiHandleToPtr(uiH);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return rc;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
cmUiRC_t cmUiNextRect( cmUiH_t uiH, unsigned appId, unsigned panelId, int x, int y, int w, int h )
|
cmUiRC_t cmUiNextRect( cmUiH_t uiH, unsigned appId, unsigned panelId, int x, int y, int w, int h )
|
||||||
{
|
{
|
||||||
cmUi_t* p = _cmUiHandleToPtr(uiH);
|
cmUi_t* p = _cmUiHandleToPtr(uiH);
|
||||||
@ -2095,6 +2108,29 @@ const cmChar_t* cmUiListEleLabel( cmUiH_t uiH, unsigned appId, unsigned id, unsi
|
|||||||
return cmArrayPtr(cmUiListEle_t, ctl->idArrH, index )->label;
|
return cmArrayPtr(cmUiListEle_t, ctl->idArrH, index )->label;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsigned cmUiListEleLabelToIndex( cmUiH_t uiH, unsigned appId, unsigned id, const cmChar_t* label )
|
||||||
|
{
|
||||||
|
cmUi_t* p = _cmUiHandleToPtr(uiH);
|
||||||
|
cmUiCtl_t* ctl;
|
||||||
|
cmUiRC_t rc;
|
||||||
|
unsigned i,n;
|
||||||
|
|
||||||
|
if( label == NULL )
|
||||||
|
return cmInvalidIdx;
|
||||||
|
|
||||||
|
if((rc = _cmUiFastFindCtl(p,appId,id,&ctl,true)) != kOkUiRC )
|
||||||
|
return cmInvalidIdx;
|
||||||
|
|
||||||
|
if( cmArrayIsValid( ctl->idArrH )==false || (n = cmArrayCount( ctl->idArrH))==0 )
|
||||||
|
return cmInvalidIdx;
|
||||||
|
|
||||||
|
for(i=0; i<n; ++i)
|
||||||
|
if( cmTextCmp(cmArrayPtr(cmUiListEle_t, ctl->idArrH, i )->label,label) == 0 )
|
||||||
|
return i;
|
||||||
|
|
||||||
|
return cmInvalidIdx;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cmUiRC_t cmUiLastRC( cmUiH_t uiH )
|
cmUiRC_t cmUiLastRC( cmUiH_t uiH )
|
||||||
|
5
cmUi.h
5
cmUi.h
@ -88,7 +88,7 @@ extern "C" {
|
|||||||
|
|
||||||
4) Come up with a threading model. For example maybe
|
4) Come up with a threading model. For example maybe
|
||||||
control creation should use a blocking scheme since it is
|
control creation should use a blocking scheme since it is
|
||||||
generally to time consuming to do during real-time operation
|
generally too time consuming to do during real-time operation
|
||||||
anyway. If the control flow generated from driver event
|
anyway. If the control flow generated from driver event
|
||||||
callbacks then allows value, but not structural changes,
|
callbacks then allows value, but not structural changes,
|
||||||
then non blocking will be necessary.
|
then non blocking will be necessary.
|
||||||
@ -247,6 +247,8 @@ extern "C" {
|
|||||||
// Destroy all the controls in a panel.
|
// Destroy all the controls in a panel.
|
||||||
cmUiRC_t cmUiClearPanel( cmUiH_t uiH, unsigned appId, unsigned panelId );
|
cmUiRC_t cmUiClearPanel( cmUiH_t uiH, unsigned appId, unsigned panelId );
|
||||||
|
|
||||||
|
cmUiRC_t cmUiSelectPanel( cmUiH_t uiH, const cmChar_t* label );
|
||||||
|
|
||||||
//------------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------------
|
||||||
// Location:
|
// Location:
|
||||||
|
|
||||||
@ -376,6 +378,7 @@ extern "C" {
|
|||||||
unsigned cmUiListEleCount( cmUiH_t uiH, unsigned appId, unsigned id );
|
unsigned cmUiListEleCount( cmUiH_t uiH, unsigned appId, unsigned id );
|
||||||
unsigned cmUiListEleId( cmUiH_t uiH, unsigned appId, unsigned id, unsigned index );
|
unsigned cmUiListEleId( cmUiH_t uiH, unsigned appId, unsigned id, unsigned index );
|
||||||
const cmChar_t* cmUiListEleLabel( cmUiH_t uiH, unsigned appId, unsigned id, unsigned index );
|
const cmChar_t* cmUiListEleLabel( cmUiH_t uiH, unsigned appId, unsigned id, unsigned index );
|
||||||
|
unsigned cmUiListEleLabelToIndex( cmUiH_t uiH, unsigned appId, unsigned id, const cmChar_t* label );
|
||||||
|
|
||||||
// Query/set the current error state.
|
// Query/set the current error state.
|
||||||
cmUiRC_t cmUiLastRC( cmUiH_t uiH );
|
cmUiRC_t cmUiLastRC( cmUiH_t uiH );
|
||||||
|
Loading…
Reference in New Issue
Block a user