# HG changeset patch # User Stefan Vogel # Date 1193223765 -7200 # Node ID eeb3c47f1c6261c2eef345140987bd596a886e0a # Parent 6418611891f25f227ccf089ce9ed0731a6044147 Menu entry to parse XML file diff -r 6418611891f2 -r eeb3c47f1c62 AbstractFileBrowser.st --- a/AbstractFileBrowser.st Tue Oct 23 20:19:07 2007 +0200 +++ b/AbstractFileBrowser.st Wed Oct 24 13:02:45 2007 +0200 @@ -1862,6 +1862,13 @@ translateLabel: true ) (MenuItem + enabled: hasXmlFileSelection + label: 'XML Inspector' + itemValue: parseXmlFile + translateLabel: true + isVisible: hasXml + ) + (MenuItem enabled: hasFileSelection label: 'Acroread (PDF Viewer)' itemValue: openPDFViewer @@ -5896,6 +5903,19 @@ ]. ! +parseXmlFile + + self withActivityIndicationDo:[ + | selectedFiles xmlDocument | + + selectedFiles:= self currentSelectedFiles. + selectedFiles do:[:fileName | + xmlDocument := XML::XMLParser processDocumentInFilename:fileName beforeScanDo:[:parse| parse validate:false]. + xmlDocument inspect. + ]. + ] +! + readAbbrevFile "read the abbrev file and install classes found there as autoloaded classes" @@ -6322,6 +6342,30 @@ ] ! +hasXml + ^ [ XML::XMLParser notNil + and:[XML::XMLParser isLoaded]] +! + +hasXmlFileSelected + + ^ [|sel fileName fn suff| + + sel := self currentSelectedFiles. + sel size == 1 ifTrue:[ + fileName := sel first. + fileName notNil ifTrue:[ + suff := fileName suffix asLowercase. + suff = 'xml' + ] ifFalse:[ + false + ] + ] ifFalse:[ + false + ] + ] +! + hasZipFileSelected ^ [|sel fileName fn suff| @@ -7242,5 +7286,5 @@ !AbstractFileBrowser class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.356 2007-09-18 07:42:45 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.357 2007-10-24 11:02:45 stefan Exp $' ! !