From: Stefano Crocco Date: 2007-08-23T19:20:33+09:00 Subject: Re: wxruby and trayicon error and where to learn more about wxruby? Alle gioved� 23 agosto 2007, kazaam ha scritto: > Hi, > I'm working with wxruby since 2 days but next to this Wiki: > http://wxruby.rubyforge.org/wiki/wiki.pl and this Doc: > http://wxruby.rubyforge.org/doc/ I couldn't find something usefull for it. > Also del.icio.us has no intresting links. Do you know any good website or > book about wxruby? > > My problem at the moment is, I wanna test the TaskBarIcon on Gnome and so I > did: > > #!/usr/bin/env ruby > > $Verbose=true > > require 'rubygems' > require 'wx' > > include Wx > > > class MinimalApp < App > > def on_init > mytask = TaskBarIcon.new > mytask.set_icon('shutdown.svg','thats my tooltip') > end > > end > > > MinimalApp.new.main_loop > > #eof > > the doc tells about set_icon: > Boolean set_icon(Icon icon, String tooltip) > Sets the icon, and optional tooltip text. > > shutdown.svg is an Icon and next to it comes a string, so it should be > right or? But executed I'm always getting this error: > > ./task.rb:15:in `set_icon': in method 'SetIcon', argument 2 of type 'wxIcon > const &' (TypeError) from ./task.rb:15:in `on_init' > from ./task.rb:21:in `main_loop' > from ./task.rb:21 > > Someone knows why this happens? > > greets 'shutdown.svg' is not a Wx::Icon, it's a string. I didnt' look at the wxWidgets documentation in detail, but I think you need to do something like the following: bitmap = Wx::Bitmap.new bitmap.load_file 'shutdown.png', Wx::BITMAP_TYPE_PNG icon = Icon.new icon.copy_from_bitmap mytask.set_icon icon, 'tooltip' or (I'm not sure whether you can load png files directly using Icon#load_file) icon = Icon.new icon.load_file 'shutdown.png', Wx::BITMAP_TYPE_PNG mytask.set_icon icon, 'tooltip' At any rate, I don't think you can load svg images. The documentation seems to say that only raster image types are supported. I hope this helps Stefano