Next: Käyttäjän syötteet (keyboard.c, keyboard.h)
Up: Rekisteröintiohjelmiston toteutus
Previous: Pääohjelma (sample.c, init.c, sample.h)
Tiedosto menu.h sisältää valikkojen käyttöön liittyvien
funktioiden prototyypit sekä tietotyyppien ja makrojen määrittelyt.
Valikko on rakenteeltaan taulukko valintasolmuja. Valintasolmu taas
on tietuetyyppi, joka sisältää seuraavat kentät:
- is_active
- Totuusarvo, joka kertoo onko valinta
aktiivinen.
- key
- Merkki, jolla kyseinen valinta tapahtuu.
- event
- Funktio, jota kyseisellä valinnalla kutsutaan.
- name
- Valikkoon tulostettava teksti.
- sub_menu_p
- Valintaan mahdollisesti liittyvä alivalikko.
Tiedosto menu.h määrittelee myös ne kenttien tyypit, jotka eivät
ole C-kielen sisäänrakennettuja tyyppejä ja makrot, jotka määräävät
valikon maksimikokoon, valikkotekstien maksimipituuden sekä käyttäjän
syötteelle varatun tilan valikkojen käyttöä varten.
Tiedosto menu.c sisältää valikkorakenteen käyttöön liittyvät
funktiot, joita on vain kaksi:
- draw_menu
- Valikon tulostus.
- ask_menu ( keyboard)
- Luetaan käyttäjältä syöte kunnes syöte vastaa jotain valikon
valintaa ja palautetaan kutsujalle valinnan indeksi.
Valikkorakenteen toteutus riippuu moduulista keyboard, koska
funktio ask_menu käyttää kyseisen moduulin määrittelemää
funktiota input_string. Moduuli riippuu myös otsikkotiedostosta
util.h, koska makrot TRUE ja FALSE on määritelty
kyseisessä tiedostossa.
Valikkojen toteutus ei tue oliomallissa esitettyjä vaatimuksia
valintojen modifioinnista tai käyttäjän syötteen jäsentämisestä.
Kyseinen logiikka on nykyisessä toteutuksessa koodattu itse
pääohjelmaan. Valikkoja ei myöskään voi tallentaa levylle. Sekvenssit
täytyy määritellä halutunlaisiksi aina sovelluksen käynnistyessä tai
muokata tiedostoa init.c ja kääntää rekisteröintisovellus
uudelleen.
Next: Käyttäjän syötteet (keyboard.c, keyboard.h)
Up: Rekisteröintiohjelmiston toteutus
Previous: Pääohjelma (sample.c, init.c, sample.h)
Antti Miettinen
9/3/1997