[dbox] problem in dbox resizing

myunghwa Hwang mhwang4 at UIUC.EDU
Mon Jan 22 15:11:00 EST 2007


Thank you very much! I'll wait for your next response!

from Myunghwa

On Jan 22, 2007, at 12:26 PM, Steve Lime wrote:

> Hi there: This is something I've been meaning to address. Let me  
> take a
> look with your code and
> try and work up a simple test case on the DNR website. Might take a  
> few
> days though, I have an
> offsite meeting (unfourtunately)...
>
> Steve
>
>>>> myunghwa Hwang <mhwang4 at UIUC.EDU> 1/19/2007 5:45:00 PM >>>
> Hello, list!
>
> I'm trying to make dbox resizable.
> For that, I assigned ids to several components which should have
> fixed sizes,
> then I added a function for recalculating and assigning the dbox size:
>
>    function adjustMapsize() {
>    	// test just width adjustment
>    	var leftcol_table = document.getElementById("leftcol_table");
>    	var tools_table = document.getElementById("tools_table");
>    	var move_button = document.getElementById("move_button");
>    	var scale_table = document.getElementById("scale_table");
>    	var coords_div = document.getElementById("coords_div");
>    	var measure_div = document.getElementById("measure_div");
>    	var measure_toggle = document.getElementById("measure_toggle");
>    	
>    	var new_width = document.body.offsetWidth -
> (leftcol_table.offsetWidth + tools_table.offsetWidth +
> move_button.offsetWidth*2);
>    	var new_height = document.body.offsetHeight -
> (scale_table.offsetHeight + move_button.offsetHeight*3 +
> coords_div.offsetHeight + measure_div.offsetHeight + 			
>
> measure_toggle.offsetHeight + document.getElementById
> ("ms_url").offsetHeight);
>    	var anchor = document.getElementById("main");
>    	main.width = anchor.width = new_width;
>    	main.height = anchor.height = new_height;
>    	main.anchor = xGetElementById("main");
>    	ms.width = new_width;
>    	ms.height = new_height;
>    }
>
> Then, I added this function to onload and onresize event of window:
>
>    window.onresize = function() {
>
>    	// resize map image
>    	adjustMapsize();
>    	xResizeTo(main.container, main.width, main.height);
>    	main.sync();
>    	xResizeTo(main.image, main.width, main.height);
>    	xMoveTo(main.image, 0, 0);
>    	xShow(main.image);
>    	xResizeTo(main.canvas, main.width, main.height);
>    	xMoveTo(main.canvas, 0, 0);
>      xClip(main.canvas, 0, main.width, main.height, 0);
>      xShow(main.canvas);
>    	ms.draw();
>    	
>      reference.sync();
>      container.sync();
>    }
>
>    window.onload = function() {
>    	
>    	// resize map image
>    	adjustMapsize();
>
>      main.initialize();
>      reference.initialize();
>      container.initialize();
>
>      domouseclick('zoomin');
>
>      // legend setup
>      var legend_xml = get_content(config.dlegend_xml_executable + "?
> map=" + config.mapfile + "&server=" + config.dlegend_server);
>      legend.initialize("legend_container", legend_xml);
>      legend.setHandler(DLEGEND_CLICK, ms.setLayer);
> 	
> 	ms.setLayer('ortho', true);
> 	legend.changeNodeStatus('ortho', true);
>      ms.draw();		
>    }
>
> My problem is that this solution works when I try to reduce the size
> of window,
> but whenever I tried to increase the window size
> the size of something on the top of dbox (which consists of
> container, image, canvas, and something else) does not change,
> so I get white extra space on the right and bottom side of dbox.
> How can I solve this problem?
> Maybe someone already asked this problem, if so please let me know
> which post I should check.
> I hope my explanation of the problem will be understood well.
>
> from Myunghwa Hwang



More information about the mapserver-users mailing list