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()