A
Abe Vionas_MailingList
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
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