Changeset 23753 in webkit


Ignore:
Timestamp:
Jun 24, 2007 12:22:55 PM (17 years ago)
Author:
pewtermoose
Message:

Reviewed by Tim Hatcher.

Bug 14265: Cannot resize columns in webinspector
http://bugs.webkit.org/show_bug.cgi?id=14265

  • page/inspector/inspector.css:
  • page/inspector/inspector.html:
  • page/inspector/inspector.js:
Location:
trunk/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r23752 r23753  
     12007-06-24  Matt Lilek  <pewtermoose@gmail.com>
     2
     3        Reviewed by Tim Hatcher.
     4
     5        Bug 14265: Cannot resize columns in webinspector
     6        http://bugs.webkit.org/show_bug.cgi?id=14265
     7
     8        * page/inspector/inspector.css:
     9        * page/inspector/inspector.html:
     10        * page/inspector/inspector.js:
     11
    1122007-06-23  Adam Roben  <aroben@apple.com>
    213
  • trunk/WebCore/page/inspector/inspector.css

    r23735 r23753  
    275275    border-top: 1px solid #bbb;
    276276    -webkit-box-sizing: border-box;
    277     background-image: url(Images/sidebarResizeWidget.png), url(Images/sidebarStatusAreaBackground.png);
     277    background-image: url(Images/sidebarStatusAreaBackground.png);
    278278    background-position: right, center;
    279279    background-repeat: no-repeat, repeat-x;
     280}
     281
     282#statusbar #sidebarResizeWidget {
     283    display: block;
     284    float: right;
     285    width: 17px;
     286    height: 20px;
     287    background: url(Images/sidebarResizeWidget.png) right no-repeat;
     288    cursor: col-resize;
    280289}
    281290
  • trunk/WebCore/page/inspector/inspector.html

    r23677 r23753  
    5050        <ol id="list"></ol>
    5151        <ol id="status"></ol>
    52         <div id="statusbar"><button id="statusToggle"></button><button id="attachToggle"></button></div>
     52        <div id="statusbar">
     53            <button id="statusToggle"></button><button id="attachToggle"></button>
     54            <span id="sidebarResizeWidget"></span>
     55        </div>
    5356    </div>
    5457    <div id="searchResults" class="focusable"></div>
  • trunk/WebCore/page/inspector/inspector.js

    r23677 r23753  
    11/*
    22 * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
     3 * Copyright (C) 2007 Matt Lilek (pewtermoose@gmail.com).
    34 *
    45 * Redistribution and use in source and binary forms, with or without
     
    236237    document.getElementById("attachToggle").addEventListener("click", function(event) { WebInspector.toggleAttach() }, true);
    237238    document.getElementById("statusToggle").addEventListener("click", function(event) { WebInspector.toggleStatusArea() }, true);
     239    document.getElementById("sidebarResizeWidget").addEventListener("mousedown", WebInspector.sidebarResizerDragStart, true);
    238240
    239241    document.body.addStyleClass("detached");
     
    429431{
    430432    this.showingStatusArea = !this.showingStatusArea;
     433}
     434
     435WebInspector.sidebarResizerDragStart = function(event)
     436{
     437    WebInspector.dividerDragStart(document.getElementById("sidebar"), WebInspector.sidebarResizerDrag, WebInspector.sidebarResizerDragEnd, event, "col-resize");
     438}
     439
     440WebInspector.sidebarResizerDragEnd = function(event)
     441{
     442    WebInspector.dividerDragEnd(document.getElementById("sidebar"), WebInspector.sidebarResizerDrag, WebInspector.sidebarResizerDragEnd, event);
     443}
     444
     445WebInspector.sidebarResizerDrag = function(event)
     446{
     447    var sidebar = document.getElementById("sidebar");
     448    if (sidebar.dragging == true) {
     449        var main = document.getElementById("main");
     450
     451        var x = event.clientX + window.scrollX;
     452        var delta = sidebar.dragLastX - x;
     453        var newWidth = WebInspector.constrainedWidthFromElement(x, main);
     454
     455        if (x == newWidth)
     456            sidebar.dragLastX = x;
     457
     458        sidebar.style.width = newWidth + "px";
     459        main.style.left = newWidth + "px";
     460        event.preventDefault();
     461    }
     462}
     463
     464WebInspector.dividerDragStart = function(element, dividerDrag, dividerDragEnd, event, cursor)
     465{
     466    element.dragging = true;
     467    element.dragLastY = event.clientY + window.scrollY;
     468    element.dragLastX = event.clientX + window.scrollX;
     469    document.addEventListener("mousemove", dividerDrag, true);
     470    document.addEventListener("mouseup", dividerDragEnd, true);
     471    document.body.style.cursor = cursor;
     472    event.preventDefault();
     473}
     474
     475WebInspector.dividerDragEnd = function(element, dividerDrag, dividerDragEnd, event)
     476{
     477    element.dragging = false;
     478    document.removeEventListener("mousemove", dividerDrag, true);
     479    document.removeEventListener("mouseup", dividerDragEnd, true);
     480    document.body.style.removeProperty("cursor");
     481}
     482
     483WebInspector.constrainedWidthFromElement = function(width, element, constrainLeft, constrainRight)
     484{
     485    if (constrainLeft === undefined) constrainLeft = 0.25;
     486    if (constrainRight === undefined) constrainRight = 0.75;
     487
     488    if (width < element.clientWidth * constrainLeft)
     489        width = 200;
     490    else if (width > element.clientWidth * constrainRight)
     491        width = element.clientWidth * constrainRight;
     492
     493    return width;
    431494}
    432495
Note: See TracChangeset for help on using the changeset viewer.