-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | GUI library for source code management systems -- -- Provides library functions to expose some commonly needed scm tasks to -- the user. Uses GTK+ and GTKBuilder to organize and display windows. -- Uses vcswrapper to acces the scm functions. Currently git, SVN and -- mercurial (hg) are supported. @package vcsgui @version 0.0.4 -- | Common gui elements and functions are declared here. This module is -- not an exposed library, every vcs-main-module should reexport this -- module instead module VCSGui.Common -- | Displays a simple window displaying given String as an error -- message. showErrorGUI :: String -> IO () showSetupConfigGUI :: Config -> Callback -> IO () -- | Wraps an IO computation to display an error message if a -- VCSException occurs. defaultVCSExceptionHandler :: IO t -> IO () -- | Representation of a mergetool, e.g. kdiff3 data MergeTool MergeTool :: FilePath -> MergeTool fullPath :: MergeTool -> FilePath -- | Fn to set a MergeTool. type MergeToolSetter = MergeTool -> IO () -- | Exports all modules needed to build the Git GUI component. module VCSGui.Git -- | Calls showCommitGUI with a ListStore and -- OkCallBack setup for Git. This will display a window to enter -- a commit message and select the files to be commited by this commit. showCommitGUI :: Ctx () -- | Calls showLogGUI using Git. This will display all log entries. -- The branch to be displayed can be selected. Any commit can be checked -- out, creating a new branch if the commit is not already the HEAD of -- any branch. showLogGUI :: Ctx () -- | Adds a wrapper to the Ctx so git can ask for a password using a -- GUI window. This is acomplished by setting the GIT_ASKPASS environment -- variable. This is only tested on linux and may not work on MS Windows. askPassWrapper :: Ctx () -> Ctx () -- | Call pull. If the pull fails or a merge conflict is detected an -- error message is shown. pull :: Ctx () -- | Exports all available SVN GUIs such as checkout, log -- and others. module VCSGui.Svn -- | Shows a GUI asking user for data to checkout a working copy of a SVN -- repository. showCheckoutGUI :: Ctx () showCommitGUI :: Either MergeTool MergeToolSetter -> Either Handler (Maybe String) -> Ctx () -- | Shows a GUI showing log for current working copy. showLogGUI :: Either Handler (Maybe String) -> Ctx () -- | Shows a GUI asking the user for a password. Handler will be -- called with result. showAskpassGUI :: Handler -> Ctx () -- | Handler is a function used as an argument to the -- showAskpassGUI. It represents a VCS command running in a -- Ctx expecting password data which can be the followingAxis * -- Nothing, if GUI is closed or cancel button is pressed * Just -- (savePasswordSettingForSession, Maybe password) where -- savePasswordSettingForSession indicates if password-settings should be -- saved for current session. Maybe password is either: * Nothing, no -- password given * Just password, password has been provided type Handler = (Maybe (Bool, Maybe String)) -> Ctx () -- | Initiates an update for current SVN working copy. showUpdateGUI :: Either MergeTool MergeToolSetter -> Either Handler (Maybe String) -> Ctx () module VCSGui.Mercurial -- | Calls showCommitGUI with a ListStore and -- OkCallBack setup for Mercurial. This will display a window to -- enter a commit message and select the files to be commited by this -- commit. showCommitGUI :: Ctx () -- | Calls showLogGUI using hg. This will display all log entries. -- The branch to be displayed can be selected. Any commit can be checked -- out, creating a new branch if the commit is not already the HEAD of -- any branch. showLogGUI :: Ctx ()