Lastest docs updated

travis build: 24
commit: e310879d61
auto-pushed to gh-pages
This commit is contained in:
travis-ci 2016-06-03 12:08:47 +00:00
parent f24baddb25
commit 879d4b342d
14 changed files with 964 additions and 928 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.MyView</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[ <!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.MyView</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-MyView.html");}; window.onload = function () {pageLoad();setSynopsis("mini_HSFM-GUI-Gtk-MyView.html");};
//]]> //]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/HSFM-GUI-Gtk-MyView.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.MyView</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:newTab">newTab</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a></li><li class="src short"><a href="#v:createMyView">createMyView</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a></li><li class="src short"><a href="#v:switchView">switchView</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="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</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:destroyView">destroyView</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="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:createIconView">createIconView</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a></li><li class="src short"><a href="#v:createTreeView">createTreeView</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a></li><li class="src short"><a href="#v:refreshView">refreshView</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="HSFM-GUI-Gtk-Data.html#t:Item">Item</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:constructView">constructView</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></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:newTab" class="def">newTab</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> -&gt; <a href="HSFM-GUI-Gtk-Data.html#t:Item">Item</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> <a href="src/HSFM-GUI-Gtk-MyView.html#newTab" class="link">Source</a> <a href="#v:newTab" class="selflink">#</a></p><div class="doc"><p>Creates a new tab with its own view and refreshes the view.</p></div></div><div class="top"><p class="src"><a id="v:createMyView" class="def">createMyView</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> <a href="src/HSFM-GUI-Gtk-MyView.html#createMyView" class="link">Source</a> <a href="#v:createMyView" class="selflink">#</a></p><div class="doc"><p>Constructs the initial MyView object with a few dummy models. </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/HSFM-GUI-Gtk-MyView.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.MyView</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:createMyView">createMyView</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a></li><li class="src short"><a href="#v:switchView">switchView</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="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</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:destroyView">destroyView</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="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:createIconView">createIconView</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a></li><li class="src short"><a href="#v:createTreeView">createTreeView</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a></li><li class="src short"><a href="#v:refreshView">refreshView</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="HSFM-GUI-Gtk-Data.html#t:Item">Item</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:constructView">constructView</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></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:createMyView" class="def">createMyView</a> :: <a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a> <a href="src/HSFM-GUI-Gtk-MyView.html#createMyView" class="link">Source</a> <a href="#v:createMyView" class="selflink">#</a></p><div class="doc"><p>Constructs the initial MyView object with a few dummy models.
It also initializes the callbacks.</p></div></div><div class="top"><p class="src"><a id="v:switchView" class="def">switchView</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="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</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-MyView.html#switchView" class="link">Source</a> <a href="#v:switchView" class="selflink">#</a></p><div class="doc"><p>Switch the existing view in <code><a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a></code> with the one that the It also initializes the callbacks.</p></div></div><div class="top"><p class="src"><a id="v:switchView" class="def">switchView</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="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</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-MyView.html#switchView" class="link">Source</a> <a href="#v:switchView" class="selflink">#</a></p><div class="doc"><p>Switch the existing view in <code><a href="HSFM-GUI-Gtk-Data.html#t:MyView">MyView</a></code> with the one that the
io action returns.</p></div></div><div class="top"><p class="src"><a id="v:destroyView" class="def">destroyView</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="https://hackage.haskell.org/package/base-4.9.0.0/docs/Data-Int.html#t:Int">Int</a> <a href="src/HSFM-GUI-Gtk-MyView.html#destroyView" class="link">Source</a> <a href="#v:destroyView" class="selflink">#</a></p><div class="doc"><p>Destroys the current view by disconnecting the watcher io action returns.</p></div></div><div class="top"><p class="src"><a id="v:destroyView" class="def">destroyView</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="https://hackage.haskell.org/package/base-4.9.0.0/docs/Data-Int.html#t:Int">Int</a> <a href="src/HSFM-GUI-Gtk-MyView.html#destroyView" class="link">Source</a> <a href="#v:destroyView" class="selflink">#</a></p><div class="doc"><p>Destroys the given view by disconnecting the watcher
and destroying the active FMView container.</p><p>Everything that needs to be done in order to forget about a and destroying the active FMView container.</p><p>Everything that needs to be done in order to forget about a
view needs to be done here.</p><p>Returns the page in the tab list this view corresponds to.</p></div></div><div class="top"><p class="src"><a id="v:createIconView" class="def">createIconView</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> <a href="src/HSFM-GUI-Gtk-MyView.html#createIconView" class="link">Source</a> <a href="#v:createIconView" class="selflink">#</a></p><div class="doc"><p>Createss an IconView.</p></div></div><div class="top"><p class="src"><a id="v:createTreeView" class="def">createTreeView</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> <a href="src/HSFM-GUI-Gtk-MyView.html#createTreeView" class="link">Source</a> <a href="#v:createTreeView" class="selflink">#</a></p><div class="doc"><p>Creates a TreeView.</p></div></div><div class="top"><p class="src"><a id="v:refreshView" class="def">refreshView</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="HSFM-GUI-Gtk-Data.html#t:Item">Item</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-MyView.html#refreshView" class="link">Source</a> <a href="#v:refreshView" class="selflink">#</a></p><div class="doc"><p>Refreshes the View based on the given directory.</p><p>Throws:</p><ul><li><code><a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO-Error.html#v:userError">userError</a></code> on inappropriate type</li></ul></div></div><div class="top"><p class="src"><a id="v:constructView" class="def">constructView</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-MyView.html#constructView" class="link">Source</a> <a href="#v:constructView" class="selflink">#</a></p><div class="doc"><p>Constructs the visible View with the current underlying mutable models, view needs to be done here.</p><p>Returns the page in the tab list this view corresponds to.</p></div></div><div class="top"><p class="src"><a id="v:createIconView" class="def">createIconView</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> <a href="src/HSFM-GUI-Gtk-MyView.html#createIconView" class="link">Source</a> <a href="#v:createIconView" class="selflink">#</a></p><div class="doc"><p>Createss an IconView.</p></div></div><div class="top"><p class="src"><a id="v:createTreeView" class="def">createTreeView</a> :: <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-GUI-Gtk-Data.html#t:FMView">FMView</a> <a href="src/HSFM-GUI-Gtk-MyView.html#createTreeView" class="link">Source</a> <a href="#v:createTreeView" class="selflink">#</a></p><div class="doc"><p>Creates a TreeView.</p></div></div><div class="top"><p class="src"><a id="v:refreshView" class="def">refreshView</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="HSFM-GUI-Gtk-Data.html#t:Item">Item</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-MyView.html#refreshView" class="link">Source</a> <a href="#v:refreshView" class="selflink">#</a></p><div class="doc"><p>Refreshes the View based on the given directory.</p><p>Throws:</p><ul><li><code><a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/System-IO-Error.html#v:userError">userError</a></code> on inappropriate type</li></ul></div></div><div class="top"><p class="src"><a id="v:constructView" class="def">constructView</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-MyView.html#constructView" class="link">Source</a> <a href="#v:constructView" class="selflink">#</a></p><div class="doc"><p>Constructs the visible View with the current underlying mutable models,
which are retrieved from <code><a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a></code>.</p><p>This sort of merges the components mygui and myview and fires up which are retrieved from <code><a href="HSFM-GUI-Gtk-Data.html#t:MyGUI">MyGUI</a></code>.</p><p>This sort of merges the components mygui and myview and fires up

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[ <!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");}; 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>

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 - N)</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[ <!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 - N)</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();}; 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-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 - N</p><table><tr><td class="src">NamedPipe</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:NamedPipe">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">newDir</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newDir">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">newFile</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newFile">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">newTab</td><td class="module"><a href="HSFM-GUI-Gtk-MyView.html#v:newTab">HSFM.GUI.Gtk.MyView</a></td></tr><tr><td class="src">newTabHere</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newTabHere">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">None</td><td class="module"><a href="HSFM-FileSystem-UtilTypes.html#v:None">HSFM.FileSystem.UtilTypes</a></td></tr><tr><td class="src">noNullPtrs</td><td class="module"><a href="HSFM-GUI-Glib-GlibString.html#v:noNullPtrs">HSFM.GUI.Glib.GlibString</a></td></tr><tr><td class="src">notebook</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:notebook">HSFM.GUI.Gtk.Data</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-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 - N</p><table><tr><td class="src">NamedPipe</td><td class="module"><a href="HSFM-FileSystem-FileType.html#v:NamedPipe">HSFM.FileSystem.FileType</a></td></tr><tr><td class="src">newDir</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newDir">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">newFile</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newFile">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">newTab</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newTab">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">newTabHere</td><td class="module"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newTabHere">HSFM.GUI.Gtk.Callbacks</a></td></tr><tr><td class="src">None</td><td class="module"><a href="HSFM-FileSystem-UtilTypes.html#v:None">HSFM.FileSystem.UtilTypes</a></td></tr><tr><td class="src">noNullPtrs</td><td class="module"><a href="HSFM-GUI-Glib-GlibString.html#v:noNullPtrs">HSFM.GUI.Glib.GlibString</a></td></tr><tr><td class="src">notebook</td><td class="module"><a href="HSFM-GUI-Gtk-Data.html#v:notebook">HSFM.GUI.Gtk.Data</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

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[ <!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();}; 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:newTabHere" target="main">newTabHere</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:goHistoryPrev" target="main">goHistoryPrev</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:goHistoryNext" target="main">goHistoryNext</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:newTabHere" target="main">newTabHere</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:newTab" target="main">newTab</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:goHistoryPrev" target="main">goHistoryPrev</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-Callbacks.html#v:goHistoryNext" target="main">goHistoryNext</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.MyView</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[ <!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.MyView</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();}; window.onload = function () {pageLoad();};
//]]> //]]>
</script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.GUI.Gtk.MyView</p></div><div id="interface"><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:newTab" target="main">newTab</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:createMyView" target="main">createMyView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:switchView" target="main">switchView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:destroyView" target="main">destroyView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:createIconView" target="main">createIconView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:createTreeView" target="main">createTreeView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:refreshView" target="main">refreshView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:constructView" target="main">constructView</a></p></div></div></body></html> </script></head><body id="mini"><div id="module-header"><p class="caption">HSFM.GUI.Gtk.MyView</p></div><div id="interface"><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:createMyView" target="main">createMyView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:switchView" target="main">switchView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:destroyView" target="main">destroyView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:createIconView" target="main">createIconView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:createTreeView" target="main">createTreeView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:refreshView" target="main">refreshView</a></p></div><div class="top"><p class="src"><a href="HSFM-GUI-Gtk-MyView.html#v:constructView" target="main">constructView</a></p></div></div></body></html>

View File

@ -120,8 +120,16 @@
<a name="line-111"></a> <span class='hs-comment'>-- set notebook tab label</span> <a name="line-111"></a> <span class='hs-comment'>-- set notebook tab label</span>
<a name="line-112"></a> <span class='hs-varid'>page</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>notebookGetCurrentPage</span> <span class='hs-layout'>(</span><span class='hs-varid'>notebook</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span> <a name="line-112"></a> <span class='hs-varid'>page</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>notebookGetCurrentPage</span> <span class='hs-layout'>(</span><span class='hs-varid'>notebook</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span>
<a name="line-113"></a> <span class='hs-varid'>child</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>fromJust</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>notebookGetNthPage</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-113"></a> <span class='hs-varid'>child</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>fromJust</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>notebookGetNthPage</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-114"></a> <span class='hs-varid'>notebookSetTabLabelText</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'>child</span> <a name="line-114"></a>
<a name="line-115"></a> <span class='hs-layout'>(</span><span class='hs-varid'>maybe</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-varop'>$</span> <span class='hs-varid'>path</span> <span class='hs-varid'>item</span><span class='hs-layout'>)</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-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-varop'>$</span> <span class='hs-varid'>item</span><span class='hs-layout'>)</span> <a name="line-115"></a> <span class='hs-comment'>-- get the label</span>
<a name="line-116"></a> <a name="line-116"></a> <span class='hs-varid'>ebox</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-varid'>castToEventBox</span> <span class='hs-varop'>.</span> <span class='hs-varid'>fromJust</span><span class='hs-layout'>)</span>
<a name="line-117"></a> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>notebookGetTabLabel</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'>child</span>
<a name="line-118"></a> <span class='hs-varid'>label</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-varid'>castToLabel</span> <span class='hs-varop'>.</span> <span class='hs-varid'>head</span><span class='hs-layout'>)</span> <span class='hs-varop'>&lt;$&gt;</span> <span class='hs-varid'>containerGetChildren</span> <span class='hs-varid'>ebox</span>
<a name="line-119"></a>
<a name="line-120"></a> <span class='hs-comment'>-- set the label</span>
<a name="line-121"></a> <span class='hs-varid'>labelSetText</span> <span class='hs-varid'>label</span>
<a name="line-122"></a> <span class='hs-layout'>(</span><span class='hs-varid'>maybe</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-varop'>$</span> <span class='hs-varid'>path</span> <span class='hs-varid'>item</span><span class='hs-layout'>)</span>
<a name="line-123"></a> <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-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-varop'>$</span> <span class='hs-varid'>item</span><span class='hs-layout'>)</span>
<a name="line-124"></a>
</pre></body> </pre></body>
</html> </html>

File diff suppressed because it is too large Load Diff

View File

@ -116,46 +116,48 @@
<a name="line-107"></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-107"></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-108"></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-108"></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-109"></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-109"></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-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-110"></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-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-111"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>rcFileNewTabHere</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-112"></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-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-113"></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-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-114"></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-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-115"></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-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-116"></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-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-117"></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-118"></a><span class='hs-layout'>}</span> <a name="line-118"></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-119"></a> <a name="line-119"></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-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-120"></a><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-121"></a>
<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-122"></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-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-123"></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-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-124"></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-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-125"></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-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-126"></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-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-127"></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-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-128"></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-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-129"></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-130"></a><span class='hs-layout'>}</span> <a name="line-130"></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-131"></a> <a name="line-131"></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-132"></a> <a name="line-132"></a><span class='hs-layout'>}</span>
<a name="line-133"></a><a name="FMSettings"></a><span class='hs-comment'>-- |FM-wide settings.</span> <a name="line-133"></a>
<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-134"></a>
<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-135"></a><a name="FMSettings"></a><span class='hs-comment'>-- |FM-wide settings.</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-136"></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-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-137"></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-138"></a><span class='hs-layout'>}</span> <a name="line-138"></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-139"></a> <a name="line-139"></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-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-140"></a><span class='hs-layout'>}</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-141"></a>
<a name="line-142"></a> <a name="line-142"></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-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-143"></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-144"></a> <a name="line-144"></a>
<a name="line-145"></a> <a name="line-145"></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-146"></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-147"></a>
<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-148"></a>
<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-149"></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-150"></a> <a name="line-150"></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-151"></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-152"></a>
</pre></body> </pre></body>
</html> </html>

View File

@ -41,393 +41,366 @@
<a name="line-32"></a> <span class='hs-varid'>newTVarIO</span> <a name="line-32"></a> <span class='hs-varid'>newTVarIO</span>
<a name="line-33"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>readTVarIO</span> <a name="line-33"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>readTVarIO</span>
<a name="line-34"></a> <span class='hs-layout'>)</span> <a name="line-34"></a> <span class='hs-layout'>)</span>
<a name="line-35"></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-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Foldable</span>
<a name="line-36"></a> <span class='hs-layout'>(</span> <a name="line-36"></a> <span class='hs-layout'>(</span>
<a name="line-37"></a> <span class='hs-varid'>forM_</span> <a name="line-37"></a> <span class='hs-varid'>for_</span>
<a name="line-38"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>unless</span> <a name="line-38"></a> <span class='hs-layout'>)</span>
<a name="line-39"></a> <span class='hs-layout'>)</span> <a name="line-39"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Maybe</span>
<a name="line-40"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Foldable</span> <a name="line-40"></a> <span class='hs-layout'>(</span>
<a name="line-41"></a> <span class='hs-layout'>(</span> <a name="line-41"></a> <span class='hs-varid'>catMaybes</span>
<a name="line-42"></a> <span class='hs-varid'>for_</span> <a name="line-42"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fromJust</span>
<a name="line-43"></a> <span class='hs-layout'>)</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'>Maybe</span> <a name="line-44"></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-45"></a> <span class='hs-layout'>(</span> <a name="line-45"></a><span class='hs-keyword'>import</span> <span class='hs-comment'>{-# SOURCE #-}</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'>Callbacks</span> <span class='hs-layout'>(</span><span class='hs-varid'>setViewCallbacks</span><span class='hs-layout'>)</span>
<a name="line-46"></a> <span class='hs-varid'>catMaybes</span> <a name="line-46"></a><span class='hs-keyword'>import</span> <span class='hs-keyword'>qualified</span> <span class='hs-conid'>HPath</span> <span class='hs-keyword'>as</span> <span class='hs-conid'>P</span>
<a name="line-47"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>fromJust</span> <a name="line-47"></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-48"></a> <span class='hs-layout'>)</span> <a name="line-48"></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'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>GlibString</span><span class='hs-conid'>()</span>
<a name="line-49"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>String</span> <a name="line-49"></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-50"></a> <span class='hs-layout'>(</span> <a name="line-50"></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'>Icons</span>
<a name="line-51"></a> <span class='hs-varid'>fromString</span> <a name="line-51"></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-52"></a> <span class='hs-layout'>)</span> <a name="line-52"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HSFM</span><span class='hs-varop'>.</span><span class='hs-conid'>Utils</span><span class='hs-varop'>.</span><span class='hs-conid'>IO</span>
<a name="line-53"></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-53"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Paths_hsfm</span>
<a name="line-54"></a><span class='hs-keyword'>import</span> <span class='hs-comment'>{-# SOURCE #-}</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'>Callbacks</span> <span class='hs-layout'>(</span><span class='hs-varid'>setViewCallbacks</span><span class='hs-layout'>)</span> <a name="line-54"></a> <span class='hs-layout'>(</span>
<a name="line-55"></a><span class='hs-keyword'>import</span> <span class='hs-keyword'>qualified</span> <span class='hs-conid'>HPath</span> <span class='hs-keyword'>as</span> <span class='hs-conid'>P</span> <a name="line-55"></a> <span class='hs-varid'>getDataFileName</span>
<a name="line-56"></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-56"></a> <span class='hs-layout'>)</span>
<a name="line-57"></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'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>GlibString</span><span class='hs-conid'>()</span> <a name="line-57"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Prelude</span> <span class='hs-varid'>hiding</span><span class='hs-layout'>(</span><span class='hs-varid'>readFile</span><span class='hs-layout'>)</span>
<a name="line-58"></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-58"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>INotify</span>
<a name="line-59"></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'>Icons</span> <a name="line-59"></a> <span class='hs-layout'>(</span>
<a name="line-60"></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-60"></a> <span class='hs-varid'>addWatch</span>
<a name="line-61"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>HSFM</span><span class='hs-varop'>.</span><span class='hs-conid'>Utils</span><span class='hs-varop'>.</span><span class='hs-conid'>IO</span> <a name="line-61"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>initINotify</span>
<a name="line-62"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Paths_hsfm</span> <a name="line-62"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>killINotify</span>
<a name="line-63"></a> <span class='hs-layout'>(</span> <a name="line-63"></a> <span class='hs-layout'>,</span> <span class='hs-conid'>EventVariety</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span>
<a name="line-64"></a> <span class='hs-varid'>getDataFileName</span> <a name="line-64"></a> <span class='hs-layout'>)</span>
<a name="line-65"></a> <span class='hs-layout'>)</span> <a name="line-65"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>IO</span><span class='hs-varop'>.</span><span class='hs-conid'>Error</span>
<a name="line-66"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Prelude</span> <span class='hs-varid'>hiding</span><span class='hs-layout'>(</span><span class='hs-varid'>readFile</span><span class='hs-layout'>)</span> <a name="line-66"></a> <span class='hs-layout'>(</span>
<a name="line-67"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>INotify</span> <a name="line-67"></a> <span class='hs-varid'>ioError</span>
<a name="line-68"></a> <span class='hs-layout'>(</span> <a name="line-68"></a> <span class='hs-layout'>)</span>
<a name="line-69"></a> <span class='hs-varid'>addWatch</span> <a name="line-69"></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'>FilePath</span>
<a name="line-70"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>initINotify</span> <a name="line-70"></a> <span class='hs-layout'>(</span>
<a name="line-71"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>killINotify</span> <a name="line-71"></a> <span class='hs-varid'>hiddenFile</span>
<a name="line-72"></a> <span class='hs-layout'>,</span> <span class='hs-conid'>EventVariety</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span> <a name="line-72"></a> <span class='hs-layout'>)</span>
<a name="line-73"></a> <span class='hs-layout'>)</span> <a name="line-73"></a>
<a name="line-74"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>IO</span><span class='hs-varop'>.</span><span class='hs-conid'>Error</span> <a name="line-74"></a>
<a name="line-75"></a> <span class='hs-layout'>(</span> <a name="line-75"></a>
<a name="line-76"></a> <span class='hs-varid'>catchIOError</span> <a name="line-76"></a><a name="createMyView"></a><span class='hs-comment'>-- |Constructs the initial MyView object with a few dummy models.</span>
<a name="line-77"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>ioError</span> <a name="line-77"></a><span class='hs-comment'>-- It also initializes the callbacks.</span>
<a name="line-78"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>isUserError</span> <a name="line-78"></a><span class='hs-definition'>createMyView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span>
<a name="line-79"></a> <span class='hs-layout'>)</span> <a name="line-79"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>FMView</span>
<a name="line-80"></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'>FilePath</span> <a name="line-80"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>MyView</span>
<a name="line-81"></a> <span class='hs-layout'>(</span> <a name="line-81"></a><span class='hs-definition'>createMyView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>iofmv</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-82"></a> <span class='hs-varid'>hiddenFile</span> <a name="line-82"></a> <span class='hs-varid'>inotify</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>newEmptyMVar</span>
<a name="line-83"></a> <span class='hs-layout'>)</span> <a name="line-83"></a> <span class='hs-varid'>history</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>newTVarIO</span> <span class='hs-layout'>(</span><span class='hs-conid'>[]</span><span class='hs-layout'>,</span><span class='hs-conid'>[]</span><span class='hs-layout'>)</span>
<a name="line-84"></a> <a name="line-84"></a>
<a name="line-85"></a> <a name="line-85"></a> <span class='hs-varid'>builder</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderNew</span>
<a name="line-86"></a> <a name="line-86"></a> <span class='hs-varid'>builderAddFromFile</span> <span class='hs-varid'>builder</span> <span class='hs-varop'>=&lt;&lt;</span> <span class='hs-varid'>getDataFileName</span> <span class='hs-str'>"data/Gtk/builder.xml"</span>
<a name="line-87"></a><a name="newTab"></a><span class='hs-comment'>-- |Creates a new tab with its own view and refreshes the view.</span> <a name="line-87"></a>
<a name="line-88"></a><span class='hs-definition'>newTab</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</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'>Item</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>MyView</span> <a name="line-88"></a> <span class='hs-comment'>-- create dummy models, so we don't have to use MVar</span>
<a name="line-89"></a><span class='hs-definition'>newTab</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>iofmv</span> <span class='hs-varid'>item</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span> <a name="line-89"></a> <span class='hs-varid'>rawModel</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>newTVarIO</span> <span class='hs-varop'>=&lt;&lt;</span> <span class='hs-varid'>listStoreNew</span> <span class='hs-conid'>[]</span>
<a name="line-90"></a> <span class='hs-varid'>myview</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>createMyView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>iofmv</span> <a name="line-90"></a> <span class='hs-varid'>filteredModel</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>newTVarIO</span> <span class='hs-varop'>=&lt;&lt;</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>x</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>treeModelFilterNew</span> <span class='hs-varid'>x</span> <span class='hs-conid'>[]</span><span class='hs-layout'>)</span>
<a name="line-91"></a> <span class='hs-varid'>i</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>notebookAppendPage</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-91"></a> <span class='hs-varop'>=&lt;&lt;</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varid'>rawModel</span>
<a name="line-92"></a> <span class='hs-layout'>(</span><span class='hs-varid'>maybe</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-varop'>$</span> <span class='hs-varid'>path</span> <span class='hs-varid'>item</span><span class='hs-layout'>)</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-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-varid'>item</span><span class='hs-layout'>)</span> <a name="line-92"></a> <span class='hs-varid'>sortedModel</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>newTVarIO</span> <span class='hs-varop'>=&lt;&lt;</span> <span class='hs-varid'>treeModelSortNewWithModel</span>
<a name="line-93"></a> <span class='hs-varid'>mpage</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>notebookGetNthPage</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'>i</span> <a name="line-93"></a> <span class='hs-varop'>=&lt;&lt;</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varid'>filteredModel</span>
<a name="line-94"></a> <span class='hs-varid'>forM_</span> <span class='hs-varid'>mpage</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>page</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>notebookSetTabReorderable</span> <span class='hs-layout'>(</span><span class='hs-varid'>notebook</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span> <a name="line-94"></a> <span class='hs-varid'>cwd</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>newEmptyMVar</span>
<a name="line-95"></a> <span class='hs-varid'>page</span> <a name="line-95"></a> <span class='hs-varid'>view'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>iofmv</span>
<a name="line-96"></a> <span class='hs-conid'>True</span> <a name="line-96"></a> <span class='hs-varid'>view</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>newTVarIO</span> <span class='hs-varid'>view'</span>
<a name="line-97"></a> <span class='hs-varid'>catchIOError</span> <span class='hs-layout'>(</span><span class='hs-varid'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>item</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>e</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span> <a name="line-97"></a>
<a name="line-98"></a> <span class='hs-varid'>forM_</span> <span class='hs-varid'>mpage</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>page</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span> <a name="line-98"></a> <span class='hs-varid'>urlBar</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToEntry</span>
<a name="line-99"></a> <span class='hs-varid'>file</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>readFile</span> <span class='hs-varid'>getFileInfo</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'>parseAbs</span> <span class='hs-varop'>.</span> <span class='hs-varid'>fromString</span> <span class='hs-varop'>$</span> <span class='hs-str'>"/"</span> <a name="line-99"></a> <span class='hs-str'>"urlBar"</span>
<a name="line-100"></a> <span class='hs-varid'>refreshView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <span class='hs-varid'>file</span> <a name="line-100"></a> <span class='hs-varid'>rcMenu</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToMenu</span>
<a name="line-101"></a> <span class='hs-varid'>notebookSetTabLabelText</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> <span class='hs-str'>"/"</span> <a name="line-101"></a> <span class='hs-str'>"rcMenu"</span>
<a name="line-102"></a> <span class='hs-varid'>unless</span> <span class='hs-layout'>(</span><span class='hs-varid'>isUserError</span> <span class='hs-varid'>e</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>ioError</span> <span class='hs-varid'>e</span><span class='hs-layout'>)</span> <a name="line-102"></a> <span class='hs-varid'>rcFileOpen</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
<a name="line-103"></a> <a name="line-103"></a> <span class='hs-str'>"rcFileOpen"</span>
<a name="line-104"></a> <span class='hs-varid'>return</span> <span class='hs-varid'>myview</span> <a name="line-104"></a> <span class='hs-varid'>rcFileExecute</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
<a name="line-105"></a> <a name="line-105"></a> <span class='hs-str'>"rcFileExecute"</span>
<a name="line-106"></a> <a name="line-106"></a> <span class='hs-varid'>rcFileNewRegFile</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
<a name="line-107"></a><a name="createMyView"></a><span class='hs-comment'>-- |Constructs the initial MyView object with a few dummy models.</span> <a name="line-107"></a> <span class='hs-str'>"rcFileNewRegFile"</span>
<a name="line-108"></a><span class='hs-comment'>-- It also initializes the callbacks.</span> <a name="line-108"></a> <span class='hs-varid'>rcFileNewDir</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
<a name="line-109"></a><span class='hs-definition'>createMyView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <a name="line-109"></a> <span class='hs-str'>"rcFileNewDir"</span>
<a name="line-110"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>FMView</span> <a name="line-110"></a> <span class='hs-varid'>rcFileNewTab</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
<a name="line-111"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>MyView</span> <a name="line-111"></a> <span class='hs-str'>"rcFileNewTab"</span>
<a name="line-112"></a><span class='hs-definition'>createMyView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>iofmv</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span> <a name="line-112"></a> <span class='hs-varid'>rcFileNewTabHere</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
<a name="line-113"></a> <span class='hs-varid'>inotify</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>newEmptyMVar</span> <a name="line-113"></a> <span class='hs-str'>"rcFileNewTabHere"</span>
<a name="line-114"></a> <span class='hs-varid'>history</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>newTVarIO</span> <span class='hs-layout'>(</span><span class='hs-conid'>[]</span><span class='hs-layout'>,</span><span class='hs-conid'>[]</span><span class='hs-layout'>)</span> <a name="line-114"></a> <span class='hs-varid'>rcFileCut</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
<a name="line-115"></a> <a name="line-115"></a> <span class='hs-str'>"rcFileCut"</span>
<a name="line-116"></a> <span class='hs-varid'>builder</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderNew</span> <a name="line-116"></a> <span class='hs-varid'>rcFileCopy</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
<a name="line-117"></a> <span class='hs-varid'>builderAddFromFile</span> <span class='hs-varid'>builder</span> <span class='hs-varop'>=&lt;&lt;</span> <span class='hs-varid'>getDataFileName</span> <span class='hs-str'>"data/Gtk/builder.xml"</span> <a name="line-117"></a> <span class='hs-str'>"rcFileCopy"</span>
<a name="line-118"></a> <a name="line-118"></a> <span class='hs-varid'>rcFileRename</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
<a name="line-119"></a> <span class='hs-comment'>-- create dummy models, so we don't have to use MVar</span> <a name="line-119"></a> <span class='hs-str'>"rcFileRename"</span>
<a name="line-120"></a> <span class='hs-varid'>rawModel</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>newTVarIO</span> <span class='hs-varop'>=&lt;&lt;</span> <span class='hs-varid'>listStoreNew</span> <span class='hs-conid'>[]</span> <a name="line-120"></a> <span class='hs-varid'>rcFilePaste</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
<a name="line-121"></a> <span class='hs-varid'>filteredModel</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>newTVarIO</span> <span class='hs-varop'>=&lt;&lt;</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>x</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>treeModelFilterNew</span> <span class='hs-varid'>x</span> <span class='hs-conid'>[]</span><span class='hs-layout'>)</span> <a name="line-121"></a> <span class='hs-str'>"rcFilePaste"</span>
<a name="line-122"></a> <span class='hs-varop'>=&lt;&lt;</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varid'>rawModel</span> <a name="line-122"></a> <span class='hs-varid'>rcFileDelete</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
<a name="line-123"></a> <span class='hs-varid'>sortedModel</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>newTVarIO</span> <span class='hs-varop'>=&lt;&lt;</span> <span class='hs-varid'>treeModelSortNewWithModel</span> <a name="line-123"></a> <span class='hs-str'>"rcFileDelete"</span>
<a name="line-124"></a> <span class='hs-varop'>=&lt;&lt;</span> <span class='hs-varid'>readTVarIO</span> <span class='hs-varid'>filteredModel</span> <a name="line-124"></a> <span class='hs-varid'>rcFileProperty</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
<a name="line-125"></a> <span class='hs-varid'>cwd</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>newEmptyMVar</span> <a name="line-125"></a> <span class='hs-str'>"rcFileProperty"</span>
<a name="line-126"></a> <span class='hs-varid'>view'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>iofmv</span> <a name="line-126"></a> <span class='hs-varid'>rcFileIconView</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
<a name="line-127"></a> <span class='hs-varid'>view</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>newTVarIO</span> <span class='hs-varid'>view'</span> <a name="line-127"></a> <span class='hs-str'>"rcFileIconView"</span>
<a name="line-128"></a> <a name="line-128"></a> <span class='hs-varid'>rcFileTreeView</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span>
<a name="line-129"></a> <span class='hs-varid'>urlBar</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToEntry</span> <a name="line-129"></a> <span class='hs-str'>"rcFileTreeView"</span>
<a name="line-130"></a> <span class='hs-str'>"urlBar"</span> <a name="line-130"></a> <span class='hs-varid'>upViewB</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToButton</span>
<a name="line-131"></a> <span class='hs-varid'>rcMenu</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToMenu</span> <a name="line-131"></a> <span class='hs-str'>"upViewB"</span>
<a name="line-132"></a> <span class='hs-str'>"rcMenu"</span> <a name="line-132"></a> <span class='hs-varid'>homeViewB</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToButton</span>
<a name="line-133"></a> <span class='hs-varid'>rcFileOpen</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span> <a name="line-133"></a> <span class='hs-str'>"homeViewB"</span>
<a name="line-134"></a> <span class='hs-str'>"rcFileOpen"</span> <a name="line-134"></a> <span class='hs-varid'>refreshViewB</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToButton</span>
<a name="line-135"></a> <span class='hs-varid'>rcFileExecute</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span> <a name="line-135"></a> <span class='hs-str'>"refreshViewB"</span>
<a name="line-136"></a> <span class='hs-str'>"rcFileExecute"</span> <a name="line-136"></a> <span class='hs-varid'>scroll</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToScrolledWindow</span>
<a name="line-137"></a> <span class='hs-varid'>rcFileNewRegFile</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span> <a name="line-137"></a> <span class='hs-str'>"mainScroll"</span>
<a name="line-138"></a> <span class='hs-str'>"rcFileNewRegFile"</span> <a name="line-138"></a> <span class='hs-varid'>viewBox</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToBox</span>
<a name="line-139"></a> <span class='hs-varid'>rcFileNewDir</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span> <a name="line-139"></a> <span class='hs-str'>"viewBox"</span>
<a name="line-140"></a> <span class='hs-str'>"rcFileNewDir"</span> <a name="line-140"></a>
<a name="line-141"></a> <span class='hs-varid'>rcFileCut</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span> <a name="line-141"></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-142"></a> <span class='hs-str'>"rcFileCut"</span> <a name="line-142"></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-143"></a> <span class='hs-varid'>rcFileCopy</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span> <a name="line-143"></a>
<a name="line-144"></a> <span class='hs-str'>"rcFileCopy"</span> <a name="line-144"></a> <span class='hs-comment'>-- set the bindings</span>
<a name="line-145"></a> <span class='hs-varid'>rcFileRename</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span> <a name="line-145"></a> <span class='hs-varid'>setViewCallbacks</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
<a name="line-146"></a> <span class='hs-str'>"rcFileRename"</span> <a name="line-146"></a>
<a name="line-147"></a> <span class='hs-varid'>rcFilePaste</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span> <a name="line-147"></a> <span class='hs-comment'>-- add the treeview to the scroll container</span>
<a name="line-148"></a> <span class='hs-str'>"rcFilePaste"</span> <a name="line-148"></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-149"></a> <span class='hs-varid'>rcFileDelete</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span> <a name="line-149"></a> <span class='hs-varid'>containerAdd</span> <span class='hs-varid'>scroll</span> <span class='hs-varid'>oview</span>
<a name="line-150"></a> <span class='hs-str'>"rcFileDelete"</span> <a name="line-150"></a>
<a name="line-151"></a> <span class='hs-varid'>rcFileProperty</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span> <a name="line-151"></a> <span class='hs-varid'>widgetShowAll</span> <span class='hs-varid'>viewBox</span>
<a name="line-152"></a> <span class='hs-str'>"rcFileProperty"</span> <a name="line-152"></a>
<a name="line-153"></a> <span class='hs-varid'>rcFileIconView</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span> <a name="line-153"></a> <span class='hs-varid'>return</span> <span class='hs-varid'>myview</span>
<a name="line-154"></a> <span class='hs-str'>"rcFileIconView"</span> <a name="line-154"></a>
<a name="line-155"></a> <span class='hs-varid'>rcFileTreeView</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToImageMenuItem</span> <a name="line-155"></a>
<a name="line-156"></a> <span class='hs-str'>"rcFileTreeView"</span> <a name="line-156"></a><a name="switchView"></a><span class='hs-comment'>-- |Switch the existing view in `MyView` with the one that the</span>
<a name="line-157"></a> <span class='hs-varid'>upViewB</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToButton</span> <a name="line-157"></a><span class='hs-comment'>-- io action returns.</span>
<a name="line-158"></a> <span class='hs-str'>"upViewB"</span> <a name="line-158"></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-159"></a> <span class='hs-varid'>homeViewB</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToButton</span> <a name="line-159"></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-160"></a> <span class='hs-str'>"homeViewB"</span> <a name="line-160"></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-161"></a> <span class='hs-varid'>refreshViewB</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToButton</span> <a name="line-161"></a>
<a name="line-162"></a> <span class='hs-str'>"refreshViewB"</span> <a name="line-162"></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-163"></a> <span class='hs-varid'>scroll</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToScrolledWindow</span> <a name="line-163"></a>
<a name="line-164"></a> <span class='hs-str'>"mainScroll"</span> <a name="line-164"></a> <span class='hs-comment'>-- create new view and tab page where the previous one was</span>
<a name="line-165"></a> <span class='hs-varid'>viewBox</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>builderGetObject</span> <span class='hs-varid'>builder</span> <span class='hs-varid'>castToBox</span> <a name="line-165"></a> <span class='hs-varid'>nview</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>createMyView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>iofmv</span>
<a name="line-166"></a> <span class='hs-str'>"viewBox"</span> <a name="line-166"></a> <span class='hs-varid'>newpage</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>notebookInsertPage</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-167"></a> <a name="line-167"></a> <span class='hs-layout'>(</span><span class='hs-varid'>maybe</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-varop'>$</span> <span class='hs-varid'>path</span> <span class='hs-varid'>cwd</span><span class='hs-layout'>)</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>fromRel</span>
<a name="line-168"></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-168"></a> <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-varop'>$</span> <span class='hs-varid'>cwd</span><span class='hs-layout'>)</span> <span class='hs-varid'>oldpage</span>
<a name="line-169"></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-169"></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'>newpage</span>
<a name="line-170"></a> <a name="line-170"></a>
<a name="line-171"></a> <span class='hs-comment'>-- set the bindings</span> <a name="line-171"></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-172"></a> <span class='hs-varid'>setViewCallbacks</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <a name="line-172"></a>
<a name="line-173"></a> <a name="line-173"></a>
<a name="line-174"></a> <span class='hs-comment'>-- add the treeview to the scroll container</span> <a name="line-174"></a><a name="destroyView"></a><span class='hs-comment'>-- |Destroys the given view by disconnecting the watcher</span>
<a name="line-175"></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-175"></a><span class='hs-comment'>-- and destroying the active FMView container.</span>
<a name="line-176"></a> <span class='hs-varid'>containerAdd</span> <span class='hs-varid'>scroll</span> <span class='hs-varid'>oview</span> <a name="line-176"></a><span class='hs-comment'>--</span>
<a name="line-177"></a> <a name="line-177"></a><span class='hs-comment'>-- Everything that needs to be done in order to forget about a</span>
<a name="line-178"></a> <span class='hs-varid'>widgetShowAll</span> <span class='hs-varid'>viewBox</span> <a name="line-178"></a><span class='hs-comment'>-- view needs to be done here.</span>
<a name="line-179"></a> <a name="line-179"></a><span class='hs-comment'>--</span>
<a name="line-180"></a> <span class='hs-varid'>return</span> <span class='hs-varid'>myview</span> <a name="line-180"></a><span class='hs-comment'>-- Returns the page in the tab list this view corresponds to.</span>
<a name="line-181"></a> <a name="line-181"></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-182"></a> <a name="line-182"></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-183"></a><a name="switchView"></a><span class='hs-comment'>-- |Switch the existing view in `MyView` with the one that the</span> <a name="line-183"></a> <span class='hs-comment'>-- disconnect watcher</span>
<a name="line-184"></a><span class='hs-comment'>-- io action returns.</span> <a name="line-184"></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-185"></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-185"></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-186"></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-186"></a>
<a name="line-187"></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-187"></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-188"></a> <a name="line-188"></a>
<a name="line-189"></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-189"></a> <span class='hs-comment'>-- destroy old view and tab page</span>
<a name="line-190"></a> <a name="line-190"></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-191"></a> <span class='hs-comment'>-- create new view and tab page where the previous one was</span> <a name="line-191"></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-192"></a> <span class='hs-varid'>nview</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>createMyView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>iofmv</span> <a name="line-192"></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-193"></a> <span class='hs-varid'>newpage</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>notebookInsertPage</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-193"></a>
<a name="line-194"></a> <span class='hs-layout'>(</span><span class='hs-varid'>maybe</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-varop'>$</span> <span class='hs-varid'>path</span> <span class='hs-varid'>cwd</span><span class='hs-layout'>)</span> <span class='hs-conid'>P</span><span class='hs-varop'>.</span><span class='hs-varid'>fromRel</span> <a name="line-194"></a> <span class='hs-varid'>return</span> <span class='hs-varid'>page</span>
<a name="line-195"></a> <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-varop'>$</span> <span class='hs-varid'>cwd</span><span class='hs-layout'>)</span> <span class='hs-varid'>oldpage</span> <a name="line-195"></a>
<a name="line-196"></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'>newpage</span> <a name="line-196"></a>
<a name="line-197"></a> <a name="line-197"></a><a name="createIconView"></a><span class='hs-comment'>-- |Createss an IconView.</span>
<a name="line-198"></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-198"></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-199"></a> <a name="line-199"></a><span class='hs-definition'>createIconView</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-200"></a> <a name="line-200"></a> <span class='hs-varid'>iconv</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>iconViewNew</span>
<a name="line-201"></a><a name="destroyView"></a><span class='hs-comment'>-- |Destroys the current view by disconnecting the watcher</span> <a name="line-201"></a> <span class='hs-varid'>iconViewSetSelectionMode</span> <span class='hs-varid'>iconv</span> <span class='hs-conid'>SelectionMultiple</span>
<a name="line-202"></a><span class='hs-comment'>-- and destroying the active FMView container.</span> <a name="line-202"></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-203"></a><span class='hs-comment'>--</span> <a name="line-203"></a> <span class='hs-varid'>iconViewSetSpacing</span> <span class='hs-varid'>iconv</span> <span class='hs-num'>2</span>
<a name="line-204"></a><span class='hs-comment'>-- Everything that needs to be done in order to forget about a</span> <a name="line-204"></a> <span class='hs-varid'>iconViewSetMargin</span> <span class='hs-varid'>iconv</span> <span class='hs-num'>0</span>
<a name="line-205"></a><span class='hs-comment'>-- view needs to be done here.</span> <a name="line-205"></a> <span class='hs-comment'>{- set iconv [ iconViewItemOrientation := OrientationHorizontal ] -}</span>
<a name="line-206"></a><span class='hs-comment'>--</span> <a name="line-206"></a> <span class='hs-comment'>{- set iconv [ iconViewOrientation := OrientationHorizontal ] -}</span>
<a name="line-207"></a><span class='hs-comment'>-- Returns the page in the tab list this view corresponds to.</span> <a name="line-207"></a>
<a name="line-208"></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-208"></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-209"></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-209"></a>
<a name="line-210"></a> <span class='hs-comment'>-- disconnect watcher</span> <a name="line-210"></a>
<a name="line-211"></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-211"></a><a name="createTreeView"></a><span class='hs-comment'>-- |Creates a TreeView.</span>
<a name="line-212"></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-212"></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-213"></a> <a name="line-213"></a><span class='hs-definition'>createTreeView</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-214"></a> <span class='hs-varid'>page</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>notebookGetCurrentPage</span> <span class='hs-layout'>(</span><span class='hs-varid'>notebook</span> <span class='hs-varid'>mygui</span><span class='hs-layout'>)</span> <a name="line-214"></a> <span class='hs-comment'>-- create the final view</span>
<a name="line-215"></a> <a name="line-215"></a> <span class='hs-varid'>treeView</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewNew</span>
<a name="line-216"></a> <span class='hs-comment'>-- destroy old view and tab page</span> <a name="line-216"></a> <span class='hs-comment'>-- set selection mode</span>
<a name="line-217"></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-217"></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-218"></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-218"></a> <span class='hs-varid'>treeSelectionSetMode</span> <span class='hs-varid'>tvs</span> <span class='hs-conid'>SelectionMultiple</span>
<a name="line-219"></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-219"></a>
<a name="line-220"></a> <a name="line-220"></a> <span class='hs-comment'>-- set drag and drop</span>
<a name="line-221"></a> <span class='hs-varid'>return</span> <span class='hs-varid'>page</span> <a name="line-221"></a> <span class='hs-varid'>tl</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>targetListNew</span>
<a name="line-222"></a> <a name="line-222"></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-223"></a> <a name="line-223"></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-224"></a><a name="createIconView"></a><span class='hs-comment'>-- |Createss an IconView.</span> <a name="line-224"></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-225"></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-225"></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-226"></a><span class='hs-definition'>createIconView</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span> <a name="line-226"></a>
<a name="line-227"></a> <span class='hs-varid'>iconv</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>iconViewNew</span> <a name="line-227"></a> <span class='hs-comment'>-- create final tree model columns</span>
<a name="line-228"></a> <span class='hs-varid'>iconViewSetSelectionMode</span> <span class='hs-varid'>iconv</span> <span class='hs-conid'>SelectionMultiple</span> <a name="line-228"></a> <span class='hs-varid'>renderTxt</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>cellRendererTextNew</span>
<a name="line-229"></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-229"></a> <span class='hs-varid'>renderPix</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>cellRendererPixbufNew</span>
<a name="line-230"></a> <span class='hs-varid'>iconViewSetSpacing</span> <span class='hs-varid'>iconv</span> <span class='hs-num'>2</span> <a name="line-230"></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-231"></a> <span class='hs-varid'>iconViewSetMargin</span> <span class='hs-varid'>iconv</span> <span class='hs-num'>0</span> <a name="line-231"></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-232"></a> <span class='hs-comment'>{- set iconv [ iconViewItemOrientation := OrientationHorizontal ] -}</span> <a name="line-232"></a>
<a name="line-233"></a> <span class='hs-comment'>{- set iconv [ iconViewOrientation := OrientationHorizontal ] -}</span> <a name="line-233"></a> <span class='hs-comment'>-- filename column</span>
<a name="line-234"></a> <a name="line-234"></a> <span class='hs-varid'>cF</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewColumnNew</span>
<a name="line-235"></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-235"></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-236"></a> <a name="line-236"></a> <span class='hs-varid'>treeViewColumnSetResizable</span> <span class='hs-varid'>cF</span> <span class='hs-conid'>True</span>
<a name="line-237"></a> <a name="line-237"></a> <span class='hs-varid'>treeViewColumnSetClickable</span> <span class='hs-varid'>cF</span> <span class='hs-conid'>True</span>
<a name="line-238"></a><a name="createTreeView"></a><span class='hs-comment'>-- |Creates a TreeView.</span> <a name="line-238"></a> <span class='hs-varid'>treeViewColumnSetSortColumnId</span> <span class='hs-varid'>cF</span> <span class='hs-num'>1</span>
<a name="line-239"></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-239"></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-240"></a><span class='hs-definition'>createTreeView</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span> <a name="line-240"></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-241"></a> <span class='hs-comment'>-- create the final view</span> <a name="line-241"></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-242"></a> <span class='hs-varid'>treeView</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewNew</span> <a name="line-242"></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-243"></a> <span class='hs-comment'>-- set selection mode</span> <a name="line-243"></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-244"></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-244"></a>
<a name="line-245"></a> <span class='hs-varid'>treeSelectionSetMode</span> <span class='hs-varid'>tvs</span> <span class='hs-conid'>SelectionMultiple</span> <a name="line-245"></a> <span class='hs-comment'>-- date column</span>
<a name="line-246"></a> <a name="line-246"></a> <span class='hs-varid'>cMD</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewColumnNew</span>
<a name="line-247"></a> <span class='hs-comment'>-- set drag and drop</span> <a name="line-247"></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-248"></a> <span class='hs-varid'>tl</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>targetListNew</span> <a name="line-248"></a> <span class='hs-varid'>treeViewColumnSetResizable</span> <span class='hs-varid'>cMD</span> <span class='hs-conid'>True</span>
<a name="line-249"></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-249"></a> <span class='hs-varid'>treeViewColumnSetClickable</span> <span class='hs-varid'>cMD</span> <span class='hs-conid'>True</span>
<a name="line-250"></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-250"></a> <span class='hs-varid'>treeViewColumnSetSortColumnId</span> <span class='hs-varid'>cMD</span> <span class='hs-num'>2</span>
<a name="line-251"></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-251"></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-252"></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-252"></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-253"></a> <a name="line-253"></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-254"></a> <span class='hs-comment'>-- create final tree model columns</span> <a name="line-254"></a>
<a name="line-255"></a> <span class='hs-varid'>renderTxt</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>cellRendererTextNew</span> <a name="line-255"></a> <span class='hs-comment'>-- permissions column</span>
<a name="line-256"></a> <span class='hs-varid'>renderPix</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>cellRendererPixbufNew</span> <a name="line-256"></a> <span class='hs-varid'>cP</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewColumnNew</span>
<a name="line-257"></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-257"></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-258"></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-258"></a> <span class='hs-varid'>treeViewColumnSetResizable</span> <span class='hs-varid'>cP</span> <span class='hs-conid'>True</span>
<a name="line-259"></a> <a name="line-259"></a> <span class='hs-varid'>treeViewColumnSetClickable</span> <span class='hs-varid'>cP</span> <span class='hs-conid'>True</span>
<a name="line-260"></a> <span class='hs-comment'>-- filename column</span> <a name="line-260"></a> <span class='hs-varid'>treeViewColumnSetSortColumnId</span> <span class='hs-varid'>cP</span> <span class='hs-num'>3</span>
<a name="line-261"></a> <span class='hs-varid'>cF</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewColumnNew</span> <a name="line-261"></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-262"></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-262"></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-263"></a> <span class='hs-varid'>treeViewColumnSetResizable</span> <span class='hs-varid'>cF</span> <span class='hs-conid'>True</span> <a name="line-263"></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-264"></a> <span class='hs-varid'>treeViewColumnSetClickable</span> <span class='hs-varid'>cF</span> <span class='hs-conid'>True</span> <a name="line-264"></a>
<a name="line-265"></a> <span class='hs-varid'>treeViewColumnSetSortColumnId</span> <span class='hs-varid'>cF</span> <span class='hs-num'>1</span> <a name="line-265"></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-266"></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-266"></a>
<a name="line-267"></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-267"></a>
<a name="line-268"></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-268"></a><a name="refreshView"></a><span class='hs-comment'>-- |Refreshes the View based on the given directory.</span>
<a name="line-269"></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-269"></a><span class='hs-comment'>--</span>
<a name="line-270"></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-270"></a><span class='hs-comment'>-- Throws:</span>
<a name="line-271"></a> <a name="line-271"></a><span class='hs-comment'>--</span>
<a name="line-272"></a> <span class='hs-comment'>-- date column</span> <a name="line-272"></a><span class='hs-comment'>-- - `userError` on inappropriate type</span>
<a name="line-273"></a> <span class='hs-varid'>cMD</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewColumnNew</span> <a name="line-273"></a><span class='hs-definition'>refreshView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span>
<a name="line-274"></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-274"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span>
<a name="line-275"></a> <span class='hs-varid'>treeViewColumnSetResizable</span> <span class='hs-varid'>cMD</span> <span class='hs-conid'>True</span> <a name="line-275"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Item</span>
<a name="line-276"></a> <span class='hs-varid'>treeViewColumnSetClickable</span> <span class='hs-varid'>cMD</span> <span class='hs-conid'>True</span> <a name="line-276"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-277"></a> <span class='hs-varid'>treeViewColumnSetSortColumnId</span> <span class='hs-varid'>cMD</span> <span class='hs-num'>2</span> <a name="line-277"></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-278"></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-278"></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-279"></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-279"></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-280"></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-280"></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-281"></a> <a name="line-281"></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-282"></a> <span class='hs-comment'>-- permissions column</span> <a name="line-282"></a>
<a name="line-283"></a> <span class='hs-varid'>cP</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>treeViewColumnNew</span> <a name="line-283"></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-284"></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-284"></a>
<a name="line-285"></a> <span class='hs-varid'>treeViewColumnSetResizable</span> <span class='hs-varid'>cP</span> <span class='hs-conid'>True</span> <a name="line-285"></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-286"></a> <span class='hs-varid'>treeViewColumnSetClickable</span> <span class='hs-varid'>cP</span> <span class='hs-conid'>True</span> <a name="line-286"></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-287"></a> <span class='hs-varid'>treeViewColumnSetSortColumnId</span> <span class='hs-varid'>cP</span> <span class='hs-num'>3</span> <a name="line-287"></a>
<a name="line-288"></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-288"></a> <span class='hs-comment'>-- get selected items</span>
<a name="line-289"></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-289"></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-290"></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-290"></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-291"></a> <a name="line-291"></a>
<a name="line-292"></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-292"></a> <span class='hs-varid'>constructView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span>
<a name="line-293"></a> <a name="line-293"></a>
<a name="line-294"></a> <a name="line-294"></a> <span class='hs-comment'>-- reselect selected items</span>
<a name="line-295"></a><a name="refreshView"></a><span class='hs-comment'>-- |Refreshes the View based on the given directory.</span> <a name="line-295"></a> <span class='hs-comment'>-- TODO: not implemented for icon view yet</span>
<a name="line-296"></a><span class='hs-comment'>--</span> <a name="line-296"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>view'</span> <span class='hs-keyword'>of</span>
<a name="line-297"></a><span class='hs-comment'>-- Throws:</span> <a name="line-297"></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-298"></a><span class='hs-comment'>--</span> <a name="line-298"></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-299"></a><span class='hs-comment'>-- - `userError` on inappropriate type</span> <a name="line-299"></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-300"></a><span class='hs-definition'>refreshView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <a name="line-300"></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-301"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span> <a name="line-301"></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-302"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Item</span> <a name="line-302"></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-303"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span> <a name="line-303"></a>
<a name="line-304"></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-304"></a>
<a name="line-305"></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-305"></a><a name="constructView"></a><span class='hs-comment'>-- |Constructs the visible View with the current underlying mutable models,</span>
<a name="line-306"></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-306"></a><span class='hs-comment'>-- which are retrieved from 'MyGUI'.</span>
<a name="line-307"></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-307"></a><span class='hs-comment'>--</span>
<a name="line-308"></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-308"></a><span class='hs-comment'>-- This sort of merges the components mygui and myview and fires up</span>
<a name="line-309"></a> <a name="line-309"></a><span class='hs-comment'>-- the actual models.</span>
<a name="line-310"></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-310"></a><span class='hs-definition'>constructView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span>
<a name="line-311"></a> <a name="line-311"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span>
<a name="line-312"></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-312"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-313"></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-313"></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-314"></a> <a name="line-314"></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-315"></a> <span class='hs-comment'>-- get selected items</span> <a name="line-315"></a>
<a name="line-316"></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-316"></a> <span class='hs-comment'>-- pix stuff</span>
<a name="line-317"></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-317"></a> <span class='hs-varid'>iT</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>iconThemeGetDefault</span>
<a name="line-318"></a> <a name="line-318"></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-319"></a> <span class='hs-varid'>constructView</span> <span class='hs-varid'>mygui</span> <span class='hs-varid'>myview</span> <a name="line-319"></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-320"></a> <a name="line-320"></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-321"></a> <span class='hs-comment'>-- reselect selected items</span> <a name="line-321"></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-322"></a> <span class='hs-comment'>-- TODO: not implemented for icon view yet</span> <a name="line-322"></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-323"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>view'</span> <span class='hs-keyword'>of</span> <a name="line-323"></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-324"></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-324"></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-325"></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-325"></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-326"></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-326"></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-327"></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-327"></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-328"></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-328"></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-329"></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-329"></a>
<a name="line-330"></a> <a name="line-330"></a>
<a name="line-331"></a> <a name="line-331"></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-332"></a><a name="constructView"></a><span class='hs-comment'>-- |Constructs the visible View with the current underlying mutable models,</span> <a name="line-332"></a>
<a name="line-333"></a><span class='hs-comment'>-- which are retrieved from 'MyGUI'.</span> <a name="line-333"></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-334"></a><span class='hs-comment'>--</span> <a name="line-334"></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-335"></a><span class='hs-comment'>-- This sort of merges the components mygui and myview and fires up</span> <a name="line-335"></a>
<a name="line-336"></a><span class='hs-comment'>-- the actual models.</span> <a name="line-336"></a> <span class='hs-comment'>-- update urlBar</span>
<a name="line-337"></a><span class='hs-definition'>constructView</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>MyGUI</span> <a name="line-337"></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-338"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MyView</span> <a name="line-338"></a>
<a name="line-339"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span> <a name="line-339"></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-340"></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-340"></a>
<a name="line-341"></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-341"></a> <span class='hs-comment'>-- filtering</span>
<a name="line-342"></a> <a name="line-342"></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-343"></a> <span class='hs-comment'>-- pix stuff</span> <a name="line-343"></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-344"></a> <span class='hs-varid'>iT</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>iconThemeGetDefault</span> <a name="line-344"></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-345"></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-345"></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-346"></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-346"></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-347"></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-347"></a> <span class='hs-keyword'>if</span> <span class='hs-varid'>hidden</span>
<a name="line-348"></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-348"></a> <span class='hs-keyword'>then</span> <span class='hs-varid'>return</span> <span class='hs-conid'>True</span>
<a name="line-349"></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-349"></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-350"></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-350"></a>
<a name="line-351"></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-351"></a> <span class='hs-comment'>-- sorting</span>
<a name="line-352"></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-352"></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-353"></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-353"></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-354"></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-354"></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-355"></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-355"></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-356"></a> <a name="line-356"></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-357"></a> <a name="line-357"></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-358"></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-358"></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-359"></a> <a name="line-359"></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-360"></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-360"></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-361"></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-361"></a>
<a name="line-362"></a> <a name="line-362"></a> <span class='hs-comment'>-- set values</span>
<a name="line-363"></a> <span class='hs-comment'>-- update urlBar</span> <a name="line-363"></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-364"></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-364"></a> <span class='hs-varid'>dirtreePix</span>
<a name="line-365"></a> <a name="line-365"></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-366"></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-366"></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-367"></a> <a name="line-367"></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-368"></a> <span class='hs-comment'>-- filtering</span> <a name="line-368"></a> <span class='hs-varid'>packModTime</span>
<a name="line-369"></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-369"></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-370"></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-370"></a> <span class='hs-varid'>packPermissions</span>
<a name="line-371"></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-371"></a>
<a name="line-372"></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-372"></a> <span class='hs-comment'>-- update model of view</span>
<a name="line-373"></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-373"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>view'</span> <span class='hs-keyword'>of</span>
<a name="line-374"></a> <span class='hs-keyword'>if</span> <span class='hs-varid'>hidden</span> <a name="line-374"></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-375"></a> <span class='hs-keyword'>then</span> <span class='hs-varid'>return</span> <span class='hs-conid'>True</span> <a name="line-375"></a> <span class='hs-varid'>treeViewSetModel</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>sortedModel'</span>
<a name="line-376"></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-376"></a> <span class='hs-varid'>treeViewSetRubberBanding</span> <span class='hs-varid'>treeView</span> <span class='hs-conid'>True</span>
<a name="line-377"></a> <a name="line-377"></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-378"></a> <span class='hs-comment'>-- sorting</span> <a name="line-378"></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-379"></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-379"></a> <span class='hs-varid'>iconViewSetPixbufColumn</span> <span class='hs-varid'>iconView</span>
<a name="line-380"></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-380"></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-381"></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-381"></a> <span class='hs-varid'>iconViewSetTextColumn</span> <span class='hs-varid'>iconView</span>
<a name="line-382"></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-382"></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-383"></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-383"></a>
<a name="line-384"></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-384"></a> <span class='hs-comment'>-- add watcher</span>
<a name="line-385"></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-385"></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-386"></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-386"></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-387"></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-387"></a> <span class='hs-varid'>newi</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>initINotify</span>
<a name="line-388"></a> <a name="line-388"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>addWatch</span>
<a name="line-389"></a> <span class='hs-comment'>-- set values</span> <a name="line-389"></a> <span class='hs-varid'>newi</span>
<a name="line-390"></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-390"></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-391"></a> <span class='hs-varid'>dirtreePix</span> <a name="line-391"></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-392"></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-392"></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-393"></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-393"></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-394"></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-394"></a>
<a name="line-395"></a> <span class='hs-varid'>packModTime</span> <a name="line-395"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
<a name="line-396"></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-397"></a> <span class='hs-varid'>packPermissions</span>
<a name="line-398"></a>
<a name="line-399"></a> <span class='hs-comment'>-- update model of view</span>
<a name="line-400"></a> <span class='hs-keyword'>case</span> <span class='hs-varid'>view'</span> <span class='hs-keyword'>of</span>
<a name="line-401"></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-402"></a> <span class='hs-varid'>treeViewSetModel</span> <span class='hs-varid'>treeView</span> <span class='hs-varid'>sortedModel'</span>
<a name="line-403"></a> <span class='hs-varid'>treeViewSetRubberBanding</span> <span class='hs-varid'>treeView</span> <span class='hs-conid'>True</span>
<a name="line-404"></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-405"></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-406"></a> <span class='hs-varid'>iconViewSetPixbufColumn</span> <span class='hs-varid'>iconView</span>
<a name="line-407"></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-408"></a> <span class='hs-varid'>iconViewSetTextColumn</span> <span class='hs-varid'>iconView</span>
<a name="line-409"></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-410"></a>
<a name="line-411"></a> <span class='hs-comment'>-- add watcher</span>
<a name="line-412"></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-413"></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-414"></a> <span class='hs-varid'>newi</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>initINotify</span>
<a name="line-415"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>addWatch</span>
<a name="line-416"></a> <span class='hs-varid'>newi</span>
<a name="line-417"></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-418"></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-419"></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-420"></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-421"></a>
<a name="line-422"></a> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
</pre></body> </pre></body>
</html> </html>