sketchucation logo sketchucation
    • Login
    Oops, your profile's looking a bit empty! To help us tailor your experience, please fill in key details like your SketchUp version, skill level, operating system, and more. Update and save your info on your profile page today!
    πŸ«› Lightbeans Update | Metallic and Roughness auto-applied in SketchUp 2025+ Download

    Setting custom cursor for a Tool

    Scheduled Pinned Locked Moved Developers' Forum
    3 Posts 2 Posters 543 Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • thomthomT Offline
      thomthom
      last edited by

      I'm trying to set a custom cursor for a Tool. From the manual on Tool.onSetCursor http://code.google.com/apis/sketchup/docs/ourdoc/tool.html#onSetCursor

      @unknownuser said:

      The onSetCursor method is called by SketchUp when the tool wants to set the cursor. If your tool needs to have more than one cursor, then you will need to implement this method, but if it only has one you can set the cursor in the activate method.

      Since I only have one icon for the Tool I tried setting in the activate method:

      
      UI.set_cursor(@cursor_id)
      
      

      The tool is define in the initialize method;

      
      cursor_path = Sketchup.find_support_file("rotascale.png", "Plugins/TT_RotaScale")
      if cursor_path
        @cursor_id = UI.create_cursor(cursor_path, 14, 13)
      else
        @cursor_id = 0
      end
      
      

      The problem is that the cursor briefly flickers when I activate it, then it reverts back to the default arrow.

      When I try to add this:

      
      def onSetCursor(view)
        UI.set_cursor(@cursor_id)
      end
      
      

      I get error messages flooding the console: wrong number of arguments(0 for 1) for the onSetCursor event. (It also reports incorrect line number for the error.)

      Thomas Thomassen β€” SketchUp Monkey & Coding addict
      List of my plugins and link to the CookieWare fund

      1 Reply Last reply Reply Quote 0
      • PixeroP Offline
        Pixero
        last edited by

        Dont know it it helps in your case but heres a snippet from f2f.rb:

        @@cursor = 0
        	def initialize
        		@@cursor = UI;;create_cursor((File.join(File.dirname(__FILE__), "f2f_cursor.gif")),1,30) if @@cursor == 0
        	end
        	
        	def onSetCursor
        		UI;;set_cursor(@@cursor)
        	end
        
        1 Reply Last reply Reply Quote 0
        • thomthomT Offline
          thomthom
          last edited by

          Hm... it turns out that onSetCursor doesn't actually return the view as an argument. Works now. Thanks man! πŸ‘

          Thomas Thomassen β€” SketchUp Monkey & Coding addict
          List of my plugins and link to the CookieWare fund

          1 Reply Last reply Reply Quote 0
          • 1 / 1
          • First post
            Last post
          Buy SketchPlus
          Buy SUbD
          Buy WrapR
          Buy eBook
          Buy Modelur
          Buy Vertex Tools
          Buy SketchCuisine
          Buy FormFonts

          Advertisement