You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
|
Jul
(68) |
Aug
(4) |
Sep
|
Oct
(23) |
Nov
(95) |
Dec
(9) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(3) |
Feb
|
Mar
|
Apr
(51) |
May
(81) |
Jun
(2) |
Jul
(86) |
Aug
(143) |
Sep
(3) |
Oct
(31) |
Nov
(63) |
Dec
(90) |
2005 |
Jan
(277) |
Feb
(157) |
Mar
(99) |
Apr
(195) |
May
(151) |
Jun
(148) |
Jul
(98) |
Aug
(123) |
Sep
(20) |
Oct
(174) |
Nov
(155) |
Dec
(26) |
2006 |
Jan
(51) |
Feb
(19) |
Mar
(16) |
Apr
(12) |
May
(5) |
Jun
|
Jul
(11) |
Aug
(7) |
Sep
(10) |
Oct
(31) |
Nov
(174) |
Dec
(56) |
2007 |
Jan
(45) |
Feb
(52) |
Mar
(10) |
Apr
(5) |
May
(47) |
Jun
(16) |
Jul
(80) |
Aug
(29) |
Sep
(14) |
Oct
(59) |
Nov
(46) |
Dec
(16) |
2008 |
Jan
(10) |
Feb
(1) |
Mar
|
Apr
|
May
(49) |
Jun
(26) |
Jul
(8) |
Aug
(4) |
Sep
(25) |
Oct
(53) |
Nov
(9) |
Dec
(1) |
2009 |
Jan
(66) |
Feb
(11) |
Mar
(1) |
Apr
(14) |
May
(8) |
Jun
(1) |
Jul
(2) |
Aug
(2) |
Sep
(9) |
Oct
(23) |
Nov
(35) |
Dec
|
2010 |
Jan
(7) |
Feb
(2) |
Mar
(39) |
Apr
(19) |
May
(161) |
Jun
(19) |
Jul
(32) |
Aug
(65) |
Sep
(113) |
Oct
(120) |
Nov
(2) |
Dec
|
2012 |
Jan
|
Feb
(5) |
Mar
(4) |
Apr
(7) |
May
(9) |
Jun
(14) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(1) |
Nov
(12) |
Dec
(2) |
2013 |
Jan
(1) |
Feb
(17) |
Mar
(4) |
Apr
(4) |
May
(9) |
Jun
|
Jul
(8) |
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: Peter g. <pg...@co...> - 2009-01-01 18:28:57
|
Sun Nov 23 19:14:02 EST 2008 Ashley Yakeley <as...@se...> * expose Types and flags constructors in System.GIO.File hunk ./gio/System/GIO/File.chs 30 - File, - FileClass, - FileQueryInfoFlags, - FileCreateFlags, - FileCopyFlags, - FileMonitorFlags, - FilesystemPreviewType, + module System.GIO.Types, + FileQueryInfoFlags(..), + FileCreateFlags(..), + FileCopyFlags(..), + FileMonitorFlags(..), + FilesystemPreviewType(..), |
From: Peter g. <pg...@co...> - 2009-01-01 18:28:56
|
Fri Dec 19 11:16:05 EST 2008 Peter Gavin <pg...@gm...> * configure.ac: move DISABLE_DEPRECATED code further up in the script so we can deprecate entire packages hunk ./configure.ac 173 +dnl Check if user wants bindings for deprecated APIs. Defaults to yes. +AC_MSG_CHECKING([whether to build deprecated bindings]) +AC_ARG_ENABLE(deprecated, + [ --disable-deprecated do not generate bindings for any deprecated APIs], + [ENABLE_DEPRECATED=$enableval],[ENABLE_DEPRECATED=yes]) +AC_MSG_RESULT($ENABLE_DEPRECATED) +DISABLE_DEPRECATED=`test $ENABLE_DEPRECATED = yes && echo no || echo yes` + hunk ./configure.ac 688 - -dnl Check if user wants bindings for deprecated APIs. Defaults to yes. -AC_MSG_CHECKING([whether to build deprecated bindings]) - -AC_ARG_ENABLE(deprecated, - [ --disable-deprecated do not generate bindings for any deprecated APIs], - [ENABLE_DEPRECATED=$enableval],[ENABLE_DEPRECATED=yes]) -AC_MSG_RESULT($ENABLE_DEPRECATED) - -DISABLE_DEPRECATED=`test $ENABLE_DEPRECATED = yes && echo no || echo yes` - |
From: Axel S. <si...@co...> - 2008-12-02 16:40:29
|
Tue Dec 2 11:39:18 EST 2008 Axe...@en... * Swap Events for EventM. hunk ./demo/svg/SvgViewer.hs 5 +import Graphics.UI.Gtk.Gdk.EventM hunk ./demo/svg/SvgViewer.hs 22 - onExpose canvas $ updateCanvas canvas svg + canvas `on` exposeEvent $ updateCanvas canvas svg hunk ./demo/svg/SvgViewer.hs 28 -updateCanvas :: DrawingArea -> SVG -> Event -> IO Bool -updateCanvas canvas svg (Expose { eventArea=rect }) = do - win <- widgetGetDrawWindow canvas +updateCanvas :: DrawingArea -> SVG -> EventM EExpose Bool +updateCanvas canvas svg = do + win <- eventWindow + liftIO $ do |
From: Peter g. <pg...@co...> - 2008-11-09 22:36:31
|
Thu Oct 30 11:59:52 EDT 2008 Peter Gavin <pg...@gm...> * gio: add System.GIO.FileAttributes and related functions hunk ./Makefile.am 430 + gio/System/GIO/FileAttribute.hsc \ hunk ./gio/System/GIO/Base.chs 102 +{# enum GFileAttributeInfoFlags as FileAttributeInfoFlags {underscoreToCase} with prefix = "G" deriving (Eq, Ord, Bounded, Read, Show) #} +instance Flags FileAttributeInfoFlags + hunk ./gio/System/GIO/File.chs 93 - fileMakeSymbolicLink + fileMakeSymbolicLink, + fileQuerySettableAttributes, + fileQueryWritableNamespaces hunk ./gio/System/GIO/File.chs 109 +import System.GIO.FileAttribute hunk ./gio/System/GIO/File.chs 753 +{# pointer *FileAttributeInfoList newtype #} +takeFileAttributeInfoList :: Ptr FileAttributeInfoList + -> IO [FileAttributeInfo] +takeFileAttributeInfoList ptr = + do cInfos <- liftM castPtr $ {# get FileAttributeInfoList->infos #} ptr + cNInfos <- {# get FileAttributeInfoList->n_infos #} ptr + infos <- peekArray (fromIntegral cNInfos) cInfos + g_file_attribute_info_list_unref ptr + return infos + where _ = {# call file_attribute_info_list_unref #} + +fileQuerySettableAttributes :: FileClass file + => file + -> Maybe Cancellable + -> IO [FileAttributeInfo] +fileQuerySettableAttributes file cancellable = + withGObject (toFile file) $ \cFile -> + maybeWith withGObject cancellable $ \cCancellable -> do + ptr <- propagateGError $ g_file_query_settable_attributes cFile cCancellable + infos <- takeFileAttributeInfoList ptr + return infos + where _ = {# call file_query_settable_attributes #} + +fileQueryWritableNamespaces :: FileClass file + => file + -> Maybe Cancellable + -> IO [FileAttributeInfo] +fileQueryWritableNamespaces file cancellable = + withGObject (toFile file) $ \cFile -> + maybeWith withGObject cancellable $ \cCancellable -> do + ptr <- propagateGError $ g_file_query_writable_namespaces cFile cCancellable + infos <- takeFileAttributeInfoList ptr + return infos + where _ = {# call file_query_writable_namespaces #} + addfile ./gio/System/GIO/FileAttribute.hsc hunk ./gio/System/GIO/FileAttribute.hsc 1 +-- GIMP Toolkit (GTK) Binding for Haskell: binding to gio -*-haskell-*- +-- +-- Author : Peter Gavin +-- Created: 13-Oct-2008 +-- +-- Copyright (c) 2008 Peter Gavin +-- +-- This library is free software: you can redistribute it and/or +-- modify it under the terms of the GNU Lesser General Public License +-- as published by the Free Software Foundation, either version 3 of +-- the License, or (at your option) any later version. +-- [_$_] +-- This library is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +-- Lesser General Public License for more details. +-- [_$_] +-- You should have received a copy of the GNU Lesser General Public +-- License along with this program. If not, see +-- <http://www.gnu.org/licenses/>. +-- [_$_] +-- GIO, the C library which this Haskell library depends on, is +-- available under LGPL Version 2. The documentation included with +-- this library is based on the original GIO documentation. +-- [_$_] +-- | Maintainer : gtk...@li... +-- Stability : alpha +-- Portability : portable (depends on GHC) +module System.GIO.FileAttribute ( + FileAttributeType (..), + FileAttributeInfo (..), + FileAttributeInfoFlags (..), + fileAttributeStandardType, + fileAttributeStandardIsHidden, + fileAttributeStandardIsBackup, + fileAttributeStandardIsSymlink, + fileAttributeStandardIsVirtual, + fileAttributeStandardName, + fileAttributeStandardDisplayName, + fileAttributeStandardEditName, + fileAttributeStandardCopyName, + fileAttributeStandardIcon, + fileAttributeStandardContentType, + fileAttributeStandardFastContentType, + fileAttributeStandardSize, + fileAttributeStandardSymlinkTarget, + fileAttributeStandardTargetURI, + fileAttributeStandardSortOrder, + fileAttributeEtagValue, + fileAttributeIDFile, + fileAttributeIDFilesystem, + fileAttributeAccessCanRead, + fileAttributeAccessCanWrite, + fileAttributeAccessCanExecute, + fileAttributeAccessCanDelete, + fileAttributeAccessCanTrash, + fileAttributeAccessCanRename, + fileAttributeMountableCanMount, + fileAttributeMountableCanUnmount, + fileAttributeMountableCanEject, + fileAttributeMountableUnixDevice, + fileAttributeMountableHalUDI, + fileAttributeTimeModified, + fileAttributeTimeModifiedUSec, + fileAttributeTimeAccess, + fileAttributeTimeAccessUSec, + fileAttributeTimeChanged, + fileAttributeTimeChangedUSec, + fileAttributeTimeCreated, + fileAttributeTimeCreatedUSec, + fileAttributeUnixDevice, + fileAttributeUnixInode, + fileAttributeUnixMode, + fileAttributeUnixNLink, + fileAttributeUnixUID, + fileAttributeUnixGID, + fileAttributeUnixRDev, + fileAttributeUnixBlockSize, + fileAttributeUnixBlocks, + fileAttributeDosIsArchive, + fileAttributeDosIsSystem, + fileAttributeOwnerUser, + fileAttributeOwnerUserReal, + fileAttributeOwnerGroup, + fileAttributeThumbnailPath, + fileAttributeThumbnailingFailed, + fileAttributeFilesystemSize, + fileAttributeFilesystemFree, + fileAttributeFilesystemType, + fileAttributeFilesystemReadonly, + fileAttributeGVfsBackend, + fileAttributeSELinuxContext, + fileAttributeTrashItemCount, + fileAttributeFilesystemUsePreview, + fileAttributeStandardDescription, + ) where + +import System.Glib.FFI +import System.Glib.UTFString + +import System.GIO.Base + +data FileAttributeType = FileAttributeTypeInvalid + | FileAttributeTypeString + | FileAttributeTypeByteString + | FileAttributeTypeBool + | FileAttributeTypeWord32 + | FileAttributeTypeInt32 + | FileAttributeTypeWord64 + | FileAttributeTypeInt64 + | FileAttributeTypeObject + deriving (Eq, Ord, Bounded, Show, Read) +instance Enum FileAttributeType where + toEnum #{const G_FILE_ATTRIBUTE_TYPE_INVALID} = FileAttributeTypeInvalid + toEnum #{const G_FILE_ATTRIBUTE_TYPE_STRING} = FileAttributeTypeString + toEnum #{const G_FILE_ATTRIBUTE_TYPE_BYTE_STRING} = FileAttributeTypeByteString + toEnum #{const G_FILE_ATTRIBUTE_TYPE_BOOLEAN} = FileAttributeTypeBool + toEnum #{const G_FILE_ATTRIBUTE_TYPE_UINT32} = FileAttributeTypeWord32 + toEnum #{const G_FILE_ATTRIBUTE_TYPE_INT32} = FileAttributeTypeInt32 + toEnum #{const G_FILE_ATTRIBUTE_TYPE_UINT64} = FileAttributeTypeWord64 + toEnum #{const G_FILE_ATTRIBUTE_TYPE_INT64} = FileAttributeTypeInt64 + toEnum #{const G_FILE_ATTRIBUTE_TYPE_OBJECT} = FileAttributeTypeObject + [_$_] + fromEnum FileAttributeTypeInvalid = #{const G_FILE_ATTRIBUTE_TYPE_INVALID} + fromEnum FileAttributeTypeString = #{const G_FILE_ATTRIBUTE_TYPE_STRING} + fromEnum FileAttributeTypeByteString = #{const G_FILE_ATTRIBUTE_TYPE_BYTE_STRING} + fromEnum FileAttributeTypeBool = #{const G_FILE_ATTRIBUTE_TYPE_BOOLEAN} + fromEnum FileAttributeTypeWord32 = #{const G_FILE_ATTRIBUTE_TYPE_UINT32} + fromEnum FileAttributeTypeInt32 = #{const G_FILE_ATTRIBUTE_TYPE_INT32} + fromEnum FileAttributeTypeWord64 = #{const G_FILE_ATTRIBUTE_TYPE_UINT64} + fromEnum FileAttributeTypeInt64 = #{const G_FILE_ATTRIBUTE_TYPE_INT64} + fromEnum FileAttributeTypeObject = #{const G_FILE_ATTRIBUTE_TYPE_OBJECT} + +data FileAttributeInfo = + FileAttributeInfo + { fileAttributeInfoName :: String + , fileAttributeInfoType :: FileAttributeType + , fileAttributeInfoFlags :: [FileAttributeInfoFlags] + } deriving (Eq, Read, Show) + +instance Storable FileAttributeInfo where + sizeOf _ = #{size GFileAttributeInfo} + alignment _ = alignment (undefined :: Ptr ()) + peek ptr = do + retName <- #{peek GFileAttributeInfo, name} ptr >>= peekUTFString + retType <- (#{peek GFileAttributeInfo, type} ptr :: IO CInt) >>= return . cToEnum + retFlags <- (#{peek GFileAttributeInfo, flags} ptr :: IO CInt) >>= return . cToFlags + return $ FileAttributeInfo + { fileAttributeInfoName = retName + , fileAttributeInfoType = retType + , fileAttributeInfoFlags = retFlags } + + poke _ = error "not implemented" + +fileAttributeStandardType, + fileAttributeStandardIsHidden, + fileAttributeStandardIsBackup, + fileAttributeStandardIsSymlink, + fileAttributeStandardIsVirtual, + fileAttributeStandardName, + fileAttributeStandardDisplayName, + fileAttributeStandardEditName, + fileAttributeStandardCopyName, + fileAttributeStandardIcon, + fileAttributeStandardContentType, + fileAttributeStandardFastContentType, + fileAttributeStandardSize, + fileAttributeStandardSymlinkTarget, + fileAttributeStandardTargetURI, + fileAttributeStandardSortOrder, + fileAttributeEtagValue, + fileAttributeIDFile, + fileAttributeIDFilesystem, + fileAttributeAccessCanRead, + fileAttributeAccessCanWrite, + fileAttributeAccessCanExecute, + fileAttributeAccessCanDelete, + fileAttributeAccessCanTrash, + fileAttributeAccessCanRename, + fileAttributeMountableCanMount, + fileAttributeMountableCanUnmount, + fileAttributeMountableCanEject, + fileAttributeMountableUnixDevice, + fileAttributeMountableHalUDI, + fileAttributeTimeModified, + fileAttributeTimeModifiedUSec, + fileAttributeTimeAccess, + fileAttributeTimeAccessUSec, + fileAttributeTimeChanged, + fileAttributeTimeChangedUSec, + fileAttributeTimeCreated, + fileAttributeTimeCreatedUSec, + fileAttributeUnixDevice, + fileAttributeUnixInode, + fileAttributeUnixMode, + fileAttributeUnixNLink, + fileAttributeUnixUID, + fileAttributeUnixGID, + fileAttributeUnixRDev, + fileAttributeUnixBlockSize, + fileAttributeUnixBlocks, + fileAttributeDosIsArchive, + fileAttributeDosIsSystem, + fileAttributeOwnerUser, + fileAttributeOwnerUserReal, + fileAttributeOwnerGroup, + fileAttributeThumbnailPath, + fileAttributeThumbnailingFailed, + fileAttributeFilesystemSize, + fileAttributeFilesystemFree, + fileAttributeFilesystemType, + fileAttributeFilesystemReadonly, + fileAttributeGVfsBackend, + fileAttributeSELinuxContext, + fileAttributeTrashItemCount, + fileAttributeFilesystemUsePreview, + fileAttributeStandardDescription + :: String +fileAttributeStandardType = #{const_str G_FILE_ATTRIBUTE_STANDARD_TYPE} +fileAttributeStandardIsHidden = #{const_str G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN} +fileAttributeStandardIsBackup = #{const_str G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP} +fileAttributeStandardIsSymlink = #{const_str G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK} +fileAttributeStandardIsVirtual = #{const_str G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL} +fileAttributeStandardName = #{const_str G_FILE_ATTRIBUTE_STANDARD_NAME} +fileAttributeStandardDisplayName = #{const_str G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME} +fileAttributeStandardEditName = #{const_str G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME} +fileAttributeStandardCopyName = #{const_str G_FILE_ATTRIBUTE_STANDARD_COPY_NAME} +fileAttributeStandardIcon = #{const_str G_FILE_ATTRIBUTE_STANDARD_ICON} +fileAttributeStandardContentType = #{const_str G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE} +fileAttributeStandardFastContentType = #{const_str G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE} +fileAttributeStandardSize = #{const_str G_FILE_ATTRIBUTE_STANDARD_SIZE} +fileAttributeStandardSymlinkTarget = #{const_str G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET} +fileAttributeStandardTargetURI = #{const_str G_FILE_ATTRIBUTE_STANDARD_TARGET_URI} +fileAttributeStandardSortOrder = #{const_str G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER} +fileAttributeEtagValue = #{const_str G_FILE_ATTRIBUTE_ETAG_VALUE} +fileAttributeIDFile = #{const_str G_FILE_ATTRIBUTE_ID_FILE} +fileAttributeIDFilesystem = #{const_str G_FILE_ATTRIBUTE_ID_FILESYSTEM} +fileAttributeAccessCanRead = #{const_str G_FILE_ATTRIBUTE_ACCESS_CAN_READ} +fileAttributeAccessCanWrite = #{const_str G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE} +fileAttributeAccessCanExecute = #{const_str G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE} +fileAttributeAccessCanDelete = #{const_str G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE} +fileAttributeAccessCanTrash = #{const_str G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH} +fileAttributeAccessCanRename = #{const_str G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME} +fileAttributeMountableCanMount = #{const_str G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT} +fileAttributeMountableCanUnmount = #{const_str G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT} +fileAttributeMountableCanEject = #{const_str G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT} +fileAttributeMountableUnixDevice = #{const_str G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE} +fileAttributeMountableHalUDI = #{const_str G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI} +fileAttributeTimeModified = #{const_str G_FILE_ATTRIBUTE_TIME_MODIFIED} +fileAttributeTimeModifiedUSec = #{const_str G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC} +fileAttributeTimeAccess = #{const_str G_FILE_ATTRIBUTE_TIME_ACCESS} +fileAttributeTimeAccessUSec = #{const_str G_FILE_ATTRIBUTE_TIME_ACCESS_USEC} +fileAttributeTimeChanged = #{const_str G_FILE_ATTRIBUTE_TIME_CHANGED} +fileAttributeTimeChangedUSec = #{const_str G_FILE_ATTRIBUTE_TIME_CHANGED_USEC} +fileAttributeTimeCreated = #{const_str G_FILE_ATTRIBUTE_TIME_CREATED} +fileAttributeTimeCreatedUSec = #{const_str G_FILE_ATTRIBUTE_TIME_CREATED_USEC} +fileAttributeUnixDevice = #{const_str G_FILE_ATTRIBUTE_UNIX_DEVICE} +fileAttributeUnixInode = #{const_str G_FILE_ATTRIBUTE_UNIX_INODE} +fileAttributeUnixMode = #{const_str G_FILE_ATTRIBUTE_UNIX_MODE} +fileAttributeUnixNLink = #{const_str G_FILE_ATTRIBUTE_UNIX_NLINK} +fileAttributeUnixUID = #{const_str G_FILE_ATTRIBUTE_UNIX_UID} +fileAttributeUnixGID = #{const_str G_FILE_ATTRIBUTE_UNIX_GID} +fileAttributeUnixRDev = #{const_str G_FILE_ATTRIBUTE_UNIX_RDEV} +fileAttributeUnixBlockSize = #{const_str G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE} +fileAttributeUnixBlocks = #{const_str G_FILE_ATTRIBUTE_UNIX_BLOCKS} +fileAttributeDosIsArchive = #{const_str G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE} +fileAttributeDosIsSystem = #{const_str G_FILE_ATTRIBUTE_DOS_IS_SYSTEM} +fileAttributeOwnerUser = #{const_str G_FILE_ATTRIBUTE_OWNER_USER} +fileAttributeOwnerUserReal = #{const_str G_FILE_ATTRIBUTE_OWNER_USER_REAL} +fileAttributeOwnerGroup = #{const_str G_FILE_ATTRIBUTE_OWNER_GROUP} +fileAttributeThumbnailPath = #{const_str G_FILE_ATTRIBUTE_THUMBNAIL_PATH} +fileAttributeThumbnailingFailed = #{const_str G_FILE_ATTRIBUTE_THUMBNAILING_FAILED} +fileAttributeFilesystemSize = #{const_str G_FILE_ATTRIBUTE_FILESYSTEM_SIZE} +fileAttributeFilesystemFree = #{const_str G_FILE_ATTRIBUTE_FILESYSTEM_FREE} +fileAttributeFilesystemType = #{const_str G_FILE_ATTRIBUTE_FILESYSTEM_TYPE} +fileAttributeFilesystemReadonly = #{const_str G_FILE_ATTRIBUTE_FILESYSTEM_READONLY} +fileAttributeGVfsBackend = #{const_str G_FILE_ATTRIBUTE_GVFS_BACKEND} +fileAttributeSELinuxContext = #{const_str G_FILE_ATTRIBUTE_SELINUX_CONTEXT} +fileAttributeTrashItemCount = #{const_str G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT} +fileAttributeFilesystemUsePreview = #{const_str G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW} +fileAttributeStandardDescription = #{const_str G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION} |
From: Peter g. <pg...@co...> - 2008-11-09 22:36:31
|
Sun Nov 9 17:34:06 EST 2008 Peter Gavin <pg...@gm...> * gio: fix some build problems hunk ./Makefile.am 411 -libHSgio_a_LIBS = $(GIO_LIBS) +libHSgio_a_LIBS = $(GLIB_LIBS) $(GIO_LIBS) hunk ./Makefile.am 413 -libHSgio_a_CFLAGS = $(filter-out -I% -D%,$(GIO_CFLAGS)) -libHSgio_a_CPPFLAGS = $(filter -I% -D%,$(GIO_CFLAGS)) +libHSgio_a_CFLAGS = $(filter-out -I% -D%,$(GLIB_CFLAGS) $(GIO_CFLAGS)) +libHSgio_a_CPPFLAGS = $(filter -I% -D%,$(GLIB_CFLAGS) $(GIO_CFLAGS)) hunk ./Makefile.am 434 +htmldoc_HSFILES_HIDDEN += \ + $(libHSgio_a_GENERATEDSOURCES:.chs=.hs) + hunk ./Makefile.am 440 -htmldoc_HSFILES_HIDDEN += \ - $(libHSgio_a_GENERATEDSOURCES:.chs=.hs) +if !USE_GCLOSUE_SIGNALS_IMPL +libHSgio_a_LIBADD += \ + gio/System/GIO/Signals_stub.o +endif hunk ./Makefile.am 502 +$(libHSgio_a_CHSFILES:.chs=.dep) : \ + $(libHSgio_a_GENERATEDSOURCES) + hunk ./configure.ac 545 +GTKHS_PACKAGE_FILTER_CFLAGS([GIO_CFLAGS], [], [$GIO_CFLAGS]) +GTKHS_PACKAGE_FILTER_LIBS([GIO_LIBS], [], [$GIO_LIBS]) + hunk ./configure.ac 590 +GTKHS_REFORMAT_PACKAGE_CFLAGS(GIO_CFLAGS, GIO_CFLAGS_CQ) +GTKHS_REFORMAT_PACKAGE_LIBS(GIO_LIBS, GIO_LIBS_CQ, GIO_LIBDIR_CQ, GIO_LIBEXTRA_CQ) +AC_SUBST(GIO_CFLAGS_CQ) +AC_SUBST(GIO_LIBS_CQ) +AC_SUBST(GIO_LIBDIR_CQ) +AC_SUBST(GIO_LIBEXTRA_CQ) + hunk ./gio/gio.cabal.in 1 -name: gIO +name: gio |
From: Peter g. <pg...@co...> - 2008-11-09 22:36:31
|
Sun Nov 9 17:34:47 EST 2008 Peter Gavin <pg...@gm...> * add better support for haddock 2 in configure.ac hunk ./configure.ac 802 - HADDOCK_VERSION=`$HADDOCK --version | $CUT -d' ' -f3 | $CUT -d, -f1` + HADDOCK_VERSION="`$HADDOCK --version | head -n 1 | $CUT -d' ' -f3 | $CUT -d, -f1`" + bad_haddock_version=no hunk ./configure.ac 805 - GTKHS_PROG_CHECK_VERSION($HADDOCK_VERSION, -lt, 0.7, [ - AC_MSG_ERROR([I need haddock 0.7 or later to build the documentation. - Upgrade your version of haddock or re-run configure without --enable-docs])]) + GTKHS_PROG_CHECK_VERSION($HADDOCK_VERSION, -lt, 0.7, [bad_haddock_version=yes;]) hunk ./configure.ac 807 - GTKHS_PROG_CHECK_VERSION($HADDOCK_VERSION, -ge, 2.0, [HADDOCK2="yes";]) + GTKHS_PROG_CHECK_VERSION($HADDOCK_VERSION, -ge, 2.0, [ + HADDOCK2="yes"; + GTKHS_PROG_CHECK_VERSION($HADDOCK_VERSION, -lt, 2.4, [bad_haddock_version=yes;]) + ]) + if test "$bad_haddock_version" = "yes" ; then + AC_MSG_ERROR([I need haddock version x, where 0.7 <= x < 2.0 or x > 2.4 + to build the documentation. + Upgrade your version of haddock or re-run configure without --enable-docs]) + fi |
From: Axel S. <si...@co...> - 2008-11-06 21:55:17
|
Thu Nov 6 03:00:55 EST 2008 Ross Mellgren <rmm-haskell@z.odi.ac> * fix compilation error on GHC 6.10.1 due to new Control.Exception module hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 189 -import Control.Exception (catch, throw, [_$_] +#if __GLASGOW_HASKELL__ >= 610 +import Control.Exception ( Handler(..) + , PatternMatchFail(..) + , catches, throw ) +import System.IO.Error (isUserError, ioeGetErrorString) +#else +import Control.Exception (catch, throw, hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 197 +#endif hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 594 - liftIO $ catch (runReaderT (act >> return True) ptr) - (\e -> case e of - IOException e - | "user error (Pattern" `isPrefixOf` show e -> - return False - PatternMatchFail _ -> return False - _ -> throw e) + liftIO $ (runReaderT (act >> return True) ptr) +#if __GLASGOW_HASKELL__ >= 610 + `catches` [ Handler (\ (PatternMatchFail _) -> return False) + , Handler (\ e -> if isUserError e && "Pattern" `isPrefixOf` ioeGetErrorString e + then return False + else throw e) ] +#else + `catch` (\e -> case e of + IOException e + | "user error (Pattern" `isPrefixOf` show e -> + return False + PatternMatchFail _ -> return False + _ -> throw e) +#endif + |
From: Axel S. <si...@co...> - 2008-11-06 21:25:16
|
Thu Nov 6 15:36:56 EST 2008 Axe...@en... * Stop the minute hand from floating around the center. hunk ./demo/cairo/Clock.hs 170 - moveTo (-16/75 - 0.025) (-0.025) - lineTo (2/3 - 0.025) (-0.025) + moveTo (-16/75) 0 + lineTo (2/3) 0 |
From: Axel S. <si...@co...> - 2008-11-06 18:58:08
|
Mon Oct 27 17:40:07 EDT 2008 Axe...@en... * Add a demo for the combo box. addfile ./demo/menu/ComboDemo.hs hunk ./demo/menu/ComboDemo.hs 1 +module Main where + +import Graphics.UI.Gtk +import Control.Concurrent.MVar +import Control.Monad ( liftM ) +import Data.Maybe ( fromMaybe ) +import Data.List ( findIndex ) + + +main = do + initGUI + + win <- windowNew + onDestroy win mainQuit [_$_] + + (combo, store) <- + comboBoxEntryNewText id (words "ice-cream turkey pasta sandwich steak") + -- select the first item + comboBoxSetActive combo 0 + [_$_] + -- Get the entry widget that the ComboBoxEntry uses. + (Just w) <- binGetChild combo + let entry = castToEntry w + [_$_] + -- Whenever the user has completed editing the text, append the new + -- text to the store unless it's already in there. + onEntryActivate entry $ do + str <- entryGetText entry + elems <- listStoreToList store + comboBoxSetActive combo (-1) + idx <- case (findIndex ((==) str) elems) of + Just idx -> return idx + Nothing -> listStoreAppend store str + comboBoxSetActive combo idx + return () + + containerAdd win combo + [_$_] + widgetShowAll win + mainGUI [_$_] hunk ./demo/menu/Makefile 2 -PROG = menudemo [_$_] -SOURCES = MenuDemo.hs +PROGS = menudemo combodemo +SOURCES = MenuDemo.hs ComboDemo.hs hunk ./demo/menu/Makefile 5 -$(PROG) : $(SOURCES) - $(HC) --make $< -o $@ $(HCFLAGS) +all : $(PROGS) + +menudemo : MenuDemo.hs + $(HC_RULE) + +combodemo : ComboDemo.hs + $(HC_RULE) + +HC_RULE = $(HC) --make $< -o $@ $(HCFLAGS) |
From: Axel S. <si...@co...> - 2008-11-05 09:34:37
|
Mon Nov 3 20:09:22 EST 2008 Ross Mellgren <rmm-haskell@z.odi.ac> * export widgetGetIsFocus (renamed from widgetIsFocus, which is now an attribute) hunk ./gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp 105 + widgetGetIsFocus, |
From: Axel S. <si...@co...> - 2008-11-03 09:19:15
|
Sun Nov 2 15:08:03 EST 2008 Ross Mellgren <rmm-haskell@z.odi.ac> * Fix unpacking of Requisition height (was unpacking width erroneously) hunk ./gtk/Graphics/UI/Gtk/General/Structs.hsc 430 - (height_ ::#type gint) <- #{peek GtkRequisition, width} ptr + (height_ ::#type gint) <- #{peek GtkRequisition, height} ptr |
From: Axel S. <si...@co...> - 2008-11-01 13:31:26
|
Sat Nov 1 09:29:43 EDT 2008 Axe...@en... * Add function for implementing size requisition and allocation in widgets. hunk ./gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp 89 + widgetQueueResize, +#if GTK_CHECK_VERSION(2,4,0) + widgetQueueResizeNoRedraw, +#endif + widgetSizeRequest, + widgetGetChildRequisition, + widgetSizeAllocate, hunk ./gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp 487 --- * Functions to be used with 'Graphics.UI.Gtk.Misc.DrawingArea'. +-- * Functions to be used with 'Graphics.UI.Gtk.Misc.DrawingArea' or +-- container implementations. hunk ./gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp 498 +-- | This function is only for use in widget implementations. Flags a widget +-- to have its size renegotiated; should be called when a widget for some +-- reason has a new size request. For example, when you change the text in a +-- 'Graphics.UI.Gtk.Display.Label.Label', +-- 'Graphics.UI.Gtk.Display.Label.Label' queues a resize to ensure there's +-- enough space for the new text. +-- +widgetQueueResize :: WidgetClass self => self -> IO () +widgetQueueResize self = + {# call widget_queue_resize #} + (toWidget self) + +#if GTK_CHECK_VERSION(2,4,0) +-- | This function works like 'widgetQueueResize', except that the widget is +-- not invalidated. +-- +-- * Available since Gtk+ version 2.4 +-- +widgetQueueResizeNoRedraw :: WidgetClass self => self -> IO () +widgetQueueResizeNoRedraw self = + {# call widget_queue_resize_no_redraw #} + (toWidget self) +#endif + +-- | This function is typically used when implementing a +-- 'Graphics.UI.Gtk.Abstract.Container.Container' subclass. Obtains the preferred size +-- of a widget. The container uses this information to arrange its child +-- widgets and decide what size allocations to give them with +-- 'widgetSizeAllocate'. +-- +-- You can also call this function from an application, with some caveats. +-- Most notably, getting a size request requires the widget to be associated +-- with a screen, because font information may be needed. Multihead-aware +-- applications should keep this in mind. +-- +-- Also remember that the size request is not necessarily the size a widget +-- will actually be allocated. +-- +widgetSizeRequest :: WidgetClass self => self -> IO Requisition +widgetSizeRequest self = alloca $ \reqPtr -> do + {#call widget_size_request #} (toWidget self) (castPtr reqPtr) + peek reqPtr + +-- | This function is only for use in widget implementations. Obtains the +-- chached requisition information in the widget, unless someone has forced a +-- particular geometry on the widget (e.g. with 'widgetSetUsize'), in which +-- case it returns that geometry instead of the widget's requisition. +-- +-- This function differs from 'widgetSizeRequest' in that it retrieves the +-- last size request value stored in the widget, while 'widgetSizeRequest' +-- actually emits the 'sizeRequest' signal on the widget to compute the size +-- request (which updates the widget's requisition information). +-- +-- Since this function does not emit the 'sizeRequest' signal, it can only be +-- used when you know that the widget's requisition is up-to-date, that is, +-- 'widgetSizeRequest' has been called since the last time a resize was +-- queued. In general, only container implementations have this information; +-- applications should use 'widgetSizeRequest'. +-- +widgetGetChildRequisition :: WidgetClass self => self -> IO Requisition +widgetGetChildRequisition self = alloca $ \reqPtr -> do + {#call widget_get_child_requisition #} (toWidget self) (castPtr reqPtr) + peek reqPtr + +-- | This function is only used by +-- 'Graphics.UI.Gtk.Abstract.Container.Container' subclasses, to assign a +-- size and position to their child widgets. +-- +widgetSizeAllocate :: WidgetClass self => self + -> Allocation -- ^ The @x@ and @y@ values of the rectangle determine the + -- the position of the widget's area relative to its parent + -- allocation. + -> IO () +widgetSizeAllocate self rect = with rect $ \rectPtr -> + {#call widget_size_allocate#} (toWidget self) (castPtr rectPtr) + hunk ./gtk/Graphics/UI/Gtk/General/Structs.hsc 411 --- * for Widget's size_allocate signal +-- * For Widget's 'Graphics.UI.Gtk.Abstract.Widget.sizeAllocate' signal. +-- The @x@ and @y@ values of the rectangle refer to the widgets position +-- relative to its parent window. hunk ./gtk/Graphics/UI/Gtk/General/Structs.hsc 420 --- * for Widget's size_request +-- * For 'Graphics.UI.Gtk.Abstract.Widget.widgetSizeRequest'. The values +-- represent the desired width and height of the widget. |
From: Axel S. <si...@co...> - 2008-10-27 20:02:32
|
Mon Oct 27 16:00:37 EDT 2008 Axe...@en... * Add a function to retrieve the current text. This function is not strictly necessary. hunk ./gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBoxEntry.chs.pp 31 --- [_$_] +-- [_$_] hunk ./gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBoxEntry.chs.pp 37 --- In contrast to a 'ComboBox', the underlying model of a 'ComboBoxEntry' --- must always have a text column (see 'comboBoxEntrySetTextColumn'), and the --- entry will show the content of the text column in the selected row. To get --- the text from the entry, use 'comboBoxGetActiveText'. +-- In contrast to a 'ComboBox', the underlying model of a 'ComboBoxEntry' must +-- always have a text column (see 'comboBoxEntrySetTextColumn'), and the entry +-- will show the content of the text column in the selected row. To get the +-- text from the entry, use 'comboBoxEntryGetActiveText'. hunk ./gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBoxEntry.chs.pp 42 --- The changed signal will be emitted while typing into a 'ComboBoxEntry', --- as well as when selecting an item from the 'ComboBoxEntry''s list. Use --- 'comboBoxGetActive' or 'comboBoxGetActiveIter' to discover whether an item --- was actually selected from the list. +-- The 'Graphics.UI.Gtk.MenuComboToolbar.ComboBox.changed' signal will be +-- emitted while typing into a 'ComboBoxEntry', as well as when selecting an +-- item from the 'ComboBoxEntry''s list. Use 'comboBoxGetActive' or +-- 'comboBoxGetActiveIter' to discover whether an item was actually selected +-- from the list. hunk ./gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBoxEntry.chs.pp 48 --- Connect to the activate signal of the 'Entry' (use 'binGetChild') to --- detect when the user actually finishes entering text. +-- Connect to the activate signal of the 'Entry' (use 'binGetChild') to detect +-- when the user actually finishes entering text. hunk ./gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBoxEntry.chs.pp 79 - +#if GTK_CHECK_VERSION(2,6,0) + comboBoxEntryGetActiveText, +#endif + [_$_] hunk ./gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBoxEntry.chs.pp 91 +import System.Glib.UTFString hunk ./gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBoxEntry.chs.pp 178 +#if GTK_CHECK_VERSION(2,6,0) +-- | Retrieve the text currently in the entry. +-- +-- * Returns @Nothing@ if no text is selected or entered. +-- +-- * Availabe in Gtk 2.6 or higher. +-- +comboBoxEntryGetActiveText :: ComboBoxEntryClass self => self + -> IO (Maybe String) +comboBoxEntryGetActiveText self = do + strPtr <- {# call gtk_combo_box_get_active_text #} (toComboBox self) + if strPtr == nullPtr then return Nothing else liftM Just $ + peekUTFString (castPtr strPtr) +#endif + |
From: Axel S. <si...@co...> - 2008-10-27 20:02:27
|
Mon Oct 27 15:51:41 EDT 2008 Axe...@en... * Forgot to add resources for DND demo. adddir ./demo/treeList/resListDND addfile ./demo/treeList/resListDND/desktop.png binary ./demo/treeList/resListDND/desktop.png addfile ./demo/treeList/resListDND/laptop.png binary ./demo/treeList/resListDND/laptop.png addfile ./demo/treeList/resListDND/laptopSmall.png binary ./demo/treeList/resListDND/laptopSmall.png addfile ./demo/treeList/resListDND/printer.png binary ./demo/treeList/resListDND/printer.png addfile ./demo/treeList/resListDND/server.png binary ./demo/treeList/resListDND/server.png addfile ./demo/treeList/resListDND/tower.png binary ./demo/treeList/resListDND/tower.png |
From: Axel S. <si...@co...> - 2008-10-27 20:02:22
|
Mon Oct 27 16:00:05 EDT 2008 Axe...@en... * Rename signals in StatusIcon since they will clash eventually. hunk ./gtk/Graphics/UI/Gtk/Display/StatusIcon.chs.pp 8 --- Copyright (C) 2007 [Insert your full name here] +-- Copyright (C) 2007 Axel Simon hunk ./gtk/Graphics/UI/Gtk/Display/StatusIcon.chs.pp 107 - sizeChanged, - activate, - popupMenu, + statusIconSizeChanged, + statusIconActivate, + statusIconPopupMenu, hunk ./gtk/Graphics/UI/Gtk/Display/StatusIcon.chs.pp 533 -sizeChanged :: StatusIconClass self => Signal self (Int -> IO Bool) -sizeChanged = Signal (connect_INT__BOOL "size_changed") +statusIconSizeChanged :: StatusIconClass self => Signal self (Int -> IO Bool) +statusIconSizeChanged = Signal (connect_INT__BOOL "size_changed") hunk ./gtk/Graphics/UI/Gtk/Display/StatusIcon.chs.pp 538 -activate :: StatusIconClass self => Signal self (IO ()) -activate = Signal (connect_NONE__NONE "activate") +statusIconActivate :: StatusIconClass self => Signal self (IO ()) +statusIconActivate = Signal (connect_NONE__NONE "activate") hunk ./gtk/Graphics/UI/Gtk/Display/StatusIcon.chs.pp 547 -popupMenu :: StatusIconClass self => Signal self (Maybe MouseButton -> TimeStamp -> IO ()) -popupMenu = Signal wrap +statusIconPopupMenu :: StatusIconClass self => Signal self (Maybe MouseButton -> TimeStamp -> IO ()) +statusIconPopupMenu = Signal wrap |
From: Axel S. <si...@co...> - 2008-10-27 20:02:22
|
Mon Oct 27 15:59:37 EDT 2008 Axe...@en... * Make the completion demo much more funky. hunk ./demo/treeList/Completion.hs 1 +-- Demo to show off entry completion. + hunk ./demo/treeList/Completion.hs 4 -import qualified Graphics.UI.Gtk.ModelView as New +import Data.Char +import Data.List + +data ColorDesc = ColorDesc { + cdColor :: Color, + cdName :: String + } deriving Show + +compareCol :: ColumnId ColorDesc String +compareCol = makeColumnIdString 0 hunk ./demo/treeList/Completion.hs 15 --- Define a column number to hold a string (the first type argument of --- ColumnId is the type stored in the model which just happens to be a string --- too). Each model has a map from column numbers to extraction functions. --- This function is set below using 'treeModelSetColumn'. Column numbers can --- be any number greater or equal to 0, but they should be low as the stores --- create a list of extraction functions starting with column zero. -strCol :: New.ColumnId String String -strCol = New.makeColumnIdString 1 +invertColor (Color r g b) = Color (32767+r) (32767+g) (32767+b) [_$_] +--Color (65535-r) (65535-g) (65535-b) hunk ./demo/treeList/Completion.hs 18 -main = [_$_] +parseColor s = ColorDesc c (dropWhile isSpace (upperToSpace name)) + where + s1 = dropWhile isSpace s + (s2,s3) = span isDigit s1 + s4 = dropWhile isSpace s3 + (s5,s6) = span isDigit s4 + s7 = dropWhile isSpace s6 + (s8,s9) = span isDigit s7 + n1 = read ('0':s2) + n2 = read ('0':s5) + n3 = read ('0':s8) + c = Color (n1*256+n1) (n2*256+n2) (n3*256+n3) + name = dropWhile isSpace s9 + upperToSpace [] = [] + upperToSpace (x:xs) | isUpper x = ' ':toLower x:upperToSpace xs + | otherwise = x:upperToSpace xs + +main = hunk ./demo/treeList/Completion.hs 39 - store <- New.listStoreNew ["red","green","magenta"] + [_$_] + contents <- readFile "rgb.txt" + let killDups [] = [] + killDups [x] = [x] + killDups (x:y:xs) | cdName x==cdName y = killDups (y:xs) + | otherwise = x:killDups (y:xs) + cols = killDups $ map parseColor (drop 1 (lines contents)) + store <- listStoreNew cols + customStoreSetColumn store compareCol cdName + hunk ./demo/treeList/Completion.hs 50 - completion <- New.entryCompletionNew - -- Define the extraction function for this column to be the identity. - New.treeModelSetColumn store strCol id - set completion [entryCompletionModel := Just store, - entryCompletionTextColumn := strCol] + completion <- entryCompletionNew hunk ./demo/treeList/Completion.hs 52 + + set completion [entryCompletionModel := Just store] + cell <- cellRendererTextNew + set cell [cellTextBackgroundSet := True, + cellTextForegroundSet := True] + cellLayoutPackStart completion cell True + cellLayoutSetAttributes completion cell store + (\cd -> [cellText := cdName cd, + cellTextBackgroundColor := cdColor cd, + cellTextForegroundColor := invertColor (cdColor cd)]) + entryCompletionSetMatchFunc completion (matchFunc store) + on completion matchSelected $ \model iter -> do + color <- treeModelGetValue model iter compareCol + entrySetText entry color + return True hunk ./demo/treeList/Completion.hs 71 + +matchFunc :: ListStore ColorDesc -> String -> TreeIter -> IO Bool +matchFunc model str iter = do + --putStrLn ("iter is "++show iter) + tp <- treeModelGetPath model iter + r <- case tp of + (i:_) -> do row <- listStoreGetValue model i + return $ any (isPrefixOf (map toLower str)) + (words (map toLower (cdName row))) + otherwise -> return False + return r + + addfile ./demo/treeList/rgb.txt hunk ./demo/treeList/rgb.txt 1 +! $Xorg: rgb.txt,v 1.3 2000/08/17 19:54:00 cpqbld Exp $ +255 250 250 snow +248 248 255 ghost white +248 248 255 GhostWhite +245 245 245 white smoke +245 245 245 WhiteSmoke +220 220 220 gainsboro +255 250 240 floral white +255 250 240 FloralWhite +253 245 230 old lace +253 245 230 OldLace +250 240 230 linen +250 235 215 antique white +250 235 215 AntiqueWhite +255 239 213 papaya whip +255 239 213 PapayaWhip +255 235 205 blanched almond +255 235 205 BlanchedAlmond +255 228 196 bisque +255 218 185 peach puff +255 218 185 PeachPuff +255 222 173 navajo white +255 222 173 NavajoWhite +255 228 181 moccasin +255 248 220 cornsilk +255 255 240 ivory +255 250 205 lemon chiffon +255 250 205 LemonChiffon +255 245 238 seashell +240 255 240 honeydew +245 255 250 mint cream +245 255 250 MintCream +240 255 255 azure +240 248 255 alice blue +240 248 255 AliceBlue +230 230 250 lavender +255 240 245 lavender blush +255 240 245 LavenderBlush +255 228 225 misty rose +255 228 225 MistyRose +255 255 255 white + 0 0 0 black + 47 79 79 dark slate gray + 47 79 79 DarkSlateGray + 47 79 79 dark slate grey + 47 79 79 DarkSlateGrey +105 105 105 dim gray +105 105 105 DimGray +105 105 105 dim grey +105 105 105 DimGrey +112 128 144 slate gray +112 128 144 SlateGray +112 128 144 slate grey +112 128 144 SlateGrey +119 136 153 light slate gray +119 136 153 LightSlateGray +119 136 153 light slate grey +119 136 153 LightSlateGrey +190 190 190 gray +190 190 190 grey +211 211 211 light grey +211 211 211 LightGrey +211 211 211 light gray +211 211 211 LightGray + 25 25 112 midnight blue + 25 25 112 MidnightBlue + 0 0 128 navy + 0 0 128 navy blue + 0 0 128 NavyBlue +100 149 237 cornflower blue +100 149 237 CornflowerBlue + 72 61 139 dark slate blue + 72 61 139 DarkSlateBlue +106 90 205 slate blue +106 90 205 SlateBlue +123 104 238 medium slate blue +123 104 238 MediumSlateBlue +132 112 255 light slate blue +132 112 255 LightSlateBlue + 0 0 205 medium blue + 0 0 205 MediumBlue + 65 105 225 royal blue + 65 105 225 RoyalBlue + 0 0 255 blue + 30 144 255 dodger blue + 30 144 255 DodgerBlue + 0 191 255 deep sky blue + 0 191 255 DeepSkyBlue +135 206 235 sky blue +135 206 235 SkyBlue +135 206 250 light sky blue +135 206 250 LightSkyBlue + 70 130 180 steel blue + 70 130 180 SteelBlue +176 196 222 light steel blue +176 196 222 LightSteelBlue +173 216 230 light blue +173 216 230 LightBlue +176 224 230 powder blue +176 224 230 PowderBlue +175 238 238 pale turquoise +175 238 238 PaleTurquoise + 0 206 209 dark turquoise + 0 206 209 DarkTurquoise + 72 209 204 medium turquoise + 72 209 204 MediumTurquoise + 64 224 208 turquoise + 0 255 255 cyan +224 255 255 light cyan +224 255 255 LightCyan + 95 158 160 cadet blue + 95 158 160 CadetBlue +102 205 170 medium aquamarine +102 205 170 MediumAquamarine +127 255 212 aquamarine + 0 100 0 dark green + 0 100 0 DarkGreen + 85 107 47 dark olive green + 85 107 47 DarkOliveGreen +143 188 143 dark sea green +143 188 143 DarkSeaGreen + 46 139 87 sea green + 46 139 87 SeaGreen + 60 179 113 medium sea green + 60 179 113 MediumSeaGreen + 32 178 170 light sea green + 32 178 170 LightSeaGreen +152 251 152 pale green +152 251 152 PaleGreen + 0 255 127 spring green + 0 255 127 SpringGreen +124 252 0 lawn green +124 252 0 LawnGreen + 0 255 0 green +127 255 0 chartreuse + 0 250 154 medium spring green + 0 250 154 MediumSpringGreen +173 255 47 green yellow +173 255 47 GreenYellow + 50 205 50 lime green + 50 205 50 LimeGreen +154 205 50 yellow green +154 205 50 YellowGreen + 34 139 34 forest green + 34 139 34 ForestGreen +107 142 35 olive drab +107 142 35 OliveDrab +189 183 107 dark khaki +189 183 107 DarkKhaki +240 230 140 khaki +238 232 170 pale goldenrod +238 232 170 PaleGoldenrod +250 250 210 light goldenrod yellow +250 250 210 LightGoldenrodYellow +255 255 224 light yellow +255 255 224 LightYellow +255 255 0 yellow +255 215 0 gold +238 221 130 light goldenrod +238 221 130 LightGoldenrod +218 165 32 goldenrod +184 134 11 dark goldenrod +184 134 11 DarkGoldenrod +188 143 143 rosy brown +188 143 143 RosyBrown +205 92 92 indian red +205 92 92 IndianRed +139 69 19 saddle brown +139 69 19 SaddleBrown +160 82 45 sienna +205 133 63 peru +222 184 135 burlywood +245 245 220 beige +245 222 179 wheat +244 164 96 sandy brown +244 164 96 SandyBrown +210 180 140 tan +210 105 30 chocolate +178 34 34 firebrick +165 42 42 brown +233 150 122 dark salmon +233 150 122 DarkSalmon +250 128 114 salmon +255 160 122 light salmon +255 160 122 LightSalmon +255 165 0 orange +255 140 0 dark orange +255 140 0 DarkOrange +255 127 80 coral +240 128 128 light coral +240 128 128 LightCoral +255 99 71 tomato +255 69 0 orange red +255 69 0 OrangeRed +255 0 0 red +255 105 180 hot pink +255 105 180 HotPink +255 20 147 deep pink +255 20 147 DeepPink +255 192 203 pink +255 182 193 light pink +255 182 193 LightPink +219 112 147 pale violet red +219 112 147 PaleVioletRed +176 48 96 maroon +199 21 133 medium violet red +199 21 133 MediumVioletRed +208 32 144 violet red +208 32 144 VioletRed +255 0 255 magenta +238 130 238 violet +221 160 221 plum +218 112 214 orchid +186 85 211 medium orchid +186 85 211 MediumOrchid +153 50 204 dark orchid +153 50 204 DarkOrchid +148 0 211 dark violet +148 0 211 DarkViolet +138 43 226 blue violet +138 43 226 BlueViolet +160 32 240 purple +147 112 219 medium purple +147 112 219 MediumPurple +216 191 216 thistle +255 250 250 snow1 +238 233 233 snow2 +205 201 201 snow3 +139 137 137 snow4 +255 245 238 seashell1 +238 229 222 seashell2 +205 197 191 seashell3 +139 134 130 seashell4 +255 239 219 AntiqueWhite1 +238 223 204 AntiqueWhite2 +205 192 176 AntiqueWhite3 +139 131 120 AntiqueWhite4 +255 228 196 bisque1 +238 213 183 bisque2 +205 183 158 bisque3 +139 125 107 bisque4 +255 218 185 PeachPuff1 +238 203 173 PeachPuff2 +205 175 149 PeachPuff3 +139 119 101 PeachPuff4 +255 222 173 NavajoWhite1 +238 207 161 NavajoWhite2 +205 179 139 NavajoWhite3 +139 121 94 NavajoWhite4 +255 250 205 LemonChiffon1 +238 233 191 LemonChiffon2 +205 201 165 LemonChiffon3 +139 137 112 LemonChiffon4 +255 248 220 cornsilk1 +238 232 205 cornsilk2 +205 200 177 cornsilk3 +139 136 120 cornsilk4 +255 255 240 ivory1 +238 238 224 ivory2 +205 205 193 ivory3 +139 139 131 ivory4 +240 255 240 honeydew1 +224 238 224 honeydew2 +193 205 193 honeydew3 +131 139 131 honeydew4 +255 240 245 LavenderBlush1 +238 224 229 LavenderBlush2 +205 193 197 LavenderBlush3 +139 131 134 LavenderBlush4 +255 228 225 MistyRose1 +238 213 210 MistyRose2 +205 183 181 MistyRose3 +139 125 123 MistyRose4 +240 255 255 azure1 +224 238 238 azure2 +193 205 205 azure3 +131 139 139 azure4 +131 111 255 SlateBlue1 +122 103 238 SlateBlue2 +105 89 205 SlateBlue3 + 71 60 139 SlateBlue4 + 72 118 255 RoyalBlue1 + 67 110 238 RoyalBlue2 + 58 95 205 RoyalBlue3 + 39 64 139 RoyalBlue4 + 0 0 255 blue1 + 0 0 238 blue2 + 0 0 205 blue3 + 0 0 139 blue4 + 30 144 255 DodgerBlue1 + 28 134 238 DodgerBlue2 + 24 116 205 DodgerBlue3 + 16 78 139 DodgerBlue4 + 99 184 255 SteelBlue1 + 92 172 238 SteelBlue2 + 79 148 205 SteelBlue3 + 54 100 139 SteelBlue4 + 0 191 255 DeepSkyBlue1 + 0 178 238 DeepSkyBlue2 + 0 154 205 DeepSkyBlue3 + 0 104 139 DeepSkyBlue4 +135 206 255 SkyBlue1 +126 192 238 SkyBlue2 +108 166 205 SkyBlue3 + 74 112 139 SkyBlue4 +176 226 255 LightSkyBlue1 +164 211 238 LightSkyBlue2 +141 182 205 LightSkyBlue3 + 96 123 139 LightSkyBlue4 +198 226 255 SlateGray1 +185 211 238 SlateGray2 +159 182 205 SlateGray3 +108 123 139 SlateGray4 +202 225 255 LightSteelBlue1 +188 210 238 LightSteelBlue2 +162 181 205 LightSteelBlue3 +110 123 139 LightSteelBlue4 +191 239 255 LightBlue1 +178 223 238 LightBlue2 +154 192 205 LightBlue3 +104 131 139 LightBlue4 +224 255 255 LightCyan1 +209 238 238 LightCyan2 +180 205 205 LightCyan3 +122 139 139 LightCyan4 +187 255 255 PaleTurquoise1 +174 238 238 PaleTurquoise2 +150 205 205 PaleTurquoise3 +102 139 139 PaleTurquoise4 +152 245 255 CadetBlue1 +142 229 238 CadetBlue2 +122 197 205 CadetBlue3 + 83 134 139 CadetBlue4 + 0 245 255 turquoise1 + 0 229 238 turquoise2 + 0 197 205 turquoise3 + 0 134 139 turquoise4 + 0 255 255 cyan1 + 0 238 238 cyan2 + 0 205 205 cyan3 + 0 139 139 cyan4 +151 255 255 DarkSlateGray1 +141 238 238 DarkSlateGray2 +121 205 205 DarkSlateGray3 + 82 139 139 DarkSlateGray4 +127 255 212 aquamarine1 +118 238 198 aquamarine2 +102 205 170 aquamarine3 + 69 139 116 aquamarine4 +193 255 193 DarkSeaGreen1 +180 238 180 DarkSeaGreen2 +155 205 155 DarkSeaGreen3 +105 139 105 DarkSeaGreen4 + 84 255 159 SeaGreen1 + 78 238 148 SeaGreen2 + 67 205 128 SeaGreen3 + 46 139 87 SeaGreen4 +154 255 154 PaleGreen1 +144 238 144 PaleGreen2 +124 205 124 PaleGreen3 + 84 139 84 PaleGreen4 + 0 255 127 SpringGreen1 + 0 238 118 SpringGreen2 + 0 205 102 SpringGreen3 + 0 139 69 SpringGreen4 + 0 255 0 green1 + 0 238 0 green2 + 0 205 0 green3 + 0 139 0 green4 +127 255 0 chartreuse1 +118 238 0 chartreuse2 +102 205 0 chartreuse3 + 69 139 0 chartreuse4 +192 255 62 OliveDrab1 +179 238 58 OliveDrab2 +154 205 50 OliveDrab3 +105 139 34 OliveDrab4 +202 255 112 DarkOliveGreen1 +188 238 104 DarkOliveGreen2 +162 205 90 DarkOliveGreen3 +110 139 61 DarkOliveGreen4 +255 246 143 khaki1 +238 230 133 khaki2 +205 198 115 khaki3 +139 134 78 khaki4 +255 236 139 LightGoldenrod1 +238 220 130 LightGoldenrod2 +205 190 112 LightGoldenrod3 +139 129 76 LightGoldenrod4 +255 255 224 LightYellow1 +238 238 209 LightYellow2 +205 205 180 LightYellow3 +139 139 122 LightYellow4 +255 255 0 yellow1 +238 238 0 yellow2 +205 205 0 yellow3 +139 139 0 yellow4 +255 215 0 gold1 +238 201 0 gold2 +205 173 0 gold3 +139 117 0 gold4 +255 193 37 goldenrod1 +238 180 34 goldenrod2 +205 155 29 goldenrod3 +139 105 20 goldenrod4 +255 185 15 DarkGoldenrod1 +238 173 14 DarkGoldenrod2 +205 149 12 DarkGoldenrod3 +139 101 8 DarkGoldenrod4 +255 193 193 RosyBrown1 +238 180 180 RosyBrown2 +205 155 155 RosyBrown3 +139 105 105 RosyBrown4 +255 106 106 IndianRed1 +238 99 99 IndianRed2 +205 85 85 IndianRed3 +139 58 58 IndianRed4 +255 130 71 sienna1 +238 121 66 sienna2 +205 104 57 sienna3 +139 71 38 sienna4 +255 211 155 burlywood1 +238 197 145 burlywood2 +205 170 125 burlywood3 +139 115 85 burlywood4 +255 231 186 wheat1 +238 216 174 wheat2 +205 186 150 wheat3 +139 126 102 wheat4 +255 165 79 tan1 +238 154 73 tan2 +205 133 63 tan3 +139 90 43 tan4 +255 127 36 chocolate1 +238 118 33 chocolate2 +205 102 29 chocolate3 +139 69 19 chocolate4 +255 48 48 firebrick1 +238 44 44 firebrick2 +205 38 38 firebrick3 +139 26 26 firebrick4 +255 64 64 brown1 +238 59 59 brown2 +205 51 51 brown3 +139 35 35 brown4 +255 140 105 salmon1 +238 130 98 salmon2 +205 112 84 salmon3 +139 76 57 salmon4 +255 160 122 LightSalmon1 +238 149 114 LightSalmon2 +205 129 98 LightSalmon3 +139 87 66 LightSalmon4 +255 165 0 orange1 +238 154 0 orange2 +205 133 0 orange3 +139 90 0 orange4 +255 127 0 DarkOrange1 +238 118 0 DarkOrange2 +205 102 0 DarkOrange3 +139 69 0 DarkOrange4 +255 114 86 coral1 +238 106 80 coral2 +205 91 69 coral3 +139 62 47 coral4 +255 99 71 tomato1 +238 92 66 tomato2 +205 79 57 tomato3 +139 54 38 tomato4 +255 69 0 OrangeRed1 +238 64 0 OrangeRed2 +205 55 0 OrangeRed3 +139 37 0 OrangeRed4 +255 0 0 red1 +238 0 0 red2 +205 0 0 red3 +139 0 0 red4 +255 20 147 DeepPink1 +238 18 137 DeepPink2 +205 16 118 DeepPink3 +139 10 80 DeepPink4 +255 110 180 HotPink1 +238 106 167 HotPink2 +205 96 144 HotPink3 +139 58 98 HotPink4 +255 181 197 pink1 +238 169 184 pink2 +205 145 158 pink3 +139 99 108 pink4 +255 174 185 LightPink1 +238 162 173 LightPink2 +205 140 149 LightPink3 +139 95 101 LightPink4 +255 130 171 PaleVioletRed1 +238 121 159 PaleVioletRed2 +205 104 137 PaleVioletRed3 +139 71 93 PaleVioletRed4 +255 52 179 maroon1 +238 48 167 maroon2 +205 41 144 maroon3 +139 28 98 maroon4 +255 62 150 VioletRed1 +238 58 140 VioletRed2 +205 50 120 VioletRed3 +139 34 82 VioletRed4 +255 0 255 magenta1 +238 0 238 magenta2 +205 0 205 magenta3 +139 0 139 magenta4 +255 131 250 orchid1 +238 122 233 orchid2 +205 105 201 orchid3 +139 71 137 orchid4 +255 187 255 plum1 +238 174 238 plum2 +205 150 205 plum3 +139 102 139 plum4 +224 102 255 MediumOrchid1 +209 95 238 MediumOrchid2 +180 82 205 MediumOrchid3 +122 55 139 MediumOrchid4 +191 62 255 DarkOrchid1 +178 58 238 DarkOrchid2 +154 50 205 DarkOrchid3 +104 34 139 DarkOrchid4 +155 48 255 purple1 +145 44 238 purple2 +125 38 205 purple3 + 85 26 139 purple4 +171 130 255 MediumPurple1 +159 121 238 MediumPurple2 +137 104 205 MediumPurple3 + 93 71 139 MediumPurple4 +255 225 255 thistle1 +238 210 238 thistle2 +205 181 205 thistle3 +139 123 139 thistle4 + 0 0 0 gray0 + 0 0 0 grey0 + 3 3 3 gray1 + 3 3 3 grey1 + 5 5 5 gray2 + 5 5 5 grey2 + 8 8 8 gray3 + 8 8 8 grey3 + 10 10 10 gray4 + 10 10 10 grey4 + 13 13 13 gray5 + 13 13 13 grey5 + 15 15 15 gray6 + 15 15 15 grey6 + 18 18 18 gray7 + 18 18 18 grey7 + 20 20 20 gray8 + 20 20 20 grey8 + 23 23 23 gray9 + 23 23 23 grey9 + 26 26 26 gray10 + 26 26 26 grey10 + 28 28 28 gray11 + 28 28 28 grey11 + 31 31 31 gray12 + 31 31 31 grey12 + 33 33 33 gray13 + 33 33 33 grey13 + 36 36 36 gray14 + 36 36 36 grey14 + 38 38 38 gray15 + 38 38 38 grey15 + 41 41 41 gray16 + 41 41 41 grey16 + 43 43 43 gray17 + 43 43 43 grey17 + 46 46 46 gray18 + 46 46 46 grey18 + 48 48 48 gray19 + 48 48 48 grey19 + 51 51 51 gray20 + 51 51 51 grey20 + 54 54 54 gray21 + 54 54 54 grey21 + 56 56 56 gray22 + 56 56 56 grey22 + 59 59 59 gray23 + 59 59 59 grey23 + 61 61 61 gray24 + 61 61 61 grey24 + 64 64 64 gray25 + 64 64 64 grey25 + 66 66 66 gray26 + 66 66 66 grey26 + 69 69 69 gray27 + 69 69 69 grey27 + 71 71 71 gray28 + 71 71 71 grey28 + 74 74 74 gray29 + 74 74 74 grey29 + 77 77 77 gray30 + 77 77 77 grey30 + 79 79 79 gray31 + 79 79 79 grey31 + 82 82 82 gray32 + 82 82 82 grey32 + 84 84 84 gray33 + 84 84 84 grey33 + 87 87 87 gray34 + 87 87 87 grey34 + 89 89 89 gray35 + 89 89 89 grey35 + 92 92 92 gray36 + 92 92 92 grey36 + 94 94 94 gray37 + 94 94 94 grey37 + 97 97 97 gray38 + 97 97 97 grey38 + 99 99 99 gray39 + 99 99 99 grey39 +102 102 102 gray40 +102 102 102 grey40 +105 105 105 gray41 +105 105 105 grey41 +107 107 107 gray42 +107 107 107 grey42 +110 110 110 gray43 +110 110 110 grey43 +112 112 112 gray44 +112 112 112 grey44 +115 115 115 gray45 +115 115 115 grey45 +117 117 117 gray46 +117 117 117 grey46 +120 120 120 gray47 +120 120 120 grey47 +122 122 122 gray48 +122 122 122 grey48 +125 125 125 gray49 +125 125 125 grey49 +127 127 127 gray50 +127 127 127 grey50 +130 130 130 gray51 +130 130 130 grey51 +133 133 133 gray52 +133 133 133 grey52 +135 135 135 gray53 +135 135 135 grey53 +138 138 138 gray54 +138 138 138 grey54 +140 140 140 gray55 +140 140 140 grey55 +143 143 143 gray56 +143 143 143 grey56 +145 145 145 gray57 +145 145 145 grey57 +148 148 148 gray58 +148 148 148 grey58 +150 150 150 gray59 +150 150 150 grey59 +153 153 153 gray60 +153 153 153 grey60 +156 156 156 gray61 +156 156 156 grey61 +158 158 158 gray62 +158 158 158 grey62 +161 161 161 gray63 +161 161 161 grey63 +163 163 163 gray64 +163 163 163 grey64 +166 166 166 gray65 +166 166 166 grey65 +168 168 168 gray66 +168 168 168 grey66 +171 171 171 gray67 +171 171 171 grey67 +173 173 173 gray68 +173 173 173 grey68 +176 176 176 gray69 +176 176 176 grey69 +179 179 179 gray70 +179 179 179 grey70 +181 181 181 gray71 +181 181 181 grey71 +184 184 184 gray72 +184 184 184 grey72 +186 186 186 gray73 +186 186 186 grey73 +189 189 189 gray74 +189 189 189 grey74 +191 191 191 gray75 +191 191 191 grey75 +194 194 194 gray76 +194 194 194 grey76 +196 196 196 gray77 +196 196 196 grey77 +199 199 199 gray78 +199 199 199 grey78 +201 201 201 gray79 +201 201 201 grey79 +204 204 204 gray80 +204 204 204 grey80 +207 207 207 gray81 +207 207 207 grey81 +209 209 209 gray82 +209 209 209 grey82 +212 212 212 gray83 +212 212 212 grey83 +214 214 214 gray84 +214 214 214 grey84 +217 217 217 gray85 +217 217 217 grey85 +219 219 219 gray86 +219 219 219 grey86 +222 222 222 gray87 +222 222 222 grey87 +224 224 224 gray88 +224 224 224 grey88 +227 227 227 gray89 +227 227 227 grey89 +229 229 229 gray90 +229 229 229 grey90 +232 232 232 gray91 +232 232 232 grey91 +235 235 235 gray92 +235 235 235 grey92 +237 237 237 gray93 +237 237 237 grey93 +240 240 240 gray94 +240 240 240 grey94 +242 242 242 gray95 +242 242 242 grey95 +245 245 245 gray96 +245 245 245 grey96 +247 247 247 gray97 +247 247 247 grey97 +250 250 250 gray98 +250 250 250 grey98 +252 252 252 gray99 +252 252 252 grey99 +255 255 255 gray100 +255 255 255 grey100 +169 169 169 dark grey +169 169 169 DarkGrey +169 169 169 dark gray +169 169 169 DarkGray +0 0 139 dark blue +0 0 139 DarkBlue +0 139 139 dark cyan +0 139 139 DarkCyan +139 0 139 dark magenta +139 0 139 DarkMagenta +139 0 0 dark red +139 0 0 DarkRed +144 238 144 light green +144 238 144 LightGreen |
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 + [_$_] |
From: Axel S. <si...@co...> - 2008-10-26 17:01:22
|
Sun Oct 26 12:39:48 EDT 2008 Axe...@en... * Revise and test the new EventM module. hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 20 +-- #prune + hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 27 --- Types and accessors to examine information in events. +-- Types and accessors to examine information in events. This module is not +-- exposed by default and therefore has to be imported explicitly using: +-- @import Graphics.UI.Gtk.Gdk.EventM@ hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 34 --- | This modules provides an monad that makes it possible to access the --- event information passed to callbacks without marshalling all the --- information contained in each event. +-- | This modules provides a monad that encapsulates the information in an +-- event. hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 37 - Modifier(..), -- a mask of control keys - TimeStamp, - currentTime, - [_$_] - -- | Event Monad and type tags +-- The events a widget can receive are defined in +-- "Graphics.UI.Gtk.Abstract.Widget#7". Every event carries additional +-- information which is accessible through functions in the 'EventM' monad. +-- For instance, every event is associated with a +-- 'Graphics.UI.Gtk.Gdk.DrawWindow.DrawWindow' which is accessed using the +-- 'eventWindow' accessor function. Other information is only available in +-- one specific event. For example, the +-- area that has to be redrawn, accessed by 'eventArea' is only available in +-- the 'Graphics.UI.Gtk.Abstract.Widget.exposeEvent'. Indeed, you can only +-- call 'eventArea' if the first type parameter of 'EventM' is the phantom +-- type 'EExpose'. (A phantom type is a type for which no values exist and +-- which is only used to enforce certain constraints on the usage of +-- functions such as 'eventArea'.) Some information is available in several +-- but not all events. In order to express these constraints the module +-- defines type classes whose names start with @Has...@ but which are not +-- exported, implying that no new instance can be created. (They could be +-- called phantom type classes.) For instance, the mouse pointer coordinates +-- can be retrieved using the function 'eventCoordinates' which requires +-- that the first type parameter of 'EventM' is in the class +-- 'HasCoordinates'. The module supplies instance of class 'HasCoordinates' +-- for the types 'EButton', 'ECrossing', 'EMotion' and 'EScroll'. Thus for +-- all events that require an 'EventM' action with one of the types above, +-- the accessor function 'eventCoordinates' may be used. +-- +-- Note that an event handler must always returns @True@ if the event +-- was handled or @False@ if the event should be dealt with by another +-- event handler. For instance, a handler for a key press should return +-- @False@ if the pressed key is not one of those that the widget reacts +-- to. In this case the event is passed to the parent widgets. This +-- ensures that pressing, say, @Alt-F@ opens the file menu even if the +-- current input focus is in a text entry widget. In order to facilitate +-- writing handlers that may abort handling an event, this module provides +-- the function 'tryEvent'. This function catches pattern match exceptions +-- and returns @False@. If the signal successfully runs to its end, it +-- returns @True@. A typical use is as follows: +-- +-- > widget `on` keyPressEvent $ tryEvent $ do +-- > [Control] <- eventModifier +-- > "Return" <- eventKeyName +-- > liftIO $ putStrLn "Ctrl-Return pressed" +-- +-- The rationale is that the action will throw an exception if the +-- two event functions 'eventModifier' and 'eventKeyName' return something +-- else than what is stated in +-- the pattern. When no exception is thrown, execution continues to +-- the last statement where the event is processed, here we merely +-- print a message. Note that the return +-- value of this statement must be @()@ since 'tryEvent' always +-- assumes that the +-- function handeled the event if no exception is thrown. A handler +-- wrapped by 'tryEvent' can also indicate that it cannot handle the +-- given event by calling 'stopEvent'. +-- +-- Finally, not that the 'EventM' monad wraps the @IO@ monad. As such +-- you can (and usually have to) use @liftIO@ to execute @IO@ functions. +-- + +-- * Event monad and type tags hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 115 + +-- * Accessor functions for event information hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 119 - HasCoordinates, hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 120 - HasRootCoordinates, hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 121 - HasModifier, hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 122 - HasTime, + eventModifierAll, hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 125 + eventKeyName, hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 161 +-- * Auxilliary Definitions + Modifier(..), -- a mask of control keys + TimeStamp, + currentTime, + tryEvent, + stopEvent, hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 169 -import System.IO.Unsafe (unsafeInterleaveIO) +import Prelude hiding (catch) hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 173 -import Graphics.UI.Gtk.Gdk.Keys (KeyVal, keyvalToChar, keyvalName) +import Graphics.UI.Gtk.Gdk.Keys (KeyVal, keyName) hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 175 -import Graphics.UI.Gtk.Gdk.Enums (Modifier(..), - VisibilityState(..), - CrossingMode(..), - NotifyType(..), - WindowState(..), - ScrollDirection(..), - OwnerChange(..)) +import Graphics.UI.Gtk.Gdk.Enums (Modifier(..), VisibilityState(..), + CrossingMode(..), NotifyType(..), WindowState(..), ScrollDirection(..), + OwnerChange(..)) hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 185 -import Control.Monad.Reader ( ReaderT, ask ) +import Data.List (isPrefixOf) +import Control.Monad.Reader ( ReaderT, ask, runReaderT ) hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 189 - +import Control.Exception (catch, throw, [_$_] + Exception(PatternMatchFail,IOException) ) + [_$_] hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 196 -type EventM t a = ReaderT (Ptr ()) IO a [_$_] +type EventM t a = ReaderT (Ptr t) IO a [_$_] hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 339 +-- Sticky modifiers such as CapsLock are omitted in the return value. +-- Use 'eventModifierAll' your application requires all modifiers. +-- hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 343 -eventModifier = do +eventModifier = eM False + +-- | Query the modifier keys that were depressed when the event happened. +-- The result includes sticky modifiers such as CapsLock. Normally, +-- 'eventModifier' is more appropriate in applications. +-- +eventModifierAll :: HasModifier t => EventM t [Modifier] +eventModifierAll = eM True + +foreign import ccall safe "gtk_accelerator_get_default_mod_mask" + defModMask :: #type guint + +eM allModifs = do + let mask | allModifs = -1 + | otherwise = defModMask hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 364 - return (toFlags (fromIntegral modif)) + return (toFlags (fromIntegral (modif .&. mask))) hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 370 - return (toFlags (fromIntegral modif)) + return (toFlags (fromIntegral (modif .&. mask))) hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 373 - return (toFlags (fromIntegral modif)) + return (toFlags (fromIntegral (modif .&. mask))) hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 376 - return (toFlags (fromIntegral modif)) + return (toFlags (fromIntegral (modif .&. mask))) hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 380 - return (toFlags (fromIntegral modif)) + return (toFlags (fromIntegral (modif .&. mask))) hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 446 +-- | The key value as a string. See 'Graphics.UI.Gtk.Gdk.Keys.KeyVal'. +eventKeyName :: EventM EKey String +eventKeyName = liftM keyName $ eventKeyVal + hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 582 +-- | Execute an event handler and assume it handled the event unless it +-- threw a pattern match exception. +tryEvent :: EventM any () -> EventM any Bool +tryEvent act = do + ptr <- ask + liftIO $ catch (runReaderT (act >> return True) ptr) + (\e -> case e of + IOException e + | "user error (Pattern" `isPrefixOf` show e -> + return False + PatternMatchFail _ -> return False + _ -> throw e) hunk ./gtk/Graphics/UI/Gtk/Gdk/EventM.hsc 595 - +-- | Explicitly stop the handling of an event. This function should only be +-- called inside a handler that is wrapped with 'tryEvent'. (It merely +-- throws a bogus pattern matching error which 'tryEvent' interprets as if +-- the handler does not handle the event.) +stopEvent :: EventM any () +stopEvent = + liftIO $ throw (PatternMatchFail "EventM.stopEvent called explicitly") hunk ./gtk/Graphics/UI/Gtk/Gdk/Events.hsc 22 --- Stability : provisional +-- Stability : deprecated hunk ./gtk/Graphics/UI/Gtk/Gdk/Keys.chs 19 --- --- TODO --- --- Documentation --- +-- #prune + hunk ./gtk/Graphics/UI/Gtk/Gdk/Keys.chs 26 --- Gdk KeyVal functions. +-- A 'KeyVal' is a numeric value identifying a keyboard key. The defined +-- values can be found at <http://gitweb.freedesktop.org/?p=xorg/proto/x11proto.git;a=blob_plain;f=keysymdef.h>. +-- The names of the keys are the names of the macros without the prefix. hunk ./gtk/Graphics/UI/Gtk/Gdk/Keys.chs 32 + keyName, + keyFromName, + keyToChar, + hunk ./gtk/Graphics/UI/Gtk/Gdk/Keys.chs 55 +keyName :: KeyVal -> String +keyName k = unsafePerformIO $ keyvalName k + +-- | Converts a key name to a key value. +-- +keyFromName :: String -> KeyVal +keyFromName k = unsafePerformIO $ keyvalFromName k + +-- | Convert from a Gdk key symbol to the corresponding Unicode character. +-- +keyToChar :: [_$_] + KeyVal -- ^ @keyval@ - a Gdk key symbol + -> Maybe Char -- ^ returns the corresponding unicode character, or + -- Nothing if there is no corresponding character. +keyToChar k = unsafePerformIO $ keyvalToChar k + hunk ./gtk/Graphics/UI/Gtk/Gdk/Keys.chs 76 --- | Converts a key name to a key value. --- hunk ./gtk/Graphics/UI/Gtk/Gdk/Keys.chs 83 --- | Convert from a Gdk key symbol to the corresponding Unicode character. --- -keyvalToChar :: [_$_] - KeyVal -- ^ @keyval@ - a Gdk key symbol - -> IO (Maybe Char) -- ^ returns the corresponding unicode character, or - -- Nothing if there is no corresponding character. +keyvalToChar :: KeyVal -> IO (Maybe Char) |
From: Axel S. <si...@co...> - 2008-10-26 17:01:22
|
Sun Oct 26 12:37:38 EDT 2008 Axe...@en... * Make 'after' a separate definition so it appears in the documentation. hunk ./glib/System/Glib/Signals.chs.pp 74 -on, after :: +on :: hunk ./glib/System/Glib/Signals.chs.pp 80 + +-- | Perform an action in response to a signal. +-- +-- * Like 'on' but the signal is executed after Gtk's default handler has +-- run. +-- +after :: + object + -> Signal object callback + -> callback + -> IO (ConnectId object) hunk ./glib/System/Glib/Signals.chs.pp 111 --- | Disconnect a signal handler. After disconecting the handler will no +-- | Disconnect a signal handler. After disconnecting the handler will no |
From: Axel S. <si...@co...> - 2008-10-26 17:01:22
|
Sun Oct 26 12:38:03 EDT 2008 Axe...@en... * Export on and after by default. Since this release will break programs, I think it is the rigth time to always export these two functions. There is a clash with a function in Data.Function. I think this is not so serious since Data.Function does not contain a lot of terribly useful functions and is thus not likely to be imported by default. hunk ./gtk/Graphics/UI/Gtk.hs.pp 410 -import System.Glib.Signals (ConnectId, disconnect, +import System.Glib.Signals +{- do eport 'on' and 'after' + (ConnectId, disconnect, hunk ./gtk/Graphics/UI/Gtk.hs.pp 416 +-} |
From: Axel S. <si...@co...> - 2008-10-26 17:01:21
|
Sun Oct 26 13:00:15 EDT 2008 Axe...@en... * Fix documentation of Pixbuf. Change the return type of pixbufSave. hunk ./gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp 258 --- * If an error occurs, the function will return @Left (err,msg)@ where @err@ --- is the error code and @msg@ is a human readable description --- of the error. If an error occurs which is not captured by any of --- those in 'PixbufError', an exception is thrown. +-- * If an error occurs, the function will throw an exception that can +-- be caught using e.g. 'System.Glib.GError.catchGErrorJust' and one of the +-- error codes in 'PixbufError'. hunk ./gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp 279 --- * If an error occurs, the function will return @Left (err,msg)@ where @err@ --- is the error code and @msg@ is a human readable description --- of the error. If an error occurs which is not captured by any of --- those in 'PixbufError', an exception is thrown. +-- * If an error occurs, the function will throw an exception that can +-- be caught using e.g. 'System.Glib.GError.catchGErrorJust' and one of the +-- error codes in 'PixbufError'. hunk ./gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp 312 --- * If an error occurs, the function will return @Left (err,msg)@ where @err@ --- is the error code and @msg@ is a human readable description --- of the error. If an error occurs which is not captured by any of --- those in 'PixbufError', an exception is thrown. +-- * If an error occurs, the function will throw an exception that can +-- be caught using e.g. 'System.Glib.GError.catchGErrorJust' and one of the +-- error codes in 'PixbufError'. hunk ./gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp 361 --- * The function returns @Nothing@ if writing was successful. --- Otherwise the error code and a description is returned or, --- if the error is not captured by one of the error codes in --- 'PixbufError', an exception is thrown. +-- * If an error occurs, the function will throw an exception that can +-- be caught using e.g. 'System.Glib.GError.catchGErrorJust' and one of the +-- error codes in 'PixbufError'. hunk ./gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp 366 - IO (Maybe (PixbufError, String)) + IO () hunk ./gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp 381 - return Nothing + return () |
From: Axel S. <si...@co...> - 2008-10-26 17:01:19
|
Sun Oct 26 12:40:56 EDT 2008 Axe...@en... * Adapt demos to use new EventM module. hunk ./demo/cairo/Clock.hs 15 +import Graphics.UI.Gtk.Gdk.EventM hunk ./demo/cairo/Clock.hs 300 - onKeyPress window $ \Key { eventKeyName = key } -> - when (key == "Escape") mainQuit >> return True + window `on` keyPressEvent $ tryEvent $ do + "Escape" <- eventKeyName + liftIO mainQuit hunk ./demo/cairo/Clock.hs 304 - onButtonPress window $ \Button { eventButton = button, eventTime = time, - eventXRoot = x, eventYRoot = y } -> do - case button of - LeftButton -> windowBeginMoveDrag window button (round x) (round y) time - MiddleButton -> windowBeginResizeDrag window WindowEdgeSouthEast button - (round x) (round y) time - _ -> return () - return True + window `on` buttonPressEvent $ tryEvent $ do + LeftButton <- eventButton + time <- eventTime + (x,y) <- eventRootCoordinates + liftIO $ windowBeginMoveDrag window LeftButton (round x) (round y) time + [_$_] + window `on` buttonPressEvent $ tryEvent $ do + MiddleButton <- eventButton + time <- eventTime + (x,y) <- eventRootCoordinates + liftIO $ windowBeginResizeDrag window WindowEdgeSouthEast MiddleButton + (round x) (round y) time hunk ./demo/cairo/Clock.hs 345 - onConfigure window $ \Configure { eventWidth = w, eventHeight = h } -> do + window `on` configureEvent $ do + (w,h) <- eventSize + liftIO $ do hunk ./demo/cairo/Clock.hs 373 - onExpose window $ \Expose { eventRegion = exposeRegion } -> do - - (width, height) <- widgetGetSize window - drawWin <- widgetGetDrawWindow window + window `on` exposeEvent $ do + drawWin <- eventWindow + exposeRegion <- eventRegion + liftIO $ do + (width, height) <- drawableGetSize drawWin hunk ./demo/cairo/Drawing.hs 4 +import Graphics.UI.Gtk.Gdk.EventM hunk ./demo/cairo/Drawing.hs 12 - canvas `onSizeRequest` return (Requisition 40 40) + canvas `on` sizeRequest $ return (Requisition 40 40) hunk ./demo/cairo/Drawing.hs 16 - canvas `onExpose` updateCanvas canvas text + canvas `on` exposeEvent $ updateCanvas text hunk ./demo/cairo/Drawing.hs 22 -updateCanvas :: DrawingArea -> PangoLayout -> Event -> IO Bool -updateCanvas canvas text (Expose { eventArea=rect }) = do - win <- widgetGetDrawWindow canvas - (width',height') <- widgetGetSize canvas +updateCanvas :: PangoLayout -> EventM EExpose Bool +updateCanvas text = do + win <- eventWindow + liftIO $ do + (width',height') <- drawableGetSize win hunk ./demo/fastdraw/FastDraw.hs 5 +import Graphics.UI.Gtk.Gdk.EventM hunk ./demo/fastdraw/FastDraw.hs 11 +import Control.Monad.Trans ( liftIO ) hunk ./demo/fastdraw/FastDraw.hs 21 - canvas `onSizeRequest` return (Requisition 256 256) + canvas `on` sizeRequest $ return (Requisition 256 256) hunk ./demo/fastdraw/FastDraw.hs 70 - canvas `onExpose` updateCanvas canvas pb + canvas `on` exposeEvent $ updateCanvas pb hunk ./demo/fastdraw/FastDraw.hs 76 -{- -instance Show Rectangle where - show (Rectangle x y w h) = "x="++show x++", y="++show y++ - ", w="++show w++", h="++show h++";" --} - -updateCanvas :: DrawingArea -> Pixbuf -> Event -> IO Bool -updateCanvas canvas pb Expose { eventRegion = region } = do - win <- widgetGetDrawWindow canvas +updateCanvas :: Pixbuf -> EventM EExpose Bool +updateCanvas pb = do + win <- eventWindow + region <- eventRegion + liftIO $ do hunk ./demo/graphic/Drawing.hs 1 --- Example of an drawing graphics onto a canvas. +-- Example of an drawing graphics onto a canvas. Note that this example +-- uses the old-style Gdk drawing functions. New implementations should +-- use Cairo. See examples in that directory. hunk ./demo/graphic/Drawing.hs 5 +import Graphics.UI.Gtk.Gdk.EventM +import Control.Monad.Trans ( liftIO ) hunk ./demo/graphic/Drawing.hs 14 - canvas `onSizeRequest` return (Requisition 40 40) + canvas `on` sizeRequest $ return (Requisition 40 40) hunk ./demo/graphic/Drawing.hs 16 - canvas `onExpose` updateCanvas canvas text + canvas `on` exposeEvent $ updateCanvas text hunk ./demo/graphic/Drawing.hs 22 -updateCanvas :: DrawingArea -> PangoLayout -> Event -> IO Bool -updateCanvas canvas text (Expose { eventArea=rect }) = do - win <- widgetGetDrawWindow canvas - (width,height) <- widgetGetSize canvas +updateCanvas :: PangoLayout -> EventM EExpose Bool +updateCanvas text = do + win <- eventWindow + liftIO $ do + (width,height) <- drawableGetSize win hunk ./demo/treeList/ListDND.hs 4 -import Graphics.UI.Gtk.ModelView as New +import Graphics.UI.Gtk.Gdk.EventM + hunk ./demo/treeList/ListDND.hs 7 -import System.Glib.Signals ( on ) hunk ./demo/treeList/ListDND.hs 28 - roomStore :: New.ListStore String, + roomStore :: ListStore String, hunk ./demo/treeList/ListDND.hs 62 - [noRoom, publicRoom, restrictedRoom] <- mapM New.listStoreNew + [noRoom, publicRoom, restrictedRoom] <- mapM listStoreNew hunk ./demo/treeList/ListDND.hs 68 - New.treeModelSetColumn noRoom roomStrCol id - New.treeModelSetColumn publicRoom roomStrCol id - New.treeModelSetColumn restrictedRoom roomStrCol id + treeModelSetColumn noRoom roomStrCol id + treeModelSetColumn publicRoom roomStrCol id + treeModelSetColumn restrictedRoom roomStrCol id hunk ./demo/treeList/ListDND.hs 81 - content <- New.listStoreNewDND [_$_] + content <- listStoreNewDND [_$_] hunk ./demo/treeList/ListDND.hs 100 - liftIO $ New.listStoreInsert store i + liftIO $ listStoreInsert store i hunk ./demo/treeList/ListDND.hs 110 - compTypes <- New.listStoreNewDND [minBound :: CompType .. maxBound] + compTypes <- listStoreNewDND [minBound :: CompType .. maxBound] hunk ./demo/treeList/ListDND.hs 123 - New.treeModelSetColumn compTypes compPicCol $ + treeModelSetColumn compTypes compPicCol $ hunk ./demo/treeList/ListDND.hs 125 - New.treeModelSetColumn compTypes compStrCol showCT + treeModelSetColumn compTypes compStrCol showCT hunk ./demo/treeList/ListDND.hs 128 - typesView <- New.iconViewNew - set typesView [New.iconViewModel := Just compTypes, - New.iconViewPixbufColumn := compPicCol, - New.iconViewTextColumn := compStrCol, - New.iconViewColumns := 6] [_$_] + typesView <- iconViewNew + set typesView [iconViewModel := Just compTypes, + iconViewPixbufColumn := compPicCol, + iconViewTextColumn := compStrCol, + iconViewColumns := 6] [_$_] hunk ./demo/treeList/ListDND.hs 135 - inventory <- New.treeViewNewWithModel content + inventory <- treeViewNewWithModel content hunk ./demo/treeList/ListDND.hs 137 - tyCol <- New.treeViewColumnNew - New.treeViewColumnSetTitle tyCol "Type" - picRen <- New.cellRendererPixbufNew - New.treeViewColumnPackStart tyCol picRen False - New.cellLayoutSetAttributes tyCol picRen content - (\Computer { cType = t} -> [New.cellPixbuf := smallPics !! fromEnum t]) - tyRen <- New.cellRendererTextNew - New.treeViewColumnPackStart tyCol tyRen False - New.cellLayoutSetAttributes tyCol tyRen content - (\Computer { cType = t} -> [New.cellText := showCT t]) - New.treeViewAppendColumn inventory tyCol + tyCol <- treeViewColumnNew + treeViewColumnSetTitle tyCol "Type" + picRen <- cellRendererPixbufNew + treeViewColumnPackStart tyCol picRen False + cellLayoutSetAttributes tyCol picRen content + (\Computer { cType = t} -> [cellPixbuf := smallPics !! fromEnum t]) + tyRen <- cellRendererTextNew + treeViewColumnPackStart tyCol tyRen False + cellLayoutSetAttributes tyCol tyRen content + (\Computer { cType = t} -> [cellText := showCT t]) + treeViewAppendColumn inventory tyCol hunk ./demo/treeList/ListDND.hs 149 - nameCol <- New.treeViewColumnNew - New.treeViewColumnSetTitle nameCol "Name" - New.treeViewColumnSetResizable nameCol True - New.treeViewColumnSetMinWidth nameCol 100 - nameRen <- New.cellRendererTextNew - set nameRen [ New.cellTextEditable := True, - New.cellTextEditableSet := True, - New.cellTextEllipsize := EllipsizeEnd, - New.cellTextEllipsizeSet := True] - New.treeViewColumnPackStart nameCol nameRen True - New.cellLayoutSetAttributes nameCol nameRen content - (\Computer { name = n } -> [New.cellText := n]) - New.treeViewAppendColumn inventory nameCol + nameCol <- treeViewColumnNew + treeViewColumnSetTitle nameCol "Name" + treeViewColumnSetResizable nameCol True + treeViewColumnSetMinWidth nameCol 100 + nameRen <- cellRendererTextNew + set nameRen [ cellTextEditable := True, + cellTextEditableSet := True, + cellTextEllipsize := EllipsizeEnd, + cellTextEllipsizeSet := True] + treeViewColumnPackStart nameCol nameRen True + cellLayoutSetAttributes nameCol nameRen content + (\Computer { name = n } -> [cellText := n]) + treeViewAppendColumn inventory nameCol hunk ./demo/treeList/ListDND.hs 163 - val <- New.listStoreGetValue content i - New.listStoreSetValue content i val { name = str } + val <- listStoreGetValue content i + listStoreSetValue content i val { name = str } hunk ./demo/treeList/ListDND.hs 166 - addrCol <- New.treeViewColumnNew - New.treeViewColumnSetTitle addrCol "Address" - oct1 <- New.cellRendererTextNew - dot1 <- New.cellRendererTextNew - oct2 <- New.cellRendererTextNew - dot2 <- New.cellRendererTextNew - oct3 <- New.cellRendererTextNew - dot3 <- New.cellRendererTextNew - oct4 <- New.cellRendererTextNew - mapM_ (uncurry (New.cellLayoutPackStart addrCol)) + addrCol <- treeViewColumnNew + treeViewColumnSetTitle addrCol "Address" + oct1 <- cellRendererTextNew + dot1 <- cellRendererTextNew + oct2 <- cellRendererTextNew + dot2 <- cellRendererTextNew + oct3 <- cellRendererTextNew + dot3 <- cellRendererTextNew + oct4 <- cellRendererTextNew + mapM_ (uncurry (cellLayoutPackStart addrCol)) hunk ./demo/treeList/ListDND.hs 178 - mapM_ (\d -> set d [New.cellText := ".", - New.cellTextWidthChars := 0]) [dot1, dot2, dot3] - mapM_ (\o -> set o [New.cellXAlign := 1.0, - New.cellTextWidthChars := 3]) [oct1, oct2, oct3, oct4] - New.cellLayoutSetAttributes addrCol oct1 content - (\Computer { addr = (o1,_,_,_)} -> [New.cellText := show o1]) - New.cellLayoutSetAttributes addrCol oct2 content - (\Computer { addr = (_,o2,_,_)} -> [New.cellText := show o2]) - New.cellLayoutSetAttributes addrCol oct3 content - (\Computer { addr = (_,_,o3,_)} -> [New.cellText := show o3]) - New.cellLayoutSetAttributes addrCol oct4 content - (\Computer { addr = (_,_,_,o4)} -> [New.cellText := show o4]) [_$_] - New.treeViewAppendColumn inventory addrCol + mapM_ (\d -> set d [cellText := ".", + cellTextWidthChars := 0]) [dot1, dot2, dot3] + mapM_ (\o -> set o [cellXAlign := 1.0, + cellTextWidthChars := 3]) [oct1, oct2, oct3, oct4] + cellLayoutSetAttributes addrCol oct1 content + (\Computer { addr = (o1,_,_,_)} -> [cellText := show o1]) + cellLayoutSetAttributes addrCol oct2 content + (\Computer { addr = (_,o2,_,_)} -> [cellText := show o2]) + cellLayoutSetAttributes addrCol oct3 content + (\Computer { addr = (_,_,o3,_)} -> [cellText := show o3]) + cellLayoutSetAttributes addrCol oct4 content + (\Computer { addr = (_,_,_,o4)} -> [cellText := show o4]) [_$_] + treeViewAppendColumn inventory addrCol hunk ./demo/treeList/ListDND.hs 192 - roomCol <- New.treeViewColumnNew - New.treeViewColumnSetTitle roomCol "Room" - New.treeViewColumnSetResizable roomCol True - New.treeViewColumnSetSizing roomCol New.TreeViewColumnAutosize - roomRen <- New.cellRendererComboNew - set roomRen [ New.cellTextEditable := True, - New.cellTextEditableSet := True, - New.cellComboHasEntry := True ] - New.treeViewColumnPackStart roomCol roomRen True - New.cellLayoutSetAttributes roomCol roomRen content + roomCol <- treeViewColumnNew + treeViewColumnSetTitle roomCol "Room" + treeViewColumnSetResizable roomCol True + treeViewColumnSetSizing roomCol TreeViewColumnAutosize + roomRen <- cellRendererComboNew + set roomRen [ cellTextEditable := True, + cellTextEditableSet := True, + cellComboHasEntry := True ] + treeViewColumnPackStart roomCol roomRen True + cellLayoutSetAttributes roomCol roomRen content hunk ./demo/treeList/ListDND.hs 203 - [New.cellText :=> New.listStoreGetValue t idx, - New.cellComboTextModel := (t, roomStrCol)]) + [cellText :=> listStoreGetValue t idx, + cellComboTextModel := (t, roomStrCol)]) hunk ./demo/treeList/ListDND.hs 206 - row@Computer { roomStore = t } <- New.listStoreGetValue content i - elems <- New.listStoreToList t + row@Computer { roomStore = t } <- listStoreGetValue content i + elems <- listStoreToList t hunk ./demo/treeList/ListDND.hs 210 - Nothing -> New.listStoreAppend t str - New.listStoreSetValue content i row { roomSel = idx } - New.treeViewAppendColumn inventory roomCol + Nothing -> listStoreAppend t str + listStoreSetValue content i row { roomSel = idx } + treeViewAppendColumn inventory roomCol hunk ./demo/treeList/ListDND.hs 229 - New.treeViewEnableModelDragDest inventory tl [ActionMove] + treeViewEnableModelDragDest inventory tl [ActionMove] hunk ./demo/treeList/ListDND.hs 232 - New.treeViewEnableModelDragSource inventory [Button1] tl [ActionMove] + treeViewEnableModelDragSource inventory [Button1] tl [ActionMove] hunk ./demo/treeList/ListDND.hs 239 - --New.treeViewSetReorderable inventory True + --treeViewSetReorderable inventory True |
From: Axel S. <si...@co...> - 2008-10-26 11:47:53
|
Sun Oct 26 06:00:26 EDT 2008 Axe...@en... * Import Events explicitly due to the new Events module. hunk ./soegtk/Graphics/SOE/Gtk.hs.pp 100 +import qualified Graphics.UI.Gtk.Gdk.Events as Gtk |
From: Peter g. <pg...@co...> - 2008-10-20 13:22:29
|
Mon Oct 20 09:20:48 EDT 2008 Peter Gavin <pg...@gm...> * gio: don't use Control.Monad.>=> (it's not in ghc-6.6 or earlier) hunk ./gio/System/GIO/File.chs 142 - unsafePerformIO $ withUTFString path $ {# call file_new_for_path #} >=> takeGObject + unsafePerformIO $ withUTFString path $ \cPath -> {# call file_new_for_path #} cPath >>= takeGObject hunk ./gio/System/GIO/File.chs 146 - unsafePerformIO $ withUTFString uri $ {# call file_new_for_uri #} >=> takeGObject + unsafePerformIO $ withUTFString uri $ \cURI -> {# call file_new_for_uri #} cURI >>= takeGObject hunk ./gio/System/GIO/File.chs 150 - unsafePerformIO $ withUTFString arg $ {# call file_new_for_commandline_arg #} >=> takeGObject + unsafePerformIO $ withUTFString arg $ \cArg -> {# call file_new_for_commandline_arg #} cArg >>= takeGObject hunk ./gio/System/GIO/File.chs 154 - unsafePerformIO $ withUTFString parseName $ {# call file_parse_name #} >=> takeGObject + unsafePerformIO $ withUTFString parseName $ \cParseName -> {# call file_parse_name #} cParseName >>= takeGObject hunk ./gio/System/GIO/File.chs 165 -fileBasename = - unsafePerformIO . ({# call file_get_basename #} . toFile >=> readUTFString) +fileBasename file = + unsafePerformIO $ {# call file_get_basename #} (toFile file) >>= readUTFString hunk ./gio/System/GIO/File.chs 169 -filePath = - unsafePerformIO . ({# call file_get_path #} . toFile >=> readUTFString) +filePath file = + unsafePerformIO $ {# call file_get_path #} (toFile file) >>= readUTFString hunk ./gio/System/GIO/File.chs 173 -fileURI = - unsafePerformIO . ({# call file_get_uri #} . toFile >=> readUTFString) +fileURI file = + unsafePerformIO $ {# call file_get_uri #} (toFile file) >>= readUTFString hunk ./gio/System/GIO/File.chs 177 -fileParseName = - unsafePerformIO . ({# call file_get_parse_name #} . toFile >=> readUTFString) +fileParseName file = + unsafePerformIO $ {# call file_get_parse_name #} (toFile file) >>= readUTFString hunk ./gio/System/GIO/File.chs 181 -fileParent = - unsafePerformIO . ({# call file_get_parent #} . toFile >=> maybePeek takeGObject) +fileParent file = + unsafePerformIO $ {# call file_get_parent #} (toFile file) >>= maybePeek takeGObject hunk ./gio/System/GIO/File.chs 187 - withUTFString name $ - {# call file_get_child #} (toFile file) >=> takeGObject + withUTFString name $ \cName -> + {# call file_get_child #} (toFile file) cName >>= takeGObject hunk ./gio/System/GIO/File.chs 227 -fileURIScheme = - unsafePerformIO . ({# call file_get_uri_scheme #} . toFile >=> readUTFString) +fileURIScheme file = + unsafePerformIO $ {# call file_get_uri_scheme #} (toFile file) >>= readUTFString |
From: Axel S. <si...@co...> - 2008-10-19 16:13:51
|
Sun Oct 19 09:26:15 EDT 2008 A....@ke... * Mend some build problems with GIO. hunk ./Makefile.am 398 +if ENABLE_GIO + hunk ./Makefile.am 418 +gio/libHSgio_a.deps : glib/libHSglib_a.deps + +libHSgio_a_GENERATEDSOURCES = \ + gio/System/GIO/Types.chs \ + gio/System/GIO/Signals.chs + +nodist_libHSgio_a_SOURCES = $(libHSgio_a_GENERATEDSOURCES) + hunk ./Makefile.am 429 - gio/System/GIO/Types.chs \ - gio/System/GIO/Signals.chs \ hunk ./Makefile.am 433 -libHSgio_a_GENERATEDSOURCES = \ - gio/System/GIO/Types.chs \ - gio/System/GIO/Signals.chs - hunk ./Makefile.am 436 -nodist_libHSgio_a_SOURCES = $(libHSgio_a_GENERATEDSOURCES) - hunk ./Makefile.am 437 - glib/System/GIO/Types.chs + $(libHSgio_a_GENERATEDSOURCES:.chs=.hs) hunk ./Makefile.am 444 - $(srcdir)/tools/hierarchyGen/hierarchy.list \ - $(srcdir)/tools/hierarchyGen/Hierarchy.chs.template \ - $@ --tag=gio --lib=gio --prefix=g \ + $(srcdir)/tools/hierarchyGen/hierarchy.list \ + $(srcdir)/tools/hierarchyGen/Hierarchy.chs.template \ + $@ --tag=gio --lib=gio --prefix=g \ hunk ./Makefile.am 448 - --parentname=System.Glib.GObject) + --parentname=System.Glib.GObject) hunk ./Makefile.am 459 +libHSgio_a_ALLSOURCES = $(libHSgio_a_SOURCES) $(nodist_libHSgio_a_SOURCES) + hunk ./Makefile.am 464 -libHSgio_a_HSPPFILES = $(filter %.hs.pp, $(libHSgio_a_SOURCES)) -libHSgio_a_CHSPPFILES = $(filter %.chs.pp,$(libHSgio_a_SOURCES)) +libHSgio_a_HSPPFILES = $(filter %.hs.pp, $(libHSgio_a_ALLSOURCES)) +libHSgio_a_CHSPPFILES = $(filter %.chs.pp,$(libHSgio_a_ALLSOURCES)) hunk ./Makefile.am 467 - $(filter %.chs,$(libHSgio_a_SOURCES:.chs.pp=.chs)) + $(filter %.chs,$(libHSgio_a_ALLSOURCES:.chs.pp=.chs)) hunk ./Makefile.am 469 -libHSgio_a_HSCFILES = $(filter %.hsc, $(libHSgio_a_SOURCES)) +libHSgio_a_HSCFILES = $(filter %.hsc, $(libHSgio_a_ALLSOURCES)) hunk ./Makefile.am 472 - $(libHSgio_a_GENERATEDSOURCES) \ hunk ./Makefile.am 475 - $(libHSgio_a_HSCFILES_HS) + $(libHSgio_a_HSCFILES_HS) \ + $(libHSgio_a_GENERATEDSOURCES) + hunk ./Makefile.am 480 - $(filter %.hs,$(libHSgio_a_SOURCES)) -libHSgio_a_CFILES = $(filter %.c,$(libHSgio_a_SOURCES)) + $(filter %.hs,$(libHSgio_a_ALLSOURCES)) +libHSgio_a_CFILES = $(filter %.c,$(libHSgio_a_ALLSOURCES)) hunk ./Makefile.am 530 +endif #ENABLE_GIO + hunk ./Makefile.am 766 - gtk/Graphics/UI/Gtk/Signals.hs \ |