Bwidget Source Code
Ticket Change Details
Not logged in
Overview

Artifact ID: ddeac07c799a10e9c76151cfb600fa2c5dc552cc
Ticket: d5480d1da2ec9898400f218af80b336e8399747d
ScrollableFrame: show scrollbars only when mouse in widget
User & Date: oehhar 2017-01-16 11:46:57
Changes

  1. icomment:
    <h1>Test for ScrollingWindow</h1>
    
    <h2>Text widget</h2>
    Here is a test for ScrolledWindow with the text widget:
    <verbatim>
    pack [ScrolledWindow .sw -autohidescrollbar 1] -side top -expand 1 -fill both
    text .sw.text
    .sw setwidget .sw.text
    .sw.text insert end [string repeat [string repeat A 1000]\n 200]
    </verbatim>
    Issues I see:
    - when the window is in normal state, the window size flickers. When the mouse pointer is within the scrollbars while dragging, they are unmapped. One may drag the mouse-bars without seeing them ;-)
    - When the window is maximized, the size does not change. When the mouse pointer is on the scrollbar, it flickers. 
    
    <h2>ScrollableFrame</h2>
    <verbatim>
    set fInScrolledWindow 1
    pack [ScrolledWindow .sw -autohidescrollbar $fInScrolledWindow] -side top -expand 1 -fill both
    ScrollableFrame .sw.f -autohidescrollbar [expr {!$fInScrolledWindow}]
    .sw setwidget .sw.f
    set fc [.sw.f getframe]
    pack [frame $fc.f -width 1000 -height 1000 -background yellow]
    </verbatim>
    Within this test script, there are the same issues as with the text widget.
    In addition, if the mouse is over space not covered by ScrollableFrame within the ScrolledWindow, the scrollbars are errorneously hidden.
    
    <h1>Test for ScrollableFrame</h1>
    
    Please use the upper test with:
    <verbatim>
    set fInScrolledWindow 0
    </verbatim>
    Then, the upper drawbacks are solved.
    Nevertheless, the required size flickers with the mouse.
    The required size of the ScrolledWindow is not constant.
    
    <Dynamic configuration>
    
    None of the patches support:
    <verbatim>
    $f configure -autohidescrollbar 0
    </verbatim>
    
    <hr />
    
    IMHO the drawbacks should be solved first.
    
  2. login: "oehhar"
  3. mimetype: "text/x-fossil-wiki"
  4. username: "oehhar"