Lataa esitys
Esittely latautuu. Ole hyvä ja odota
JulkaistuPirkko Koskinen Muutettu yli 9 vuotta sitten
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
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.