tsounakis

links.go

Nov 6th, 2020
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 3.70 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4.     "net/url"
  5.  
  6.     "fyne.io/fyne"
  7.     "fyne.io/fyne/app"
  8.     "fyne.io/fyne/container"
  9.     "fyne.io/fyne/layout"
  10.     "fyne.io/fyne/widget"
  11. )
  12.  
  13. func main() {
  14.     a := app.New()
  15.     //a.Settings().SetTheme(theme.LightTheme())
  16.     w := a.NewWindow("Σύνδεσμοι Μαθημάτων")
  17.     w.SetFixedSize(true)
  18.     var AM int
  19.     title := widget.NewLabelWithStyle("Σύνδεσμοι Μαθημάτων", fyne.TextAlignCenter, fyne.TextStyle{Bold: true})
  20.  
  21.     tabs := widget.NewTabContainer(
  22.         widget.NewTabItem("Δευτέρα", cont(1, AM)),
  23.         widget.NewTabItem("Τρίτη", cont(2, AM)),
  24.         widget.NewTabItem("Τετάρτη", cont(3, AM)),
  25.         widget.NewTabItem("Πέμπτη", cont(4, AM)),
  26.         widget.NewTabItem("Παρασκευή", cont(5, AM)),
  27.     )
  28.     tabs.SetTabLocation(widget.TabLocationLeading)
  29.     radio := widget.NewRadio([]string{"Άρτιος ΑΜ", "Περιττός ΑΜ"}, func(value string) {
  30.         if value == "Ναι" {
  31.             AM = 2
  32.         } else {
  33.             AM = 1
  34.         }
  35.     })
  36.  
  37.     tabsCont := fyne.NewContainer(container.NewVBox(tabs, radio), tabs, radio)
  38.     content := fyne.NewContainerWithLayout(layout.NewBorderLayout(title, nil, tabsCont, nil), tabsCont, title)
  39.     w.SetContent(content)
  40.  
  41.     w.Resize(fyne.NewSize(300, 300))
  42.     w.ShowAndRun()
  43. }
  44.  
  45. func cont(day int, AM int) fyne.CanvasObject {
  46.     l := make([]fyne.CanvasObject, 0)
  47.     var mainCont *fyne.Container
  48.     var mid *fyne.Container
  49.     webexRLink := "https://upatras.webex.com/webappng/sites/upatras/dashboard/pmr/eceec2"
  50.     webexLink, _ := url.Parse(webexRLink)
  51.  
  52.     skypeLink, _ := url.Parse("google.com")
  53.  
  54.     zoomOT := make([]url.URL, 0)
  55.     zoomROT := []string{
  56.         "https://upatras-gr.zoom.us/j/92646812780?pwd=UUpNZlpzWFFENDl6VXl1MnZ6ajZQZz09",
  57.         "https://upatras-gr.zoom.us/j/93025796719?pwd=OVJaY29KREFNMGZaamNDR2FrNW5jZz09",
  58.         "https://upatras-gr.zoom.us/j/95001035249?pwd=cVZqUFVac0VYZnluYWdJbHNYYzk3UT09"}
  59.     var urlLink *url.URL
  60.  
  61.     for _, link := range zoomROT {
  62.         urlLink, _ = url.Parse(link)
  63.         zoomOT = append(zoomOT, *urlLink)
  64.     }
  65.  
  66.     switch day {
  67.     case 1:
  68.         l = append(l, widget.NewHyperlink("ΜΔΕ", skypeLink))
  69.         l = append(l, widget.NewHyperlink("ΨΚΣ", webexLink))
  70.         mid = container.NewVBox(l[0], l[1])
  71.         mainCont = fyne.NewContainerWithLayout(layout.NewCenterLayout(), layout.NewSpacer(), mid)
  72.         break
  73.  
  74.     case 2:
  75.         if AM%2 == 0 {
  76.             l = append(l, widget.NewHyperlink("Φροντ. Java", &zoomOT[1]))
  77.         } else {
  78.             l = append(l, widget.NewHyperlink("Φροντ. Java", &zoomOT[0]))
  79.         }
  80.         l = append(l, widget.NewHyperlink("Υλικά", webexLink))
  81.         mid = container.NewVBox(l[0], l[1])
  82.         mainCont = fyne.NewContainerWithLayout(layout.NewCenterLayout(), layout.NewSpacer(), mid)
  83.         break
  84.  
  85.     case 3:
  86.         l = append(l, widget.NewHyperlink("ΨΚΣ", webexLink))
  87.         l = append(l, widget.NewHyperlink("ΜΔΕ", skypeLink))
  88.         l = append(l, widget.NewHyperlink("Στατιστική", webexLink))
  89.         l = append(l, widget.NewHyperlink("Java", &zoomOT[2]))
  90.         mid = container.NewVBox(l[0], l[1], l[2], l[3])
  91.         mainCont = fyne.NewContainerWithLayout(layout.NewCenterLayout(), layout.NewSpacer(), mid)
  92.         break
  93.  
  94.     case 4:
  95.         l = append(l, widget.NewHyperlink("Κυκλώματα ΙΙ", webexLink))
  96.         l = append(l, widget.NewHyperlink("Στατιστική", webexLink))
  97.         l = append(l, widget.NewHyperlink("Υλικά", webexLink))
  98.         mid = container.NewVBox(l[0], l[1], l[2])
  99.         mainCont = fyne.NewContainerWithLayout(layout.NewCenterLayout(), layout.NewSpacer(), mid)
  100.         break
  101.  
  102.     case 5:
  103.         l = append(l, widget.NewHyperlink("Κυκλώματα ΙΙ", webexLink))
  104.         l = append(l, widget.NewHyperlink("ΜΔΕ", skypeLink))
  105.         mid = container.NewVBox(l[0], l[1])
  106.         mainCont = fyne.NewContainerWithLayout(layout.NewCenterLayout(), layout.NewSpacer(), mid)
  107.         break
  108.  
  109.     }
  110.     return mainCont
  111. }
  112.  
Add Comment
Please, Sign In to add comment