Skip to content
Snippets Groups Projects
Commit ba46c3f2 authored by felix's avatar felix
Browse files

GI GTK comboBox done

parent d2c07786
No related branches found
No related tags found
No related merge requests found
......@@ -39,10 +39,8 @@ comboBoxHelper comBox strList = do
Gtk.comboBoxTextAppendText comBox $ head strList
comboBoxHelper comBox $ tail strList
getMensaIdByText :: Maybe Text -> Int
getMensaIdByText name
| (isJust name) = getMensaIdByTextRec (fromJust name) 0
| otherwise = 0 -- default id = 0 for Uni Mensa
getMensaIdByText :: Text -> Int
getMensaIdByText name = getMensaIdByTextRec name 0
where
getMensaIdByTextRec :: Text -> Int -> Int
getMensaIdByTextRec eman i
......@@ -83,14 +81,12 @@ main = do
Gtk.widgetSetHexpand submit_btn False
_ <- Gtk.on submit_btn #clicked $ do
currentCBText <- Gtk.comboBoxTextGetActiveText cb
-- TODO ...
-- currentMensaId <- getMensaIdByText $ Gtk.comboBoxTextGetActiveText cb
-- foodPlanPage <- UM.getMensaWebpage currentMensaId -- food plan webpage of selected dining hall
putStrLn "--- URL ---"
print $ UM.getMensaWebpage $ if isJust currentCBText then getMensaIdByText (fromJust currentCBText) else 0 -- default id=0 for Uni Mensa
putStrLn "SUBMIT BUTTON CLICKED: " -- ++ foodPlanPage
-- TODO display food plan info
-- TODO display selected meal plan ...
-- PLACE OBJECTS IN A GRID ON THE WINDOW ----------------------------------
......
......@@ -37,8 +37,6 @@ library
, gi-gtk ==3.0.*
, gi-gtk-hs
, haskell-gi-base
, http-client
, http-client-tls
, text
default-language: Haskell2010
......@@ -55,8 +53,6 @@ executable food-plan-hs-exe
, gi-gtk ==3.0.*
, gi-gtk-hs
, haskell-gi-base
, http-client
, http-client-tls
, text
default-language: Haskell2010
......@@ -74,7 +70,5 @@ test-suite food-plan-hs-test
, gi-gtk ==3.0.*
, gi-gtk-hs
, haskell-gi-base
, http-client
, http-client-tls
, text
default-language: Haskell2010
......@@ -24,9 +24,8 @@ dependencies:
- gi-gtk == 3.0.*
- gi-gtk-hs
- haskell-gi-base
- http-client
- http-client-tls
- text
# http
ghc-options:
- -Wall
......
......@@ -2,20 +2,17 @@
-- FOOD PLAN GUI - (c) 2022 Felix Drees - GNU GPLv3 --
-----------------------------------------------------------------------------
{-# LANGUAGE OverloadedStrings #-}
module LibUniHbMensa where
import qualified Network.HTTP.Client as H
import qualified Network.HTTP.Client.TLS as H
-- import qualified Network.HTTP
--STATIC VARS------------------------------------------------------------------
base_url :: [Char]
base_url = "https://www.stw-bremen.de"
baseUrl :: [Char]
baseUrl = "https://www.stw-bremen.de"
mensa_url_list :: [[Char]]
mensa_url_list = [
mensaUrlList :: [[Char]]
mensaUrlList = [
"/de/mensa/uni-mensa", -- Uni-Mensa
"/de/mensa/nw-1", -- Mensa NW1
"/de/cafeteria/gw2", -- Cafeteria GW2
......@@ -32,18 +29,11 @@ mensa_url_list = [
getMensaWebpage :: Int -> String
getMensaWebpage mensaId
| (mensaId < 0) = error "INVALID INPUT FOR getMensaWebpage"
| (mensaId < 10) = getWebpage $ base_url ++ mensa_url_list !! mensaId
| otherwise = getWebpage $ base_url ++ mensa_url_list !! 0
| (mensaId >= 0 && mensaId < length mensaUrlList) = getWebpage $ baseUrl ++ mensaUrlList !! mensaId
| otherwise = getWebpage $ baseUrl ++ mensaUrlList !! 0
where
getWebpage :: String -> String
getWebpage url = "test url: " ++ url
-- getWebpage url = H.httpLbs (H.setQueryString [("q", Just "r")] url) H.newManager H.tlsManagerSettings
test :: IO ()
test = do
httpman <- H.newManager H.tlsManagerSettings
let req = H.setQueryString [("q", Just "r")] "https://wikipedia.org"
response <- H.httpLbs req httpman
print response
getWebpage url = url
-- getWebpage url = simpleHTTP (getRequest url) >>= fmap (take 100) . getResponseBody
-- fetch document and return it (as a 'String'.)
-- https://hackage.haskell.org/package/HTTP-4000.3.16/docs/Network-HTTP.html
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment