Hi all,

For a network manager of sorts I'm working on, I want to derive a
SettingsWindowClass from the WindowClass present in Gtk2Hs:

I want (the) instance(s) of the SettingsWindowClass to have a field to store
connection settings:

1) Is it safe to do it like this?

class WindowClass self ⇒ SettingsWindowClass self where
  settingsWindowGetSettings :: self → IO [ConnectionSetting]
  settingsWindowSetSettings :: self → [ConnectionSetting] → IO ()

newtype SettingsWindow = SettingsWindow (Window,[ConnectionSetting])

mkSettingsWindow = SettingsWindow
unSettingsWindow (SettingsWindow o) = o

settingsWindowNew :: IO SettingsWindow
settingsWindowNew = do
  win ← windowNew
  return $ mkSettingsWindow (win,[])

2) Is this a common practice in gtk2hs usage?
3) And will GC properly free the memory allocated for the Window object? How
is this ensured, do ForeignPtr's always call delete on the underlying C ptr
when they get garbage collected?

Best Regards,
CS
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to