require 5.006; use strict; use Tk 800.005; use Tk::TList; use Tk::Frame; use Tk::DirTree; use Tk::Scrollbar; use Tk::Adjuster; use Tk::DragDrop; use Tk::DropSite; use Tk::Table; use warnings 'all'; use Win32::NetResource; use vars qw/%tk %dr/; $dr{PATH}='c:/'; $dr{server} = ShowServer($dr{PATH}); $dr{perms} = "Permissions: " . $dr{PATH}; $tk{mw} = MainWindow->new (-background=>'white'); $tk{mw}->geometry('700x500'); $tk{top_frame} = $tk{mw}->Frame; $tk{left_frame} = $tk{mw}->Frame; $tk{adjuster} = $tk{mw}-> Adjuster(-widget=>$tk{left_frame},-side=>'le +ft'); $tk{right_frame}=$tk{mw}->Frame; # This frame is where I would like to + have a table. $tk{entry_box}=$tk{top_frame}->Entry(-textvariable=>\ $dr{PATH}); $tk{entry_box_lable}=$tk{top_frame}->Label(-text=>"Path: "); $tk{dir_tree}= $tk{left_frame}->Scrolled('DirTree', -height=>'0', -wid +th=>'0',-scrollbars=>'e',); $tk{dir_tree_label}=$tk{left_frame}->Label(-textvariable=>\ $dr{server +}); $tk{ACL_list}=$tk{right_frame}->Scrolled('TList', -height=>'1', -width=>'1', -scrollbars=>'osoe',); # This list should contain my table $tk{ACL_list_label}=$tk{right_frame}->Label(-textvariable=>\ $dr{perms +}); $tk{entry_box}->bind('<Key-Return>', sub {OnNewPath();}); $tk{top_frame}->pack(qw/-side top -fill x/); $tk{left_frame}->pack(qw/-side left -fill y/); $tk{adjuster}->pack(qw/-side left -fill y/); $tk{right_frame}->pack(qw/-side right -fill both -expand 1/); $tk{entry_box_lable}->pack(qw/-side left -fill both/); $tk{entry_box}->pack(qw/-side top -fill both -expand 1/); $tk{dir_tree_label}->pack(qw/-side top -fill both/); $tk{dir_tree}->pack(qw/-side left -fill both -expand 1/); $tk{ACL_list_label}->pack(qw/-side top -fill both/); $tk{ACL_list}->pack(qw/-side top -fill both -expand 1/); MainLoop; exit(0); sub OnNewPath{ $tk{dir_tree}->delete('all'); $tk{dir_tree}->chdir( $dr{PATH} ); ShowServer($dr{PATH});} sub ShowServer{ my $drive = @_; my $srv; if (Win32::NetResource::GetUNCName(my $unc, $dr{PATH})){ $unc =~ s/^\\\\(\w)+//; $srv = $&; return $dr{server} = "[ Remote Server Name : " . uc($srv) . " +]";} else{ $srv = Win32::NodeName(); return $dr{server} = "[ Local Server Name : " . uc($srv) . " ] +"; }} sub FillTable # or something { #this procedure should populate my table with values which are basical +ly #permission related }
In reply to Tables in Perl/Tk. by blackadder
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |