[Fxruby-users] multiple FXDirLists all get same drive from different FXDriveBoxs
Status: Inactive
Brought to you by:
lyle
From: Tom <tku...@so...> - 2004-05-26 01:42:20
|
Here is something very interesting. This only affects windows, of course. When I have two FXDriveBox's and two FXDirList's, paired up so the dirlists are supposed to only respond to their own drive box's events, it turns out that when I select a drive in either of the FXDriveBox's, both of the FXDirLists change! Is there some way to keep the FXDirList's separate so that each FXDriveBox only changes the appropriate FXDirList? When I comment out the connect() for either the left or the right, changing the live drive box still changes the directories both dirlists. With neither connected, of course, nothing happens, but as long as one is connected, all FXDirLists get the same thing. I *must* be doing something wrong here. Here's the sample code: require 'fox' include Fox class DriveDialogs < FXMainWindow def initialize(owner) super(owner, "DriveDialogThingy", nil, nil, DECOR_ALL, 0, 0, 0, 0) createUI() end def create super() show(PLACEMENT_SCREEN) end def createUI() @contents = FXHorizontalFrame.new(self, LAYOUT_FILL_X|LAYOUT_FILL_Y) @leftvframe = FXVerticalFrame.new(@contents, LAYOUT_FILL_X|LAYOUT_FILL_Y) @rightvframe = FXVerticalFrame.new(@contents, LAYOUT_FILL_X|LAYOUT_FILL_Y) @leftdrivebox = FXDriveBox.new(@leftvframe,5) @rightdrivebox = FXDriveBox.new(@rightvframe,5) @leftdirlist = FXDirList.new(@leftvframe,10) @rightdirlist = FXDirList.new(@rightvframe,10) @leftdrivebox.connect(SEL_COMMAND) { |send,sel,ptr| @leftdirlist.directory = @leftdrivebox.drive } @rightdrivebox.connect(SEL_COMMAND) { |send,sel,ptr| @rightdirlist.directory = @rightdrivebox.drive } end end def run application = FXApp.new("DriveDialogThingy","DriveDialogThingy") DriveDialogs.new(application) application.create application.run end run |