module TclConfB where

-- Conf Clases -----------------------------------------------
 
(%%) :: String -> String -> Conf w
a %% b = Config $ a T.%% b

(%#) :: String -> GUI () -> Conf w
a %# b = Config $ a T.%# (flip runGUI b)

class Has_activebackground w where
  activebackground   :: String -> Conf w
  activebackground x = "activebackground" %% tcl_string x

class Has_activeforeground w where
  activeforeground   :: String -> Conf w
  activeforeground x =  "activeforeground" %% tcl_string x

class Has_anchor w where
  anchor   :: Anchor -> Conf w
  anchor x =  "anchor" %% fromAnchor x 

class Has_aspect w where
 aspect :: Int -> Conf w
 aspect n = "aspect" %% show n

class Has_background w where
  background   :: String -> Conf w
  background x = "background" %% tcl_string x

class Has_bitmap w where
  bitmap   :: String -> Conf w
  bitmap x = "bitmap" %% tcl_string x

class Has_borderwidth w where
  borderwidth   :: Int -> Conf w
  borderwidth x =  "borderwidth" %% show x

class Has_command w where
  command   :: (GUI ()) -> Conf w
  command x = "command" %# x

class Has_cursor w where
  cursor   :: String -> Conf w
  cursor x =  "cursor" %% tcl_string x

class Has_disabledforeground w where
  disabledforeground :: String -> Conf w
  disabledforeground x = "disabledforeground" %% tcl_string x

class Has_exportselection w where
  exportSelection :: Bool -> Conf w
  exportSelection x = "exportselection" %% show x

class Has_ent_show w where
  ent_show   :: Char -> Conf w
  ent_show x =  "show" %% [x]

class Has_selectmode w where
  selectmode   :: SelectMode -> Conf w
  selectmode x =  "selectmode" %% fromSelectMode x

class Has_fill w where
  fill   :: String -> Conf w
  fill x =  "fill" %% tcl_string x

class Has_font w where
  font   :: String -> Conf w
  font x = "font" %% tcl_string x

class Has_foreground w where
  foreground   :: String -> Conf w
  foreground x = "foreground" %% tcl_string x

class Has_height w where
  height   :: Int -> Conf w
  height x = "height" %% show x

class Has_highlightbackground w where
  highlightbackground   :: String -> Conf w
  highlightbackground x =  "highlightbackground" %% tcl_string x

class Has_highlightcolor w where
  highlightcolor   :: String -> Conf w
  highlightcolor x =  "highlightcolor" %% tcl_string x

class Has_highlightthickness w where
  highlightthickness   :: Int -> Conf w
  highlightthickness x =  "highlightthickness" %% show x

class Has_hor_orient w where
  hor_orient   :: Bool -> Conf w
  hor_orient x =  "orient" %% show x

class Has_image w where
  image :: String -> Conf w
  image x = "image" %% tcl_string x

class Has_indicatoron w where
  indicatoron   :: Bool -> Conf w
  indicatoron x =  "indicatoron" %% show x

class Has_justify w where
  justify   :: Justify -> Conf w
  justify x = "justify" %% fromJustify x

class Has_active_state w where
  active_state   :: ActiveState -> Conf w
  active_state x = "state" %% fromActiveState x

class Has_outline w where
  outline   :: String -> Conf w
  outline x = "outline" %% tcl_string x

class Has_padx w where
  padx   :: Int -> Conf w
  padx x =  "padx" %% show x

class Has_pady w where
  pady   :: Int -> Conf w
  pady x =  "pady" %% show x

class Has_postcommand w where
  postcommand   :: (GUI ()) -> Conf w
  postcommand x = "postcommand" %# x

class Has_relief w where
  relief   :: Relief -> Conf w
  relief x = "relief" %% fromRelief x

class Has_sca_from w where
  sca_from   :: Int -> Conf w
  sca_from x = "from" %% show x

class Has_sca_length w where
  sca_length   :: Int -> Conf w
  sca_length x = "length" %% show x

class Has_sca_to w where
  sca_to   :: Int -> Conf w
  sca_to x = "to" %% show x

class Has_scrollregion w where
  scrollregion   :: Rect -> Conf w
  scrollregion x = "scrollregion" %% fromRegion x

class Has_selectbackground w where
  selectbackground   :: String -> Conf w
  selectbackground x = "selectbackground" %% tcl_string x

class Has_selectborderwidth w where
  selectborderwidth   :: Int -> Conf w
  selectborderwidth x =  "selectborderwidth" %% show x

class Has_selectcolor w where
  selectcolor   :: String -> Conf w
  selectcolor x = "selectcolor" %% tcl_string x

class Has_selectforeground w where
  selectforeground   :: String -> Conf w
  selectforeground x = "selectforeground" %% tcl_string x

class Has_setgrid w where
  setgrid   :: Bool -> Conf w
  setgrid x = "setgrid"%% show x

class Has_sliderlength w where
  sliderlength   :: Int -> Conf w
  sliderlength x = "sliderlength" %% show x

class Has_takefocus w where
  takefocus   :: Bool -> Conf w
  takefocus x = "takefocus" %% show x

class Has_tags w where
  tags   :: [String] -> Conf w
  tags x = "tags" %% tcl_string (unwords x)

class Has_text w where
  text   :: String -> Conf w
  text x =  "text" %% tcl_string x

class Has_tickinterval w where
  tickinterval   :: Int -> Conf w
  tickinterval x =  "tickinterval" %% show x

class Has_troughcolor w where
  troughcolor   :: String -> Conf w
  troughcolor x =  "troughcolor" %% tcl_string x

class Has_underline w where
  underline   :: Int -> Conf w
  underline x = "underline" %% show x

class Has_use_menu w where
  use_menu   :: Menu -> Conf w
  use_menu x =  "menu" %% T.wpath x

class Has_wgt_label w where
  wgt_label   :: String -> Conf w
  wgt_label x =  "label" %% tcl_string x

class Has_width w where
  width   :: Int -> Conf w
  width x = "width" %% show x

class Has_wrap w where
  wrap   :: Wrap -> Conf w
  wrap x = "wrap" %% fromWrap x

class Has_wraplength w where
  wraplength   :: Int -> Conf w
  wraplength x = "wraplength" %% show x
