[Plugin] Ruby Toolbar
-
@didier bur said:
Jim,
I'm having the "blank icons syndrom" (all png's are in Plugins folder)
The line that seems to cause the problem is:imgdir = File.join(File.dirname(FILE), File.basename(FILE, ".rb"))
It returns: ./(eval)
then the icon file location File.join(imgdir, "rubypanel.png") returns: ./(eval)/rubypanel.pngPlease help !
Didier, I'm, not sure why it works on my computer but not yours. I have updated the script to use a method that will hopefully be more robust. There should be a rubytoolbar folder in which the images are located.
@didier bur said:
The 'toggle' method doesn't work also. At least in V5.
Question: Is findWindow.call(0,"Ruby Console") rely on language settings of SU ? I mean is "Ruby Console" available just for english versions of SU ? In this case the win32api call will not work with other platforms.This could very well be the case. If you have Ruby installed, you could try your local verion of Win32API.so located in C:\ruby\lib\ruby\1.8\i386-mswin32\Win32API.so.
What is the title text of your Ruby Console window? Is it English "Ruby Console", or maybe French? I think findWindow is using the name of the window.
@didier bur said:
P.S.:
UI.openURL("c;\\program files\\google\\google sketchup 6\\plugins")
A non hard-coded command would be handy. Why not get this path from the registry ? Or something like:
su_ver = Sketchup.version.split(".")[0].to_i
if su_ver < 6
devdir = File.dirname(Sketchup.find_support_file("sketchup.exe")) + "\Plugins"
else
devdir = ...
end
This makes the command compatible for SU5 and 6 (I guess), no matter where the user has installed SU.I use the find_support_file method; good idea.
Thank you for the report, and your patience. Please download and try the updates.
-
Hi Jim,
Thanks for the update: icons are there nowShow/Hide console doesn't work (not very important)
Clear console only moves the text in the console 1 line up 8OThe title of the Ruby console window in french is "Console Ruby". This could cause the problem...
But the most important command "Reload script" works OK since the first versionThanks again for this very useful tool,
Regards, -
@didier bur said:
...The title of the Ruby console window in french is "Console Ruby". This could cause the problem...
Thank God I don't need to deal with a "native" version of SU!
-
Everything's OK with the french version now, including toggle
Only minor tweaks were necessary -
@didier bur said:
Everything's OK with the french version now, including toggle
Only minor tweaks were necessaryGreat! But would you mind sharing the minor tweaks so maybe I can make the toolbar more international?
-
Hi Jim,
@unknownuser said:
would you mind sharing the minor tweaks
I'm afraid it would be useless because I simply replaced all the calls to "Ruby Console" by "Console Ruby", but that's only for french. Each version of SU does have a particular name for the Ruby Console, so... Even a call to langhandler.rb (with 'getstring') will not work since this deals with a window name, not a message string or such.
Regards,
-
@didier bur said:
Hi Jim,
@unknownuser said:
would you mind sharing the minor tweaks
I'm afraid it would be useless because I simply replaced all the calls to "Ruby Console" by "Console Ruby", but that's only for french. Each version of SU does have a particular name for the Ruby Console, so... Even a call to langhandler.rb (with 'getstring') will not work since this deals with a window name, not a message string or such.
Regards,
Didier, GetString would work, but since it's only one string, I won't use LangHandler. I've updated the plugin to support FR.
-
Hi Jim,
I love this toolbar. I use it constantly.
Feature request: How about saving the state and position of the console in the registry? So if I close and reopen Sketchup it remembers if the console was open and where it was.
Also If you want I could give you the code to read the console log window. Saving is the only use I can think of. But maybe it could be parsed to some effect.
Chris
-
Thanks Chris,
The version I posted on SketchyUtils isn't up-to-date, I'll remove it. Download the version available in this thread.
The position and size are saved in the registry, but only if the console is closed using the toolbar. Is it possible to save these settings if the console is closed using the X widget?
-
Ah, much better. Yeah I was still using the old one.
I didn't even know this subsection of the forums was here until yesterday.
As far as detecting the window close message. It wouldn't be easy. One thing you could do is just check the position of the window ever 10 sec or so and see if it has moved/closed.
Regards
Chris -
Why put the "ruby console" and not the "Web Console" of Jim Foltz?
Seems it is more easy using?
(but I am totally new beginner in Ruby scriptPS With the Webconsole seems you can't save (bug ?)
-
@unknownuser said:
Why put the "ruby console" and not the "Web Console" of Jim Foltz?
Seems it is more easy using?
(but I am totally new beginner in Ruby scriptPS With the Webconsole seems you can't save (bug ?)
You can save, it just doesn't say that you have the same file open after that. it's weird.
-
Maybe I should combine the 2 plugins into 1?
-
@jim said:
Maybe I should combine the 2 plugins into 1?
Jim,
I use your plugin always when I deal with SU Ruby. Ability to run snippets would be the good addition.I have also noticed that your plugin doesn't work in Polish version of SU. In PL the console is called "Konsola Ruby". Is there a way to recognise the language of SU instead of the OS? I have SU6PL installed in Vista EN.
Thanks
Tomasz -
I have checked and
Sketchup.get_locale
returns 'pl' string which is correct language for SU Version (SU6 PL).
Tomasz
EDIT
Substituted os_language with get_locale -
@btm
Thx Indeed that's save and load but not in .rb in the Snippets apparently
That was my error -
I'm getting this error for the Clear Console button:
Error: #<TypeError: no implicit conversion from nil to integer> C:/Program Files (x86)/Google/Google SketchUp 7/Plugins/rubytoolbar.rb:94:in
call'
C:/Program Files (x86)/Google/Google SketchUp 7/Plugins/rubytoolbar.rb:94:inmoveConsole' C:/Program Files (x86)/Google/Google SketchUp 7/Plugins/rubytoolbar.rb:66:in
clearConsole'
C:/Program Files (x86)/Google/Google SketchUp 7/Plugins/rubytoolbar.rb:167
C:/Program Files (x86)/Google/Google SketchUp 7/Plugins/rubytoolbar.rb:167:incall'
-
What is the name of your Ruby Console in the title bar?
-
"Ruby Console"
-
I don't understand the error, then. Does WIn32API work on 64 bit machines? Can you try this version?
Advertisement