Yes, I know, again with my stupid plugin. I do dynamic buttons with a plugin. Internally, structure is managed with C++ classes, and panels are simply recreated with pan_create using stored structure, based on modifications to that structure, etc. This means I can move, hide / show, remove, change bmaps for, change functions for, change text for, buttons on the fly. Evidently, pan_create is quick enough to do this. It's been awhile since I've worked on the plugin, but here is a list of exported functions:
Code:

dllfunction fontfGetDx(_font);
dllfunction fontfGetCpl(_font);
dllfunction fontfGetDy(_font);
dllfunction fontfGetNum(_font);
dllfunction fontfGetType(_font, _s);

dllfunction txtfGetAlpha(_txt);
dllfunction txtfGetColor(_txt, _vColor);
dllfunction txtfGetLayer(_txt);
dllfunction txtfGetS(_txt, _txtI, _s);
dllfunction txtfGetSCount(_txt);
dllfunction txtfGetSLen(_txt, _txtI);
dllfunction txtfGetCenterX(_txt);
dllfunction txtfGetCenterY(_txt);
dllfunction txtfGetCondensed(_txt);
dllfunction txtfGetFilter(_txt);
dllfunction txtfGetNarrow(_txt);
dllfunction txtfGetS(_txt, _txtI, _s);
dllfunction txtfGetSP(_txt, _txtI);
dllfunction txtfGetScaleX(_txt);
dllfunction txtfGetScaleY(_txt);
dllfunction txtfGetShadow(_txt);
dllfunction txtfGetTranslucent(_txt);
dllfunction txtfGetVisible(_txt);
dllfunction txtfGetX(_txt);
dllfunction txtfGetY(_txt);

dllfunction txtfSetAlpha(_txt, _alpha);
dllfunction txtfSetCenterX(_txt, _state);
dllfunction txtfSetCenterY(_txt, _state);
dllfunction txtfSetColor(_txt, vColor);
dllfunction txtfSetCondensed(_txt, _state);
dllfunction txtfSetFilter(_txt, _state);
dllfunction txtfSetFont(_txt, _font);
dllfunction txtfSetLayer(_txt, _layer);
dllfunction txtfSetNarrow(_txt, _state);
dllfunction txtfSetPos(_txt, _x, _y);
dllfunction txtfSetS(_txt, _txtI, _s);
dllfunction txtfSetScale(_txt, _scaleX, _scaleY);
dllfunction txtfSetScaleX(_txt, _scaleX);
dllfunction txtfSetScaleY(_txt, _scaleY);
dllfunction txtfSetShadow(_txt, _state);
dllfunction txtfSetTranslucent(_txt, _state);
dllfunction txtfSetVisible(_txt, _state);
dllfunction txtfSetX(_txt, _x);
dllfunction txtfSetY(_txt, _y);

dllfunction uifAdd(_parentIndex, _childIndex);
dllfunction uifAlpha(_index);
dllfunction uifNewB(_sName, _txtEnable, _x, _y);
dllfunction uifNewCb(_sName, _iValue, _x, _y);
dllfunction uifNewLbl(_sName, _txtEnable, _x, _y);
dllfunction uifNewLblT(_sName, _s, _x, _y);
dllfunction uifNewNi(_sName, _x, _y);
dllfunction uifNewP(_x, _y);
dllfunction uifNiI(_panel, _bId);
dllfunction uifGetPnl(_pnl);
dllfunction uifGetBttn(_pnl, _bId);

dllfunction uifChild(_parentIndex, _childIndex);
dllfunction uifColor(_index, _color);
dllfunction uifColorR(_index);
dllfunction uifColorG(_index);
dllfunction uifColorB(_index);
dllfunction uifCount(_index);
dllfunction uifCompile(_index);

dllfunction uifFilter(_index);
dllfunction uifFInc(_index);
dllfunction uifFValue(_index);
dllfunction uifH(_index);
dllfunction uifHasTxt(_index);
dllfunction uifIInc(_index);
dllfunction uifIValue(_index);
dllfunction uifLayer(_index);
dllfunction uifLight(_index);
dllfunction uifMinus(_index);
dllfunction uifMode(_index);
dllfunction uifName(_index, _s);
dllfunction uifOpen(_sDirectory, _sFileName);
dllfunction uifOverlay(_index);
dllfunction uifPanelGet(_panel);
dllfunction uifParent(_index);
dllfunction uifPlus(_index);
dllfunction uifRemove(_index);

dllfunction uifSave(_directory, _filename);
dllfunction uifSetAlpha(_index, _alpha, _propagate);
dllfunction uifSetColor(_index, _red, _green, _blue);
dllfunction uifSetColorR(_index, _red);
dllfunction uifSetColorG(_index, _green);
dllfunction uifSetColorB(_index, _blue);
dllfunction uifSetBmap(_index, _sBmap);
dllfunction uifSetDim(_index, _width, _height);
dllfunction uifSetFilter(_index, _state);
dllfunction uifSetFInc(_index, _fInc);
dllfunction uifSetFont(_index, _font);
dllfunction uifSetFn(_index, _sFnOn, _sFnOff, _sFnOver);
dllfunction uifSetFnOn(_index, _sFn);
dllfunction uifSetFnOff(_index, _sFn);
dllfunction uifSetFnOver(_index, _sFn);
dllfunction uifSetFValue(_index, _fValue);

dllfunction uifSetH(_index, _height);

dllfunction uifSetIInc(_index, _iInc);
dllfunction uifSetImg(_index, _sImgOn, _sImgOff, _sImgOver);
dllfunction uifSetImgAll(_index, _sImg);
dllfunction uifSetImgOn(_index, _sImg);
dllfunction uifSetImgOff(_index, _sImg);
dllfunction uifSetImgOver(_index, _sImg);

dllfunction uifSetIValue(_index, _iValue);

dllfunction uifSetLight(_index, _light);
dllfunction uifSetLayer(_index, _layer, _propagate);
dllfunction uifSetMode(_index, _mode);
dllfunction uifSetPos(_index, _x, _y);
dllfunction uifSetOverlay(_index, _state);
dllfunction uifSetScale(_index, _scaleX, _scaleY, _affectPos);
dllfunction uifSetScaleX(_index, _scaleX, _affectPos);
dllfunction uifSetScaleY(_index, _scaleY, _affectPos);
dllfunction uifSetSpec(_i);

dllfunction uifSetStr(_index, _s);

dllfunction uifSetTxt(_index, _text);
dllfunction uifSetTxtAlpha(_index, _alpha);
dllfunction uifSetTxtColor(_index, _red, _green, _blue);
dllfunction uifSetTxtFactorX(_index, _factorX);
dllfunction uifSetTxtFactorY(_index, _factorY);
dllfunction uifSetTxtLayer(_index, _layer);
dllfunction uifSetTxtPos(_index, _x, _y);
dllfunction uifSetTxtScale(_index, _scaleX, _scaleY);
dllfunction uifSetTxtScaleX(_index, _scaleX);
dllfunction uifSetTxtScaleY(_index, _scaleY);
dllfunction uifSetTxtStr(_index, _txtI, _s);
dllfunction uifSetTxtX(_index, _x);
dllfunction uifSetTxtY(_index, _y);
dllfunction uifSetTxtVis(_index, _visible);

dllfunction uifSetX(_index, _x);
dllfunction uifSetY(_index, _y);
dllfunction uifSetW(_index, _width);
dllfunction uifSetVis(_index, _visible);
dllfunction uifStr(_index, _s);

dllfunction uifType(_index);

dllfunction uifTxtColor(_index _color);
dllfunction uifTxtFactorX(_index);
dllfunction uifTxtFactorY(_index);
dllfunction uifTxtLayer(_index);
dllfunction uifTxtNew(_index, _strings, _layer, _font);
dllfunction uifTxtS(_index, _txtI, _s);
dllfunction uifTxtSP(_index, _txtI);
dllfunction uifTxtVis(_index);
dllfunction uifTxtX(_index);
dllfunction uifTxtY(_index);

dllfunction uifToFile(_sDirectory, _sFileName);
dllfunction uifW(_index);
dllfunction uifX(_index);
dllfunction uifY(_index);
dllfunction uifUpdate(_index);


So the answer, unfortunately, might be function pan_create. It is probably the same with the A6 UI editor written in Lite-C...I noticed that you posted in that thread.
Creating 256 panels and buttons using my plugin might resemble this:
Code:

var i3[3];
i3[0] = 0;
while (i3[0] < 256) {
i3[1] = uifNewP(i3[0] * 3, i3[0] * 3);
i3[2] = uifNewB("b", 0, 0, 0);
uifAdd(i3[1], i3[2]);
uifSetImgAll(i3[2], "b0.pcx");
uifCompile(i3[1]);
i3[0] += 1;
}



Last edited by testDummy; 06/17/07 20:01.