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
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
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))
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
def labels(): self.tboxFileName = forms.TextBox() self.tboxFileName.ReadOnly = True
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)