Quantcast
Channel: Scripting - McNeel Forum
Viewing all articles
Browse latest Browse all 5938

Text Box Values

$
0
0

Hi

Can someone please explain how I Get the value of the Text boxes and do I have to Set the value when I get it. I have only inserted the code for the first Text box I do appreciate the rest need to be added when I understand what is going on.

# Imports
import Rhino
import Rhino.UI
import scriptcontext
import System
import Eto.Drawing as drawing
import Eto.Forms as forms

# ImportExportPoints dialog class
class GeoPointVectors(forms.Dialog[bool]):
    
    # Dialog box Class initializer
    def __init__(self):
        # Initialize dialog box
        self.Title = "Geo Point Vectors"
        self.Padding = drawing.Padding(10)
        self.Resizable = False
        
        # Create controls for the dialog
        self.m_label1 = forms.Label(Text = 'Job Number:')
        self.m_JobNum_textbox = forms.TextBox(Text = "SC-000")
        
        self.m_label2 = forms.Label(Text = 'New Layer:')
        self.m_NewLayer_textbox = forms.TextBox(Text = "Point Vectors")
        
        self.m_label3 = forms.Label(Text = 'Range mm:')
        #MaskedTextBox()
        self.m_Range_textbox = forms.TextBox(Text = "50")
        
        self.m_label4 = forms.Label(Text = 'Font Size mm:')
        self.m_Font_textbox = forms.TextBox(Text = "5")
        
        self.m_label5 = forms.Label(Text = 'Vector Scale:')
        self.m_VectScale_textbox = forms.TextBox(Text = "4")
        
        self.m_label6 = forms.Label(Text = 'Tol X mm:')
        self.m_TolX_textbox = forms.TextBox(Text = "4")        
        
        self.m_label7 = forms.Label(Text = 'Tol Y mm:')
        self.m_TolY_textbox = forms.TextBox(Text = "4")       
        
        self.m_label8 = forms.Label(Text = 'Tol Z mm:')
        self.m_TolZ_textbox = forms.TextBox(Text = "4") 
        
        self.m_sign_checkbox = forms.CheckBox(Text = 'Sign convention')
        self.m_sign_checkbox.Checked = False
        
        
        #self.m_export_checkbox = forms.CheckBox(Text = 'Select if export points')
        #self.m_export_checkbox.Checked = False
        
        
        self.m_NumDp_combobox = forms.ComboBox()
        self.m_NumDp_combobox.DataStore = ['NumDP0', 'NumDP1', 'NumDP2', 'NumDP3']
        self.m_NumDp_combobox.SelectedIndex = 0
        
        self.m_label = forms.Label(Text = 'Decimal Places:')
        
        # Create the default button
        self.DefaultButton = forms.Button(Text = 'OK')
        self.DefaultButton.Click += self.OnOKButtonClick
        
        # Create the abort button
        self.AbortButton = forms.Button(Text = 'Cancel')
        self.AbortButton.Click += self.OnCloseButtonClick
        
        # Create a table layout and add all the controls
        layout = forms.DynamicLayout()
        layout.Spacing = drawing.Size(5, 5)
        #layout.AddRow(self.m_JobNum_textbox)
        layout.AddRow(self.m_label1, self.m_JobNum_textbox)
        #layout.AddRow(self.m_NewLayer_textbox)
        layout.AddRow(self.m_label2, self.m_NewLayer_textbox)
        
        layout.AddRow(self.m_label3, self.m_Range_textbox)
        
        layout.AddRow(self.m_label4, self.m_Font_textbox)
        
        layout.AddRow(self.m_label5, self.m_VectScale_textbox)
        
        layout.AddRow(self.m_label6, self.m_TolX_textbox)
        
        layout.AddRow(self.m_label7, self.m_TolY_textbox)
        
        layout.AddRow(self.m_label8, self.m_TolZ_textbox)
        
        layout.AddRow(self.m_sign_checkbox)
        #layout.AddRow(self.m_export_checkbox)
        layout.AddRow(self.m_label, self.m_NumDp_combobox)
        layout.AddRow(None) # spacer
        layout.AddRow(self.DefaultButton, self.AbortButton)
        
        # Set the dialog content
        self.Content = layout
    
    # Start of the class functions
    
    
    
        # Get the value of the textbox
        def GetText(self):
            return self.m_JobNum_textbox.Text
        def SetText(self):
            #self.m_JobNum_textbox.Text
            print self.m_JobNum_textbox.Text
    
    
    
    
     #Get/set the value of the first checkbox
        def GetSign(self):
            return self.m_sign_checkbox.Checked
        def SetSign(self, set):
            self.m_sign_checkbox.Checked = set
    
    # Get/set the value of the second checkbox
    ##def GetExport(self):
        ##return self.m_export_checkbox.Checked
    ##def SetExport(self, set):
        ##self.m_export_checkbox.Checked = set
        
    # Get/set the value of the combobox
    def GetNumDp(self):
      return self.m_NumDp_combobox.SelectedIndex
    def SetNumDp(self, index):
      self.m_NumDp_combobox.SelectedIndex = Rhino.RhinoMath.Clamp(index, 0, 2)
    
    # Close button click handler
    def OnCloseButtonClick(self, sender, e):
        self.Close(False)
    
    # OK button click handler
    def OnOKButtonClick(self, sender, e):
        self.Close(True)
    ## End of Dialog Class ##

# Utility function to show the dialog box
def ShowGeoPointVectors( setNumDp = 0):
    dialog = GeoPointVectors()
    #dialog.SetSign(setsign)
    #dialog.SetExport(setExport)
    dialog.SetNumDp(setNumDp)
    rc = dialog.ShowModal(Rhino.UI.RhinoEtoApp.MainWindow)
    if rc:
        return dialog.GetNumDp()
    return None
    
# Check to see if this file is being executed as the "main" python
# script instead of being used as a module by some other python script
# This allows us to use the module which ever way we want.
if __name__ == "__main__":
    #
    # Show dialog with default settings
    rc0 = ShowGeoPointVectors()

1 post - 1 participant

Read full topic


Viewing all articles
Browse latest Browse all 5938

Trending Articles