Overview
Comment: | Added missing tree stuff |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.65-try3 |
Files: | files | file ages | folders |
SHA1: |
04fc782eae164945d7eca8c85d44ea51 |
User & Date: | mrwellan on 2019-11-19 14:51:23 |
Other Links: | branch diff | manifest | tags |
Context
2019-11-19
| ||
16:01 | Added missing dashboard code check-in: 27df8e8106 user: mrwellan tags: v1.65-try3 | |
14:51 | Added missing tree stuff check-in: 04fc782eae user: mrwellan tags: v1.65-try3 | |
2019-11-17
| ||
22:27 | Added uses for import.o files in dashboard check-in: 577bbbab0b user: matt tags: v1.65-try3 | |
Changes
Modified Makefile from [1ffb76ed1f] to [0f48ea1449].
︙ | ︙ | |||
30 31 32 33 34 35 36 | # ezsteps.scm lock-queue.scm sdb.scm \ # rmt.scm api.scm subrun.scm \ # portlogger.scm archive.scm env.scm diff-report.scm cgisetup/models/pgdb.scm SRCFILES= # removed from MSRCFILES: ftail.scm # module source files | | | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | # ezsteps.scm lock-queue.scm sdb.scm \ # rmt.scm api.scm subrun.scm \ # portlogger.scm archive.scm env.scm diff-report.scm cgisetup/models/pgdb.scm SRCFILES= # removed from MSRCFILES: ftail.scm # module source files MSRCFILES = rmtmod.scm commonmod.scm apimod.scm archivemod.scm clientmod.scm dbmod.scm dcommonmod.scm envmod.scm ezstepsmod.scm itemsmod.scm keysmod.scm launchmod.scm odsmod.scm processmod.scm runconfigmod.scm runsmod.scm servermod.scm subrunmod.scm tasksmod.scm testsmod.scm vgmod.scm treemod.scm megamod.scm # Eggs to install (straightforward ones) EGGS=matchable readline apropos base64 regex-literals format regex-case test coops trace csv \ dot-locking posix-utils posix-extras directory-utils hostinfo tcp-server rpc csv-xml fmt \ json md5 awful http-client spiffy uri-common intarweb spiffy-request-vars \ spiffy-directory-listing ssax sxml-serializer sxml-modifications iup canvas-draw sqlite3 |
︙ | ︙ |
Modified megamod.scm from [9964e63867] to [92ff8c50f6].
︙ | ︙ | |||
193 194 195 196 197 198 199 200 201 202 203 204 | (include "runs-inc.scm") (include "server-inc.scm") (include "subrun-inc.scm") (include "tasks-inc.scm") (include "tdb-inc.scm") (include "tests-inc.scm") (include "vg-inc.scm") ;; (include "js-path.scm") ;; moved into init procedure in tests-inc.scm ) ;; http-transport:server-dat definition moved to common_records.scm ;; bunch of small functions factored out of send-receive to make debug easier | > > | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | (include "runs-inc.scm") (include "server-inc.scm") (include "subrun-inc.scm") (include "tasks-inc.scm") (include "tdb-inc.scm") (include "tests-inc.scm") (include "vg-inc.scm") (include "tree-inc.scm") ;; (include "js-path.scm") ;; moved into init procedure in tests-inc.scm ) ;; http-transport:server-dat definition moved to common_records.scm ;; bunch of small functions factored out of send-receive to make debug easier |
Modified mtut.scm from [554246843f] to [770692eab5].
|
| | | 1 2 3 4 5 6 7 8 | ;; Copyright 2006-2017, Matthew Welland. ;; ;; This file is part of Megatest. ;; ;; Megatest is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. |
︙ | ︙ |
Added tree-inc.scm version [083e761df9].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | ;;====================================================================== ;; Copyright 2006-2013, Matthew Welland. ;; ;; This file is part of Megatest. ;; ;; Megatest is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; ;; Megatest is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with Megatest. If not, see <http://www.gnu.org/licenses/>. ;; ;;====================================================================== ;; (use format) ;; (require-library iup) ;; (import (prefix iup iup:)) ;; (use canvas-draw) ;; ;; (use sqlite3 srfi-1 posix regex regex-case srfi-69) ;; (import (prefix sqlite3 sqlite3:)) ;; ;; (declare (unit tree)) ;; (declare (uses margs)) ;; (declare (uses launch)) ;; (declare (uses megatest-version)) ;; (declare (uses gutils)) ;; (declare (uses db)) ;; (declare (uses server)) ;; ;; (declare (uses synchash)) ;; (declare (uses dcommon)) ;; ;; (include "common_records.scm") ;; (include "db_records.scm") ;; (include "key_records.scm") ;; ;; ;;====================================================================== ;; T R E E S T U F F ;;====================================================================== ;; path is a list of nodes, each the child of the previous ;; this routine returns the id so another node can be added ;; either as a leaf or as a branch ;; ;; BUG: This needs a stop sensor for when a branch is exhausted ;; (define (tree:find-node obj path) ;; start at the base of the tree (if (null? path) #f ;; or 0 ???? (let loop ((hed (car path)) (tal (cdr path)) (depth 0) (nodenum 0)) ;; nodes in iup tree are 100% sequential so iterate over nodenum (if (iup:attribute obj (conc "DEPTH" nodenum)) ;; end when no more nodes (let ((node-depth (string->number (iup:attribute obj (conc "DEPTH" nodenum)))) (node-title (iup:attribute obj (conc "TITLE" nodenum)))) (if (and (equal? depth node-depth) (equal? hed node-title)) ;; yep, this is the one! (if (null? tal) ;; end of the line nodenum (loop (car tal)(cdr tal)(+ depth 1)(+ 1 nodenum))) ;; this is the case where we found part of the hierarchy but not ;; all of it, i.e. the node-depth went from deep to less deep (if (> depth node-depth) ;; (+ 1 node-depth)) #f (loop hed tal depth (+ nodenum 1))))) #f)))) ;; top is the top node name zeroeth node VALUE=0 (define (tree:add-node obj top nodelst #!key (userdata #f)) (let ((curr-top (iup:attribute obj "TITLE0"))) (if (or (not (string? curr-top)) (string-null? curr-top) (string-match "^\\s*$" curr-top)) (iup:attribute-set! obj "ADDBRANCH0" top)) (cond ((not (equal? top (iup:attribute obj "TITLE0"))) (print "ERROR: top name " top " doesn't match " (iup:attribute obj "TITLE0"))) ((null? nodelst)) (else (let loop ((hed (car nodelst)) (tal (cdr nodelst)) (depth 1) (pathl (list top))) ;; Because the tree dialog changes node numbers when ;; nodes are added or removed we must look up nodes ;; each and every time. 0 is the top node so default ;; to that. (let* ((newpath (append pathl (list hed))) (parentnode (tree:find-node obj pathl)) (nodenum (tree:find-node obj newpath))) ;; Add the branch under lastnode if not found (if (not nodenum) (begin (iup:attribute-set! obj (conc "ADDBRANCH" parentnode) hed) ;; ERROR? ADDING DATA TO PARENT, DONT WE WANT IT ON CREATED NODE? (if userdata (iup:attribute-set! obj (conc "USERDATA" parentnode) userdata)) (if (null? tal) #t ;; reset to top (loop (car nodelst)(cdr nodelst) 1 (list top)))) (if (null? tal) ;; if null here then this path has already been added #t (loop (car tal)(cdr tal)(+ depth 1) newpath))))))))) (define (tree:node->path obj nodenum) (let loop ((currnode 0) (path '())) (let* ((node-depth (string->number (iup:attribute obj (conc "DEPTH" currnode)))) (node-title (iup:attribute obj (conc "TITLE" currnode))) (trimpath (if (and (not (null? path)) (> (length path) node-depth)) (take path node-depth) path)) (newpath (append trimpath (list node-title)))) (if (>= currnode nodenum) newpath (loop (+ currnode 1) newpath))))) (define (tree:delete-node obj top node-path) ;; node-path is a list of strings (let ((id (tree:find-node obj (cons top node-path)))) (print "Found node to remove " id " for path " top " " node-path) (iup:attribute-set! obj (conc "DELNODE" id) "SELECTED"))) #| (let* ((tb (iup:treebox #:value 0 #:name "Runs" #:expand "YES" #:addexpanded "NO" #:selection-cb (lambda (obj id state) ;; (print "obj: " obj ", id: " id ", state: " state) (let* ((run-path (tree:node->path obj id)) (run-id (tree-path->run-id (cdr run-path)))) (if run-id (begin (dboard:data-curr-run-id-set! data run-id) (dashboard:update-run-summary-tab))) ;; (print "path: " (tree:node->path obj id) " run-id: " run-id) )))) |# |
Modified tree.scm from [3b3c4b345d] to [a66bb30c4e].
︙ | ︙ | |||
35 36 37 38 39 40 41 42 | (declare (uses server)) ;; (declare (uses synchash)) (declare (uses dcommon)) (include "common_records.scm") (include "db_records.scm") (include "key_records.scm") | > | 35 36 37 38 39 40 41 42 43 | (declare (uses server)) ;; (declare (uses synchash)) (declare (uses dcommon)) (include "common_records.scm") (include "db_records.scm") (include "key_records.scm") |
Added treemod.scm version [55ca98eed6].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | ;;====================================================================== ;; Copyright 2006-2013, Matthew Welland. ;; ;; This file is part of Megatest. ;; ;; Megatest is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; ;; Megatest is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with Megatest. If not, see <http://www.gnu.org/licenses/>. ;; ;;====================================================================== (declare (unit treemod)) (module treemod * (import scheme chicken data-structures extras) (import (prefix iup iup:)) ;; (prefix sqlite3 sqlite3:) posix typed-records srfi-18 srfi-69 format ports srfi-1 matchable) ;; (import commonmod) ;;; DO NOT ALLOW rmt*scm TO DEPEND ON common*scm!!!! ;; (include "common_records.scm") ) |