コード例 #1
0
    def CreateLayout(self):
        #Main Layout
        layoutFolder = forms.DynamicLayout()
        layoutFolder.Spacing = drawing.Size(2,2)
        layoutFolder.AddRow(None, self.lblProj, self.drpDwnProj)
        layoutFolder.AddRow(None, self.lblVersion, self.drpDwnVersion)
        layoutFolder.AddRow(None, self.lblProjName, self.tBoxProjName)
        layoutFolder.AddRow(None, self.lblProjNum, self.tBoxProjNum)
        layoutFolder.AddRow(None, self.lblClientName, self.tBoxClientName)
        layoutFolder.AddRow(None, self.lblProjCity, self.tBoxProjCity)
        layoutFolder.AddRow(None, self.lblProjState, self.drpDwnProjState)
        layoutFolder.AddRow(None, self.lblProjCountry, self.drpDwnProjCountry)
        layoutFolder.AddRow(None)

        #Bottom row
        layoutButtons = forms.DynamicLayout()
        layoutButtons.AddRow(None)
        layoutButtons.AddRow(None, self.btnTest, self.btnCancel, self.btnApply, self.btnSave, self.btnSaveAs)

        #Final Layout
        layout = forms.DynamicLayout()
        layout.AddSeparateRow(layoutFolder)
        layout.AddSeparateRow(layoutButtons)

        #Add the layout to the dialog
        self.Content = layout
コード例 #2
0
    def CreateLayouts(self):
        layoutButtons = forms.DynamicLayout()
        #layoutButtons.AddRow(self.tboxFileName)
        #layoutButtons.AddRow(self.comboBuildingNum)
        layoutButtons.AddRow(self.grid)
        layoutButtons.AddSeparateRow(None, self.btnCancel, self.btnApply)
        layoutButtons.Spacing = drawing.Size(1,1)
        layout = forms.DynamicLayout()
        #layout.AddSeparateRow(layoutFolder)
        layout.AddSeparateRow(layoutButtons)

        #5 - add the layout to the dialog
        self.Content = layout
コード例 #3
0
    def __init__(self, image_path):
        self.Title = 'Render Blender'
        self.Padding = drawing.Padding(5)
        self.Resizable = True

        self.image = None
        if os.path.exists(image_path):
            self.img = System.Drawing.Image.FromFile(image_path)
        else:
            return None

        self.image = forms.ImageView()
        self.image.Image = Rhino.UI.EtoExtensions.ToEto(self.img)
        self.image.Size = drawing.Size(self.img.Width / 2, self.img.Height / 2)

        self.DefaultButton = forms.Button(Text='Save')
        self.DefaultButton.Click += self.OnOKButtonClick

        self.AbortButton = forms.Button(Text='Cancel')
        self.AbortButton.Click += self.OnCloseButtonClick

        layout = forms.DynamicLayout()
        layout.Spacing = drawing.Size(5, 5)
        layout.AddRow(self.image)
        layout.AddSeparateRow(None, self.DefaultButton, self.AbortButton)

        self.Content = layout
コード例 #4
0
ファイル: error.py プロジェクト: lock794779857/compas-RV2
    def __init__(self, error="Unknown", title="Error", width=800, height=400):
        self.Title = title
        self.Padding = drawing.Padding(0)
        self.Resizable = False

        # tab_items = forms.StackLayoutItem(self.TabControl, True)
        layout = forms.StackLayout()
        layout.Spacing = 5
        layout.HorizontalContentAlignment = forms.HorizontalAlignment.Stretch

        self.m_textarea = forms.TextArea()
        self.m_textarea.Size = drawing.Size(400, 400)
        self.m_textarea.Text = error
        self.m_textarea.ReadOnly = True
        layout.Items.Add(self.m_textarea)

        sub_layout = forms.DynamicLayout()
        sub_layout.Spacing = drawing.Size(5, 0)
        sub_layout.AddRow(None, self.cancel)
        layout.Items.Add(forms.StackLayoutItem(sub_layout))

        self.Content = layout
        self.Padding = drawing.Padding(12)
        self.Resizable = True
        # self.ClientSize = drawing.Size(width, height)

        self.ShowModal(Rhino.UI.RhinoEtoApp.MainWindow)
コード例 #5
0
    def setup(self, sceneNode):
        self.Title = "Attributes"
        self.sceneNode = sceneNode

        control = forms.TabControl()
        control.TabPosition = forms.DockPosition.Top

        tab = Tree_Tab.from_sceneNode(sceneNode, 'Edges')
        control.Pages.Add(tab)

        self.TabControl = control

        tab_items = forms.StackLayoutItem(self.TabControl, True)
        layout = forms.StackLayout()
        layout.Spacing = 5
        layout.HorizontalContentAlignment = forms.HorizontalAlignment.Stretch
        layout.Items.Add(tab_items)

        sub_layout = forms.DynamicLayout()
        sub_layout.Spacing = drawing.Size(5, 0)
        # sub_layout.AddRow(None, self.ok, self.cancel, self.apply)
        sub_layout.AddRow(None, self.cancel)
        layout.Items.Add(forms.StackLayoutItem(sub_layout))

        self.Content = layout
        self.Padding = drawing.Padding(12)
        self.Resizable = True
        self.ClientSize = drawing.Size(400, 600)
コード例 #6
0
    def __init__(self, names, values):
        self.names = names
        self.values = values

        self.table = table = forms.GridView()
        table.ShowHeader = True
        table.DataStore = [[name, value] for name, value in zip(self.names, self.values)]

        c1 = forms.GridColumn()
        c1.HeaderText = 'Name'
        c1.Editable = False
        c1.DataCell = forms.TextBoxCell(0)
        table.Columns.Add(c1)

        c2 = forms.GridColumn()
        c2.HeaderText = 'Value'
        c2.Editable = True
        c2.DataCell = forms.TextBoxCell(1)
        table.Columns.Add(c2)

        tab_items = forms.StackLayoutItem(table, True)
        layout = forms.StackLayout()
        layout.Items.Add(tab_items)
        layout.HorizontalContentAlignment = forms.HorizontalAlignment.Stretch
        sub_layout = forms.DynamicLayout()
        sub_layout.AddRow(None, self.ok, self.cancel)
        layout.Items.Add(forms.StackLayoutItem(sub_layout))

        self.Title = 'RBE: update a list of properties'
        self.Padding = drawing.Padding(12)
        self.Resizable = True
        self.Content = layout
        self.ClientSize = drawing.Size(400, 600)
コード例 #7
0
 def CreateButtons(self):
     # 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.OnCancelButtonClick
     # Create button layout
     button_layout = forms.DynamicLayout()
     button_layout.Spacing = drawing.Size(5, 5)
     button_layout.AddRow(None, self.DefaultButton, self.AbortButton, None)
     return button_layout
コード例 #8
0
 def __init__(self):
     # create a control
     label = forms.Label()
     label.Text = "Text Label"
     # create a layout
     layout = forms.DynamicLayout()
     layout.DefaultSpacing = drawing.Size(5, 5)
     layout.Padding = drawing.Padding(10)
     # add the control to the layout
     layout.Add(label)
     # set the panel content
     self.Content = layout
コード例 #9
0
 def CreateCheckBoxes(self):
     # Create checkboxes
     self.DeleteInput = forms.CheckBox(Text='Delete input',
                                       Checked=self.Args.DeleteInput,
                                       ThreeState=False)
     self.PreserveTangents = forms.CheckBox(
         Text='Preserve tangent end directions',
         Checked=self.Args.PreserveTangents,
         ThreeState=False)
     # Create table layout
     layout = forms.DynamicLayout()
     layout.Spacing = drawing.Size(5, 5)
     layout.AddRow(self.DeleteInput)
     layout.AddRow(self.PreserveTangents)
     return layout
コード例 #10
0
 def __init__(self, args):
     self.Args = args
     # Initialize dialog box
     self.Title = 'Rebuild'
     self.Padding = drawing.Padding(5)
     # Create layout
     layout = forms.DynamicLayout()
     layout.Padding = drawing.Padding(5)
     layout.Spacing = drawing.Size(5, 5)
     layout.AddRow(self.CreateSteppers())
     layout.AddRow(None)  # spacer
     layout.AddRow(self.CreateCheckBoxes())
     layout.AddRow(None)  # spacer
     layout.AddRow(self.CreateButtons())
     # Set the dialog content
     self.Content = layout
コード例 #11
0
 def __init__(self, colors):
     self.Title = "Sample Color Dropdown Dialog"
     self.ClientSize = drawing.Size(400, 200)
     self.Padding = drawing.Padding(5)
     self.Resizable = False
     
     self.m_dropdown = SampleEtoColorDropDown(colors)
     self.m_dropdown.SelectedIndex = 0
     
     layout = forms.DynamicLayout()
     layout.Padding = drawing.Padding(10)
     layout.Spacing = drawing.Size(5, 5)
     layout.AddRow("Color:", self.m_dropdown, None)
     layout.Add(None, None, True)
     
     self.Content = layout
コード例 #12
0
ファイル: settings.py プロジェクト: duchaoyu/compas_3gs
    def setup(self, all_settings):

        self.Title = "Settings"
        self.TabControl = self.tabs_from_settings(all_settings)
        tab_items = forms.StackLayoutItem(self.TabControl, True)
        layout = forms.StackLayout()
        layout.Spacing = 5
        layout.HorizontalContentAlignment = forms.HorizontalAlignment.Stretch
        layout.Items.Add(tab_items)

        sub_layout = forms.DynamicLayout()
        sub_layout.Spacing = drawing.Size(5, 0)
        sub_layout.AddRow(None, self.ok, self.cancel, self.apply)
        layout.Items.Add(forms.StackLayoutItem(sub_layout))

        self.Content = layout
        self.Padding = drawing.Padding(12)
        self.Resizable = True
コード例 #13
0
 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
コード例 #14
0
ファイル: browser.py プロジェクト: tkmmark/compas-RV2
    def __init__(self, url=None, width=800, height=400):
        self.Title = 'RhinoVault2'
        self.Padding = drawing.Padding(0)
        self.Resizable = False

        self.m_webview = forms.WebView()
        self.m_webview.Size = drawing.Size(width, height)

        if not url:
            url = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'src', 'index.html')
        self.m_webview.Url = System.Uri(url)
        self.m_webview.BrowserContextMenuEnabled = True

        layout = forms.DynamicLayout()
        layout.Spacing = drawing.Size(5, 5)
        layout.BeginVertical()
        layout.AddRow(self.m_webview)
        layout.EndVertical()
        self.Content = layout
コード例 #15
0
 def __init__(self, collection):
     self.m_collection = collection
     # Initialize dialog box properties
     self.Title = 'Sample Eto ListBox'
     self.Padding = drawing.Padding(5)
     self.Resizable = True
     # Create a label control
     label = forms.Label()
     label.Text = 'Select a fruit:'
     # Create dynamic layout control
     layout = forms.DynamicLayout()
     layout.Padding = drawing.Padding(5)
     layout.Spacing = drawing.Size(5, 5)
     # Add controls to layout
     layout.AddRow(label)
     layout.AddRow(self.CreateListBox())
     layout.AddRow(None) # spacer
     layout.AddRow(self.CreateButtons())
     # Set the dialog content
     self.Content = layout
コード例 #16
0
 def __init__(self):
     # Initialize dialog box
     self.Title = 'Rhino Viewport in an Eto Control'
     self.Padding = drawing.Padding(5)
     self.Resizable = True
     # Create viewport controls
     viewport0 = Rhino.UI.Controls.ViewportControl(
         Size=drawing.Size(400, 200))
     viewport1 = Rhino.UI.Controls.ViewportControl(
         Size=drawing.Size(400, 200))
     # Create layout
     layout = forms.DynamicLayout()
     layout.Padding = drawing.Padding(5)
     layout.Spacing = drawing.Size(5, 5)
     layout.AddRow(viewport0)
     layout.AddRow(viewport1)
     layout.AddRow(None)
     layout.AddRow(self.CloseButton())
     # Set the dialog content
     self.Content = layout
コード例 #17
0
ファイル: MainTemp.py プロジェクト: kellogio90/camrhino
    def __init__(self):
        # Initialize dialog box
        self.Title = 'Dynamis'
        self.Padding = drawing.Padding(5)
        self.Resizable = False

        self.m_image_view = forms.ImageView()
        self.m_image_view.Size = drawing.Size(400, 225)
        self.m_image_view.Image = drawing.Bitmap("D:\AnimazioneBot\Vect.PNG")
        # Create layout

        self.m_button = forms.Button(Text='Esporta')
        self.m_button.Click += self.LanciaBotton

        self.m_textbox = forms.TextBox()
        self.m_label = forms.Label(Text='Indica il nome del progetto:')
        self.m_textbox.Text = "untitled"

        self.m_foronumero = forms.TextBox()
        self.m_forolabel = forms.Label(Text='Indica la dimensione del foro')
        self.m_foronumero.Text = "10"
        layout = forms.DynamicLayout()
        layout.Padding = drawing.Padding(5)
        layout.Spacing = drawing.Size(5, 5)
        layout.BeginVertical()
        layout.AddSeparateRow(None, self.m_image_view, None)
        layout.EndVertical()
        layout.AddRow(None)
        layout.BeginVertical()
        layout.AddRow(None, self.m_label, None, self.m_textbox, None)
        layout.EndVertical()
        layout.AddRow(None)
        layout.BeginVertical()
        layout.AddRow(None, self.m_forolabel, None, self.m_foronumero, None)
        layout.EndVertical()
        layout.AddRow(None)
        layout.BeginVertical()
        layout.AddRow(None, self.m_button, None, self.CloseButton(), None)
        layout.EndVertical()
        # Set the dialog content
        self.Content = layout
コード例 #18
0
ファイル: text.py プロジェクト: yishizu/compas
    def __init__(self, text, title=None):
        self.text = text
        self.textbox = textbox = forms.TextArea()

        textbox.ReadOnly = True
        textbox.Append(text)

        layout = forms.DynamicLayout()
        layout.AddRow(textbox)
        layout.Add(None)
        layout.BeginVertical()
        layout.BeginHorizontal()
        layout.AddRow(None, self.ok, self.cancel)
        layout.EndHorizontal()
        layout.EndVertical()

        self.Title = title
        self.Padding = drawing.Padding(12)
        self.Resizable = False
        self.Content = layout
        self.ClientSize = drawing.Size(400, 600)
コード例 #19
0
ファイル: settings.py プロジェクト: yishizu/compas
    def __init__(self, settings):
        # super(SettingsForm, self).__init__()
        self._settings = None
        self._names = None
        self._values = None
        self.settings = settings

        self.table = table = forms.GridView()
        table.ShowHeader = True
        table.DataStore = [[name, value]
                           for name, value in zip(self.names, self.values)]
        table.Height = 300

        c1 = forms.GridColumn()
        c1.HeaderText = 'Name'
        c1.Editable = False
        c1.DataCell = forms.TextBoxCell(0)
        table.Columns.Add(c1)

        c2 = forms.GridColumn()
        c2.HeaderText = 'Value'
        c2.Editable = True
        c2.DataCell = forms.TextBoxCell(1)
        table.Columns.Add(c2)

        layout = forms.DynamicLayout()
        layout.AddRow(table)
        layout.Add(None)
        layout.BeginVertical()
        layout.BeginHorizontal()
        layout.AddRow(None, self.ok, self.cancel)
        layout.EndHorizontal()
        layout.EndVertical()

        self.Title = 'RBE: update settings'
        self.Padding = drawing.Padding(12)
        self.Resizable = False
        self.Content = layout
        self.ClientSize = drawing.Size(400, 600)
コード例 #20
0
    def setup(self, sceneNode):
        self.Title = "Property - " + sceneNode.name
        self.sceneNode = sceneNode

        control = forms.TabControl()
        control.TabPosition = forms.DockPosition.Top

        tab = Settings_Tab.from_settings("Settings", sceneNode.settings)
        control.Pages.Add(tab)

        tab = Tree_Tab.from_sceneNode(sceneNode, 'vertices')
        control.Pages.Add(tab)

        tab = Tree_Tab.from_sceneNode(sceneNode, 'edges')
        control.Pages.Add(tab)

        if hasattr(sceneNode, 'guid_face'):
            if len(sceneNode.guid_face.keys()) > 0:
                tab = Tree_Tab.from_sceneNode(sceneNode, 'faces')
                control.Pages.Add(tab)

        self.TabControl = control

        tab_items = forms.StackLayoutItem(self.TabControl, True)
        layout = forms.StackLayout()
        layout.Spacing = 5
        layout.HorizontalContentAlignment = forms.HorizontalAlignment.Stretch
        layout.Items.Add(tab_items)

        sub_layout = forms.DynamicLayout()
        sub_layout.Spacing = drawing.Size(5, 0)
        sub_layout.AddRow(None, self.ok, self.cancel, self.apply)
        layout.Items.Add(forms.StackLayoutItem(sub_layout))

        self.Content = layout
        self.Padding = drawing.Padding(12)
        self.Resizable = True
        self.ClientSize = drawing.Size(400, 600)
コード例 #21
0
    def __init__(self):
        self.Title = "Insert Many Floors"
        #self.Size = drawing.Size(100,100)
        self.Padding = drawing.Padding(5)

        self.ApplyBoo = False
        self.NumFloors = 3

        self.numericButton = forms.NumericUpDown()
        self.numericButton.DecimalPlaces = 0
        self.numericButton.MinValue = 2.0
        self.numericButton.Value = self.NumFloors

        self.DefaultButton = forms.Button(Text = 'OK')
        self.DefaultButton.Click += self.OnOKButtonClick

        self.AbortButton = forms.Button(Text = 'Cancel')
        self.AbortButton.Click += self.OnCancelButtonClick

        layout = forms.DynamicLayout()
        layout.AddRow(self.numericButton, None)
        layout.AddSeparateRow(None, self.DefaultButton, self.AbortButton)
        self.Content = layout
コード例 #22
0
    def __init__(self, osStandards):
        self.toggleButton = forms.ToggleButton
        self.textField = forms.TextBox
        self.objfilter = sum([16,8,32,1073741824])
        self.obj = rs.GetObject("Select Object to Apply Zone Data to:", filter=self.objfilter, preselect=True)
        self.osStandards = osStandards['space_types']['90.1-2007']['ClimateZone 1-8']
        self.bldg = ''
        self.zone = ''
        self.Standards = []
        self.Title = "Zone Load Data"
        self.Padding = drawing.Padding(10)
        self.Resizeable = False
        self.fieldsDict = {
            'bldgProgram': [forms.TextBox(Text = None), forms.CheckBox(Text = "Lock")],
            'zoneProgram': [forms.TextBox(Text = None), forms.CheckBox(Text = "Lock")],
            'equipmentLoadPerArea': [forms.TextBox(Text = None), forms.CheckBox(Text = "Lock")],
            'infilRatePerArea_Facade': [forms.TextBox(Text = None), forms.CheckBox(Text = "Lock")],
            'lightingDensityPerArea':[ forms.TextBox(Text = None), forms.CheckBox(Text = "Lock")],
            'numOfPeoplePerArea': [forms.TextBox(Text = None), forms.CheckBox(Text = "Lock")],
            'ventilationPerArea': [forms.TextBox(Text = None), forms.CheckBox(Text = "Lock")],
            'ventilationPerPerson': [forms.TextBox(Text = None), forms.CheckBox(Text = "Lock")],
            'recirculatedAirPerArea': [forms.TextBox(Text = None), forms.CheckBox(Text = "Lock")],
            'isConditioned': [forms.ToggleButton(Text = 'Yes'), forms.CheckBox(Text = "Lock")],
            'maxRoofAngle': [forms.TextBox(Text = None), forms.CheckBox(Text = "Lock")],
        }
        self.GetExistingValues()
        self.bldg_dropdownlist = forms.DropDown()
        self.bldg_dropdownlist.DataStore = self.osStandards  
        self.bldg_dropdownlist.DropDownClosed += self.Bldg_DD_Close
        
        self.zone_dropdownlist = forms.DropDown()
        self.zone_dropdownlist.DropDownClosed += self.Zone_DD_Close
        
        self.ApplyStandardsButton = forms.Button(Text = "Apply")
        self.ApplyStandardsButton.Click += self.OnApplyButtonClick
        
        self.DefaultButton = forms.Button(Text = "OK")
        self.DefaultButton.Click += self.OnOKButtonClick
        
        self.AbortButton = forms.Button(Text = "Cancel")
        self.AbortButton.Click += self.OnCloseButtonClick
        
        # Add Toggle Events 
        for k,v in self.fieldsDict.items():
            if isinstance(v[0], self.toggleButton):
                v[0].Click += self.ToggleClick

        #Create Layout
        layout = forms.DynamicLayout()
        layout.Spacing = drawing.Size(5,5)
        
        # Add Drop Down list
        layout.AddRow(self.bldg_dropdownlist, self.zone_dropdownlist)

        # Add Apply Standards
        layout.AddRow(self.ApplyStandardsButton)
        self.ApplyStandardsButton.Enabled = False
        
        # Add Fields
        for k,v in self.fieldsDict.items():
            self.m_label = forms.Label(Text = str(k))
            layout.AddRow(self.m_label, v[0], v[1])
            layout.AddRow(None)
            
        #Add Ok Close buttons
        layout.AddRow(self.DefaultButton, self.AbortButton)
        
        #Apply Layout to Form
        self.Content = layout
コード例 #23
0
    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
コード例 #24
0
ファイル: StairGen.py プロジェクト: TSRChapman/LandArchTools
        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
コード例 #25
0
ファイル: settings.py プロジェクト: duchaoyu/compas_3gs
    def from_settings(cls, object_name, settings):
        tab = cls()
        tab.Text = object_name
        layout = forms.StackLayout()
        layout.Spacing = 2
        layout.HorizontalContentAlignment = forms.HorizontalAlignment.Stretch
        tab.Content = layout

        # link to original setting and keep a temporary new settings holder
        tab.settings = settings
        tab.new_settings = settings.copy()

        # create sections
        sections = {}
        for key in settings:
            split = key.split('.')
            prefix = split[0]
            postfix = '.'.join(split[1:])

            if prefix[0] == "_":
                continue

            if prefix not in sections:
                sections[prefix] = {}
            sections[prefix][postfix] = (key, settings[key])

        for prefix in sections:

            groupbox = forms.GroupBox(Text=prefix)
            groupbox.Padding = drawing.Padding(5)
            grouplayout = forms.DynamicLayout()
            grouplayout.Spacing = drawing.Size(3, 3)

            postfixies = list(sections[prefix].keys())
            postfixies.sort()
            for postfix in postfixies:
                key, value = sections[prefix][postfix]

                if type(value) == bool:
                    control = forms.CheckBox()
                    control.Checked = value
                    control.CheckedChanged += tab.EditEvent(key)
                elif (type(value) == list or type(value) == tuple) and len(value) == 3:
                    control = forms.ColorPicker()
                    control.Value = drawing.Color.FromArgb(*value)
                    control.ValueChanged += tab.EditEvent(key)
                elif type(value) == float or type(value) == int:
                    control = forms.NumericUpDown()
                    if type(value) == float:
                        digits = len(str(value).split('.')[-1])
                        control.DecimalPlaces = (digits + 1)
                        control.Increment = 0.1 ** (digits + 1)
                    control.Value = value
                    control.ValueChanged += tab.EditEvent(key)
                else:
                    control = forms.TextBox()
                    control.Text = str(value)
                    control.TextChanged += tab.EditEvent(key)

                label = forms.Label(Text=postfix)
                if postfix != '':
                    grouplayout.AddRow(label, None, control)
                else:
                    grouplayout.AddRow(control)

            groupbox.Content = grouplayout
            layout.Items.Add(groupbox)

        return tab