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

    How to disabled or Grayed some field in Input box

    Scheduled Pinned Locked Moved Developers' Forum
    10 Posts 4 Posters 498 Views 4 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.
    • nithi09N Offline
      nithi09
      last edited by

      Hi someone help me how to disabled or grayed some field in inputbox. For example I have drop down to choose for door and window in Inputbox. When user choose door then window field need to be disabled or grayed. how do i can do that? please see my attachment.


      Selection.jpg

      1 Reply Last reply Reply Quote 0
      • tt_suT Offline
        tt_su
        last edited by

        There is no such control for UI.inputbox.

        If you need advanced control over the UI the only option at the moment is to create WebDialogs.

        That being said, you might find it easier and faster to make a dialog using the SKUI framework: https://github.com/thomthom/SKUI
        One limitation here is that OSX won't be able to produce a modal window.

        1 Reply Last reply Reply Quote 0
        • nithi09N Offline
          nithi09
          last edited by

          Thanks for the info.

          1 Reply Last reply Reply Quote 0
          • nithi09N Offline
            nithi09
            last edited by

            ` require 'CSV'
            def pricelookup(my_part_number)

            csv = CSV.read('C:\price_lookup.csv', :headers => true)
            price = csv.find {|row| row['Part No'] == my_part_number }['Price']
            
            return price
            

            end`
            Above code works fine as long as partnumber exist in price_lookup.csv
            file. If partnumber doesn't exist it crash my sketchup project. how do I
            handle this with out crashing my sketchup project.

            1 Reply Last reply Reply Quote 0
            • tt_suT Offline
              tt_su
              last edited by

              What version are you using? Did you submit the BugSplats? Did you enter any info that we can search for to find the BugSplats?

              1 Reply Last reply Reply Quote 0
              • TIGT Offline
                TIG Moderator
                last edited by

                Here's an alternative way avoiding the clunky require 'CSV'...

                def pricelookup(my_part_number)
                  all_parts = IO.readlines('C;\price_lookup.csv')
                  part_number_row = nil
                  part_number_row = all_parts.grep(/^#{my_part_number},/)[0] ### first match
                  price = nil
                  price = part_number_row.split(',')[1].chomp if part_number_row
                  return price
                end
                

                This assumes 'price' is the second column after 'part_number' in its row...
                You know how your csv files is set up...

                TIG

                1 Reply Last reply Reply Quote 0
                • nithi09N Offline
                  nithi09
                  last edited by

                  I test following code in sketchup 8 works fine. but in Sketchup 2014 gave error. I tried
                  some change in code works now here is the code comment out the one i changed.I think Array of Array problem.

                  <span class="syntaxdefault">require </span><span class="syntaxstring">'sketchup.rb'<br /><br /></span><span class="syntaxdefault">class Testbox<br />def initialize</span><span class="syntaxkeyword">()<br /></span><span class="syntaxdefault">           <br />        model </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> Sketchup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_model<br />        ent </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">entities <br />    group </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> ent</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">add_group<br />    ent </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> group</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">entities<br />        <br />        <br />    prompts </span><span class="syntaxkeyword">=</span><span class="syntaxdefault">  </span><span class="syntaxkeyword">[</span><span class="syntaxstring">"Width"</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"Depth"</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"Height"</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"Colour"</span><span class="syntaxkeyword">]<br /></span><span class="syntaxdefault">        defaults </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">[</span><span class="syntaxstring">"8'"</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"12\""</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"7\'"</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"Blue"</span><span class="syntaxkeyword">]<br /></span><span class="syntaxdefault">        list </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">[</span><span class="syntaxstring">"6'|8'|10'|Custom"</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"2'|4'|12\""</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"5'|7'|9'"</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"Blue|Red|Green"</span><span class="syntaxkeyword">]<br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">#list = [["6'|8'|10'|Custom"],["2'|4'|12\""],["5'|7'|9'"],["Blue|Red|Green"]]<br /></span><span class="syntaxdefault">    results </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> inputbox prompts</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> defaults</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> list</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"Test_Box"<br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">#results = inputbox (prompts, defaults, list, "Test_Box")<br /></span><span class="syntaxdefault">        return nil if not results<br />        <br />        w </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">]<br /></span><span class="syntaxdefault">        if w </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">"Custom"<br /></span><span class="syntaxdefault">        results_w </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> inputbox </span><span class="syntaxkeyword">[</span><span class="syntaxstring">"Enter Width;"</span><span class="syntaxkeyword">],</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">[</span><span class="syntaxstring">"1'"</span><span class="syntaxkeyword">],</span><span class="syntaxdefault"> </span><span class="syntaxstring">"Custom Size"<br /></span><span class="syntaxdefault">        return nil if not results_w<br />        w </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> results_w</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">].</span><span class="syntaxdefault">to_l<br />        else<br />        w </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> w</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">to_l<br />        end<br />        <br />        wid </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> w<br />        dep </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">].</span><span class="syntaxdefault">to_l<br />        hei </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">2</span><span class="syntaxkeyword">].</span><span class="syntaxdefault">to_l<br />        color </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">3</span><span class="syntaxkeyword">]<br /></span><span class="syntaxdefault">        <br />        pts </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">[[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">],</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">[</span><span class="syntaxdefault">wid</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">],</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">[</span><span class="syntaxdefault">wid</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">dep</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">],</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">dep</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">]]<br /></span><span class="syntaxdefault">        <br />        base </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> ent</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">add_face pts<br />        hei </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">-</span><span class="syntaxdefault">hei if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">normal</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">dot</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">Z_AXIS</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword"><</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">        base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">back_material </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> color        <br />        base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">material </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> color<br />        mat </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">material<br />        mat</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">alpha </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> 0.1<br />        base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">reverse</span><span class="syntaxkeyword">!<br /></span><span class="syntaxdefault">        base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">pushpull </span><span class="syntaxkeyword">-</span><span class="syntaxdefault">hei<br />        <br />        part_NO </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"600181"<br /></span><span class="syntaxdefault">        <br />        box_1_qty </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> 1<br />        <br />        <br />    group</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">set_attribute</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'dynamic_attributes'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">'name of material'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"Test Box"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    group</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">set_attribute</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'dynamic_attributes'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">'partnumber'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> part_NO</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    group</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">set_attribute</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'dynamic_attributes'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">'quantity'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">box_qty</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    <br />    <br />        <br /> end<br />end<br /><br /><br />if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">not $Testbox_menu_loaded</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">  <br />  UI</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">menu</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Tools"</span><span class="syntaxkeyword">).</span><span class="syntaxdefault">add_item</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"TEST_BOX"</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> Testbox</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">new </span><span class="syntaxkeyword">}</span><span class="syntaxdefault"> <br />  <br />  $Testbox_menu_loaded </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> true<br />end</span>
                  
                  1 Reply Last reply Reply Quote 0
                  • TIGT Offline
                    TIG Moderator
                    last edited by

                    The correct method+arguments format for both versions of Ruby is:
                    results = inputbox(prompts, defaults, list, "Test_Box") results_w = inputbox(["Enter Width:"], ["1'"], "Custom Size")
                    There should be a pair of ( ) enclosing the arguments AND NO space in front of the opening (

                    TIG

                    1 Reply Last reply Reply Quote 0
                    • nithi09N Offline
                      nithi09
                      last edited by

                      what is the different between these two
                      ` list = ["6'|8'|10'|Custom","2'|4'|12"","5'|7'|9'","Blue|Red|Green"]

                      list = [["6'|8'|10'|Custom"],["2'|4'|12""],["5'|7'|9'"],["Blue|Red|Green"]]`
                      second one doesn't work on Sketchup 2014 but works in sketchup 8.

                      Thanks TIG for the alternative way for finding price this code works awesome you don't need
                      require 'CSV'.

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

                        Who cares? The second one is not the format given in the API dictionary.
                        Use the first one.

                        I'm not here much anymore.

                        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