[dbox] problem in dbox resizing
myunghwa Hwang
mhwang4 at UIUC.EDU
Mon Jan 22 12:11:00 PST 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