static int hotKeyShowList( GOC_HANDLER uchwyt, GOC_MSG wiesc, void *pBuf, unsigned int nBuf) { GOC_FLAGS f = goc_elementGetFlag(lLista); if ( f & GOC_EFLAGA_PAINTED ) { goc_listClear(lLista); goc_elementIsFlag(lLista, GOC_EFLAGA_PAINTED | GOC_EFLAGA_ENABLE); //goc_elementSetFlag(lLista, f); goc_systemRepaintUnder(lLista); fflush(stdout); } else { int size = 0; const char **ptr; doAction(ACTION_PLAYLIST_GETSIZE, &size); doAction(ACTION_PLAYLIST_GETTABLE, &ptr); goc_listSetExtTable(lLista, ptr, size); doAction(ACTION_PLAYLIST_GETACTUAL, &size); goc_sellistSelect(lLista, size); goc_listSetCursor(lLista, size); goc_elementOrFlag(lLista, GOC_EFLAGA_PAINTED | GOC_EFLAGA_ENABLE); goc_systemFocusOn(lLista); } goc_systemSendMsg(lLista, GOC_MSG_PAINT, 0, 0); }
static int goc_listDestroy(GOC_HANDLER uchwyt) { GOC_StList *lista = (GOC_StList*)uchwyt; int j; goc_listClear(uchwyt); goc_stringFree(lista->pTytul); for ( j=0; j<lista->nKolumna; j++ ) free(lista->pKolumna[j]); lista->pKolumna = goc_tableClear( lista->pKolumna, &lista->nKolumna); return goc_elementDestroy(uchwyt); }
int listSetExt( GOC_HANDLER uchwyt, const char **pTable, unsigned int size) { GOC_StList *lista = (GOC_StList*)uchwyt; goc_listClear(uchwyt); /* Jesli nie ma zadnej kolumny, to zbuduj */ if ( lista->nKolumna == 0 ) goc_listAddColumn(uchwyt, goc_elementGetWidth(uchwyt)); lista->pKolumna[0]->pText = (char **)pTable; lista->pKolumna[0]->nText = size; lista->flag |= GOC_LISTFLAG_EXTERNAL; return GOC_ERR_OK; }