/*---------------- FILE HEADER --------------------------------------- This file is part of Geoide. Copyright (C) 2005-2006 by: IDgis B.V. http://www.idgis.nl This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Contact: Herman Assink IDgis bv P.O. Box 15 7450 AA Holten The Netherlands E-Mail: herman.assink@idgis.nl * @version 1.4.0 * @author IDgis team * ------------------------------------------------------------------------*/ import nl.idgis.giclient.gui.ContainerContent; import nl.idgis.giclient.io.XMLResponse; import nl.idgis.giclient.io.XMLResponseListener; import nl.idgis.giclient.io.XMLServer; class nl.idgis.giclient.gui.htmlviewer.HtmlViewer extends ContainerContent implements XMLResponseListener{ private var textField:TextField = null; private var xml:XML = null; var url:String = null;//set by initObject function onLoad():Void { //vaste waarden voor hoogte en breedte zou configurabel moeten worden contentHeight = 5000; contentWidth = 450; drawAll(); frame.refreshScrollContent(); url = frame.contentProperties.url; //trace("frame.contentProperties.url: " + url); if(url!=null){ showHtml(url); } } private function drawAll():Void { createTextField("textField", 0, 0, 10, contentWidth, contentHeight); textField = TextField(this["textField"]); textField.multiline = true; textField.wordWrap = true; textField.type = "dynamic"; textField.html = true; } function showHtml(htmlUrl:String):Void{ url = htmlUrl; var xmlServer:XMLServer = new XMLServer(htmlUrl); xmlServer.load(this,"",null); } function onLoadXMLResponse(xmlResponse:XMLResponse):Void { //redraw all, work around flash bug in html rendering drawAll(); textField.condenseWhite = true; textField.htmlText = xmlResponse.firstChild.firstChild.nodeValue.toString(); } function onResizeFrame(frameWidth:Number,frameHeight:Number){ if(contentHeight != -1 && contentHeight < (frameHeight - 30)){ contentHeight = frameHeight - 30 ; textField._height = frameHeight - 30 ; showHtml(url); } } function clearHtml():Void { textField.text = ""; } }