Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Double ListBox

by metalgear119 (Acolyte)
on Apr 29, 2005 at 21:17 UTC ( [id://452753]=perlquestion: print w/replies, xml ) Need Help??

metalgear119 has asked for the wisdom of the Perl Monks concerning the following question:

Does anybody know of an easy way to create a system of two side by side list boxes which can work with eachother (like FTP Client or something) in Tk.

Replies are listed 'Best First'.
Re: Double ListBox
by davidj (Priest) on Apr 29, 2005 at 22:28 UTC
    It sounds like what you want is an app with two listboxes where an event in listbox1 activates something in listbox2. If this is correct, test the following code. Pressing 'insert' in the left box will add an item to the box on the right. Pressing 'delete' in the left box will remove the last item from the box on the right. Granted its a quick hack, but it will get you started.
    #!/usr/bin/perl # use Tk; use strict; my ($mw, $lb1, $lb2); my $count = 1; $mw = MainWindow->new(); $lb1 = $mw->Listbox()->pack(-side => 'left'); $lb1->insert('end', 'insert','delete'); $lb1->bind('<<ListboxSelect>>' => \&sub1); $lb2 = $mw->Listbox()->pack(-side => 'left'); MainLoop; exit; sub sub1 { my $sel = $lb1->curselection; if( $sel->[0] == 0 ) { &sub2; } else { &sub3; } } sub sub2 { $lb2->insert('end', "inserting $count"); $count++; } sub sub3 { $lb2->delete('end'); $count--; }

    hope this helps,

    davidj
Re: Double ListBox
by bart (Canon) on Apr 29, 2005 at 21:50 UTC
    I don't get it, FTP simply uses two independent list boxes. They don't use each other. It's the program that reads the content from a row in one listbox and copy the data into a new row in the other listbox.

    Unless you'd want them to move synchroniously... then perhaps you should rather use something like a table control: one listbox with two columns.

    Hmm, there's a thought. An FTP client that shows the difference between two directories. You know those GUI diff clients, like ExamDiff and WinMerge? These show two textboxes side by side, with a colour coding of what has changed, what was added, edited, or deleted. A similar tool, comparing local directory and remote directory, that seems like a good idea. Now that I just thought it up, it does. :)

    If anyone wants to run with the idea and do something with it: you have my blessing. Just don't try to patent the idea. ;-|

Re: Double ListBox
by cowboy (Friar) on Apr 29, 2005 at 21:32 UTC
    You should be able to create 2 list boxes easy enough. Beyond that, it's up to your code to handle what to do with them. It's not written in perl, but have a look at filerunner for a Tcl/Tk example.
Re: Double ListBox
by TedPride (Priest) on Apr 30, 2005 at 21:20 UTC
    I thought WS_FTP had one box for the current directory on your hard drive and another box for the destination directory on the FTP? You select something on the left or right and click the corresponding arrow to transfer. Some other FTP programs such as Fetch have only one box, which may be what's confusing you.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://452753]
Approved by cowboy
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (3)
As of 2024-03-28 15:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found