packages feed

macbeth-lib-0.0.12: src/Macbeth/Wx/PartnerOffer.hs

module Macbeth.Wx.PartnerOffer (
  wxPartnerOffer
) where

import Macbeth.Fics.FicsMessage
import Macbeth.Fics.Api.Player
import Macbeth.Wx.Utils

import Control.Concurrent
import Graphics.UI.WX
import System.IO


wxPartnerOffer :: Handle -> UserHandle -> Chan FicsMessage  -> IO ()
wxPartnerOffer h userHandle chan = do
  f <- frame []
  p <- panel f []

  b_accept  <- button p [text := "Accept", on command := hPutStrLn h ("5 partner" ++ name userHandle) >> close f]
  b_decline <- button p [text := "Decline", on command := hPutStrLn h "5 decline" >> close f]
  st_params <- staticText p [ text := name userHandle ++ " offers to be your bughouse partner."
                            , fontFace := "Avenir Next Medium"
                            , fontSize := 16
                            , fontWeight := WeightBold]

  set f [ defaultButton := b_accept
        , layout := container p $ margin 10 $
            column 5 [boxed "Bughouse" (
              grid 5 5 [
                [ hfill $ widget st_params]]
            )
            , floatBottomRight $ row 5 [widget b_accept, widget b_decline]]
        ]

  dupChan chan >>= registerWxCloseEventListener f