sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    Show webdialog quicker?

    Scheduled Pinned Locked Moved Developers' Forum
    24 Posts 6 Posters 437 Views 6 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.
    • Chris FullmerC Offline
      Chris Fullmer
      last edited by

      OK, Aerilius got me on the right track, just took a little digging around on my part.

      Here is what is working for me (sorry it looks hard to read in this little code box. Its only 4 lines of code, much of it being my html string.):

      	splash_path = File.join( Install.base_path, "assets")
      	@@splash_wd = UI;;WebDialog.new("MyProgram", true, "my_splash", 800, 600, 200, 200, true);
      	UI.start_timer(0.1, false){@@splash_wd.show;@@splash_wd.set_html "<html><body><img border='0' src='#{splash_path}/logo_image.jpg' alt='Pulpit rock' width='800' height='600' /></body></html>"}
      	UI.start_timer(2, false){@@splash_wd.close}
      

      I open the webdialog, and set_html within the UI_time procedure. That is all it takes to get it to completely show everything. Then I use another timer to close the window after the splash has been on for a little while.

      I'm guessing I don't even need to pass the html in as a string. It will probably load the file this way as well. i'll test.

      Thanks everyone!

      Lately you've been tan, suspicious for the winter.
      All my Plugins I've written

      1 Reply Last reply Reply Quote 0
      • D Offline
        driven
        last edited by

        chris, is it meant to work on macs?

        learn from the mistakes of others, you may not live long enough to make them all yourself...

        1 Reply Last reply Reply Quote 0
        • Chris FullmerC Offline
          Chris Fullmer
          last edited by

          ok, even a little cleaner. This way I can use set_file to set a file to point to, instead of an html string.

          	splash_path = File.join( Install.base_path, "assets", "splash.html")
          	@@splash_wd = UI;;WebDialog.new("MultiFlux", true, "multiflux_splash", 800, 600, 200, 200, true);
          	@@splash_wd.set_file splash_path
          	UI.start_timer(0.1, false){@@splash_wd.show;}
          	UI.start_timer(3, false){@@splash_wd.close}
          

          It is just the webdlg.show that needs to inside the UI.start_timer procedure. Now it all loads and displays as desired.

          Lately you've been tan, suspicious for the winter.
          All my Plugins I've written

          1 Reply Last reply Reply Quote 0
          • Chris FullmerC Offline
            Chris Fullmer
            last edited by

            At this point, no unfortunately. It is not a Mac plugin. HOWEVER, I'm trying hard to mac it close to MAC friendly so we can get it up and running on Mac's someday.

            Are all the methods I've used so far Mac friendly?

            Lately you've been tan, suspicious for the winter.
            All my Plugins I've written

            1 Reply Last reply Reply Quote 0
            • thomthomT Offline
              thomthom
              last edited by

              @chris fullmer said:

              Are all the methods I've used so far Mac friendly?

              If you want the WebDialog to stay on top of the SketchUp window you want to use .show_modal under OSX. Under OSX that method doesn't produce a modal window like under Windows.

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

              1 Reply Last reply Reply Quote 0
              • D Offline
                driven
                last edited by

                and .set_html has a problem with local files... john

                learn from the mistakes of others, you may not live long enough to make them all yourself...

                1 Reply Last reply Reply Quote 0
                • Chris FullmerC Offline
                  Chris Fullmer
                  last edited by

                  Oh, ok. I'll put in the set_modal for future use. And I'll stick with my .set_file method then. Its cleaner in my ruby code and there is no reason at this point to load the html as a string.

                  Thanks guys!,

                  Chris

                  Lately you've been tan, suspicious for the winter.
                  All my Plugins I've written

                  1 Reply Last reply Reply Quote 0
                  • D Offline
                    driven
                    last edited by

                    it all works on the mac with set file.

                    learn from the mistakes of others, you may not live long enough to make them all yourself...

                    1 Reply Last reply Reply Quote 0
                    • Dan RathbunD Offline
                      Dan Rathbun
                      last edited by

                      @chris fullmer said:

                      Oh, ok. I'll put in the set_modal for future use.

                      But not on PC...

                         splash_path = File.join( Install.base_path, "assets", "splash.html")
                         @@splash_wd = UI;;WebDialog.new("MultiFlux", true, "multiflux_splash", 800, 600, 200, 200, true);
                         @@splash_wd.set_file splash_path
                         UI.start_timer(0.1, false){
                           RUBY_PLATFORM =~ /(darwin)/ ? @@splash_wd.show_modal() ; @@splash_wd.show();
                         }
                         UI.start_timer(3, false){@@splash_wd.close}
                      

                      I'm not here much anymore.

                      1 Reply Last reply Reply Quote 0
                      • Chris FullmerC Offline
                        Chris Fullmer
                        last edited by

                        Interesting, I would have just put it as modal for both. Modal just means it stays on top of all windows?

                        Lately you've been tan, suspicious for the winter.
                        All my Plugins I've written

                        1 Reply Last reply Reply Quote 0
                        • thomthomT Offline
                          thomthom
                          last edited by

                          @chris fullmer said:

                          Interesting, I would have just put it as modal for both. Modal just means it stays on top of all windows?

                          No - in the Windows world it means that the child window blocks any interaction in the parent window while it is open. It also means that .show_modal doesn't return until the webdialog is closed. (Like UI.inputbox - where you continue with the code after you prompted the user.)

                          But it's under OSX where the scheme suddenly change. Not use if it's a platform quick, or just an SU OSX quirk, but suddenly the window does not stay on top when using .show and .show_modal means "stay on top of parent" instead of actually being modal. It's an annoying difference as the behaviour displayed under OSX does not correspond to what the method name implies.

                          Link Preview Image
                          Modal window - Wikipedia

                          favicon

                          (en.wikipedia.org)

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

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

                          Advertisement