• Login
sketchucation logo sketchucation
  • Login
ℹ️ GoFundMe | Our friend Gus Robatto needs some help in a challenging time Learn More

How to disabled or Grayed some field in Input box

Scheduled Pinned Locked Moved Developers' Forum
10 Posts 4 Posters 498 Views
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.
  • N Offline
    nithi09
    last edited by 20 Feb 2014, 14:34

    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
    • T Offline
      tt_su
      last edited by 20 Feb 2014, 15:07

      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
      • N Offline
        nithi09
        last edited by 20 Feb 2014, 15:25

        Thanks for the info.

        1 Reply Last reply Reply Quote 0
        • N Offline
          nithi09
          last edited by 6 Mar 2014, 17:04

          ` 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
          • T Offline
            tt_su
            last edited by 6 Mar 2014, 17:23

            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
            • T Offline
              TIG Moderator
              last edited by 6 Mar 2014, 17:37

              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
              • N Offline
                nithi09
                last edited by 6 Mar 2014, 17:50

                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
                • T Offline
                  TIG Moderator
                  last edited by 6 Mar 2014, 22:41

                  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
                  • N Offline
                    nithi09
                    last edited by 7 Mar 2014, 01:01

                    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
                    • D Offline
                      Dan Rathbun
                      last edited by 7 Mar 2014, 03:42

                      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