> I tried a simple code to access Tk through Tcl extension but get the > following errors. > ___________________ > Tcl error 'invalid command name "ScrolledWindow::Pane" at > C:/Perl/site/lib/Tcl.pm line 548. > ' while invoking scalar result call: > ".sc02 Pane" at C:/Perl/site/lib/Tcl.pm line 549 > Tcl::call('Tcl::Tk=SCALAR(0x275294)', '.sc02', 'Pane') called at > C:/Perl/site/lib/Tcl/Tk.pm line 2348 > Tcl::Tk::Widget::__ANON__('Tcl::Tk::Widget=SCALAR(0x190c574)') > called at C:/Perl/site/lib/Tcl/Tk.pm line 2354 > Tcl::Tk::Widget::AUTOLOAD('Tcl::Tk::Widget=SCALAR(0x190c574)') > called at C:/Perl/site/lib/Tcl/Tk.pm line 2097 > > Tcl::Tk::Widget::Scrolled('Tcl::Tk::Widget::MainWindow=SCALAR( > 0x1900388)', 'Pane', '-scrollbars', 'osoe') > called at Tcltest.pl line 13 > ___________________ > > Code snippet: > use Tcl::Tk qw/:perlTk/; > use Tk::Pane;
that line 'use Tk::Pane' have no sence if you're using Tcl::Tk module. > use warnings; > use strict; > my ($mw,$pane_fr); > $mw = MainWindow->new(); > $mw->geometry("300x100"); > $pane_fr = $mw->Scrolled('Pane', > -scrollbars=>'osoe', > )->pack(-fill=>'both', > -expand=>1, > ); > MainLoop; This is because Tk::Pane is not ported to Tcl::Tk, however porting it is easy. Looking at "perldoc Tk::Pane" I see that it is very close to a widget named "ScrollableFrame" within BWidgets (and Tk::Panedwindow is very close to PanedWindow within same BWidgets) To introduce 'Pane' widgets which refers to 'ScrollableFrame' you need only one single line of code: $mw->Declare('Pane','ScrollableFrame',-require=>'BWidget'); So your code becomes: ======== use Tcl::Tk qw/:perlTk/; use warnings; use strict; my ($mw,$pane_fr); $mw = MainWindow->new(); $mw->geometry("300x100"); $mw->Declare('Pane','ScrollableFrame',-require=>'BWidget'); $pane_fr = $mw->Scrolled('Pane',-scrollbars=>'osoe')->pack(-fill=>'both', -expand=>1, ); MainLoop; =========== However, if actual usage of Tk::Pane is different, a bit more coding is required to support Tk::Pane better (however that code is quite quick to do) We can add support of Tk::Pane widget directly to Tcl::Tk, if that sounds reasonable. Also, it is currently a limitation that 'Scrolled' now always overrides -scrollbars option with 'osoe'; let us know if this is a problem. Vadim.