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

Reply via email to