def CreateSteppers(self): # Create labels label0 = forms.Label(Text='Point count:') label1 = forms.Label(Text='Degree:') label2 = forms.Label(Text='({})'.format(self.Args.PointCount)) label3 = forms.Label(Text='({})'.format(self.Args.Degree)) # Create numeric steppers self.PointCount = forms.NumericStepper(Value=self.Args.PointCount, MinValue=2, MaxValue=32767) self.Degree = forms.NumericStepper(Value=self.Args.Degree, MinValue=1, MaxValue=11) # Create table layout layout = forms.DynamicLayout() layout.Spacing = drawing.Size(5, 5) layout.AddRow(label0, label2, self.PointCount) layout.AddRow(label1, label3, self.Degree) return layout
def create_numeric_stepper(decimal_places = 2, increment = 1, value = 0, min = None, max = None, format_string = None, change_event_method = None): numeric_stepper = forms.NumericStepper() numeric_stepper.DecimalPlaces = decimal_places numeric_stepper.Increment = increment numeric_stepper.Value = value if max: numeric_stepper.MaxValue = max if min: numeric_stepper.MinValue = min if format_string: numeric_stepper.FormatString = format_string if change_event_method: numeric_stepper.ValueChanged += change_event_method return numeric_stepper
def __init__(self): # Initialize dialog box self.Title = 'Render Settings' self.Padding = drawing.Padding(5) self.Resizable = False settings = self.readSettings() dirname = os.path.dirname script_path = dirname(os.path.realpath(__file__)) + "\\" self.HDRIs = ["Colour"] for r, d, f in os.walk(script_path + "HDRI\\"): for file in f: if '.hdr' in file: self.HDRIs.append(file) self.render_engine = forms.ComboBox() self.render_engine.DataStore = ["CYCLES", "EEVEE"] self.render_engine.SelectedIndex = 0 self.render_scale = forms.NumericUpDown() self.render_samples = forms.NumericStepper() self.camera_exposure = forms.NumericUpDown() self.camera_exposure.DecimalPlaces = 3 self.camera_exposure.Increment = 0.1 self.camera_exposure.MinValue = -10.000 self.camera_exposure.MaxValue = 10.000 self.camera_transparent = forms.CheckBox() self.world_HDRI = forms.ComboBox() self.world_HDRI.DataStore = self.HDRIs self.world_HDRIRotation = forms.NumericStepper() self.world_HDRIRotation.DecimalPlaces = 2 self.world_HDRIBlur = forms.NumericStepper() self.world_HDRIBlur.DecimalPlaces = 2 self.world_HDRIBlur.MinValue = 0.000 self.world_HDRIBlur.MaxValue = 1.000 self.world_HDRIBlur.Width = 50 self.world_HDRIPower = forms.NumericStepper() self.world_HDRIPower.DecimalPlaces = 2 self.world_HDRIPower.MinValue = 0.000 self.world_HDRIPower.Width = 50 self.render_bouncesTotal = forms.NumericStepper() self.render_bouncesDiffuse = forms.NumericStepper() self.render_bouncesGlossy = forms.NumericStepper() self.render_bouncesTransparency = forms.NumericStepper() self.render_bouncesTransmission = forms.NumericStepper() self.render_bouncesVolume = forms.NumericStepper() self.render_clampingDirect = forms.NumericUpDown() self.render_clampingDirect.DecimalPlaces = 2 self.render_clampingDirect.Increment = 0.01 self.render_clampingDirect.MinValue = 0.00 self.render_clampingIndirect = forms.NumericUpDown() self.render_clampingIndirect.DecimalPlaces = 2 self.render_clampingIndirect.MinValue = 0.00 self.render_Denoising = forms.CheckBox() self.open = forms.CheckBox() self.save = forms.CheckBox() self.render = forms.CheckBox() self.showRender = forms.CheckBox() if settings: self.render_engine.SelectedIndex = self.render_engine.DataStore.index( settings["settings"]["render_engine"]) self.render_scale.Value = float( settings["settings"]["render_scale"]) self.render_samples.Value = int( settings["settings"]["render_samples"]) self.camera_exposure.Value = float( settings["camera"]["camera_exposure"]) self.camera_transparent.Checked = bool( settings["camera"]["camera_transparent"]) self.world_HDRI.SelectedIndex = self.world_HDRI.DataStore.index( settings["world"]["world_HDRI"]) self.world_HDRIRotation.Value = float( settings["world"]["world_HDRIRotation"]) self.world_HDRIBlur.Value = float( settings["world"]["world_HDRIBlur"]) self.world_HDRIPower.Value = float( settings["world"]["world_HDRIPower"]) self.render_bouncesTotal.Value = int( settings["settings"]["render_bouncesTotal"]) self.render_bouncesDiffuse.Value = int( settings["settings"]["render_bouncesDiffuse"]) self.render_bouncesGlossy.Value = int( settings["settings"]["render_bouncesGlossy"]) self.render_bouncesTransparency.Value = int( settings["settings"]["render_bouncesTransparency"]) self.render_bouncesTransmission.Value = int( settings["settings"]["render_bouncesTransmission"]) self.render_bouncesVolume.Value = int( settings["settings"]["render_bouncesVolume"]) self.render_clampingDirect.Value = float( settings["settings"]["render_clampingDirect"]) self.render_clampingIndirect.Value = float( settings["settings"]["render_clampingIndirect"]) self.render_Denoising.Checked = bool( settings["settings"]["render_Denoising"]) self.open.Checked = bool(settings["settings"]["open"]) self.save.Checked = bool(settings["settings"]["save"]) self.render.Checked = bool(settings["settings"]["render"]) self.showRender.Checked = bool(settings["settings"]["showRender"]) loc = settings["settings"]["render_settingWindowPosition"] loc = loc.split(",") self.Location = drawing.Point(int(loc[0]), int(loc[1])) self.DefaultButton = forms.Button(Text='OK') self.DefaultButton.Click += self.OnOKButtonClick self.AbortButton = forms.Button(Text='Cancel') self.AbortButton.Click += self.OnCloseButtonClick layout = forms.DynamicLayout() layout.Spacing = drawing.Size(0, 1) """Box 1: Render""" box_1 = forms.GroupBox() box_1.Padding = drawing.Padding(1) box_1_layout = forms.DynamicLayout() box_1_layout.Spacing = drawing.Size(3, 3) box_1.Content = box_1_layout box_1_layout.AddRow("render_engine", self.render_engine) box_1_layout.AddRow("render_scale", self.render_scale) box_1_layout.AddRow("samples", self.render_samples) """Box 2: Camera""" box_2 = forms.GroupBox(Text='Camera') box_2.Padding = drawing.Padding(1) box_2_layout = forms.DynamicLayout() box_2_layout.Spacing = drawing.Size(3, 3) box_2.Content = box_2_layout box_2_layout.AddRow("Exposure", self.camera_exposure) box_2_layout.AddRow("Transparent", self.camera_transparent) """Box 3: World""" box_3 = forms.GroupBox(Text='World') box_3.Padding = drawing.Padding(1) box_3_layout = forms.DynamicLayout() box_3_layout.Spacing = drawing.Size(3, 3) box_3.Content = box_3_layout box_3_layout.BeginVertical() box_3_layout.AddRow("HDRI", self.world_HDRI) box_3_layout.AddRow("HDRI Rotation", self.world_HDRIRotation) box_3_layout.EndVertical() box_3_layout.AddSeparateRow("Blur", self.world_HDRIBlur, None, "Power", self.world_HDRIPower) """Box 4: Samples""" box_4 = forms.GroupBox(Text='Sampling') box_4.Padding = drawing.Padding(1) box_4_layout = forms.DynamicLayout() box_4_layout.Spacing = drawing.Size(3, 3) box_4.Content = box_4_layout self.box_4_hidden = forms.DynamicLayout(Visible=False) self.box_4_hidden.Spacing = drawing.Size(3, 3) self.box_4_hidden.AddRow("bouncesTotal", self.render_bouncesTotal) self.box_4_hidden.AddRow("bouncesDiffuse", self.render_bouncesDiffuse) self.box_4_hidden.AddRow("bouncesGlossy", self.render_bouncesGlossy) self.box_4_hidden.AddRow("bouncesTransparency", self.render_bouncesTransparency) self.box_4_hidden.AddRow("bouncesTransmission", self.render_bouncesTransmission) self.box_4_hidden.AddRow("bouncesVolume", self.render_bouncesVolume) self.box_4_hidden.AddRow("clampingDirect", self.render_clampingDirect) self.box_4_hidden.AddRow("clampingIndirect", self.render_clampingIndirect) self.dropdown_text = forms.Label(Text="Show Sampling Properties") self.dropdown_samples = forms.Button(Size=drawing.Size(16, 16)) self.dropdown_samples.Text = "▼" self.dropdown_samples.Font = drawing.Font("Arial", 5) self.dropdown_samples.Click += self.dropdown_samples_Click box_4_layout.AddSeparateRow(None, self.dropdown_text, None, self.dropdown_samples, None) box_4_layout.AddRow(self.box_4_hidden) """Box 5: Output""" box_5 = forms.GroupBox(Text='Output') box_5.Padding = drawing.Padding(1) box_5_layout = forms.DynamicLayout() box_5_layout.Spacing = drawing.Size(3, 3) box_5.Content = box_5_layout box_5_layout.AddRow(self.save, "Save File", self.open, "Open File") box_5_layout.AddRow(self.render_Denoising, "Denoising") box_5_layout.AddRow(self.render, "Render") box_5_layout.AddRow(self.showRender, "Show Render") #Add the group boxes to the main interface layout.AddRow(box_1) layout.AddRow(box_2) layout.AddRow(box_3) layout.AddRow(box_4) layout.AddRow(box_5) layout.AddSeparateRow(self.DefaultButton, None, self.AbortButton) self.Content = layout
def __init__(self): # Initialize dialog box self.Title = 'LandArchTools: Stair Generator' self.Padding = drawing.Padding(10) self.Resizable = False self.Closing += self.OnFormClosed ################################################################################ # Create controls for the dialog # Stair gen label self.stairGenLabel = forms.Label(Text='STAIR GENERATOR') # Gen Handrail label self.genStairLabel = forms.Label(Text='Generate Stair?:') # Gen Handrail control self.genStairBool = forms.CheckBox() self.genStairBool.Checked = False self.genStairBool.CheckedChanged += self.stairGen # Number of Steps Label self.numStepsLabel = forms.Label(Text='Number of steps:') # Number of Steps control self.numStepsC = forms.NumericStepper() self.numStepsC.DecimalPlaces = 0 self.numStepsC.Increment = 1 self.numStepsC.MaxValue = 100 self.numStepsC.MinValue = 2 self.numStepsC.Value = 3 self.numStepsC.ValueChanged += self.stairGen self.numStepsC.ValueChanged += self.handrailGen # Tread label self.treadLabel = forms.Label(Text='Tread (mm):') # Tread length control self.treadC = forms.NumericStepper() self.treadC.DecimalPlaces = 0 self.treadC.Increment = 1 self.treadC.MaxValue = 1000 self.treadC.MinValue = 1 self.treadC.Value = 300 self.treadC.ValueChanged += self.stairGen self.treadC.ValueChanged += self.handrailGen # Riser Label self.riserLabel = forms.Label(Text='Riser (mm):') # Tread length control self.riserC = forms.NumericStepper() self.riserC.DecimalPlaces = 0 self.riserC.Increment = 1 self.riserC.MaxValue = 1000 self.riserC.MinValue = 1 self.riserC.Value = 150 self.riserC.ValueChanged += self.stairGen self.riserC.ValueChanged += self.handrailGen # Flip label self.flipLabel = forms.Label(Text='Flip direction of stairs:') # Flip control self.flipC = forms.CheckBox() self.flipC.CheckedChanged += self.stairGen self.flipC.CheckedChanged += self.handrailGen ########################################### # Handrail Gen Label self.handrailGenLabel = forms.Label(Text='HANDRAIL GENERATOR') # self.handrailGenLabel.VerticalAlignment.Center # Gen Handrail label self.genHandrailLabel = forms.Label(Text='Generate Handrail?:') # Gen Handrail control self.genHandrailBool = forms.CheckBox() self.genHandrailBool.Checked = False self.genHandrailBool.CheckedChanged += self.handrailGen # Handrail Type Label self.handrailTypeLabel = forms.Label(Text='Handrail type:') # Handrail Type Dropdown self.handrailTypeC = forms.DropDown() self.handrailTypeC.DataStore = [ '180 No Return', '180 Full Return', 'Ground Triangular Return', 'Ground Return', 'Wall Return'] self.handrailTypeC.SelectedIndex = 0 self.handrailTypeC.SelectedIndexChanged += self.handrailGen # Handrail Height Label self.handrailHeightLabel = forms.Label( Text='Handrail height (mm):') # Handrail Height control self.handrailHeightC = forms.NumericStepper() self.handrailHeightC.DecimalPlaces = 0 self.handrailHeightC.Increment = 1 self.handrailHeightC.MaxValue = 5000 self.handrailHeightC.MinValue = 100 self.handrailHeightC.Value = 900 self.handrailHeightC.ValueChanged += self.handrailGen # Handrail offset label self.handrailOffsetLabel = forms.Label( Text='Handrail offset from edges (mm):') # Handrail offset control self.handrailOffsetC = forms.NumericStepper() self.handrailOffsetC.DecimalPlaces = 0 self.handrailOffsetC.Increment = 1 self.handrailOffsetC.MaxValue = 5000 self.handrailOffsetC.MinValue = 50 self.handrailOffsetC.Value = 150 self.handrailOffsetC.ValueChanged += self.handrailGen # Handrail extension Label self.handrailExtensionLabel = forms.Label( Text='Handrail extension (mm):') # Handrail extension Control self.handrailExtensionC = forms.NumericStepper() self.handrailExtensionC.DecimalPlaces = 0 self.handrailExtensionC.Increment = 1 self.handrailExtensionC.MaxValue = 5000 self.handrailExtensionC.MinValue = 300 self.handrailExtensionC.Value = 300 self.handrailExtensionC.ValueChanged += self.handrailGen # Handrail Diameter Label self.handrailDiameterLabel = forms.Label( Text='Handrail diameter (mm):') # Handrail Diameter control self.handrailDiameterC = forms.NumericStepper() self.handrailDiameterC.DecimalPlaces = 0 self.handrailDiameterC.Increment = 1 self.handrailDiameterC.MaxValue = 50 self.handrailDiameterC.MinValue = 30 self.handrailDiameterC.Value = 30 self.handrailDiameterC.ValueChanged += self.handrailGen # 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(None) layout.AddRow(self.stairGenLabel) layout.AddRow(None) layout.AddRow(None) layout.AddRow(self.genStairLabel, self.genStairBool) layout.AddRow(self.numStepsLabel, self.numStepsC) layout.AddRow(self.treadLabel, self.treadC) layout.AddRow(self.riserLabel, self.riserC) layout.AddRow(self.flipLabel, self.flipC) layout.AddRow(None) layout.AddRow(None) layout.AddRow(None) layout.AddRow(None) layout.AddRow(self.handrailGenLabel) layout.AddRow(None) layout.AddRow(None) layout.AddRow(self.genHandrailLabel, self.genHandrailBool) layout.AddRow(self.handrailTypeLabel, self.handrailTypeC) layout.AddRow(self.handrailHeightLabel, self.handrailHeightC) layout.AddRow(self.handrailOffsetLabel, self.handrailOffsetC) layout.AddRow(self.handrailExtensionLabel, self.handrailExtensionC) layout.AddRow(self.handrailDiameterLabel, self.handrailDiameterC) layout.AddRow(self.DefaultButton, self.AbortButton) # Set the dialog content self.Content = layout