Bwidget Source Code
Check-in [e69f8fb3e7]
Not logged in
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to tclconference@googlegroups.com
or submit via the online form by Sep 9.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:widget.tcl: Make Widget::configure invoke the command on the configured namespace of the included subwidget, instead of in it subclass.

This case was missing in check-in [3b6bda131cc2cdc44ba13da00b39e0e36d6f5334].

Timelines: family | ancestors | descendants | both | bwidget
Files: files | file ages | folders
SHA1:e69f8fb3e73abcc0243a3e0f724a4829374d382e
User & Date: adrianmedranocalvo 2015-10-07 06:42:05
Original Comment: widget.tcl: Make Widget::configure invoke the command on the configured namespace of the included subwidget, instead of in it subclass.

This case was missing in check-in 3b6bda131cc2cdc44ba13da00b39e0e36d6f5334.

Context
2015-10-07
07:17
Make string comparison Tcl8.3-compatible. check-in: f4931fa5ce user: adrianmedranocalvo tags: bwidget
06:42
widget.tcl: Make Widget::configure invoke the command on the configured namespace of the included subwidget, instead of in it subclass.

This case was missing in check-in [3b6bda131cc2cdc44ba13da00b39e0e36d6f5334]. check-in: e69f8fb3e7 user: adrianmedranocalvo tags: bwidget

2015-03-18
13:11
widget.tcl: Widget::define got new parameter -namespace, allowing megawidget namespace be different to class name. This allows lower case namespace names. Patch by Adrian Medrano Calvo. Ticket [023a631b20] check-in: 3b6bda131c user: oehhar tags: bwidget
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to widget.tcl.

867
868
869
870
871
872
873
874
875
876
877

878
879
880
881
882
883
884
885
886
                    # +----------+---------+------------------+----------------+-context-+
                    # | :cmd     | :cmd    | herited widget   | window:cmd     |window   |
                    # | :cmd     | *       | subwidget        | window.subpath | window  |
                    # | ""       | :cmd    | herited widget   | window:cmd     | window  |
                    # | ""       | *       | own              | window         | window  |
                    # | *        | :cmd    | own              | window         | current |
                    # | *        | *       | subwidget        | window.subpath | current |
                    if { [string length $subclass] && ! [string equal $subclass ":cmd"] } {
                        if { [string equal $subpath ":cmd"] } {
                            set subpath ""
                        }

                        set curval [${subclass}::cget $window$subpath $realopt]
                        ${subclass}::configure $window$subpath $realopt $newval
                    } else {
                        set curval [$window$subpath cget $realopt]
                        $window$subpath configure $realopt $newval
                    }
                }
            } else {
		set curval $pathopt($option)







|
|


>
|
|







867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
                    # +----------+---------+------------------+----------------+-context-+
                    # | :cmd     | :cmd    | herited widget   | window:cmd     |window   |
                    # | :cmd     | *       | subwidget        | window.subpath | window  |
                    # | ""       | :cmd    | herited widget   | window:cmd     | window  |
                    # | ""       | *       | own              | window         | window  |
                    # | *        | :cmd    | own              | window         | current |
                    # | *        | *       | subwidget        | window.subpath | current |
                    if { "" ne $subclass && $subclass ne ":cmd" } {
                        if { $subpath eq ":cmd" } {
                            set subpath ""
                        }
                        set ns $::BWidget::use(${subclass},namespace);
                        set curval [${ns}::cget $window$subpath $realopt]
                        ${ns}::configure $window$subpath $realopt $newval
                    } else {
                        set curval [$window$subpath cget $realopt]
                        $window$subpath configure $realopt $newval
                    }
                }
            } else {
		set curval $pathopt($option)