浏览代码

crude attempt at building menu hierarchy (merge from devbr6)

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@36040 15284696-431f-4ddb-bdfa-cd5b030d7da7
Hamish Bowman 16 年之前
父节点
当前提交
30fd2f8ed8
共有 1 个文件被更改,包括 36 次插入0 次删除
  1. 36 0
      tools/module_synopsis.sh

+ 36 - 0
tools/module_synopsis.sh

@@ -55,6 +55,40 @@ SYNOP="$GISBASE/etc/module_synopsis.txt"
 OLDDIR="`pwd`"
 cd "$GISBASE"
 
+XML_MENU="$GISBASE/etc/wxpython/xml/menudata.xml"
+
+
+# work in progress -- still rather buggy.
+find_menu_hierarchy()
+{
+unset MODULE_COUNT MODULE_LABEL MODULE_MENU1 MODULE_MENU2
+
+MODULE_COUNT=`grep -c -w "$MODULE" "$XML_MENU"`
+
+if [ "$MODULE_COUNT" -ge 1 ] ; then
+    MODULE_LABEL=`xml2 < "$XML_MENU" | grep -w -B5 "$MODULE" | \
+       grep 'label=' | cut -f2 -d= | tr '\n' '>' | \
+       sed -e 's/>$//' -e 's/[^ ]>/ > /'`
+
+    MODULE_MENU1=`xml2 < "$XML_MENU" | grep -w -B5000 "$MODULE" | \
+       sed -e 's+^/menudata/menubar/menu/++' | tac | \
+       grep '/label=\|^label=' | grep -B1000 '^label=' -m 1 | \
+       grep -v menuitem | tail -n 1 | cut -f2 -d=`
+
+    MODULE_MENU2=`xml2 < "$XML_MENU" | grep -w -B5000 "$MODULE" | \
+       sed -e 's+^/menudata/menubar/menu/++' | tac | \
+       grep '/label=\|^label=' | grep -B1000 '^label=' -m 1 | \
+       grep -v menuitem | head -n 1 | cut -f2 -d= | tr '\n' ' ' | \
+       sed -e 's/ $//'`
+
+    if [ "$MODULE_COUNT" -eq 1 ] ; then
+        echo "$MODULE|$MODULE_MENU1 > $MODULE_MENU2 > $MODULE_LABEL"
+    else
+	# "*" indicates module appears more than once
+        echo "$MODULE*|$MODULE_MENU1 > $MODULE_MENU2 > $MODULE_LABEL"
+    fi
+fi
+}
 
 for DIR in bin scripts ; do
   cd $DIR
@@ -75,6 +109,8 @@ for DIR in bin scripts ; do
 
 #    echo "mod=[$MODULE]  desc=[$desc]"
 
+#    find_menu_hierarchy
+
     if [ -z "$label" ] && [ -z "$desc" ] ; then
 	continue
     fi