On Thu, 10 Apr 1997 [EMAIL PROTECTED] wrote:
> The new $base feature is great.... but....
>
> When I create a scrollable listbox : from the compound->system menu, it
> says.
>
> listbox $base.cpd20.01 \
> -background #C800C800C800 \
> -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*-* \
> -foreground #000000000000 -xscrollcommand {.top17.cpd20.02 set}
> \
> -yscrollcommand {.top17.cpd20.03 set}
> scrollbar $base.cpd20.02 \
> -background #C800C800C800 -borderwidth 1 \
> -command {.top17.cpd20.01 xview} -orient horiz -width 10
> scrollbar $base.cpd20.03 \
> -background #C800C800C800 -borderwidth 1 \
> -command {.top17.cpd20.01 yview} -orient vert -width 10
>
> So it looks like the widgets are all named $base.something, but the
> scroll commands still refer to the
> original window number, top17.
Yes, there is a particularly atrocious solution which involves
pattern replacement within widget options of anything that matches
the parent window's root. This is 95% safe, but situations exist
where it could replace legitimate non-widget-name code with $base.
I'm working on a slightly more elegant solution.
-stewart-