Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Symbian ohjelmointi Ti5315200 Symbian ohjelmointi 5. harjoitus Juha Turunen

Samankaltaiset esitykset


Esitys aiheesta: "Symbian ohjelmointi Ti5315200 Symbian ohjelmointi 5. harjoitus Juha Turunen"— Esityksen transkriptio:

1 Symbian ohjelmointi Ti5315200 Symbian ohjelmointi 5. harjoitus Juha Turunen (juha.turunen@lut.fi)

2 Sisältö Listboxit Notet

3 Listboxit AVKON toteuttaa lähes 30 erillaista listatyyppiä Toteuttavat luokat muotoa CAknXxxxxListBox Kaikki listbox luokat perivät viimekädessä CEikTextListBox -luokasta (ja sitä kautta myös CEikListBox –luokasta)

4 Listbox model Listbox model toimii datan tuottajana listboxille Kaikki listatyypit käyttävät modelina MDesCArray –rajapintaa –Listboxin data voi tulla mistä tahansa MDesCArray:sta peritystä luokasta. –Esim. CDesCArraySeg tai CMyPlayerListModel –TInt MDesCArray::MdcaCount() –TPtrC MDesCArray::MdcaPoint( TInt aIndex ) CEikListBox::Model() CTextListBoxModel::SetItemTextArray( MDesCArray*)

5 Listojen formatointi Jokaisen listan itemin kuvaa yksi deskriptori listan modelissa (MDesCArray) Jokaisella listatyypillä on oma dataformaatti –Osiot erotellaan tabulaattorilla (\t) Esim. CAknDoubleLargeStyleListBox –”1\tImage(04)\t15.03.2003 – 16:41\t0” –”5\tJotain sekoilua\t19\t0” Yleisesti ottaen formatointi menee – \t \t \t –Mikäli ikoneita ei listatyypissä ole jätetään indeksi pois, mutta tabulaattori säilyy!

6 Listboxien käyttö iListbox = new( ELeave ) CAknSingleStyleListBox; iListbox->SetContainerWindowL( *this ); iListbox->ConstructL( this, EAknListBoxSelectionList ); SetOwnershipType() HandleItemAddition() HandleItemRemoval() Muista tarjota lista olio container kontrollin ComponentControl() ja CountComponentControl() – metodeissa Muista kutsua SetRect() (esim. container kontrollin SizeChanged() –metodissa)

7 Esimerkki listboxin käytöstä Halutaan tarjota valintalista listboxilla Kaapataan OK –näppäimen painallus containerin OfferKeyEventL metodissa –CEikListBox::CurentItemIndex() –Haetaan model:lta alkio samalla indeksillä –Tehdään jotain...

8 Notifications CAknNoteDialog Wrapperit –Confirmation note –Warning note –Information note –Error note –Wait note –Progress note Noteja voidaan näyttää joko CAknNoteDialog-luokkaa ja DIALOG resurssia käyttäen tai wrapper-luokkien avulla –Resurssilla voi määrittää itse ikonin ja layoutin –Wrapper helpompi käyttää

9 Confirmation note Kertoo käyttäjälle onnistuneesta operaatiosta Wrapper-luokka CAknConfirmationNote Lyhyt kesto + pieni ääni CAknConfirmationNote* note = new( ELeave ) CAknConfirmationNote; note->ExecuteLD( someDescriptor ); Huom. ExecuteLD()

10 Information note Kertoo käyttäjälle odottamattomasta tapahtumasta Pidempi kesto ja kovempi ääni kuin confirmation notella Wrapper-luokka CAknInformationNote CAknInformationNote* note = new( ELeave ) CAknInformationNote; note->ExecuteLD( someDescriptor );

11 Warning note Varoittaa käyttäjää tilanteesta, joka saattaa vaatia toimenpiteitä –Esim. akku lopussa, muisti vähissä, jne... Wrapper-luokka CAknWarningNote CAknWarningNote* note = new( ELeave ) CAknWarningNote; note->ExecuteLD( someDescriptor );

12 Error note Kertoo käyttäjälle vakavasta virheestä –Esim. väärä salasana, tiedostoa ei voida tuhota, muisti lopussa, jne... Wrapper-luokka CAknErrorNote CAknErrorNote* note = new( ELeave ) CAknErrorNote; note->ExecuteLD( someDescriptor );

13 Harjoitustehtävä Harjoitustehtävässä luodaan applikaatio, jonka päänäkymän peittää lista Listan data modelina toimii luokka CMyListModel, joka taltioi etunimi + sukunimi pareja ja tarjoaa listalle formatoidun muodon datasta –CMyListModel on peritty MDesCArray luokasta Täytä CMyListModel luokan metodeihin puuttuvat kohdat Täytä CListExampleContainer luokan metodeihin puuttuvat kohdat


Lataa ppt "Symbian ohjelmointi Ti5315200 Symbian ohjelmointi 5. harjoitus Juha Turunen"

Samankaltaiset esitykset


Iklan oleh Google