From: Richard Lyman Date: 2004-10-06T05:17:53+09:00 Subject: Re: Help! Can't get the FXRuby clipboard example to work... Sorry for the extra reply... I am also fairly certain that DND only works between Fox applications... if I'm wrong, someone please correct me. -Rich On Tue, 5 Oct 2004 14:15:56 -0600, Richard Lyman wrote: > First off - the last 15 or so lines won't be 'processed' until after > the application terminates. > > Once it hits 'theApp.run' the main program hangs and Fox takes over, > so you need to have everything setup before that. > > -Rich > > > > > On Wed, 6 Oct 2004 04:42:01 +0900, Abe Vionas_MailingList > wrote: > > Essentially, when I select a customers name and click > > on the Copy button and then go to notepad and press > > CTRL-V (to paste) nothing happens. Anyone have any > > ideas? > > > > Here's my code as it stands... > > > > # customer.rb > > > > require 'fox' > > > > include Fox > > > > customer = Struct.new("Customer", :name, :address, > > :zip) > > > > $customers = [] > > $customers << customer.new("Reed Richards", "123 > > Maple, Central City, NY", 010111) > > $customers << customer.new("Sue Storm", "123 Maple, > > Anytown, NC", 12345) > > $customers << customer.new("Benjamin J. Grimm", "124 > > Maple, Anytown, NC", 12345) > > $customers << customer.new("Johnny Storm", "123 Maple, > > Anytown, NC", 12324) > > > > class ClipMainWindow < FXMainWindow > > def initialize(anApp) > > # Initialize base class first > > super(anApp, "Clipboard Example", nil, nil, > > DECOR_ALL, 0, 0, 400, 300) > > > > # Horizontal frame contains buttons > > buttons = FXHorizontalFrame.new(self, > > LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH) > > > > # Cut and paste buttons > > copyButton = FXButton.new(buttons, "Copy") > > pasteButton = FXButton.new(buttons, "Paste") > > > > # Place the list in a sunken frame > > sunkenFrame = FXVerticalFrame.new(self, > > LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN|FRAME_THICK, > > 0, 0, 0, 0, 0, 0, 0, 0) > > > > # Customer list > > customerList = FXList.new(sunkenFrame, 6, nil, 0, > > LIST_BROWSESELECT|LAYOUT_FILL_X|LAYOUT_FILL_Y) > > $customers.each do |customer| > > customerList.appendItem(customer.name, nil, > > customer) > > end > > end > > > > def create > > super > > show(PLACEMENT_SCREEN) > > end > > end > > > > if __FILE__ == $0 > > FXApp.new("ClipboardExample", "FXRuby") do |theApp| > > ClipMainWindow.new(theApp) > > theApp.create > > theApp.run > > end > > end > > > > # User clicks Copy > > copyButton.connect(SEL_COMMAND) do > > customer = > > customerList.getItemData(customerList.currentItem) > > types = [ FXWindow.stringType ] > > if acquireClipboard() > > @clippedCustomer = customer > > end > > end > > > > #Handle clipboard request > > copyButton.connect(SEL_CLIPBOARD_REQUEST) do > > setDNDDATA(FROM_CLIPBOARD, FXWindow.stringType, > > Fox.fxencodeStringData(@clippedCustomer.to_s)) > > end > > > > > > __________________________________ > > Do you Yahoo!? > > New and Improved Yahoo! Mail - 100MB free storage! > > http://promotions.yahoo.com/new_mail > > > > >