Skip to content
Snippets Groups Projects

#101 & #121 kodetabell-innstillings-popup og db/DB->database i GUI

Merged Anders H. Rebner requested to merge kodetabell-popup into master

Ny modul --> autentiseringstavle eller subtraktorkoder --> popup-dialog:

Dialog kan ikke lukkes eller avbrytes fordi __init__ må returnere None (ikke dialogcode). 
Det går an å løse ved at AuthenticationBoardModule og SubtractorcodesModule selv kaller dialogen, men da blir
det kodeduplisering (nå er det code_table_base som kaller dialogen).
Kunne ha brukt __new__ for å returnere dialogcode, men da returneres ikke klasseinstansen.
Så jeg ser ingen annen god løsning enn at brukeren selv har satt seg i denne posisjonen ved å velge en av disse modulene,
brukeren får heller bare opprette modulen og slette den igjen (laget en lapp på sletting da dette ikke er implementert).
Det var jo heller ingen vei tilbake før etter å ha valgt modulen.

"db" og "DB" er endret til "database" i GUI.

Edited by Anders H. Rebner

Merge request reports

Pipeline #82664 passed

Pipeline passed for 2f35b4a0 on kodetabell-popup

Approval is optional

Merged by Thomas Holene LøkkeborgThomas Holene Løkkeborg 5 years ago (Apr 21, 2020 9:35am UTC)

Merge details

  • Changes merged into master with b72ec004.
  • Deleted the source branch.

Pipeline #82698 passed

Pipeline passed for b72ec004 on master

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Anders H. Rebner changed the description

    changed the description

  • Anders H. Rebner added 2 commits

    added 2 commits

    • 8d92df16 - #101 Docstring- og kommentarendringer
    • b002dc26 - #121 Endret db/DB til database i GUI

    Compare with previous version

  • Anders H. Rebner changed title from WIP: #101 Modul-innstillings-popup for kodetabeller to WIP: #101, & #121 Modul-innstillings-popup for kodetabeller og db/DB->database i GUI

    changed title from WIP: #101 Modul-innstillings-popup for kodetabeller to WIP: #101, & #121 Modul-innstillings-popup for kodetabeller og db/DB->database i GUI

  • Anders H. Rebner changed the description

    changed the description

  • Anders H. Rebner changed title from WIP: #101, & #121 Modul-innstillings-popup for kodetabeller og db/DB->database i GUI to WIP: #101, & #121 kodetabell-innstillings-popup og db/DB->database i GUI

    changed title from WIP: #101, & #121 Modul-innstillings-popup for kodetabeller og db/DB->database i GUI to WIP: #101, & #121 kodetabell-innstillings-popup og db/DB->database i GUI

  • added 1 commit

    • be813d34 - #121 Endret tekst til toppmeny-valg

    Compare with previous version

  • added 1 commit

    Compare with previous version

  • Anders H. Rebner unmarked as a Work In Progress

    unmarked as a Work In Progress

  • Anders H. Rebner changed title from #101, & #121 kodetabell-innstillings-popup og db/DB->database i GUI to #101 & #121 kodetabell-innstillings-popup og db/DB->database i GUI

    changed title from #101, & #121 kodetabell-innstillings-popup og db/DB->database i GUI to #101 & #121 kodetabell-innstillings-popup og db/DB->database i GUI

  • added 1 commit

    • 54b37a35 - #101 Minste mellomrom-intervall er satt til 0

    Compare with previous version

  • added 1 commit

    • 0ff60d3a - Autentiseringstavle og subtraktorkoder har minimum to koder

    Compare with previous version

  • added 1 commit

    • 587ed268 - #101 Oppdaterte test for radfjerning

    Compare with previous version

    • Resolved by Anders H. Rebner

      Først: Det funker, kult!

      Jeg foreslår å flytte "konfigurer fra popup" koden ut i en separat funksjon, og heller kalle på den som under (siste NOTE i kodesnutten). Da vil en kunne håndtere dialog_codes, og viktigere: konfigurasjonen kan kjøres uavhengig av init, foreks i fremtiden om vi vil la bruker kunne konfiguere disse valgene ved å høyreklikke på modul / i modul liste.

      (For meg virker det litt rart at constructoren til klassen lager popup, men jeg vet ikke helt hvorfor...)

      Pseudo-code basert på soi_workspace_module.py sin new_module funksjon

      # user clicks "new module"
      dialog = NewModuleDialog
      dialog_code = dialog.show()
      if dialog_code == ACCEPT:
          desired_module = dialog.module_list.currentItem()
          # ... fetch chosen options
      elif dialog_code == REJECT:
          # user rejected, give up
          return
      
      # desired_module is a class, we need to instantiate it
      # NOTE in the current implementation the popup occurs here as part of __init__
      # I propose the module is instead created with default values just like it was
      # before
      module_instance = desired_module()
      
      # NOTE I propose we instead invoke it as a separate step outside of __init__
      # here
      dialog_code = module_instance.popup_configuration()
      if dialog_code == ACCEPT:
          soi.add_module(module_instance)
      elif dialog_code == REJECT:
          # user rejected, give up
          return

      Ser da for meg at pop_configuration kunne sett slik ut:

      def popup_configuration(self):
          # send self so it can fetch currently chosen options by itself
          # it's already closely tied to the class so it's not so bad...
          dialog = CodeTableSettings(self)
          dialog_code = dialog.show()
          if dialog_code == ACCEPT:
              self.property1 = dialog.list_widget.currentItem()
              # and so on....
      
          # return dialog_code so caller can use it if he wants to
          return dialog_code
  • added 1 commit

    • 3cd8dace - #10 CodeTableBase sendes som parameter til CodeTableSettings

    Compare with previous version

  • added 1 commit

    • e766d00e - #101 popup bruker ikke lengre subklasse-konstanter

    Compare with previous version

  • added 1 commit

    • 6ef97b10 - #101 Flyttet sjekk til superklasse

    Compare with previous version

  • added 1 commit

    Compare with previous version

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading