From: Axel S. <si...@co...> - 2008-10-26 17:01:23
|
Sun Oct 26 12:42:12 EDT 2008 Axe...@en... * Make IconSize accept new user-defined sizes. hunk ./gtk/Graphics/UI/Gtk/General/IconFactory.chs.pp 129 +-- The Show instance for IconSize is here since we need c2hs. +instance Show IconSize where + show i = unsafePerformIO (lookupSizeString (fromEnum i)) + where + lookupSizeString n = do + ptr <- {#call unsafe icon_size_get_name#} (fromIntegral n) + if ptr==nullPtr then return "" else peekUTFString ptr + hunk ./gtk/Graphics/UI/Gtk/General/IconFactory.chs.pp 278 -iconSizeRegister :: Int -> String -> Int -> IO IconSize -iconSizeRegister height name width = liftM (toEnum . fromIntegral) $ +iconSizeRegister :: + String -- ^ the new name of the size + -> Int -- ^ the width of the icon + -> Int -- ^ the height of the icon + -> IO IconSize -- ^ the new icon size +iconSizeRegister name width height = liftM (toEnum . fromIntegral) $ hunk ./gtk/Graphics/UI/Gtk/General/Structs.hsc 581 +-- * This enumeration contains one case that is not exported and which +-- is used when new sizes are registered using +-- 'Graphics.UI.Gtk.General.IconFactory.iconSizeRegister'. +-- +-- * Applying 'show' to this type will reveal the name of the size +-- that is registered with Gtk+. +-- hunk ./gtk/Graphics/UI/Gtk/General/Structs.hsc 596 - | IconSizeSmallToolBar + | IconSizeSmallToolbar hunk ./gtk/Graphics/UI/Gtk/General/Structs.hsc 599 - | IconSizeLargeToolBar + | IconSizeLargeToolbar hunk ./gtk/Graphics/UI/Gtk/General/Structs.hsc 604 - -- | Icon size for icons in DragNDrop. + -- | Icon size for icons in drag-and-drop. hunk ./gtk/Graphics/UI/Gtk/General/Structs.hsc 609 - deriving (Show, Eq, Enum) - [_$_] + [_$_] + | IconSizeUser Int + deriving (Eq) + +instance Enum IconSize where + toEnum #{const GTK_ICON_SIZE_INVALID} = IconSizeInvalid + toEnum #{const GTK_ICON_SIZE_MENU} = IconSizeMenu + toEnum #{const GTK_ICON_SIZE_SMALL_TOOLBAR} = IconSizeSmallToolbar + toEnum #{const GTK_ICON_SIZE_LARGE_TOOLBAR} = IconSizeLargeToolbar + toEnum #{const GTK_ICON_SIZE_BUTTON} = IconSizeButton + toEnum #{const GTK_ICON_SIZE_DND} = IconSizeDnd + toEnum #{const GTK_ICON_SIZE_DIALOG} = IconSizeDialog + toEnum n = IconSizeUser n + fromEnum IconSizeInvalid = #{const GTK_ICON_SIZE_INVALID} + fromEnum IconSizeMenu = #{const GTK_ICON_SIZE_MENU} [_$_] + fromEnum IconSizeSmallToolbar = #{const GTK_ICON_SIZE_SMALL_TOOLBAR} + fromEnum IconSizeLargeToolbar = #{const GTK_ICON_SIZE_LARGE_TOOLBAR} + fromEnum IconSizeButton = #{const GTK_ICON_SIZE_BUTTON} + fromEnum IconSizeDnd = #{const GTK_ICON_SIZE_DND} + fromEnum IconSizeDialog = #{const GTK_ICON_SIZE_DIALOG} + fromEnum (IconSizeUser n) = n + [_$_] |