From 6109cf546d73a5cfe3628b1c7da01daf9ae13e5f Mon Sep 17 00:00:00 2001
From: Nils Tesdal <nils.tesdal@ntnu.no>
Date: Tue, 19 Sep 2017 18:42:16 +0200
Subject: [PATCH] Update gui.md

---
 gui.md | 35 +++++++++++++++++------------------
 1 file changed, 17 insertions(+), 18 deletions(-)

diff --git a/gui.md b/gui.md
index eb47c6e..83bd984 100644
--- a/gui.md
+++ b/gui.md
@@ -13,14 +13,6 @@
 # Om leksjonen
 
 Vi skal ikke gå i dybden på grafiske brukergrensesnitt, men dere skal lære de aller mest nødvendige mekanismene og deretter skal dere få en eksempelapplikasjon som dere kan bruke som utgangspunkt for oppgaven i denne leksjonen og gjerne i prosjektet.
-```python
-scrollbar = Scrollbar(root, orient=VERTICAL)
-listbox = Listbox(root, yscrollcommand=scrollbar.set)
-scrollbar.config(command=listbox.yview)
-elements = ["egg","bacon","pølser"]
-for element in elements:
-    listbox.insert(END, element)
-```
 
 # tkinter
 
@@ -48,18 +40,19 @@ Når vi kjører denne applikasjonen skal vi få opp et lite vindu uten noe innho
 
 # Hendelser
 
-GUI-applikasjoner er bygd opp rundt *hendelser* (event).
-Hva er en hendelse (event) og hva bruker vi de til.
-Eksempler.
+GUI-applikasjoner er bygd opp rundt *hendelser* (event). 
+
+Eksempler på hendelser:
+* En bruker trykker på en knapp med musepekeren
+* En bruker trykker på en knapp ved hjelp av tastaturtrykk
+* En bruker velger et meny-element med musa eller med tastetrykk
+* En bruker dobbeltklikker i en liste
+* En bruker velger et element i en liste med et enkelt trykk
+* En bruker endrer innholdet i et tekstfelt
 
-* Museklikk
-  * En bruker trykker på en knapp med musepekeren
-* Tastatur-trykk
-* Brukeren velger et meny-element
-* 
 En hendelse kan utløse (trigge) en aksjon. Dette er det vi som bestemmer ved at vi forteller Python hva som skal skje ved gitte hendelser.
 
-Vi kan lage en knapp (Button) og si at funksjonen *update_data()* skal kjøres når vi trykker på den:
+Vi kan f.eks lage en knapp (Button) og si at funksjonen *update_data()* skal kjøres når vi trykker på den:
 
 ```python
 knapp = Button(root, text="Oppdater", command=update_data)  
@@ -71,9 +64,14 @@ Da må denne funksjonen lages og vi må skrive koden som skal kjøres i funksjon
 def update_data():
     # Oppdater data i databasen
 ```
+Vi kan lage et menyelement med en tekst("Se statistikk") og en funksjon (*view_statistics()*)som skal kjøres når dette velges av brukeren:
+
+```python
+menu.add_command(label="Se statistikk", command=view_statistics)
+```
 
 For knapper og menyelementer er det som regel bare en hendelse vi er interessert i, nemlig at brukeren velger dem, og derfor er det enkelt å definere hva som skal skje ved å bruke `command=?`.
-I en listeboks kan det være flere typer hendelser vi er interessert i, f.eks dobbeltklikk. Vi kan *binde opp* hendelser til aksjoner med `bind(hendelse, funksjon)`. I eksempelet under sier vi at funksjonen `edit_person()` skal kjøres når vi dobbeltklikkier på et element i listeboksen. Dette eksempelet finner du også i eksempelapplikasjonen under.
+I en listeboks kan det være flere typer hendelser vi er interessert i, f.eks dobbeltklikk. Da kan vi *binde opp* hendelser til aksjoner med `bind(hendelse, funksjon)`. I eksempelet under sier vi at funksjonen *edit_person()* skal kjøres når vi dobbeltklikkier på et element i listeboksen. Dette eksempelet finner du også i eksempelapplikasjonen under.
 
 ```python
 result_listbox.bind('<Double-Button-1>', edit_person)
@@ -115,6 +113,7 @@ ledetekst = Label(root, text="Søk: ")
 
 * Menyer. En meny (Menu) kan inneholde flere meny-elementer med en kommando (command) for hvert element som peker på hvilken funksjon som skal kjøres når elementet velges. Se i *person_main.py* i eksempelprogrammet for å se hvordan vi lager disse.
 * Lister (Listbox). Lister er litt mer kompliserte da vi gjerne trenger en *scrollbar*. Vi oppretter en *Scrollbar* og en *Listbox* hver for seg og knytter dem sammen. I tillegg må vi legge til elementene i lista en og en. Bruk eksempelapplikasjonen som utgangspunkt for å bruke disse da det er litt komplisert.
+
 ```python
 scrollbar = Scrollbar(root, orient=VERTICAL)
 listbox = Listbox(root, yscrollcommand=scrollbar.set)
-- 
GitLab