Voor een (C++) programma waar ik al een tijd aan werk wil ik de hele parameter-interface + GUI op de schop gaan nemen. Het programma heeft erg veel parameters (nu honderden, maar het kunnen er in de nabije toekomst makkelijk meer dan 1000 worden), en ik ben het handmatig programmeren van het zetten en lezen van alle Windows-sliders en het lezen en schrijven naar disk beu aan het worden.
Ik heb geprobeerd om patterns of libraries te vinden, maar alles wat ik tot nu toe gevonden heb is veel te beperkt.
Wat ik wil is:
Ik hoop dat ik iets gemist heb en dat er toch ergens een pattern - of (zeer kleine kans) library is die hierop matcht. Zo niet dan moet ik hard gaan nadenken - met daarbij een grote kans op fouten. En gezien het feit dat ik nu al honderden parameters moet gaan omzetten kunnen fouten als ik ze laat ontdek veel extra werk opleveren.
Ik heb geprobeerd om patterns of libraries te vinden, maar alles wat ik tot nu toe gevonden heb is veel te beperkt.
Wat ik wil is:
- Een parameterset die ik op 1 plek in kan voeren
- Parameter kan enabled of disabled zijn, op basis van de waarde van andere parameters. Dat kan meerdere lagen diep genest zijn (optie A en B enabled dan C enabled; optie C enabled dan D enabled enz.). Kan ook van bijv. een slider afhangen: Ik kan een slider hebben waarvan de waarde de diepte van een aantal arrays bepaalt. En ook nog combinaties van deze. Problemen hier bij zijn: Hoe verwijs ik naar parameters die ik pas later in de file definieer, en hoe zorg ik dat alles in de juiste volgorde bepaald wordt? En hoe zorg ik (grote wens) dat als een parameter disabled is, ik aan de gebruiker kan laten zien waarom dat is?
- Voor verschillende versies van mijn software moet ik delen van de parameterset uit kunnen zetten, en eventuele andere parameters die aan deze gelinked zijn moeten dan ook verdwijnen.
- Parameter heeft een (zelf te definieren) type, een default value (die ook gebruikt wordt als 'ie uitgeschakeld is), een range en een actual value.
- Het moet mogelijk zijn om uit de parameterset een GUI af te leiden. Dat mag evt. dynamisch bepaald kunnen worden, maar er moet wel controle mogelijk zijn voor zaken die bij elkaar horen zoals bijv. arrays.
Ik hoop dat ik iets gemist heb en dat er toch ergens een pattern - of (zeer kleine kans) library is die hierop matcht. Zo niet dan moet ik hard gaan nadenken - met daarbij een grote kans op fouten. En gezien het feit dat ik nu al honderden parameters moet gaan omzetten kunnen fouten als ik ze laat ontdek veel extra werk opleveren.
[ Voor 11% gewijzigd door Specy op 26-05-2012 12:53 ]