Lastest docs updated

travis build: 37
commit: e3a840b051
auto-pushed to gh-pages
This commit is contained in:
travis-ci 2016-06-08 20:00:34 +00:00
parent b07351dbe2
commit e3054c238f
18 changed files with 1050 additions and 994 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,9 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.Plugins</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_HSFM-GUI-Gtk-Plugins.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/HSFM-GUI-Gtk-Plugins.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">HSFM.GUI.Gtk.Plugins</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:addPlugins">addPlugins</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:insertPos">insertPos</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:myplugins">myplugins</a> :: [(<a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> MenuItem, [<a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a>] -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> ())]</li><li class="src short"><a href="#v:diffPlugin">diffPlugin</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> MenuItem</li><li class="src short"><a href="#v:diffCallback">diffCallback</a> :: [<a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a>] -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:addPlugins" class="def">addPlugins</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> () <a href="src/HSFM-GUI-Gtk-Plugins.html#addPlugins" class="link">Source</a> <a href="#v:addPlugins" class="selflink">#</a></p><div class="doc"><p>Usually, you don't want to overwrite this method. It
adds plugins from <code><a href="HSFM-GUI-Gtk-Plugins.html#v:myplugins">myplugins</a></code> and initializes the callbacks
automatically.</p></div></div><div class="top"><p class="src"><a id="v:insertPos" class="def">insertPos</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/Data-Int.html#t:Int">Int</a> <a href="src/HSFM-GUI-Gtk-Plugins.html#insertPos" class="link">Source</a> <a href="#v:insertPos" class="selflink">#</a></p><div class="doc"><p>Where to start inserting plugins.</p></div></div><div class="top"><p class="src"><a id="v:myplugins" class="def">myplugins</a> :: [(<a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> MenuItem, [<a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a>] -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> ())] <a href="src/HSFM-GUI-Gtk-Plugins.html#myplugins" class="link">Source</a> <a href="#v:myplugins" class="selflink">#</a></p><div class="doc"><p>A list of plugins to add to the right-click menu at position
<code><a href="HSFM-GUI-Gtk-Plugins.html#v:insertPos">insertPos</a></code>. The left part of the tuple is the menuitem, the right
part the callback.
Plugins are added in order of this list.</p></div></div><div class="top"><p class="src"><a id="v:diffPlugin" class="def">diffPlugin</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> MenuItem <a href="src/HSFM-GUI-Gtk-Plugins.html#diffPlugin" class="link">Source</a> <a href="#v:diffPlugin" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:diffCallback" class="def">diffCallback</a> :: [<a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a>] -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> () <a href="src/HSFM-GUI-Gtk-Plugins.html#diffCallback" class="link">Source</a> <a href="#v:diffCallback" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/HSFM-GUI-Gtk-Plugins.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">HSFM.GUI.Gtk.Plugins</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:insertPos">insertPos</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:myplugins">myplugins</a> :: [(<a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> MenuItem, [<a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a>] -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/Data-Bool.html#t:Bool">Bool</a>, [<a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a>] -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> ())]</li><li class="src short"><a href="#v:diffItem">diffItem</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> MenuItem</li><li class="src short"><a href="#v:diffFilter">diffFilter</a> :: [<a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a>] -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:diffCallback">diffCallback</a> :: [<a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a>] -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:insertPos" class="def">insertPos</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/Data-Int.html#t:Int">Int</a> <a href="src/HSFM-GUI-Gtk-Plugins.html#insertPos" class="link">Source</a> <a href="#v:insertPos" class="selflink">#</a></p><div class="doc"><p>Where to start inserting plugins.</p></div></div><div class="top"><p class="src"><a id="v:myplugins" class="def">myplugins</a> :: [(<a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> MenuItem, [<a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a>] -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/Data-Bool.html#t:Bool">Bool</a>, [<a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a>] -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> ())] <a href="src/HSFM-GUI-Gtk-Plugins.html#myplugins" class="link">Source</a> <a href="#v:myplugins" class="selflink">#</a></p><div class="doc"><p>A list of plugins to add to the right-click menu at position
<code><a href="HSFM-GUI-Gtk-Plugins.html#v:insertPos">insertPos</a></code>.</p><p>The left part of the triple is the menuitem.
The middle part of the triple is a filter function that
decides whether the item is shown.
The right part of the triple is the callback, which is invoked
when the menu item is clicked.</p><p>Plugins are added in order of this list.</p></div></div><div class="top"><p class="src"><a id="v:diffItem" class="def">diffItem</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> MenuItem <a href="src/HSFM-GUI-Gtk-Plugins.html#diffItem" class="link">Source</a> <a href="#v:diffItem" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:diffFilter" class="def">diffFilter</a> :: [<a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a>] -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/Data-Bool.html#t:Bool">Bool</a> <a href="src/HSFM-GUI-Gtk-Plugins.html#diffFilter" class="link">Source</a> <a href="#v:diffFilter" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:diffCallback" class="def">diffCallback</a> :: [<a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a>] -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> () <a href="src/HSFM-GUI-Gtk-Plugins.html#diffCallback" class="link">Source</a> <a href="#v:diffCallback" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Paths_hsfm</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Paths_hsfm.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Paths_hsfm.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Paths_hsfm</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:version" class="def">version</a> :: <a href="https://hackage.haskell.org/package/Cabal-1.25.0.0/docs/Distribution-Version.html#t:Version">Version</a> <a href="src/Paths_hsfm.html#version" class="link">Source</a> <a href="#v:version" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getBinDir" class="def">getBinDir</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:FilePath">FilePath</a> <a href="src/Paths_hsfm.html#getBinDir" class="link">Source</a> <a href="#v:getBinDir" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getLibDir" class="def">getLibDir</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:FilePath">FilePath</a> <a href="src/Paths_hsfm.html#getLibDir" class="link">Source</a> <a href="#v:getLibDir" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getDataDir" class="def">getDataDir</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:FilePath">FilePath</a> <a href="src/Paths_hsfm.html#getDataDir" class="link">Source</a> <a href="#v:getDataDir" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getLibexecDir" class="def">getLibexecDir</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:FilePath">FilePath</a> <a href="src/Paths_hsfm.html#getLibexecDir" class="link">Source</a> <a href="#v:getLibexecDir" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getDataFileName" class="def">getDataFileName</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:FilePath">FilePath</a> <a href="src/Paths_hsfm.html#getDataFileName" class="link">Source</a> <a href="#v:getDataFileName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getSysconfDir" class="def">getSysconfDir</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:FilePath">FilePath</a> <a href="src/Paths_hsfm.html#getSysconfDir" class="link">Source</a> <a href="#v:getSysconfDir" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Paths_hsfm.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Paths_hsfm</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:version" class="def">version</a> :: <a href="https://hackage.haskell.org/package/Cabal-1.24.0.0/docs/Distribution-Version.html#t:Version">Version</a> <a href="src/Paths_hsfm.html#version" class="link">Source</a> <a href="#v:version" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getBinDir" class="def">getBinDir</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:FilePath">FilePath</a> <a href="src/Paths_hsfm.html#getBinDir" class="link">Source</a> <a href="#v:getBinDir" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getLibDir" class="def">getLibDir</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:FilePath">FilePath</a> <a href="src/Paths_hsfm.html#getLibDir" class="link">Source</a> <a href="#v:getLibDir" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getDataDir" class="def">getDataDir</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:FilePath">FilePath</a> <a href="src/Paths_hsfm.html#getDataDir" class="link">Source</a> <a href="#v:getDataDir" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getLibexecDir" class="def">getLibexecDir</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:FilePath">FilePath</a> <a href="src/Paths_hsfm.html#getLibexecDir" class="link">Source</a> <a href="#v:getLibexecDir" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getDataFileName" class="def">getDataFileName</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:FilePath">FilePath</a> <a href="src/Paths_hsfm.html#getDataFileName" class="link">Source</a> <a href="#v:getDataFileName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getSysconfDir" class="def">getSysconfDir</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:FilePath">FilePath</a> <a href="src/Paths_hsfm.html#getSysconfDir" class="link">Source</a> <a href="#v:getSysconfDir" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>

View File

@ -1,4 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - A)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - A</p><table><tr><td class="src">accessTime</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:accessTime">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">accessTimeHiRes</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:accessTimeHiRes">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">addPlugins</td><td class="module"><a href="HSFM-GUI-Gtk-Plugins.html#v:addPlugins">HSFM.GUI.Gtk.Plugins</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - A</p><table><tr><td class="src">accessTime</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:accessTime">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">accessTimeHiRes</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:accessTimeHiRes">HSFM.FileSystem.FileType</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hsfm-gtk (Index - D)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - D</p><table><tr><td class="src">del</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:del">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">DeleteKey</td><td class="module"><a href="HSFM-GUI-Gtk-Settings.html#v:DeleteKey">HSFM.GUI.Gtk.Settings</a></td></tr><tr><td class="src">DeleteModifier</td><td class="module"><a href="HSFM-GUI-Gtk-Settings.html#v:DeleteModifier">HSFM.GUI.Gtk.Settings</a></td></tr><tr><td class="src">destroyView</td><td class="module"><a href="HSFM-GUI-Gtk-MyView.html#v:destroyView">HSFM.GUI.Gtk.MyView</a></td></tr><tr><td class="src">deviceID</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:deviceID">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">diffCallback</td><td class="module"><a href="HSFM-GUI-Gtk-Plugins.html#v:diffCallback">HSFM.GUI.Gtk.Plugins</a></td></tr><tr><td class="src">diffPlugin</td><td class="module"><a href="HSFM-GUI-Gtk-Plugins.html#v:diffPlugin">HSFM.GUI.Gtk.Plugins</a></td></tr><tr><td class="src">Dir</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:Dir">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">DirList</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:DirList">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">DirOrSym</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:DirOrSym">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">DirSym</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:DirSym">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">dirSym</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:dirSym">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">doFileOperation</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks-Utils.html#v:doFileOperation">HSFM.GUI.Gtk.Callbacks.Utils</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - D</p><table><tr><td class="src">del</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:del">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">DeleteKey</td><td class="module"><a href="HSFM-GUI-Gtk-Settings.html#v:DeleteKey">HSFM.GUI.Gtk.Settings</a></td></tr><tr><td class="src">DeleteModifier</td><td class="module"><a href="HSFM-GUI-Gtk-Settings.html#v:DeleteModifier">HSFM.GUI.Gtk.Settings</a></td></tr><tr><td class="src">destroyView</td><td class="module"><a href="HSFM-GUI-Gtk-MyView.html#v:destroyView">HSFM.GUI.Gtk.MyView</a></td></tr><tr><td class="src">deviceID</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:deviceID">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">diffCallback</td><td class="module"><a href="HSFM-GUI-Gtk-Plugins.html#v:diffCallback">HSFM.GUI.Gtk.Plugins</a></td></tr><tr><td class="src">diffFilter</td><td class="module"><a href="HSFM-GUI-Gtk-Plugins.html#v:diffFilter">HSFM.GUI.Gtk.Plugins</a></td></tr><tr><td class="src">diffItem</td><td class="module"><a href="HSFM-GUI-Gtk-Plugins.html#v:diffItem">HSFM.GUI.Gtk.Plugins</a></td></tr><tr><td class="src">Dir</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:Dir">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">DirList</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:DirList">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">DirOrSym</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:DirOrSym">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">DirSym</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:DirSym">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">dirSym</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:dirSym">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">doFileOperation</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks-Utils.html#v:doFileOperation">HSFM.GUI.Gtk.Callbacks.Utils</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -1,4 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.Callbacks</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.GUI.Gtk.Callbacks</p></div><div id="interface"><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:setGUICallbacks" target="main">setGUICallbacks</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:setViewCallbacks" target="main">setViewCallbacks</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:openTerminalHere" target="main">openTerminalHere</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:closeTab" target="main">closeTab</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newTab-39-" target="main">newTab'</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:opeInNewTab" target="main">opeInNewTab</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:del" target="main">del</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:moveInit" target="main">moveInit</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:copyInit" target="main">copyInit</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:operationFinal" target="main">operationFinal</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newFile" target="main">newFile</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newDir" target="main">newDir</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:renameF" target="main">renameF</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:urlGoTo" target="main">urlGoTo</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:goHome" target="main">goHome</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:execute" target="main">execute</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:open" target="main">open</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:upDir" target="main">upDir</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:goHistoryBack" target="main">goHistoryBack</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:goHistoryForward" target="main">goHistoryForward</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:mkHistoryMenuB" target="main">mkHistoryMenuB</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:mkHistoryMenuF" target="main">mkHistoryMenuF</a></p></div></div></body></html>
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.GUI.Gtk.Callbacks</p></div><div id="interface"><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:setGUICallbacks" target="main">setGUICallbacks</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:setViewCallbacks" target="main">setViewCallbacks</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:openTerminalHere" target="main">openTerminalHere</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:closeTab" target="main">closeTab</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newTab-39-" target="main">newTab'</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:opeInNewTab" target="main">opeInNewTab</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:del" target="main">del</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:moveInit" target="main">moveInit</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:copyInit" target="main">copyInit</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:operationFinal" target="main">operationFinal</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newFile" target="main">newFile</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newDir" target="main">newDir</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:renameF" target="main">renameF</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:urlGoTo" target="main">urlGoTo</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:goHome" target="main">goHome</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:execute" target="main">execute</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:open" target="main">open</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:upDir" target="main">upDir</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:goHistoryBack" target="main">goHistoryBack</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:goHistoryForward" target="main">goHistoryForward</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:mkHistoryMenuB" target="main">mkHistoryMenuB</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:mkHistoryMenuF" target="main">mkHistoryMenuF</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:showPopup" target="main">showPopup</a></p></div></div></body></html>

View File

@ -1,4 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.GUI.Gtk.Plugins</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.GUI.Gtk.Plugins</p></div><div id="interface"><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Plugins.html#v:addPlugins" target="main">addPlugins</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Plugins.html#v:insertPos" target="main">insertPos</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Plugins.html#v:myplugins" target="main">myplugins</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Plugins.html#v:diffPlugin" target="main">diffPlugin</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Plugins.html#v:diffCallback" target="main">diffCallback</a></p></div></div></body></html>
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.GUI.Gtk.Plugins</p></div><div id="interface"><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Plugins.html#v:insertPos" target="main">insertPos</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Plugins.html#v:myplugins" target="main">myplugins</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Plugins.html#v:diffItem" target="main">diffItem</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Plugins.html#v:diffFilter" target="main">diffFilter</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Plugins.html#v:diffCallback" target="main">diffCallback</a></p></div></div></body></html>

File diff suppressed because it is too large Load Diff

View File

@ -93,69 +93,68 @@
<a name="line-84"></a> <span class='hs-comment'>-- sub-widgets</span>
<a name="line-85"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>scroll</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ScrolledWindow</span>
<a name="line-86"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>viewBox</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Box</span>
<a name="line-87"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcmenu</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>RightClickMenu</span>
<a name="line-88"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>backViewB</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Button</span>
<a name="line-89"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>upViewB</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Button</span>
<a name="line-90"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>forwardViewB</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Button</span>
<a name="line-91"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>homeViewB</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Button</span>
<a name="line-92"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>refreshViewB</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Button</span>
<a name="line-93"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>urlBar</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-94"></a><span class='hs-layout'>}</span>
<a name="line-87"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>backViewB</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Button</span>
<a name="line-88"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>upViewB</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Button</span>
<a name="line-89"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>forwardViewB</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Button</span>
<a name="line-90"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>homeViewB</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Button</span>
<a name="line-91"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>refreshViewB</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Button</span>
<a name="line-92"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>urlBar</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-93"></a><span class='hs-layout'>}</span>
<a name="line-94"></a>
<a name="line-95"></a>
<a name="line-96"></a>
<a name="line-97"></a><a name="MenuBar"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>MenuBar</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkMenuBar</span> <span class='hs-layout'>{</span>
<a name="line-98"></a> <span class='hs-varid'>menubarFileQuit</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-99"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>menubarHelpAbout</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-100"></a><span class='hs-layout'>}</span>
<a name="line-101"></a>
<a name="line-102"></a><a name="RightClickMenu"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>RightClickMenu</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkRightClickMenu</span> <span class='hs-layout'>{</span>
<a name="line-103"></a> <span class='hs-varid'>rcMenu</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Menu</span>
<a name="line-104"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileOpen</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-105"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileExecute</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-106"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileNewRegFile</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-107"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileNewDir</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-108"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileNewTab</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-109"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileNewTerm</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-110"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileCut</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-111"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileCopy</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-112"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileRename</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-113"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFilePaste</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-114"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileDelete</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-115"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileProperty</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-116"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileIconView</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-117"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileTreeView</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-118"></a><span class='hs-layout'>}</span>
<a name="line-119"></a>
<a name="line-120"></a><a name="FilePropertyGrid"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>FilePropertyGrid</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkFilePropertyGrid</span> <span class='hs-layout'>{</span>
<a name="line-121"></a> <span class='hs-varid'>fpropGrid</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Grid</span>
<a name="line-122"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropFnEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-123"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropLocEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-124"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropTsEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-125"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropModEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-126"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropAcEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-127"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropFTEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-128"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropPermEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-129"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropLDEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-130"></a><span class='hs-layout'>}</span>
<a name="line-96"></a><a name="MenuBar"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>MenuBar</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkMenuBar</span> <span class='hs-layout'>{</span>
<a name="line-97"></a> <span class='hs-varid'>menubarFileQuit</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-98"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>menubarHelpAbout</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-99"></a><span class='hs-layout'>}</span>
<a name="line-100"></a>
<a name="line-101"></a><a name="RightClickMenu"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>RightClickMenu</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkRightClickMenu</span> <span class='hs-layout'>{</span>
<a name="line-102"></a> <span class='hs-varid'>rcMenu</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Menu</span>
<a name="line-103"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileOpen</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-104"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileExecute</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-105"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileNewRegFile</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-106"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileNewDir</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-107"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileNewTab</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-108"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileNewTerm</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-109"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileCut</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-110"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileCopy</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-111"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileRename</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-112"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFilePaste</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-113"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileDelete</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-114"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileProperty</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-115"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileIconView</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-116"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileTreeView</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>ImageMenuItem</span>
<a name="line-117"></a><span class='hs-layout'>}</span>
<a name="line-118"></a>
<a name="line-119"></a><a name="FilePropertyGrid"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>FilePropertyGrid</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkFilePropertyGrid</span> <span class='hs-layout'>{</span>
<a name="line-120"></a> <span class='hs-varid'>fpropGrid</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Grid</span>
<a name="line-121"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropFnEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-122"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropLocEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-123"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropTsEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-124"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropModEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-125"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropAcEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-126"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropFTEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-127"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropPermEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-128"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fpropLDEntry</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Entry</span>
<a name="line-129"></a><span class='hs-layout'>}</span>
<a name="line-130"></a>
<a name="line-131"></a>
<a name="line-132"></a>
<a name="line-133"></a><a name="FMSettings"></a><span class='hs-comment'>-- |FM-wide settings.</span>
<a name="line-134"></a><a name="FMSettings"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>FMSettings</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkFMSettings</span> <span class='hs-layout'>{</span>
<a name="line-135"></a> <span class='hs-varid'>showHidden</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Bool</span>
<a name="line-136"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>isLazy</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Bool</span>
<a name="line-137"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>iconSize</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Int</span>
<a name="line-138"></a><span class='hs-layout'>}</span>
<a name="line-139"></a>
<a name="line-140"></a><a name="FMView"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>FMView</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>FMTreeView</span> <span class='hs-varop'>!</span><span class='hs-conid'>TreeView</span>
<a name="line-141"></a> <span class='hs-keyglyph'>|</span> <span class='hs-conid'>FMIconView</span> <span class='hs-varop'>!</span><span class='hs-conid'>IconView</span>
<a name="line-142"></a>
<a name="line-143"></a><a name="Item"></a><span class='hs-keyword'>type</span> <span class='hs-conid'>Item</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>File</span> <span class='hs-conid'>FileInfo</span>
<a name="line-132"></a><a name="FMSettings"></a><span class='hs-comment'>-- |FM-wide settings.</span>
<a name="line-133"></a><a name="FMSettings"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>FMSettings</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkFMSettings</span> <span class='hs-layout'>{</span>
<a name="line-134"></a> <span class='hs-varid'>showHidden</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Bool</span>
<a name="line-135"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>isLazy</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Bool</span>
<a name="line-136"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>iconSize</span> <span class='hs-keyglyph'>::</span> <span class='hs-varop'>!</span><span class='hs-conid'>Int</span>
<a name="line-137"></a><span class='hs-layout'>}</span>
<a name="line-138"></a>
<a name="line-139"></a><a name="FMView"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>FMView</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>FMTreeView</span> <span class='hs-varop'>!</span><span class='hs-conid'>TreeView</span>
<a name="line-140"></a> <span class='hs-keyglyph'>|</span> <span class='hs-conid'>FMIconView</span> <span class='hs-varop'>!</span><span class='hs-conid'>IconView</span>
<a name="line-141"></a>
<a name="line-142"></a><a name="Item"></a><span class='hs-keyword'>type</span> <span class='hs-conid'>Item</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>File</span> <span class='hs-conid'>FileInfo</span>
<a name="line-143"></a>
<a name="line-144"></a>
<a name="line-145"></a>
<a name="line-146"></a>
<a name="line-147"></a><a name="fmViewToContainer"></a><span class='hs-definition'>fmViewToContainer</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FMView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Container</span>
<a name="line-148"></a><span class='hs-definition'>fmViewToContainer</span> <span class='hs-layout'>(</span><span class='hs-conid'>FMTreeView</span> <span class='hs-varid'>x</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>castToContainer</span> <span class='hs-varop'>.</span> <span class='hs-varid'>toGObject</span> <span class='hs-varop'>$</span> <span class='hs-varid'>x</span>
<a name="line-149"></a><span class='hs-definition'>fmViewToContainer</span> <span class='hs-layout'>(</span><span class='hs-conid'>FMIconView</span> <span class='hs-varid'>x</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>castToContainer</span> <span class='hs-varop'>.</span> <span class='hs-varid'>toGObject</span> <span class='hs-varop'>$</span> <span class='hs-varid'>x</span>
<a name="line-150"></a>
<a name="line-146"></a><a name="fmViewToContainer"></a><span class='hs-definition'>fmViewToContainer</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FMView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Container</span>
<a name="line-147"></a><span class='hs-definition'>fmViewToContainer</span> <span class='hs-layout'>(</span><span class='hs-conid'>FMTreeView</span> <span class='hs-varid'>x</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>castToContainer</span> <span class='hs-varop'>.</span> <span class='hs-varid'>toGObject</span> <span class='hs-varop'>$</span> <span class='hs-varid'>x</span>
<a name="line-148"></a><span class='hs-definition'>fmViewToContainer</span> <span class='hs-layout'>(</span><span class='hs-conid'>FMIconView</span> <span class='hs-varid'>x</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>castToContainer</span> <span class='hs-varop'>.</span> <span class='hs-varid'>toGObject</span> <span class='hs-varop'>$</span> <span class='hs-varid'>x</span>
<a name="line-149"></a>
</pre></body>
</html>

View File

@ -217,258 +217,256 @@
<a name="line-208"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>rcmenu</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkRightClickMenu</span> <span class='hs-layout'>{</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>}</span>
<a name="line-209"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>MkMyView</span> <span class='hs-layout'>{</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>}</span>
<a name="line-210"></a>
<a name="line-211"></a> <span class='hs-varid'>addPlugins</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
<a name="line-212"></a>
<a name="line-213"></a> <span class='hs-comment'>-- set the bindings</span>
<a name="line-214"></a> <span class='hs-varid'>setViewCallbacks</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
<a name="line-215"></a>
<a name="line-216"></a> <span class='hs-comment'>-- add the treeview to the scroll container</span>
<a name="line-217"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>oview</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>fmViewToContainer</span> <span class='hs-varid'>view'</span>
<a name="line-218"></a> <span class='hs-varid'>containerAdd</span> <span class='hs-varid'>scroll</span> <span class='hs-varid'>oview</span>
<a name="line-211"></a> <span class='hs-comment'>-- set the bindings</span>
<a name="line-212"></a> <span class='hs-varid'>setViewCallbacks</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
<a name="line-213"></a>
<a name="line-214"></a> <span class='hs-comment'>-- add the treeview to the scroll container</span>
<a name="line-215"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>oview</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>fmViewToContainer</span> <span class='hs-varid'>view'</span>
<a name="line-216"></a> <span class='hs-varid'>containerAdd</span> <span class='hs-varid'>scroll</span> <span class='hs-varid'>oview</span>
<a name="line-217"></a>
<a name="line-218"></a> <span class='hs-varid'>widgetShowAll</span> <span class='hs-varid'>viewBox</span>
<a name="line-219"></a>
<a name="line-220"></a> <span class='hs-varid'>widgetShowAll</span> <span class='hs-varid'>viewBox</span>
<a name="line-220"></a> <span class='hs-varid'>return</span> <span class='hs-varid'>myview</span>
<a name="line-221"></a>
<a name="line-222"></a> <span class='hs-varid'>return</span> <span class='hs-varid'>myview</span>
<a name="line-223"></a>
<a name="line-224"></a>
<a name="line-225"></a><a name="switchView"></a><span class='hs-comment'>-- |Switch the existing view in `MyView` with the one that the</span>
<a name="line-226"></a><span class='hs-comment'>-- io action returns.</span>
<a name="line-227"></a><span class='hs-definition'>switchView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>FMView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-228"></a><span class='hs-definition'>switchView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>iofmv</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-229"></a> <span class='hs-varid'>cwd</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span>
<a name="line-222"></a>
<a name="line-223"></a><a name="switchView"></a><span class='hs-comment'>-- |Switch the existing view in `MyView` with the one that the</span>
<a name="line-224"></a><span class='hs-comment'>-- io action returns.</span>
<a name="line-225"></a><span class='hs-definition'>switchView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>FMView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-226"></a><span class='hs-definition'>switchView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>iofmv</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-227"></a> <span class='hs-varid'>cwd</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span>
<a name="line-228"></a>
<a name="line-229"></a> <span class='hs-varid'>oldpage</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>destroyView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
<a name="line-230"></a>
<a name="line-231"></a> <span class='hs-varid'>oldpage</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>destroyView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
<a name="line-232"></a>
<a name="line-233"></a> <span class='hs-comment'>-- create new view and tab page where the previous one was</span>
<a name="line-234"></a> <span class='hs-varid'>nview</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>newTab</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>iofmv</span> <span class='hs-varid'>cwd</span> <span class='hs-varid'>oldpage</span>
<a name="line-235"></a>
<a name="line-236"></a> <span class='hs-varid'>page</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>fromJust</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>notebookPageNum</span> <span class='hs-layout'>(</span><span class='hs-varid'>notebook</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>viewBox</span> <span class='hs-varid'>nview</span><span class='hs-layout'>)</span>
<a name="line-237"></a> <span class='hs-varid'>notebookSetCurrentPage</span> <span class='hs-layout'>(</span><span class='hs-varid'>notebook</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span> <span class='hs-varid'>page</span>
<a name="line-231"></a> <span class='hs-comment'>-- create new view and tab page where the previous one was</span>
<a name="line-232"></a> <span class='hs-varid'>nview</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>newTab</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>iofmv</span> <span class='hs-varid'>cwd</span> <span class='hs-varid'>oldpage</span>
<a name="line-233"></a>
<a name="line-234"></a> <span class='hs-varid'>page</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>fromJust</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>notebookPageNum</span> <span class='hs-layout'>(</span><span class='hs-varid'>notebook</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>viewBox</span> <span class='hs-varid'>nview</span><span class='hs-layout'>)</span>
<a name="line-235"></a> <span class='hs-varid'>notebookSetCurrentPage</span> <span class='hs-layout'>(</span><span class='hs-varid'>notebook</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span> <span class='hs-varid'>page</span>
<a name="line-236"></a>
<a name="line-237"></a> <span class='hs-varid'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>nview</span> <span class='hs-varid'>cwd</span>
<a name="line-238"></a>
<a name="line-239"></a> <span class='hs-varid'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>nview</span> <span class='hs-varid'>cwd</span>
<a name="line-240"></a>
<a name="line-241"></a>
<a name="line-242"></a><a name="destroyView"></a><span class='hs-comment'>-- |Destroys the given view by disconnecting the watcher</span>
<a name="line-243"></a><span class='hs-comment'>-- and destroying the active FMView container.</span>
<a name="line-244"></a><span class='hs-comment'>--</span>
<a name="line-245"></a><span class='hs-comment'>-- Everything that needs to be done in order to forget about a</span>
<a name="line-246"></a><span class='hs-comment'>-- view needs to be done here.</span>
<a name="line-247"></a><span class='hs-comment'>--</span>
<a name="line-248"></a><span class='hs-comment'>-- Returns the page in the tab list this view corresponds to.</span>
<a name="line-249"></a><span class='hs-definition'>destroyView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Int</span>
<a name="line-250"></a><span class='hs-definition'>destroyView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-251"></a> <span class='hs-comment'>-- disconnect watcher</span>
<a name="line-252"></a> <span class='hs-varid'>mi</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>tryTakeMVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>inotify</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span>
<a name="line-253"></a> <span class='hs-varid'>for_</span> <span class='hs-varid'>mi</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>i</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>killINotify</span> <span class='hs-varid'>i</span>
<a name="line-239"></a>
<a name="line-240"></a><a name="destroyView"></a><span class='hs-comment'>-- |Destroys the given view by disconnecting the watcher</span>
<a name="line-241"></a><span class='hs-comment'>-- and destroying the active FMView container.</span>
<a name="line-242"></a><span class='hs-comment'>--</span>
<a name="line-243"></a><span class='hs-comment'>-- Everything that needs to be done in order to forget about a</span>
<a name="line-244"></a><span class='hs-comment'>-- view needs to be done here.</span>
<a name="line-245"></a><span class='hs-comment'>--</span>
<a name="line-246"></a><span class='hs-comment'>-- Returns the page in the tab list this view corresponds to.</span>
<a name="line-247"></a><span class='hs-definition'>destroyView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Int</span>
<a name="line-248"></a><span class='hs-definition'>destroyView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-249"></a> <span class='hs-comment'>-- disconnect watcher</span>
<a name="line-250"></a> <span class='hs-varid'>mi</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>tryTakeMVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>inotify</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span>
<a name="line-251"></a> <span class='hs-varid'>for_</span> <span class='hs-varid'>mi</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>i</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>killINotify</span> <span class='hs-varid'>i</span>
<a name="line-252"></a>
<a name="line-253"></a> <span class='hs-varid'>page</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>fromJust</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>notebookPageNum</span> <span class='hs-layout'>(</span><span class='hs-varid'>notebook</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>viewBox</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span>
<a name="line-254"></a>
<a name="line-255"></a> <span class='hs-varid'>page</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>fromJust</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>notebookPageNum</span> <span class='hs-layout'>(</span><span class='hs-varid'>notebook</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>viewBox</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span>
<a name="line-256"></a>
<a name="line-257"></a> <span class='hs-comment'>-- destroy old view and tab page</span>
<a name="line-258"></a> <span class='hs-varid'>view'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>view</span> <span class='hs-varid'>myview</span>
<a name="line-259"></a> <span class='hs-varid'>widgetDestroy</span> <span class='hs-layout'>(</span><span class='hs-varid'>fmViewToContainer</span> <span class='hs-varid'>view'</span><span class='hs-layout'>)</span>
<a name="line-260"></a> <span class='hs-varid'>notebookRemovePage</span> <span class='hs-layout'>(</span><span class='hs-varid'>notebook</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span> <span class='hs-varid'>page</span>
<a name="line-255"></a> <span class='hs-comment'>-- destroy old view and tab page</span>
<a name="line-256"></a> <span class='hs-varid'>view'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>view</span> <span class='hs-varid'>myview</span>
<a name="line-257"></a> <span class='hs-varid'>widgetDestroy</span> <span class='hs-layout'>(</span><span class='hs-varid'>fmViewToContainer</span> <span class='hs-varid'>view'</span><span class='hs-layout'>)</span>
<a name="line-258"></a> <span class='hs-varid'>notebookRemovePage</span> <span class='hs-layout'>(</span><span class='hs-varid'>notebook</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span> <span class='hs-varid'>page</span>
<a name="line-259"></a>
<a name="line-260"></a> <span class='hs-varid'>return</span> <span class='hs-varid'>page</span>
<a name="line-261"></a>
<a name="line-262"></a> <span class='hs-varid'>return</span> <span class='hs-varid'>page</span>
<a name="line-263"></a>
<a name="line-264"></a>
<a name="line-265"></a><a name="createIconView"></a><span class='hs-comment'>-- |Createss an IconView.</span>
<a name="line-266"></a><span class='hs-definition'>createIconView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>FMView</span>
<a name="line-267"></a><span class='hs-definition'>createIconView</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-268"></a> <span class='hs-varid'>iconv</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>iconViewNew</span>
<a name="line-269"></a> <span class='hs-varid'>iconViewSetSelectionMode</span> <span class='hs-varid'>iconv</span> <span class='hs-conid'>SelectionMultiple</span>
<a name="line-270"></a> <span class='hs-varid'>iconViewSetColumns</span> <span class='hs-varid'>iconv</span> <span class='hs-layout'>(</span><span class='hs-comment'>-</span><span class='hs-num'>1</span><span class='hs-layout'>)</span>
<a name="line-271"></a> <span class='hs-varid'>iconViewSetSpacing</span> <span class='hs-varid'>iconv</span> <span class='hs-num'>2</span>
<a name="line-272"></a> <span class='hs-varid'>iconViewSetMargin</span> <span class='hs-varid'>iconv</span> <span class='hs-num'>0</span>
<a name="line-273"></a> <span class='hs-comment'>{- set iconv [ iconViewItemOrientation := OrientationHorizontal ] -}</span>
<a name="line-274"></a> <span class='hs-comment'>{- set iconv [ iconViewOrientation := OrientationHorizontal ] -}</span>
<a name="line-262"></a>
<a name="line-263"></a><a name="createIconView"></a><span class='hs-comment'>-- |Createss an IconView.</span>
<a name="line-264"></a><span class='hs-definition'>createIconView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>FMView</span>
<a name="line-265"></a><span class='hs-definition'>createIconView</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-266"></a> <span class='hs-varid'>iconv</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>iconViewNew</span>
<a name="line-267"></a> <span class='hs-varid'>iconViewSetSelectionMode</span> <span class='hs-varid'>iconv</span> <span class='hs-conid'>SelectionMultiple</span>
<a name="line-268"></a> <span class='hs-varid'>iconViewSetColumns</span> <span class='hs-varid'>iconv</span> <span class='hs-layout'>(</span><span class='hs-comment'>-</span><span class='hs-num'>1</span><span class='hs-layout'>)</span>
<a name="line-269"></a> <span class='hs-varid'>iconViewSetSpacing</span> <span class='hs-varid'>iconv</span> <span class='hs-num'>2</span>
<a name="line-270"></a> <span class='hs-varid'>iconViewSetMargin</span> <span class='hs-varid'>iconv</span> <span class='hs-num'>0</span>
<a name="line-271"></a> <span class='hs-comment'>{- set iconv [ iconViewItemOrientation := OrientationHorizontal ] -}</span>
<a name="line-272"></a> <span class='hs-comment'>{- set iconv [ iconViewOrientation := OrientationHorizontal ] -}</span>
<a name="line-273"></a>
<a name="line-274"></a> <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-conid'>FMIconView</span> <span class='hs-varid'>iconv</span>
<a name="line-275"></a>
<a name="line-276"></a> <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-conid'>FMIconView</span> <span class='hs-varid'>iconv</span>
<a name="line-277"></a>
<a name="line-278"></a>
<a name="line-279"></a><a name="createTreeView"></a><span class='hs-comment'>-- |Creates a TreeView.</span>
<a name="line-280"></a><span class='hs-definition'>createTreeView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>FMView</span>
<a name="line-281"></a><span class='hs-definition'>createTreeView</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-282"></a> <span class='hs-comment'>-- create the final view</span>
<a name="line-283"></a> <span class='hs-varid'>treeView</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewNew</span>
<a name="line-284"></a> <span class='hs-comment'>-- set selection mode</span>
<a name="line-285"></a> <span class='hs-varid'>tvs</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewGetSelection</span> <span class='hs-varid'>treeView</span>
<a name="line-286"></a> <span class='hs-varid'>treeSelectionSetMode</span> <span class='hs-varid'>tvs</span> <span class='hs-conid'>SelectionMultiple</span>
<a name="line-287"></a>
<a name="line-288"></a> <span class='hs-comment'>-- set drag and drop</span>
<a name="line-289"></a> <span class='hs-varid'>tl</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>targetListNew</span>
<a name="line-290"></a> <span class='hs-varid'>atom</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>atomNew</span> <span class='hs-layout'>(</span><span class='hs-str'>"HSFM"</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
<a name="line-291"></a> <span class='hs-varid'>targetListAdd</span> <span class='hs-varid'>tl</span> <span class='hs-varid'>atom</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>TargetSameApp</span><span class='hs-keyglyph'>]</span> <span class='hs-num'>0</span>
<a name="line-292"></a> <span class='hs-varid'>treeViewEnableModelDragDest</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>tl</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>ActionCopy</span><span class='hs-keyglyph'>]</span>
<a name="line-293"></a> <span class='hs-varid'>treeViewEnableModelDragSource</span> <span class='hs-varid'>treeView</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Button1</span><span class='hs-keyglyph'>]</span> <span class='hs-varid'>tl</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>ActionCopy</span><span class='hs-keyglyph'>]</span>
<a name="line-294"></a>
<a name="line-295"></a> <span class='hs-comment'>-- create final tree model columns</span>
<a name="line-296"></a> <span class='hs-varid'>renderTxt</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>cellRendererTextNew</span>
<a name="line-297"></a> <span class='hs-varid'>renderPix</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>cellRendererPixbufNew</span>
<a name="line-298"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>ct</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cellText</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>CellRendererTextClass</span> <span class='hs-varid'>cr</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>cr</span> <span class='hs-conid'>String</span>
<a name="line-299"></a> <span class='hs-varid'>cp</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cellPixbuf</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>CellRendererPixbufClass</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Pixbuf</span>
<a name="line-300"></a>
<a name="line-301"></a> <span class='hs-comment'>-- filename column</span>
<a name="line-302"></a> <span class='hs-varid'>cF</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewColumnNew</span>
<a name="line-303"></a> <span class='hs-varid'>treeViewColumnSetTitle</span> <span class='hs-varid'>cF</span> <span class='hs-layout'>(</span><span class='hs-str'>"Filename"</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
<a name="line-304"></a> <span class='hs-varid'>treeViewColumnSetResizable</span> <span class='hs-varid'>cF</span> <span class='hs-conid'>True</span>
<a name="line-305"></a> <span class='hs-varid'>treeViewColumnSetClickable</span> <span class='hs-varid'>cF</span> <span class='hs-conid'>True</span>
<a name="line-306"></a> <span class='hs-varid'>treeViewColumnSetSortColumnId</span> <span class='hs-varid'>cF</span> <span class='hs-num'>1</span>
<a name="line-307"></a> <span class='hs-varid'>cellLayoutPackStart</span> <span class='hs-varid'>cF</span> <span class='hs-varid'>renderPix</span> <span class='hs-conid'>False</span>
<a name="line-308"></a> <span class='hs-varid'>cellLayoutPackStart</span> <span class='hs-varid'>cF</span> <span class='hs-varid'>renderTxt</span> <span class='hs-conid'>True</span>
<a name="line-309"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewAppendColumn</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>cF</span>
<a name="line-310"></a> <span class='hs-varid'>cellLayoutAddColumnAttribute</span> <span class='hs-varid'>cF</span> <span class='hs-varid'>renderPix</span> <span class='hs-varid'>cp</span> <span class='hs-varop'>$</span> <span class='hs-varid'>makeColumnIdPixbuf</span> <span class='hs-num'>0</span>
<a name="line-311"></a> <span class='hs-varid'>cellLayoutAddColumnAttribute</span> <span class='hs-varid'>cF</span> <span class='hs-varid'>renderTxt</span> <span class='hs-varid'>ct</span> <span class='hs-varop'>$</span> <span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>1</span>
<a name="line-312"></a>
<a name="line-313"></a> <span class='hs-comment'>-- date column</span>
<a name="line-314"></a> <span class='hs-varid'>cMD</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewColumnNew</span>
<a name="line-315"></a> <span class='hs-varid'>treeViewColumnSetTitle</span> <span class='hs-varid'>cMD</span> <span class='hs-layout'>(</span><span class='hs-str'>"Date"</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
<a name="line-316"></a> <span class='hs-varid'>treeViewColumnSetResizable</span> <span class='hs-varid'>cMD</span> <span class='hs-conid'>True</span>
<a name="line-317"></a> <span class='hs-varid'>treeViewColumnSetClickable</span> <span class='hs-varid'>cMD</span> <span class='hs-conid'>True</span>
<a name="line-318"></a> <span class='hs-varid'>treeViewColumnSetSortColumnId</span> <span class='hs-varid'>cMD</span> <span class='hs-num'>2</span>
<a name="line-319"></a> <span class='hs-varid'>cellLayoutPackStart</span> <span class='hs-varid'>cMD</span> <span class='hs-varid'>renderTxt</span> <span class='hs-conid'>True</span>
<a name="line-320"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewAppendColumn</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>cMD</span>
<a name="line-321"></a> <span class='hs-varid'>cellLayoutAddColumnAttribute</span> <span class='hs-varid'>cMD</span> <span class='hs-varid'>renderTxt</span> <span class='hs-varid'>ct</span> <span class='hs-varop'>$</span> <span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>2</span>
<a name="line-322"></a>
<a name="line-323"></a> <span class='hs-comment'>-- permissions column</span>
<a name="line-324"></a> <span class='hs-varid'>cP</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewColumnNew</span>
<a name="line-325"></a> <span class='hs-varid'>treeViewColumnSetTitle</span> <span class='hs-varid'>cP</span> <span class='hs-layout'>(</span><span class='hs-str'>"Permission"</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
<a name="line-326"></a> <span class='hs-varid'>treeViewColumnSetResizable</span> <span class='hs-varid'>cP</span> <span class='hs-conid'>True</span>
<a name="line-327"></a> <span class='hs-varid'>treeViewColumnSetClickable</span> <span class='hs-varid'>cP</span> <span class='hs-conid'>True</span>
<a name="line-328"></a> <span class='hs-varid'>treeViewColumnSetSortColumnId</span> <span class='hs-varid'>cP</span> <span class='hs-num'>3</span>
<a name="line-329"></a> <span class='hs-varid'>cellLayoutPackStart</span> <span class='hs-varid'>cP</span> <span class='hs-varid'>renderTxt</span> <span class='hs-conid'>True</span>
<a name="line-330"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewAppendColumn</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>cP</span>
<a name="line-331"></a> <span class='hs-varid'>cellLayoutAddColumnAttribute</span> <span class='hs-varid'>cP</span> <span class='hs-varid'>renderTxt</span> <span class='hs-varid'>ct</span> <span class='hs-varop'>$</span> <span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>3</span>
<a name="line-276"></a>
<a name="line-277"></a><a name="createTreeView"></a><span class='hs-comment'>-- |Creates a TreeView.</span>
<a name="line-278"></a><span class='hs-definition'>createTreeView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>FMView</span>
<a name="line-279"></a><span class='hs-definition'>createTreeView</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-280"></a> <span class='hs-comment'>-- create the final view</span>
<a name="line-281"></a> <span class='hs-varid'>treeView</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewNew</span>
<a name="line-282"></a> <span class='hs-comment'>-- set selection mode</span>
<a name="line-283"></a> <span class='hs-varid'>tvs</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewGetSelection</span> <span class='hs-varid'>treeView</span>
<a name="line-284"></a> <span class='hs-varid'>treeSelectionSetMode</span> <span class='hs-varid'>tvs</span> <span class='hs-conid'>SelectionMultiple</span>
<a name="line-285"></a>
<a name="line-286"></a> <span class='hs-comment'>-- set drag and drop</span>
<a name="line-287"></a> <span class='hs-varid'>tl</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>targetListNew</span>
<a name="line-288"></a> <span class='hs-varid'>atom</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>atomNew</span> <span class='hs-layout'>(</span><span class='hs-str'>"HSFM"</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
<a name="line-289"></a> <span class='hs-varid'>targetListAdd</span> <span class='hs-varid'>tl</span> <span class='hs-varid'>atom</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>TargetSameApp</span><span class='hs-keyglyph'>]</span> <span class='hs-num'>0</span>
<a name="line-290"></a> <span class='hs-varid'>treeViewEnableModelDragDest</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>tl</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>ActionCopy</span><span class='hs-keyglyph'>]</span>
<a name="line-291"></a> <span class='hs-varid'>treeViewEnableModelDragSource</span> <span class='hs-varid'>treeView</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Button1</span><span class='hs-keyglyph'>]</span> <span class='hs-varid'>tl</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>ActionCopy</span><span class='hs-keyglyph'>]</span>
<a name="line-292"></a>
<a name="line-293"></a> <span class='hs-comment'>-- create final tree model columns</span>
<a name="line-294"></a> <span class='hs-varid'>renderTxt</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>cellRendererTextNew</span>
<a name="line-295"></a> <span class='hs-varid'>renderPix</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>cellRendererPixbufNew</span>
<a name="line-296"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>ct</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cellText</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>CellRendererTextClass</span> <span class='hs-varid'>cr</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>cr</span> <span class='hs-conid'>String</span>
<a name="line-297"></a> <span class='hs-varid'>cp</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cellPixbuf</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>CellRendererPixbufClass</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Pixbuf</span>
<a name="line-298"></a>
<a name="line-299"></a> <span class='hs-comment'>-- filename column</span>
<a name="line-300"></a> <span class='hs-varid'>cF</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewColumnNew</span>
<a name="line-301"></a> <span class='hs-varid'>treeViewColumnSetTitle</span> <span class='hs-varid'>cF</span> <span class='hs-layout'>(</span><span class='hs-str'>"Filename"</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
<a name="line-302"></a> <span class='hs-varid'>treeViewColumnSetResizable</span> <span class='hs-varid'>cF</span> <span class='hs-conid'>True</span>
<a name="line-303"></a> <span class='hs-varid'>treeViewColumnSetClickable</span> <span class='hs-varid'>cF</span> <span class='hs-conid'>True</span>
<a name="line-304"></a> <span class='hs-varid'>treeViewColumnSetSortColumnId</span> <span class='hs-varid'>cF</span> <span class='hs-num'>1</span>
<a name="line-305"></a> <span class='hs-varid'>cellLayoutPackStart</span> <span class='hs-varid'>cF</span> <span class='hs-varid'>renderPix</span> <span class='hs-conid'>False</span>
<a name="line-306"></a> <span class='hs-varid'>cellLayoutPackStart</span> <span class='hs-varid'>cF</span> <span class='hs-varid'>renderTxt</span> <span class='hs-conid'>True</span>
<a name="line-307"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewAppendColumn</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>cF</span>
<a name="line-308"></a> <span class='hs-varid'>cellLayoutAddColumnAttribute</span> <span class='hs-varid'>cF</span> <span class='hs-varid'>renderPix</span> <span class='hs-varid'>cp</span> <span class='hs-varop'>$</span> <span class='hs-varid'>makeColumnIdPixbuf</span> <span class='hs-num'>0</span>
<a name="line-309"></a> <span class='hs-varid'>cellLayoutAddColumnAttribute</span> <span class='hs-varid'>cF</span> <span class='hs-varid'>renderTxt</span> <span class='hs-varid'>ct</span> <span class='hs-varop'>$</span> <span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>1</span>
<a name="line-310"></a>
<a name="line-311"></a> <span class='hs-comment'>-- date column</span>
<a name="line-312"></a> <span class='hs-varid'>cMD</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewColumnNew</span>
<a name="line-313"></a> <span class='hs-varid'>treeViewColumnSetTitle</span> <span class='hs-varid'>cMD</span> <span class='hs-layout'>(</span><span class='hs-str'>"Date"</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
<a name="line-314"></a> <span class='hs-varid'>treeViewColumnSetResizable</span> <span class='hs-varid'>cMD</span> <span class='hs-conid'>True</span>
<a name="line-315"></a> <span class='hs-varid'>treeViewColumnSetClickable</span> <span class='hs-varid'>cMD</span> <span class='hs-conid'>True</span>
<a name="line-316"></a> <span class='hs-varid'>treeViewColumnSetSortColumnId</span> <span class='hs-varid'>cMD</span> <span class='hs-num'>2</span>
<a name="line-317"></a> <span class='hs-varid'>cellLayoutPackStart</span> <span class='hs-varid'>cMD</span> <span class='hs-varid'>renderTxt</span> <span class='hs-conid'>True</span>
<a name="line-318"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewAppendColumn</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>cMD</span>
<a name="line-319"></a> <span class='hs-varid'>cellLayoutAddColumnAttribute</span> <span class='hs-varid'>cMD</span> <span class='hs-varid'>renderTxt</span> <span class='hs-varid'>ct</span> <span class='hs-varop'>$</span> <span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>2</span>
<a name="line-320"></a>
<a name="line-321"></a> <span class='hs-comment'>-- permissions column</span>
<a name="line-322"></a> <span class='hs-varid'>cP</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewColumnNew</span>
<a name="line-323"></a> <span class='hs-varid'>treeViewColumnSetTitle</span> <span class='hs-varid'>cP</span> <span class='hs-layout'>(</span><span class='hs-str'>"Permission"</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
<a name="line-324"></a> <span class='hs-varid'>treeViewColumnSetResizable</span> <span class='hs-varid'>cP</span> <span class='hs-conid'>True</span>
<a name="line-325"></a> <span class='hs-varid'>treeViewColumnSetClickable</span> <span class='hs-varid'>cP</span> <span class='hs-conid'>True</span>
<a name="line-326"></a> <span class='hs-varid'>treeViewColumnSetSortColumnId</span> <span class='hs-varid'>cP</span> <span class='hs-num'>3</span>
<a name="line-327"></a> <span class='hs-varid'>cellLayoutPackStart</span> <span class='hs-varid'>cP</span> <span class='hs-varid'>renderTxt</span> <span class='hs-conid'>True</span>
<a name="line-328"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewAppendColumn</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>cP</span>
<a name="line-329"></a> <span class='hs-varid'>cellLayoutAddColumnAttribute</span> <span class='hs-varid'>cP</span> <span class='hs-varid'>renderTxt</span> <span class='hs-varid'>ct</span> <span class='hs-varop'>$</span> <span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>3</span>
<a name="line-330"></a>
<a name="line-331"></a> <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-conid'>FMTreeView</span> <span class='hs-varid'>treeView</span>
<a name="line-332"></a>
<a name="line-333"></a> <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-conid'>FMTreeView</span> <span class='hs-varid'>treeView</span>
<a name="line-334"></a>
<a name="line-335"></a>
<a name="line-336"></a><a name="refreshView"></a><span class='hs-comment'>-- |Refreshes the View based on the given directory.</span>
<a name="line-333"></a>
<a name="line-334"></a><a name="refreshView"></a><span class='hs-comment'>-- |Refreshes the View based on the given directory.</span>
<a name="line-335"></a><span class='hs-comment'>--</span>
<a name="line-336"></a><span class='hs-comment'>-- Throws:</span>
<a name="line-337"></a><span class='hs-comment'>--</span>
<a name="line-338"></a><span class='hs-comment'>-- Throws:</span>
<a name="line-339"></a><span class='hs-comment'>--</span>
<a name="line-340"></a><span class='hs-comment'>-- - `userError` on inappropriate type</span>
<a name="line-341"></a><span class='hs-definition'>refreshView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span>
<a name="line-342"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span>
<a name="line-343"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Item</span>
<a name="line-344"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-345"></a><span class='hs-definition'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-conid'>SymLink</span> <span class='hs-layout'>{</span> <span class='hs-varid'>sdest</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Just</span> <span class='hs-varid'>d</span><span class='hs-keyglyph'>@</span><span class='hs-conid'>Dir</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span>
<a name="line-346"></a> <span class='hs-varid'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>d</span>
<a name="line-347"></a><span class='hs-definition'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>item</span><span class='hs-keyglyph'>@</span><span class='hs-conid'>Dir</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-348"></a> <span class='hs-varid'>newRawModel</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>fileListStore</span> <span class='hs-varid'>item</span> <span class='hs-varid'>myview</span>
<a name="line-349"></a> <span class='hs-varid'>writeTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>rawModel</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>newRawModel</span>
<a name="line-338"></a><span class='hs-comment'>-- - `userError` on inappropriate type</span>
<a name="line-339"></a><span class='hs-definition'>refreshView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span>
<a name="line-340"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span>
<a name="line-341"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Item</span>
<a name="line-342"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-343"></a><span class='hs-definition'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-conid'>SymLink</span> <span class='hs-layout'>{</span> <span class='hs-varid'>sdest</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Just</span> <span class='hs-varid'>d</span><span class='hs-keyglyph'>@</span><span class='hs-conid'>Dir</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span>
<a name="line-344"></a> <span class='hs-varid'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>d</span>
<a name="line-345"></a><span class='hs-definition'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>item</span><span class='hs-keyglyph'>@</span><span class='hs-conid'>Dir</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-346"></a> <span class='hs-varid'>newRawModel</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>fileListStore</span> <span class='hs-varid'>item</span> <span class='hs-varid'>myview</span>
<a name="line-347"></a> <span class='hs-varid'>writeTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>rawModel</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>newRawModel</span>
<a name="line-348"></a>
<a name="line-349"></a> <span class='hs-varid'>view'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>view</span> <span class='hs-varid'>myview</span>
<a name="line-350"></a>
<a name="line-351"></a> <span class='hs-varid'>view'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>view</span> <span class='hs-varid'>myview</span>
<a name="line-352"></a>
<a name="line-353"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>tryTakeMVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>cwd</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span>
<a name="line-354"></a> <span class='hs-varid'>putMVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>cwd</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>item</span>
<a name="line-355"></a>
<a name="line-356"></a> <span class='hs-comment'>-- get selected items</span>
<a name="line-357"></a> <span class='hs-varid'>tps</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getSelectedTreePaths</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
<a name="line-358"></a> <span class='hs-varid'>trs</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>catMaybes</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>mapM</span> <span class='hs-layout'>(</span><span class='hs-varid'>treeRowReferenceNew</span> <span class='hs-varid'>newRawModel</span><span class='hs-layout'>)</span> <span class='hs-varid'>tps</span>
<a name="line-351"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>tryTakeMVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>cwd</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span>
<a name="line-352"></a> <span class='hs-varid'>putMVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>cwd</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>item</span>
<a name="line-353"></a>
<a name="line-354"></a> <span class='hs-comment'>-- get selected items</span>
<a name="line-355"></a> <span class='hs-varid'>tps</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getSelectedTreePaths</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
<a name="line-356"></a> <span class='hs-varid'>trs</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>catMaybes</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>mapM</span> <span class='hs-layout'>(</span><span class='hs-varid'>treeRowReferenceNew</span> <span class='hs-varid'>newRawModel</span><span class='hs-layout'>)</span> <span class='hs-varid'>tps</span>
<a name="line-357"></a>
<a name="line-358"></a> <span class='hs-varid'>constructView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
<a name="line-359"></a>
<a name="line-360"></a> <span class='hs-varid'>constructView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
<a name="line-361"></a>
<a name="line-362"></a> <span class='hs-comment'>-- reselect selected items</span>
<a name="line-363"></a> <span class='hs-comment'>-- TODO: not implemented for icon view yet</span>
<a name="line-364"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>view'</span> <span class='hs-keyword'>of</span>
<a name="line-365"></a> <span class='hs-conid'>FMTreeView</span> <span class='hs-varid'>treeView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-366"></a> <span class='hs-varid'>tvs</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewGetSelection</span> <span class='hs-varid'>treeView</span>
<a name="line-367"></a> <span class='hs-varid'>ntps</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>mapM</span> <span class='hs-varid'>treeRowReferenceGetPath</span> <span class='hs-varid'>trs</span>
<a name="line-368"></a> <span class='hs-varid'>mapM_</span> <span class='hs-layout'>(</span><span class='hs-varid'>treeSelectionSelectPath</span> <span class='hs-varid'>tvs</span><span class='hs-layout'>)</span> <span class='hs-varid'>ntps</span>
<a name="line-369"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
<a name="line-370"></a><span class='hs-definition'>refreshView</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>ioError</span> <span class='hs-varop'>$</span> <span class='hs-varid'>userError</span> <span class='hs-str'>"Inappropriate type!"</span>
<a name="line-371"></a>
<a name="line-372"></a>
<a name="line-373"></a><a name="constructView"></a><span class='hs-comment'>-- |Constructs the visible View with the current underlying mutable models,</span>
<a name="line-374"></a><span class='hs-comment'>-- which are retrieved from 'MyGUI'.</span>
<a name="line-375"></a><span class='hs-comment'>--</span>
<a name="line-376"></a><span class='hs-comment'>-- This sort of merges the components mygui and myview and fires up</span>
<a name="line-377"></a><span class='hs-comment'>-- the actual models.</span>
<a name="line-378"></a><span class='hs-definition'>constructView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span>
<a name="line-379"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span>
<a name="line-380"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-381"></a><span class='hs-definition'>constructView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-382"></a> <span class='hs-varid'>settings'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>settings</span> <span class='hs-varid'>mygui</span>
<a name="line-383"></a>
<a name="line-384"></a> <span class='hs-comment'>-- pix stuff</span>
<a name="line-385"></a> <span class='hs-varid'>iT</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>iconThemeGetDefault</span>
<a name="line-386"></a> <span class='hs-varid'>folderPix</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getIcon</span> <span class='hs-conid'>IFolder</span> <span class='hs-varid'>iT</span> <span class='hs-layout'>(</span><span class='hs-varid'>iconSize</span> <span class='hs-varid'>settings'</span><span class='hs-layout'>)</span>
<a name="line-387"></a> <span class='hs-varid'>folderSymPix</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getSymlinkIcon</span> <span class='hs-conid'>IFolder</span> <span class='hs-varid'>iT</span> <span class='hs-layout'>(</span><span class='hs-varid'>iconSize</span> <span class='hs-varid'>settings'</span><span class='hs-layout'>)</span>
<a name="line-388"></a> <span class='hs-varid'>filePix</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getIcon</span> <span class='hs-conid'>IFile</span> <span class='hs-varid'>iT</span> <span class='hs-layout'>(</span><span class='hs-varid'>iconSize</span> <span class='hs-varid'>settings'</span><span class='hs-layout'>)</span>
<a name="line-389"></a> <span class='hs-varid'>fileSymPix</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getSymlinkIcon</span> <span class='hs-conid'>IFile</span> <span class='hs-varid'>iT</span> <span class='hs-layout'>(</span><span class='hs-varid'>iconSize</span> <span class='hs-varid'>settings'</span><span class='hs-layout'>)</span>
<a name="line-390"></a> <span class='hs-varid'>errorPix</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getIcon</span> <span class='hs-conid'>IError</span> <span class='hs-varid'>iT</span> <span class='hs-layout'>(</span><span class='hs-varid'>iconSize</span> <span class='hs-varid'>settings'</span><span class='hs-layout'>)</span>
<a name="line-391"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>dirtreePix</span> <span class='hs-conid'>Dir</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>folderPix</span>
<a name="line-392"></a> <span class='hs-varid'>dirtreePix</span> <span class='hs-conid'>FileLike</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>filePix</span>
<a name="line-393"></a> <span class='hs-varid'>dirtreePix</span> <span class='hs-conid'>DirSym</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>folderSymPix</span>
<a name="line-394"></a> <span class='hs-varid'>dirtreePix</span> <span class='hs-conid'>FileLikeSym</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>fileSymPix</span>
<a name="line-395"></a> <span class='hs-varid'>dirtreePix</span> <span class='hs-conid'>BrokenSymlink</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>errorPix</span>
<a name="line-396"></a> <span class='hs-varid'>dirtreePix</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>errorPix</span>
<a name="line-397"></a>
<a name="line-360"></a> <span class='hs-comment'>-- reselect selected items</span>
<a name="line-361"></a> <span class='hs-comment'>-- TODO: not implemented for icon view yet</span>
<a name="line-362"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>view'</span> <span class='hs-keyword'>of</span>
<a name="line-363"></a> <span class='hs-conid'>FMTreeView</span> <span class='hs-varid'>treeView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-364"></a> <span class='hs-varid'>tvs</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewGetSelection</span> <span class='hs-varid'>treeView</span>
<a name="line-365"></a> <span class='hs-varid'>ntps</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>mapM</span> <span class='hs-varid'>treeRowReferenceGetPath</span> <span class='hs-varid'>trs</span>
<a name="line-366"></a> <span class='hs-varid'>mapM_</span> <span class='hs-layout'>(</span><span class='hs-varid'>treeSelectionSelectPath</span> <span class='hs-varid'>tvs</span><span class='hs-layout'>)</span> <span class='hs-varid'>ntps</span>
<a name="line-367"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
<a name="line-368"></a><span class='hs-definition'>refreshView</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>ioError</span> <span class='hs-varop'>$</span> <span class='hs-varid'>userError</span> <span class='hs-str'>"Inappropriate type!"</span>
<a name="line-369"></a>
<a name="line-370"></a>
<a name="line-371"></a><a name="constructView"></a><span class='hs-comment'>-- |Constructs the visible View with the current underlying mutable models,</span>
<a name="line-372"></a><span class='hs-comment'>-- which are retrieved from 'MyGUI'.</span>
<a name="line-373"></a><span class='hs-comment'>--</span>
<a name="line-374"></a><span class='hs-comment'>-- This sort of merges the components mygui and myview and fires up</span>
<a name="line-375"></a><span class='hs-comment'>-- the actual models.</span>
<a name="line-376"></a><span class='hs-definition'>constructView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span>
<a name="line-377"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span>
<a name="line-378"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-379"></a><span class='hs-definition'>constructView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-380"></a> <span class='hs-varid'>settings'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>settings</span> <span class='hs-varid'>mygui</span>
<a name="line-381"></a>
<a name="line-382"></a> <span class='hs-comment'>-- pix stuff</span>
<a name="line-383"></a> <span class='hs-varid'>iT</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>iconThemeGetDefault</span>
<a name="line-384"></a> <span class='hs-varid'>folderPix</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getIcon</span> <span class='hs-conid'>IFolder</span> <span class='hs-varid'>iT</span> <span class='hs-layout'>(</span><span class='hs-varid'>iconSize</span> <span class='hs-varid'>settings'</span><span class='hs-layout'>)</span>
<a name="line-385"></a> <span class='hs-varid'>folderSymPix</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getSymlinkIcon</span> <span class='hs-conid'>IFolder</span> <span class='hs-varid'>iT</span> <span class='hs-layout'>(</span><span class='hs-varid'>iconSize</span> <span class='hs-varid'>settings'</span><span class='hs-layout'>)</span>
<a name="line-386"></a> <span class='hs-varid'>filePix</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getIcon</span> <span class='hs-conid'>IFile</span> <span class='hs-varid'>iT</span> <span class='hs-layout'>(</span><span class='hs-varid'>iconSize</span> <span class='hs-varid'>settings'</span><span class='hs-layout'>)</span>
<a name="line-387"></a> <span class='hs-varid'>fileSymPix</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getSymlinkIcon</span> <span class='hs-conid'>IFile</span> <span class='hs-varid'>iT</span> <span class='hs-layout'>(</span><span class='hs-varid'>iconSize</span> <span class='hs-varid'>settings'</span><span class='hs-layout'>)</span>
<a name="line-388"></a> <span class='hs-varid'>errorPix</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getIcon</span> <span class='hs-conid'>IError</span> <span class='hs-varid'>iT</span> <span class='hs-layout'>(</span><span class='hs-varid'>iconSize</span> <span class='hs-varid'>settings'</span><span class='hs-layout'>)</span>
<a name="line-389"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>dirtreePix</span> <span class='hs-conid'>Dir</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>folderPix</span>
<a name="line-390"></a> <span class='hs-varid'>dirtreePix</span> <span class='hs-conid'>FileLike</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>filePix</span>
<a name="line-391"></a> <span class='hs-varid'>dirtreePix</span> <span class='hs-conid'>DirSym</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>folderSymPix</span>
<a name="line-392"></a> <span class='hs-varid'>dirtreePix</span> <span class='hs-conid'>FileLikeSym</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>fileSymPix</span>
<a name="line-393"></a> <span class='hs-varid'>dirtreePix</span> <span class='hs-conid'>BrokenSymlink</span><span class='hs-layout'>{</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>errorPix</span>
<a name="line-394"></a> <span class='hs-varid'>dirtreePix</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>errorPix</span>
<a name="line-395"></a>
<a name="line-396"></a>
<a name="line-397"></a> <span class='hs-varid'>view'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>view</span> <span class='hs-varid'>myview</span>
<a name="line-398"></a>
<a name="line-399"></a> <span class='hs-varid'>view'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>view</span> <span class='hs-varid'>myview</span>
<a name="line-400"></a>
<a name="line-401"></a> <span class='hs-varid'>cdir</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span>
<a name="line-402"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>cdirp</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>path</span> <span class='hs-varid'>cdir</span>
<a name="line-403"></a>
<a name="line-404"></a> <span class='hs-comment'>-- update urlBar</span>
<a name="line-405"></a> <span class='hs-varid'>entrySetText</span> <span class='hs-layout'>(</span><span class='hs-varid'>urlBar</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>fromAbs</span> <span class='hs-varid'>cdirp</span><span class='hs-layout'>)</span>
<a name="line-399"></a> <span class='hs-varid'>cdir</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getCurrentDir</span> <span class='hs-varid'>myview</span>
<a name="line-400"></a> <span class='hs-keyword'>let</span> <span class='hs-varid'>cdirp</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>path</span> <span class='hs-varid'>cdir</span>
<a name="line-401"></a>
<a name="line-402"></a> <span class='hs-comment'>-- update urlBar</span>
<a name="line-403"></a> <span class='hs-varid'>entrySetText</span> <span class='hs-layout'>(</span><span class='hs-varid'>urlBar</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>fromAbs</span> <span class='hs-varid'>cdirp</span><span class='hs-layout'>)</span>
<a name="line-404"></a>
<a name="line-405"></a> <span class='hs-varid'>rawModel'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>rawModel</span> <span class='hs-varid'>myview</span>
<a name="line-406"></a>
<a name="line-407"></a> <span class='hs-varid'>rawModel'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>rawModel</span> <span class='hs-varid'>myview</span>
<a name="line-408"></a>
<a name="line-409"></a> <span class='hs-comment'>-- filtering</span>
<a name="line-410"></a> <span class='hs-varid'>filteredModel'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeModelFilterNew</span> <span class='hs-varid'>rawModel'</span> <span class='hs-conid'>[]</span>
<a name="line-411"></a> <span class='hs-varid'>writeTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>filteredModel</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>filteredModel'</span>
<a name="line-412"></a> <span class='hs-varid'>treeModelFilterSetVisibleFunc</span> <span class='hs-varid'>filteredModel'</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>iter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-413"></a> <span class='hs-varid'>hidden</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>showHidden</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>settings</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span>
<a name="line-414"></a> <span class='hs-varid'>item</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeModelGetRow</span> <span class='hs-varid'>rawModel'</span> <span class='hs-varid'>iter</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-layout'>(</span><span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>basename</span> <span class='hs-varop'>.</span> <span class='hs-varid'>path</span><span class='hs-layout'>)</span>
<a name="line-415"></a> <span class='hs-keyword'>if</span> <span class='hs-varid'>hidden</span>
<a name="line-416"></a> <span class='hs-keyword'>then</span> <span class='hs-varid'>return</span> <span class='hs-conid'>True</span>
<a name="line-417"></a> <span class='hs-keyword'>else</span> <span class='hs-varid'>return</span> <span class='hs-varop'>.</span> <span class='hs-varid'>not</span> <span class='hs-varop'>.</span> <span class='hs-varid'>hiddenFile</span> <span class='hs-varop'>.</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>fromRel</span> <span class='hs-varop'>$</span> <span class='hs-varid'>item</span>
<a name="line-418"></a>
<a name="line-419"></a> <span class='hs-comment'>-- sorting</span>
<a name="line-420"></a> <span class='hs-varid'>sortedModel'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeModelSortNewWithModel</span> <span class='hs-varid'>filteredModel'</span>
<a name="line-421"></a> <span class='hs-varid'>writeTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>sortedModel</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>sortedModel'</span>
<a name="line-422"></a> <span class='hs-varid'>treeSortableSetSortFunc</span> <span class='hs-varid'>sortedModel'</span> <span class='hs-num'>1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>iter1</span> <span class='hs-varid'>iter2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-423"></a> <span class='hs-varid'>cIter1</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeModelFilterConvertIterToChildIter</span> <span class='hs-varid'>filteredModel'</span> <span class='hs-varid'>iter1</span>
<a name="line-424"></a> <span class='hs-varid'>cIter2</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeModelFilterConvertIterToChildIter</span> <span class='hs-varid'>filteredModel'</span> <span class='hs-varid'>iter2</span>
<a name="line-425"></a> <span class='hs-varid'>item1</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeModelGetRow</span> <span class='hs-varid'>rawModel'</span> <span class='hs-varid'>cIter1</span>
<a name="line-426"></a> <span class='hs-varid'>item2</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeModelGetRow</span> <span class='hs-varid'>rawModel'</span> <span class='hs-varid'>cIter2</span>
<a name="line-427"></a> <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>compare</span> <span class='hs-varid'>item1</span> <span class='hs-varid'>item2</span>
<a name="line-428"></a> <span class='hs-varid'>treeSortableSetSortColumnId</span> <span class='hs-varid'>sortedModel'</span> <span class='hs-num'>1</span> <span class='hs-conid'>SortAscending</span>
<a name="line-429"></a>
<a name="line-430"></a> <span class='hs-comment'>-- set values</span>
<a name="line-431"></a> <span class='hs-varid'>treeModelSetColumn</span> <span class='hs-varid'>rawModel'</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdPixbuf</span> <span class='hs-num'>0</span><span class='hs-layout'>)</span>
<a name="line-432"></a> <span class='hs-varid'>dirtreePix</span>
<a name="line-433"></a> <span class='hs-varid'>treeModelSetColumn</span> <span class='hs-varid'>rawModel'</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>1</span><span class='hs-layout'>)</span>
<a name="line-434"></a> <span class='hs-layout'>(</span><span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>toFilePath</span> <span class='hs-varop'>.</span> <span class='hs-varid'>fromJust</span> <span class='hs-varop'>.</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>basename</span> <span class='hs-varop'>.</span> <span class='hs-varid'>path</span><span class='hs-layout'>)</span>
<a name="line-435"></a> <span class='hs-varid'>treeModelSetColumn</span> <span class='hs-varid'>rawModel'</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>2</span><span class='hs-layout'>)</span>
<a name="line-436"></a> <span class='hs-varid'>packModTime</span>
<a name="line-437"></a> <span class='hs-varid'>treeModelSetColumn</span> <span class='hs-varid'>rawModel'</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>3</span><span class='hs-layout'>)</span>
<a name="line-438"></a> <span class='hs-varid'>packPermissions</span>
<a name="line-439"></a>
<a name="line-440"></a> <span class='hs-comment'>-- update model of view</span>
<a name="line-441"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>view'</span> <span class='hs-keyword'>of</span>
<a name="line-442"></a> <span class='hs-conid'>FMTreeView</span> <span class='hs-varid'>treeView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-443"></a> <span class='hs-varid'>treeViewSetModel</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>sortedModel'</span>
<a name="line-444"></a> <span class='hs-varid'>treeViewSetRubberBanding</span> <span class='hs-varid'>treeView</span> <span class='hs-conid'>True</span>
<a name="line-445"></a> <span class='hs-conid'>FMIconView</span> <span class='hs-varid'>iconView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-446"></a> <span class='hs-varid'>iconViewSetModel</span> <span class='hs-varid'>iconView</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>sortedModel'</span><span class='hs-layout'>)</span>
<a name="line-447"></a> <span class='hs-varid'>iconViewSetPixbufColumn</span> <span class='hs-varid'>iconView</span>
<a name="line-448"></a> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdPixbuf</span> <span class='hs-num'>0</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ColumnId</span> <span class='hs-varid'>item</span> <span class='hs-conid'>Pixbuf</span><span class='hs-layout'>)</span>
<a name="line-449"></a> <span class='hs-varid'>iconViewSetTextColumn</span> <span class='hs-varid'>iconView</span>
<a name="line-450"></a> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>1</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ColumnId</span> <span class='hs-varid'>item</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
<a name="line-451"></a>
<a name="line-452"></a> <span class='hs-comment'>-- add watcher</span>
<a name="line-453"></a> <span class='hs-varid'>mi</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>tryTakeMVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>inotify</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span>
<a name="line-454"></a> <span class='hs-varid'>for_</span> <span class='hs-varid'>mi</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>i</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>killINotify</span> <span class='hs-varid'>i</span>
<a name="line-455"></a> <span class='hs-varid'>newi</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>initINotify</span>
<a name="line-456"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>addWatch</span>
<a name="line-457"></a> <span class='hs-varid'>newi</span>
<a name="line-458"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Move</span><span class='hs-layout'>,</span> <span class='hs-conid'>MoveIn</span><span class='hs-layout'>,</span> <span class='hs-conid'>MoveOut</span><span class='hs-layout'>,</span> <span class='hs-conid'>MoveSelf</span><span class='hs-layout'>,</span> <span class='hs-conid'>Create</span><span class='hs-layout'>,</span> <span class='hs-conid'>Delete</span><span class='hs-layout'>,</span> <span class='hs-conid'>DeleteSelf</span><span class='hs-keyglyph'>]</span>
<a name="line-459"></a> <span class='hs-layout'>(</span><span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>fromAbs</span> <span class='hs-varid'>cdirp</span><span class='hs-layout'>)</span>
<a name="line-460"></a> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>postGUIAsync</span> <span class='hs-varop'>$</span> <span class='hs-varid'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>cdir</span><span class='hs-layout'>)</span>
<a name="line-461"></a> <span class='hs-varid'>putMVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>inotify</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>newi</span>
<a name="line-462"></a>
<a name="line-463"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
<a name="line-407"></a> <span class='hs-comment'>-- filtering</span>
<a name="line-408"></a> <span class='hs-varid'>filteredModel'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeModelFilterNew</span> <span class='hs-varid'>rawModel'</span> <span class='hs-conid'>[]</span>
<a name="line-409"></a> <span class='hs-varid'>writeTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>filteredModel</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>filteredModel'</span>
<a name="line-410"></a> <span class='hs-varid'>treeModelFilterSetVisibleFunc</span> <span class='hs-varid'>filteredModel'</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>iter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-411"></a> <span class='hs-varid'>hidden</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>showHidden</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>settings</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span>
<a name="line-412"></a> <span class='hs-varid'>item</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeModelGetRow</span> <span class='hs-varid'>rawModel'</span> <span class='hs-varid'>iter</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-layout'>(</span><span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>basename</span> <span class='hs-varop'>.</span> <span class='hs-varid'>path</span><span class='hs-layout'>)</span>
<a name="line-413"></a> <span class='hs-keyword'>if</span> <span class='hs-varid'>hidden</span>
<a name="line-414"></a> <span class='hs-keyword'>then</span> <span class='hs-varid'>return</span> <span class='hs-conid'>True</span>
<a name="line-415"></a> <span class='hs-keyword'>else</span> <span class='hs-varid'>return</span> <span class='hs-varop'>.</span> <span class='hs-varid'>not</span> <span class='hs-varop'>.</span> <span class='hs-varid'>hiddenFile</span> <span class='hs-varop'>.</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>fromRel</span> <span class='hs-varop'>$</span> <span class='hs-varid'>item</span>
<a name="line-416"></a>
<a name="line-417"></a> <span class='hs-comment'>-- sorting</span>
<a name="line-418"></a> <span class='hs-varid'>sortedModel'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeModelSortNewWithModel</span> <span class='hs-varid'>filteredModel'</span>
<a name="line-419"></a> <span class='hs-varid'>writeTVarIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>sortedModel</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>sortedModel'</span>
<a name="line-420"></a> <span class='hs-varid'>treeSortableSetSortFunc</span> <span class='hs-varid'>sortedModel'</span> <span class='hs-num'>1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>iter1</span> <span class='hs-varid'>iter2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-421"></a> <span class='hs-varid'>cIter1</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeModelFilterConvertIterToChildIter</span> <span class='hs-varid'>filteredModel'</span> <span class='hs-varid'>iter1</span>
<a name="line-422"></a> <span class='hs-varid'>cIter2</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeModelFilterConvertIterToChildIter</span> <span class='hs-varid'>filteredModel'</span> <span class='hs-varid'>iter2</span>
<a name="line-423"></a> <span class='hs-varid'>item1</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeModelGetRow</span> <span class='hs-varid'>rawModel'</span> <span class='hs-varid'>cIter1</span>
<a name="line-424"></a> <span class='hs-varid'>item2</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeModelGetRow</span> <span class='hs-varid'>rawModel'</span> <span class='hs-varid'>cIter2</span>
<a name="line-425"></a> <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>compare</span> <span class='hs-varid'>item1</span> <span class='hs-varid'>item2</span>
<a name="line-426"></a> <span class='hs-varid'>treeSortableSetSortColumnId</span> <span class='hs-varid'>sortedModel'</span> <span class='hs-num'>1</span> <span class='hs-conid'>SortAscending</span>
<a name="line-427"></a>
<a name="line-428"></a> <span class='hs-comment'>-- set values</span>
<a name="line-429"></a> <span class='hs-varid'>treeModelSetColumn</span> <span class='hs-varid'>rawModel'</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdPixbuf</span> <span class='hs-num'>0</span><span class='hs-layout'>)</span>
<a name="line-430"></a> <span class='hs-varid'>dirtreePix</span>
<a name="line-431"></a> <span class='hs-varid'>treeModelSetColumn</span> <span class='hs-varid'>rawModel'</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>1</span><span class='hs-layout'>)</span>
<a name="line-432"></a> <span class='hs-layout'>(</span><span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>toFilePath</span> <span class='hs-varop'>.</span> <span class='hs-varid'>fromJust</span> <span class='hs-varop'>.</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>basename</span> <span class='hs-varop'>.</span> <span class='hs-varid'>path</span><span class='hs-layout'>)</span>
<a name="line-433"></a> <span class='hs-varid'>treeModelSetColumn</span> <span class='hs-varid'>rawModel'</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>2</span><span class='hs-layout'>)</span>
<a name="line-434"></a> <span class='hs-varid'>packModTime</span>
<a name="line-435"></a> <span class='hs-varid'>treeModelSetColumn</span> <span class='hs-varid'>rawModel'</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>3</span><span class='hs-layout'>)</span>
<a name="line-436"></a> <span class='hs-varid'>packPermissions</span>
<a name="line-437"></a>
<a name="line-438"></a> <span class='hs-comment'>-- update model of view</span>
<a name="line-439"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>view'</span> <span class='hs-keyword'>of</span>
<a name="line-440"></a> <span class='hs-conid'>FMTreeView</span> <span class='hs-varid'>treeView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-441"></a> <span class='hs-varid'>treeViewSetModel</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>sortedModel'</span>
<a name="line-442"></a> <span class='hs-varid'>treeViewSetRubberBanding</span> <span class='hs-varid'>treeView</span> <span class='hs-conid'>True</span>
<a name="line-443"></a> <span class='hs-conid'>FMIconView</span> <span class='hs-varid'>iconView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-444"></a> <span class='hs-varid'>iconViewSetModel</span> <span class='hs-varid'>iconView</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>sortedModel'</span><span class='hs-layout'>)</span>
<a name="line-445"></a> <span class='hs-varid'>iconViewSetPixbufColumn</span> <span class='hs-varid'>iconView</span>
<a name="line-446"></a> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdPixbuf</span> <span class='hs-num'>0</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ColumnId</span> <span class='hs-varid'>item</span> <span class='hs-conid'>Pixbuf</span><span class='hs-layout'>)</span>
<a name="line-447"></a> <span class='hs-varid'>iconViewSetTextColumn</span> <span class='hs-varid'>iconView</span>
<a name="line-448"></a> <span class='hs-layout'>(</span><span class='hs-varid'>makeColumnIdString</span> <span class='hs-num'>1</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ColumnId</span> <span class='hs-varid'>item</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
<a name="line-449"></a>
<a name="line-450"></a> <span class='hs-comment'>-- add watcher</span>
<a name="line-451"></a> <span class='hs-varid'>mi</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>tryTakeMVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>inotify</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span>
<a name="line-452"></a> <span class='hs-varid'>for_</span> <span class='hs-varid'>mi</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>i</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>killINotify</span> <span class='hs-varid'>i</span>
<a name="line-453"></a> <span class='hs-varid'>newi</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>initINotify</span>
<a name="line-454"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>addWatch</span>
<a name="line-455"></a> <span class='hs-varid'>newi</span>
<a name="line-456"></a> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Move</span><span class='hs-layout'>,</span> <span class='hs-conid'>MoveIn</span><span class='hs-layout'>,</span> <span class='hs-conid'>MoveOut</span><span class='hs-layout'>,</span> <span class='hs-conid'>MoveSelf</span><span class='hs-layout'>,</span> <span class='hs-conid'>Create</span><span class='hs-layout'>,</span> <span class='hs-conid'>Delete</span><span class='hs-layout'>,</span> <span class='hs-conid'>DeleteSelf</span><span class='hs-keyglyph'>]</span>
<a name="line-457"></a> <span class='hs-layout'>(</span><span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>fromAbs</span> <span class='hs-varid'>cdirp</span><span class='hs-layout'>)</span>
<a name="line-458"></a> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>postGUIAsync</span> <span class='hs-varop'>$</span> <span class='hs-varid'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>cdir</span><span class='hs-layout'>)</span>
<a name="line-459"></a> <span class='hs-varid'>putMVar</span> <span class='hs-layout'>(</span><span class='hs-varid'>inotify</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>newi</span>
<a name="line-460"></a>
<a name="line-461"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
</pre></body>
</html>

View File

@ -26,36 +26,36 @@
<a name="line-17"></a>--}</span>
<a name="line-18"></a>
<a name="line-19"></a>
<a name="line-20"></a><span class='hs-comment'>{-# LANGUAGE TupleSections #-}</span>
<a name="line-21"></a><span class='hs-comment'>{-# OPTIONS_HADDOCK ignore-exports #-}</span>
<a name="line-20"></a><span class='hs-comment'>{-# OPTIONS_HADDOCK ignore-exports #-}</span>
<a name="line-21"></a>
<a name="line-22"></a>
<a name="line-23"></a>
<a name="line-24"></a><span class='hs-keyword'>module</span> <span class='hs-conid'>HSFM</span><span class='hs-varop'>.</span><span class='hs-conid'>GUI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Plugins</span> <span class='hs-keyword'>where</span>
<a name="line-23"></a><span class='hs-keyword'>module</span> <span class='hs-conid'>HSFM</span><span class='hs-varop'>.</span><span class='hs-conid'>GUI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Plugins</span> <span class='hs-keyword'>where</span>
<a name="line-24"></a>
<a name="line-25"></a>
<a name="line-26"></a>
<a name="line-27"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>UI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span>
<a name="line-28"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HPath</span>
<a name="line-29"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HSFM</span><span class='hs-varop'>.</span><span class='hs-conid'>FileSystem</span><span class='hs-varop'>.</span><span class='hs-conid'>FileType</span>
<a name="line-30"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HSFM</span><span class='hs-varop'>.</span><span class='hs-conid'>GUI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Data</span>
<a name="line-31"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HSFM</span><span class='hs-varop'>.</span><span class='hs-conid'>GUI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Settings</span>
<a name="line-32"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HSFM</span><span class='hs-varop'>.</span><span class='hs-conid'>GUI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Utils</span>
<a name="line-33"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HSFM</span><span class='hs-varop'>.</span><span class='hs-conid'>Settings</span>
<a name="line-34"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Control</span><span class='hs-varop'>.</span><span class='hs-conid'>Monad</span>
<a name="line-35"></a> <span class='hs-layout'>(</span>
<a name="line-36"></a> <span class='hs-varid'>forM</span>
<a name="line-37"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>forM_</span>
<a name="line-38"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>void</span>
<a name="line-39"></a> <span class='hs-layout'>)</span>
<a name="line-40"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Posix</span><span class='hs-varop'>.</span><span class='hs-conid'>Process</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span>
<a name="line-41"></a> <span class='hs-layout'>(</span>
<a name="line-42"></a> <span class='hs-varid'>executeFile</span>
<a name="line-43"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>forkProcess</span>
<a name="line-44"></a> <span class='hs-layout'>)</span>
<a name="line-45"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span><span class='hs-varop'>.</span><span class='hs-conid'>UTF8</span>
<a name="line-46"></a> <span class='hs-layout'>(</span>
<a name="line-47"></a> <span class='hs-varid'>fromString</span>
<a name="line-48"></a> <span class='hs-layout'>)</span>
<a name="line-49"></a><span class='hs-keyword'>import</span> <span class='hs-keyword'>qualified</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span> <span class='hs-keyword'>as</span> <span class='hs-conid'>BS</span>
<a name="line-26"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>UI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span>
<a name="line-27"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HPath</span>
<a name="line-28"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HSFM</span><span class='hs-varop'>.</span><span class='hs-conid'>FileSystem</span><span class='hs-varop'>.</span><span class='hs-conid'>FileType</span>
<a name="line-29"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HSFM</span><span class='hs-varop'>.</span><span class='hs-conid'>GUI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Data</span>
<a name="line-30"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HSFM</span><span class='hs-varop'>.</span><span class='hs-conid'>GUI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Settings</span>
<a name="line-31"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HSFM</span><span class='hs-varop'>.</span><span class='hs-conid'>GUI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Utils</span>
<a name="line-32"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HSFM</span><span class='hs-varop'>.</span><span class='hs-conid'>Settings</span>
<a name="line-33"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Control</span><span class='hs-varop'>.</span><span class='hs-conid'>Monad</span>
<a name="line-34"></a> <span class='hs-layout'>(</span>
<a name="line-35"></a> <span class='hs-varid'>forM</span>
<a name="line-36"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>forM_</span>
<a name="line-37"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>void</span>
<a name="line-38"></a> <span class='hs-layout'>)</span>
<a name="line-39"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Posix</span><span class='hs-varop'>.</span><span class='hs-conid'>Process</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span>
<a name="line-40"></a> <span class='hs-layout'>(</span>
<a name="line-41"></a> <span class='hs-varid'>executeFile</span>
<a name="line-42"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>forkProcess</span>
<a name="line-43"></a> <span class='hs-layout'>)</span>
<a name="line-44"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span><span class='hs-varop'>.</span><span class='hs-conid'>UTF8</span>
<a name="line-45"></a> <span class='hs-layout'>(</span>
<a name="line-46"></a> <span class='hs-varid'>fromString</span>
<a name="line-47"></a> <span class='hs-layout'>)</span>
<a name="line-48"></a><span class='hs-keyword'>import</span> <span class='hs-keyword'>qualified</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span> <span class='hs-keyword'>as</span> <span class='hs-conid'>BS</span>
<a name="line-49"></a>
<a name="line-50"></a>
<a name="line-51"></a>
<a name="line-52"></a>
@ -66,73 +66,56 @@
<a name="line-57"></a>
<a name="line-58"></a>
<a name="line-59"></a>
<a name="line-60"></a><span class='hs-comment'>---- Init functions ----</span>
<a name="line-61"></a>
<a name="line-60"></a>
<a name="line-61"></a><span class='hs-comment'>---- Global settings ----</span>
<a name="line-62"></a>
<a name="line-63"></a><a name="addPlugins"></a><span class='hs-comment'>-- |Usually, you don't want to overwrite this method. It</span>
<a name="line-64"></a><span class='hs-comment'>-- adds plugins from `myplugins` and initializes the callbacks</span>
<a name="line-65"></a><span class='hs-comment'>-- automatically.</span>
<a name="line-66"></a><span class='hs-definition'>addPlugins</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-67"></a><span class='hs-definition'>addPlugins</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
<a name="line-68"></a> <span class='hs-keyglyph'>|</span> <span class='hs-varid'>null</span> <span class='hs-varid'>myplugins</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
<a name="line-69"></a> <span class='hs-keyglyph'>|</span> <span class='hs-varid'>otherwise</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-70"></a> <span class='hs-comment'>-- add another plugin separator after the existing one</span>
<a name="line-71"></a> <span class='hs-comment'>-- where we want to place our plugins</span>
<a name="line-72"></a> <span class='hs-varid'>sep2</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>separatorMenuItemNew</span>
<a name="line-73"></a> <span class='hs-varid'>widgetShow</span> <span class='hs-varid'>sep2</span>
<a name="line-74"></a>
<a name="line-75"></a> <span class='hs-varid'>menuShellInsert</span> <span class='hs-layout'>(</span><span class='hs-varid'>rcMenu</span> <span class='hs-varop'>.</span> <span class='hs-varid'>rcmenu</span> <span class='hs-varop'>$</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>sep2</span> <span class='hs-varid'>insertPos</span>
<a name="line-76"></a>
<a name="line-77"></a> <span class='hs-varid'>plugins</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>forM</span> <span class='hs-varid'>myplugins</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-varid'>ma</span><span class='hs-layout'>,</span><span class='hs-varid'>mb</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>fmap</span> <span class='hs-layout'>(</span><span class='hs-layout'>,</span><span class='hs-varid'>mb</span><span class='hs-layout'>)</span> <span class='hs-varid'>ma</span>
<a name="line-78"></a> <span class='hs-comment'>-- need to reverse plugins list so the order is right</span>
<a name="line-79"></a> <span class='hs-varid'>forM_</span> <span class='hs-layout'>(</span><span class='hs-varid'>reverse</span> <span class='hs-varid'>plugins</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-varid'>plugin</span><span class='hs-layout'>,</span> <span class='hs-varid'>cb</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-80"></a> <span class='hs-varid'>menuShellInsert</span> <span class='hs-layout'>(</span><span class='hs-varid'>rcMenu</span> <span class='hs-varop'>.</span> <span class='hs-varid'>rcmenu</span> <span class='hs-varop'>$</span> <span class='hs-varid'>myview</span><span class='hs-layout'>)</span> <span class='hs-varid'>plugin</span> <span class='hs-varid'>insertPos</span>
<a name="line-81"></a> <span class='hs-varid'>widgetShow</span> <span class='hs-varid'>plugin</span>
<a name="line-82"></a> <span class='hs-comment'>-- init callback</span>
<a name="line-83"></a> <span class='hs-varid'>plugin</span> <span class='hs-varop'>`on`</span> <span class='hs-varid'>menuItemActivated</span> <span class='hs-varop'>$</span> <span class='hs-varid'>withItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>cb</span>
<a name="line-84"></a>
<a name="line-85"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
<a name="line-63"></a>
<a name="line-64"></a>
<a name="line-65"></a><a name="insertPos"></a><span class='hs-comment'>-- |Where to start inserting plugins.</span>
<a name="line-66"></a><span class='hs-definition'>insertPos</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Int</span>
<a name="line-67"></a><span class='hs-definition'>insertPos</span> <span class='hs-keyglyph'>=</span> <span class='hs-num'>4</span>
<a name="line-68"></a>
<a name="line-69"></a>
<a name="line-70"></a><a name="myplugins"></a><span class='hs-comment'>-- |A list of plugins to add to the right-click menu at position</span>
<a name="line-71"></a><span class='hs-comment'>-- `insertPos`.</span>
<a name="line-72"></a><span class='hs-comment'>--</span>
<a name="line-73"></a><span class='hs-comment'>-- The left part of the triple is the menuitem.</span>
<a name="line-74"></a><span class='hs-comment'>-- The middle part of the triple is a filter function that</span>
<a name="line-75"></a><span class='hs-comment'>-- decides whether the item is shown.</span>
<a name="line-76"></a><span class='hs-comment'>-- The right part of the triple is the callback, which is invoked</span>
<a name="line-77"></a><span class='hs-comment'>-- when the menu item is clicked.</span>
<a name="line-78"></a><span class='hs-comment'>--</span>
<a name="line-79"></a><span class='hs-comment'>-- Plugins are added in order of this list.</span>
<a name="line-80"></a><span class='hs-definition'>myplugins</span> <span class='hs-keyglyph'>::</span> <span class='hs-keyglyph'>[</span><span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>MenuItem</span>
<a name="line-81"></a> <span class='hs-layout'>,</span><span class='hs-keyglyph'>[</span><span class='hs-conid'>Item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span>
<a name="line-82"></a> <span class='hs-layout'>,</span><span class='hs-keyglyph'>[</span><span class='hs-conid'>Item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>]</span>
<a name="line-83"></a><span class='hs-definition'>myplugins</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyglyph'>[</span><span class='hs-layout'>(</span><span class='hs-varid'>diffItem</span><span class='hs-layout'>,</span> <span class='hs-varid'>diffFilter</span><span class='hs-layout'>,</span> <span class='hs-varid'>diffCallback</span><span class='hs-layout'>)</span>
<a name="line-84"></a> <span class='hs-keyglyph'>]</span>
<a name="line-85"></a>
<a name="line-86"></a>
<a name="line-87"></a>
<a name="line-88"></a>
<a name="line-89"></a>
<a name="line-90"></a>
<a name="line-91"></a><span class='hs-comment'>---- Global settings ----</span>
<a name="line-90"></a><span class='hs-comment'>---- The plugins ----</span>
<a name="line-91"></a>
<a name="line-92"></a>
<a name="line-93"></a>
<a name="line-94"></a>
<a name="line-95"></a><a name="insertPos"></a><span class='hs-comment'>-- |Where to start inserting plugins.</span>
<a name="line-96"></a><span class='hs-definition'>insertPos</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Int</span>
<a name="line-97"></a><span class='hs-definition'>insertPos</span> <span class='hs-keyglyph'>=</span> <span class='hs-num'>4</span>
<a name="line-98"></a>
<a name="line-99"></a>
<a name="line-100"></a><a name="myplugins"></a><span class='hs-comment'>-- |A list of plugins to add to the right-click menu at position</span>
<a name="line-101"></a><span class='hs-comment'>-- `insertPos`. The left part of the tuple is the menuitem, the right</span>
<a name="line-102"></a><span class='hs-comment'>-- part the callback.</span>
<a name="line-103"></a><span class='hs-comment'>-- Plugins are added in order of this list.</span>
<a name="line-104"></a><span class='hs-definition'>myplugins</span> <span class='hs-keyglyph'>::</span> <span class='hs-keyglyph'>[</span><span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>MenuItem</span><span class='hs-layout'>,</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>]</span>
<a name="line-105"></a><span class='hs-definition'>myplugins</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyglyph'>[</span><span class='hs-layout'>(</span><span class='hs-varid'>diffPlugin</span><span class='hs-layout'>,</span> <span class='hs-varid'>diffCallback</span><span class='hs-layout'>)</span>
<a name="line-106"></a> <span class='hs-keyglyph'>]</span>
<a name="line-107"></a>
<a name="line-108"></a>
<a name="line-109"></a>
<a name="line-94"></a><a name="diffItem"></a><span class='hs-definition'>diffItem</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>MenuItem</span>
<a name="line-95"></a><span class='hs-definition'>diffItem</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>menuItemNewWithLabel</span> <span class='hs-str'>"diff"</span>
<a name="line-96"></a>
<a name="line-97"></a><a name="diffFilter"></a><span class='hs-definition'>diffFilter</span> <span class='hs-keyglyph'>::</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span>
<a name="line-98"></a><span class='hs-definition'>diffFilter</span> <span class='hs-varid'>items</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span>
<a name="line-99"></a> <span class='hs-keyglyph'>|</span> <span class='hs-varid'>length</span> <span class='hs-varid'>items</span> <span class='hs-varop'>&gt;</span> <span class='hs-num'>1</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>and</span> <span class='hs-varop'>$</span> <span class='hs-varid'>fmap</span> <span class='hs-varid'>isFileC</span> <span class='hs-varid'>items</span>
<a name="line-100"></a> <span class='hs-keyglyph'>|</span> <span class='hs-varid'>otherwise</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>return</span> <span class='hs-conid'>False</span>
<a name="line-101"></a>
<a name="line-102"></a><a name="diffCallback"></a><span class='hs-definition'>diffCallback</span> <span class='hs-keyglyph'>::</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-103"></a><span class='hs-definition'>diffCallback</span> <span class='hs-varid'>items</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>void</span> <span class='hs-varop'>$</span>
<a name="line-104"></a> <span class='hs-varid'>forkProcess</span> <span class='hs-varop'>$</span>
<a name="line-105"></a> <span class='hs-varid'>executeFile</span>
<a name="line-106"></a> <span class='hs-layout'>(</span><span class='hs-varid'>fromString</span> <span class='hs-str'>"meld"</span><span class='hs-layout'>)</span>
<a name="line-107"></a> <span class='hs-conid'>True</span>
<a name="line-108"></a> <span class='hs-layout'>(</span><span class='hs-keyglyph'>[</span><span class='hs-varid'>fromString</span> <span class='hs-str'>"--diff"</span><span class='hs-keyglyph'>]</span> <span class='hs-varop'>++</span> <span class='hs-varid'>fmap</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromAbs</span> <span class='hs-varop'>.</span> <span class='hs-varid'>path</span><span class='hs-layout'>)</span> <span class='hs-varid'>items</span><span class='hs-layout'>)</span>
<a name="line-109"></a> <span class='hs-conid'>Nothing</span>
<a name="line-110"></a>
<a name="line-111"></a>
<a name="line-112"></a><span class='hs-comment'>---- The plugins ----</span>
<a name="line-113"></a>
<a name="line-114"></a>
<a name="line-115"></a>
<a name="line-116"></a><a name="diffPlugin"></a><span class='hs-definition'>diffPlugin</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>MenuItem</span>
<a name="line-117"></a><span class='hs-definition'>diffPlugin</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>menuItemNewWithLabel</span> <span class='hs-str'>"diff"</span>
<a name="line-118"></a>
<a name="line-119"></a><a name="diffCallback"></a><span class='hs-definition'>diffCallback</span> <span class='hs-keyglyph'>::</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Item</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyGUI</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-120"></a><span class='hs-definition'>diffCallback</span> <span class='hs-varid'>items</span> <span class='hs-keyword'>_</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>void</span> <span class='hs-varop'>$</span>
<a name="line-121"></a> <span class='hs-varid'>forkProcess</span> <span class='hs-varop'>$</span>
<a name="line-122"></a> <span class='hs-varid'>executeFile</span>
<a name="line-123"></a> <span class='hs-layout'>(</span><span class='hs-varid'>fromString</span> <span class='hs-str'>"meld"</span><span class='hs-layout'>)</span>
<a name="line-124"></a> <span class='hs-conid'>True</span>
<a name="line-125"></a> <span class='hs-layout'>(</span><span class='hs-keyglyph'>[</span><span class='hs-varid'>fromString</span> <span class='hs-str'>"--diff"</span><span class='hs-keyglyph'>]</span> <span class='hs-varop'>++</span> <span class='hs-varid'>fmap</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromAbs</span> <span class='hs-varop'>.</span> <span class='hs-varid'>path</span><span class='hs-layout'>)</span> <span class='hs-varid'>items</span><span class='hs-layout'>)</span>
<a name="line-126"></a> <span class='hs-conid'>Nothing</span>
<a name="line-127"></a>
</pre></body>
</html>

View File

@ -87,8 +87,8 @@
<a name="line-78"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>Item</span><span class='hs-keyglyph'>]</span>
<a name="line-79"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyGUI</span>
<a name="line-80"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span>
<a name="line-81"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ action to carry out</span>
<a name="line-82"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-81"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-varid'>a</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ action to carry out</span>
<a name="line-82"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-varid'>a</span>
<a name="line-83"></a><span class='hs-definition'>withItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>io</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-84"></a> <span class='hs-varid'>items</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getSelectedItems</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
<a name="line-85"></a> <span class='hs-varid'>io</span> <span class='hs-varid'>items</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>