  boxPackStart box vbox PackRepel 0
    label <- labelNew (Just name)
    miscSetAlignment label 0.0 0.5
    boxPackStart vbox label PackNatural 0
    spinb <- spinButtonNewWithRange minVal maxVal 1.0
    Gtk.set spinb [spinButtonValue := defaultValue]
    boxPackStart vbox spinb PackNatural 0
    return spinb
myAddSpinButton :: HBox -> String -> Double -> Double -> Double -> IO SpinButton
myAddSpinButton box name minVal maxVal defaultValue = do
    vbox  <- vBoxNew False 0
    boxPackStart box vbox PackRepel 0
    label <- labelNew (Just name)
    miscSetAlignment label 0.0 0.5
    boxPackStart vbox label PackNatural 0
    spinb <- spinButtonNewWithRange minVal maxVal 1.0
    Gtk.set spinb [spinButtonValue := defaultValue]
    boxPackStart vbox spinb PackNatural 0
    return spinb
myAddSpinButton box name minVal maxVal defaultValue = do
    vbox  <- vBoxNew False 0
    boxPackStart box vbox PackRepel 0
    label <- labelNew (Just name)
    miscSetAlignment label 0.0 0.5
    boxPackStart vbox label PackNatural 0
    spinb <- spinButtonNewWithRange minVal maxVal 1.0
    Gtk.set spinb [spinButtonValue := defaultValue]
    boxPackStart vbox spinb PackNatural 0
    return spinb