Esempio n. 1
0
        def textBoxes():
            self.tBoxProjName = forms.TextBox()
            self.tBoxProjName.Text = "Project Name"
            self.txtBoxList.append(self.tBoxProjName)

            self.tBoxProjNum = forms.TextBox()
            self.tBoxProjNum.Text = "Project Number"
            self.txtBoxList.append(self.tBoxProjNum)

            self.tBoxClientName = forms.TextBox()
            self.tBoxClientName.Text = "Client Name"
            self.txtBoxList.append(self.tBoxClientName)

            self.tBoxProjCity = forms.TextBox()
            self.tBoxProjCity.Text = "Project City"
            self.txtBoxList.append(self.tBoxProjCity)

            for eachtxtBox in self.txtBoxList:
                eachtxtBox.Width = 400
                eachtxtBox.Enabled = False
Esempio n. 2
0
    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
Esempio n. 3
0
    def create_global_settings_table(self):
        #project path and name
        project_path_label = forms.Label(Text = 'Project folder:') 
        self.m_project_path_picker = EtoUtil.create_file_picker(
                                            title = "Select project folder") 
                                             
                                             
        self.m_project_path_picker.FilePath = 'c:\ladybug'       
        self.m_project_path_picker.FileAction = FileAction.SelectFolder
        self.m_project_path = "c:\ladybug"        
        layout_a = EtoUtil.create_layout_from_control_matrix([
                                                    [project_path_label],
                                                    [self.m_project_path_picker]],
                                                    drawing.Padding(5, 30, 5, 0))

        project_name_label = forms.Label(Text = 'Project name:')  
        project_name_label.Size = drawing.Size(140, 14)
        self.m_project_name_text_box = forms.TextBox()   
        self.m_project_name_text_box.Text = "Project1" 
        
        self.m_save_file_check_box = forms.CheckBox()
        self.m_save_file_check_box.Text = "Write file only"

        self.m_run_analysis_button = EtoUtil.create_button(
                            text = 'Run Analysis',
                            size = drawing.Size(140, 24), 
                            click_event_method = self.on_click_run_analysis)
                            
        layout_b = EtoUtil.create_layout_from_control_matrix([
                                                    [project_name_label, None],
                                                    [self.m_project_name_text_box]],
                                                     drawing.Padding(5, 0, 5, 5))
        layout_c = EtoUtil.create_layout_from_control_matrix([
                                                     [self.m_run_analysis_button,
                                                      self.m_save_file_check_box,]],
                                                      drawing.Padding(5, 10, 5, 5))
                                                     
        return EtoUtil.create_layout_from_control_matrix([[layout_a],
                                                          [layout_b],
                                                          [layout_c]],
                                                          drawing.Padding(0,5))
Esempio n. 4
0
    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
    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
Esempio n. 6
0
 def labels():
     self.tboxFileName = forms.TextBox()
     self.tboxFileName.ReadOnly = True
Esempio n. 7
0
    def create_location_group(self):

        #location name layout
        self.m_loc_name_text_box = forms.TextBox()
        self.m_loc_name_text_box.PlaceholderText = "Location name"
        layout_a = EtoUtil.create_layout_from_control_matrix(
            [[self.m_loc_name_text_box]])
        #
        # lat/long layout
        lat_label = forms.Label(Text='Lat:')
        self.m_numeric_lat_updown = EtoUtil.create_numeric_stepper(decimal_places = 3,
                                                 increment = 1,
                                                 value = 0,
                                                 min = -90,
                                                 max = 90,
                                                 format_string = "{0:f3}\N{DEGREE SIGN}",
                                                 change_event_method =\
                                                  self.on_latitude_value_changed)

        long_label = forms.Label(Text='   Long:')
        self.m_numeric_long_updown = EtoUtil.create_numeric_stepper(decimal_places = 3,
                                                 increment = 1,
                                                 value = 0,
                                                 min = -90,
                                                 max = 90,
                                                 format_string = "{0:f3}\N{DEGREE SIGN}",
                                                 change_event_method =\
                                                  self.on_longitude_value_changed)

        layout_b = EtoUtil.create_layout_from_control_matrix([[
            lat_label, self.m_numeric_lat_updown, long_label,
            self.m_numeric_long_updown
        ]], drawing.Padding(5, 15, 5, 0))
        #
        # time zone layout
        timezone_label = forms.Label(Text='Time zone:')
        self.m_timezone_dropdown = forms.DropDown()
        time_zones = [
            '(UTC -12:00)', '(UTC -11:00)', '(UTC -10:00)', '(UTC -09:00)',
            '(UTC -08:00)', '(UTC -07:00)', '(UTC -06:00)', '(UTC -05:00)',
            '(UTC -04:00)', '(UTC -03:00)', '(UTC -02:00)', '(UTC -01:00)',
            '(UTC 00:00)', '(UTC 01:00)', '(UTC 02:00)', '(UTC 03:00)',
            '(UTC 04:00)', '(UTC 05:00)', '(UTC 06:00)', '(UTC 07:00)',
            '(UTC 08:00)', '(UTC 09:00)', '(UTC 10:00)', '(UTC 11:00)',
            '(UTC 12:00)'
        ]
        self.m_timezone_dropdown.DataStore = time_zones
        self.m_timezone_dropdown.SelectedIndex = 12
        self.m_timezone_dropdown.DropDownClosed += self.on_timezone_drop_down_closed
        layout_c = EtoUtil.create_layout_from_control_matrix(
            [[timezone_label], [self.m_timezone_dropdown]])
        #
        # elevation layout
        elev_label = forms.Label(Text='Elevation:')
        elev_label.Size = drawing.Size(140, 10)
        self.m_elev_updown = EtoUtil.create_numeric_stepper(decimal_places = 3,
                                                 increment = 1,
                                                 value = 0,
                                                 change_event_method =\
                                                  self.on_elevation_value_changed)
        layout_d = EtoUtil.create_layout_from_control_matrix(
            [[elev_label, self.m_elev_updown]])

        #Import location from epw layout
        epw_file_label = forms.Label(Text='Import location from epw file:')
        self.m_epw_file_picker = EtoUtil.create_file_picker(
            title="Select epw file",
            filter='epw',
            file_path_changed_event_method=self.on_epw_file_path_changed)
        self.m_epw_file = ""

        layout_e = EtoUtil.create_layout_from_control_matrix(
            [[epw_file_label], [self.m_epw_file_picker]])

        #
        # return group with created layout
        group_layout = EtoUtil.create_layout_from_control_matrix([[layout_a],
                                                                  [layout_b],
                                                                  [layout_c],
                                                                  [layout_d],
                                                                  [layout_e]])

        return EtoUtil.create_group_from_layout('Location', group_layout)