packages feed

twentefp-eventloop-trees (empty) → 0.0.0.1

raw patch · 4 files changed

+121/−0 lines, 4 filesdep +basedep +eventloopsetup-changed

Dependencies added: base, eventloop

Files

+ LICENSE view
@@ -0,0 +1,30 @@+Copyright (c) 2014, Sebastiaan la Fleur
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+
+    * Neither the name of Sebastiaan la Fleur nor the names of other
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple
+main = defaultMain
+ src/FPPrac/Trees.hs view
@@ -0,0 +1,69 @@+module FPPrac.Trees 
+    ( RoseTree
+    , ParseTree
+    , RBTree
+    , NodeColor
+    , parseExampleTree
+    , rbExampleTree
+    , roseExampleTree
+    , showRBTree
+    , showRBTreeList
+    , showParseTree
+    , showParseTreeList
+    , showRoseTree
+    , showRoseTreeList
+    ) where
+    
+    
+import Prelude
+
+import Eventloop.EventloopCore
+import Eventloop.Types.EventTypes
+import Eventloop.DefaultConfiguration
+import qualified Eventloop.Module.Websocket.Canvas as C
+import Eventloop.Module.BasicShapes
+import Eventloop.Module.DrawTrees
+
+data ProgramState = ProgramState
+                  deriving (Eq, Show)
+
+beginProgramState = ProgramState
+
+eventloopConfig trees = defaultConfig { moduleConfigurations=[ defaultDrawTreesModuleConfiguration
+                                                             , defaultBasicShapesModuleConfiguration
+                                                             , C.defaultCanvasModuleConfiguration
+                                                             ]}
+                where
+                    defaultConfig = allModulesEventloopConfiguration beginProgramState (eventloop trees)
+
+
+
+eventloop :: [Tree] -> ProgramState -> In -> (ProgramState, [Out])
+eventloop trees state Start = (state, [ OutCanvas $ C.SetupCanvas 1 1 (1024, 1024) (C.CSSPercentage 0, C.CSSPercentage 0)
+                                      , OutDrawTrees $ DrawTrees 1 trees
+                                      , Stop
+                                      ]
+                              )
+
+showRBTree :: RBTree -> IO()
+showRBTree tree = showRBTreeList [tree] 
+ 
+showRBTreeList :: [RBTree] -> IO ()
+showRBTreeList trees = startMainloop (eventloopConfig (map TRBTree trees))
+
+
+showParseTree :: ParseTree -> IO()
+showParseTree tree = showParseTreeList [tree] 
+ 
+showParseTreeList :: [ParseTree] -> IO ()
+showParseTreeList trees = startMainloop (eventloopConfig (map TParseTree trees))
+
+
+showRoseTree :: RoseTree -> IO()
+showRoseTree tree = showRoseTreeList [tree] 
+ 
+showRoseTreeList :: [RoseTree] -> IO ()
+showRoseTreeList trees = startMainloop (eventloopConfig (map TRoseTree trees))
+
+
+
+ twentefp-eventloop-trees.cabal view
@@ -0,0 +1,20 @@+name:                twentefp-eventloop-trees
+version:             0.0.0.1
+synopsis:            Tree type and show functions for lab assignment of University of Twente. Contains RoseTree and ParseTree      
+license:             BSD3
+license-file:        LICENSE
+author:              Sebastiaan la Fleur
+maintainer:          sebastiaan.la.fleur@gmail.com          
+build-type:          Simple 
+cabal-version:       >=1.10
+
+library
+  exposed-modules:     FPPrac.Trees
+        
+   
+  build-depends:       
+        base >=4.6 && <5,
+        eventloop >= 0.2.1.1 && < 0.3.0.0
+        
+  hs-source-dirs:      src
+  default-language:    Haskell2010