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)
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)
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)
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
def initialize_form(self): self.Title = 'Sun Path' self.Padding = drawing.Padding(5) self.Resizable = False self.Maximizable = False self.Minimizable = False self.ShowInTaskbar = False self.MinimumSize = drawing.Size(210, 150)
def CreateItem(self, argb, text): item = forms.ImageListItem() item.Text = text size = drawing.Size(20, 14) * int(forms.Screen.PrimaryScreen.LogicalPixelSize) bitmap = drawing.Bitmap(size, drawing.PixelFormat.Format32bppRgb) with drawing.Graphics(bitmap) as g: g.Clear(drawing.Color.FromArgb(argb)) item.Image = bitmap return item
def initialize_form(self): self.Title = 'Sunlight Hours' self.Padding = drawing.Padding(5) self.Resizable = False self.Maximizable = False self.Minimizable = False self.ShowInTaskbar = False self.MinimumSize = drawing.Size(210, 150) self.UnLoad += self.on_unload
def __init__(self): self.Title = "Sample Eto Dialog" self.ClientSize = drawing.Size(200, 200) self.Padding = drawing.Padding(5) self.Resizable = False label = forms.Label() label.Text = "Hello Rhino.Python!" self.Content = label
def Initialize(self): self.Title = 'Sample Modeless Form' self.Padding = drawing.Padding(5) self.Resizable = True self.Maximizable = False self.Minimizable = False self.ShowInTaskbar = False self.MinimumSize = drawing.Size(200, 150) # FormClosed event handler self.Closed += self.OnFormClosed
def Initialize(self): #Setup the dialog self.Title = "Project Information" self.Size = drawing.Size(600,330) self.Padding = drawing.Padding(5, 5) self.lightgrey = drawing.Colors.LightGrey self.darkgrey = drawing.Colors.DarkGray self.InitVariables()
def create_form_controls(self): # Create table layout layout = forms.TableLayout() layout.Padding = drawing.Padding(10) layout.Spacing = drawing.Size(20, 20) # Add controls to layout layout.Rows.Add(self.create_analysis_objects_group()) layout.Rows.Add(self.create_global_settings_table()) layout.Rows.Add(None) # Set the content self.Content = layout
def CreateFormControls(self): # Create table layout layout = forms.TableLayout() layout.Padding = drawing.Padding(10) layout.Spacing = drawing.Size(5, 5) # Add controls to layout layout.Rows.Add(forms.Label(Text='Rhino Objects:')) layout.Rows.Add(self.CreateListBoxRow()) layout.Rows.Add(self.CreateButtonRow()) # Set the content self.Content = layout
def __init__(self): # create a control text = forms.TextArea() text.Text = "Every Good Boy Deserves Fudge." # create a layout layout = forms.TableLayout() layout.Padding = drawing.Padding(10) layout.Spacing = drawing.Size(5, 5) layout.Rows.Add(text) # set the panel content self.Content = layout
def initialize(self): self.Title = 'Sunpath' self.Icon = drawing.Icon(r"asset/ladybug.ico") self.Padding = drawing.Padding(5) self.Resizable = True self.Maximizable = False self.Minimizable = False self.ShowInTaskbar = False self.MinimumSize = drawing.Size(200, 50) # FormClosed event handler self.Closed += self.OnFormClosed
def __init__(self): self.Title = "Sample Eto PushPickButton Dialog" self.ClientSize = drawing.Size(200, 200) self.Padding = drawing.Padding(5) self.Resizable = False button = forms.Button() button.Text = "Click Me!" button.Click += self.OnPushPickButton self.Content = button
def dropdown_samples_Click(self, sender, e): if self.box_4_hidden.Visible: self.ClientSize = drawing.Size(self.ClientSize.Width, 440) self.box_4_hidden.Visible = False #self.dropdown_text.Visible = True self.dropdown_samples.Text = "▼" else: self.box_4_hidden.Visible = True #self.dropdown_text.Visible = False self.dropdown_samples.Text = "▲" #self.ClientSize = drawing.Size(max(self.ClientSize.Width, self.box_4_hidden.Width), self.ClientSize.Height + self.box_4_hidden.Height*2) self.ClientSize = drawing.Size(self.ClientSize.Width, 440 + 181)
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
def create_form_controls(self): """Create all of the controls used by the form.""" # Create table layout layout = forms.TableLayout() layout.Padding = drawing.Padding(10) layout.Spacing = drawing.Size(5, 5) # Add controls to layout layout.Rows.Add(forms.Label(Text='Location:')) layout.Rows.Add(self.create_list_box()) layout.Rows.Add(self.create_button_row()) # Set the content self.Content = layout
def create_form_controls(self): # Create table layout layout = forms.TableLayout() layout.Padding = drawing.Padding(10) layout.Spacing = drawing.Size(20, 20) # Add controls to layout layout.Rows.Add(self.create_north_table()) layout.Rows.Add(self.create_location_group()) layout.Rows.Add(self.create_date_time_group()) layout.Rows.Add(self.create_global_settings_table()) # Set the content self.Content = layout
def Initialize(self): #Setup the dialog self.Title = "Project Levels" self.Size = drawing.Size(550,565) self.Padding = drawing.Padding(5, 5) self.databasePath = r'C:\Users\twilliams\Desktop\TEMP\Database' self.versionName = r'Project_Info.yaml' try: self.databaseFile = rs.GetDocumentData('PCPA', 'Project_Database') except: self.databaseFile = ''
def create_layout_from_control_matrix(control_matrix, padding=drawing.Padding(5, 5), scale_height = False, spacing = drawing.Size(5, 5)): layout = forms.TableLayout(Spacing = spacing) layout.Padding = padding for control_row in control_matrix: cells = [forms.TableCell(elem) for elem in control_row] row = forms.TableRow(cells) row.ScaleHeight = scale_height layout.Rows.Add(row) return layout
def date_time_controls(is_enabled, picker_date_event_method, slider_date_event_method, picker_time_event_method, slider_time_event_method): current_date_time = System.DateTime.Now #date slider and pickers date = forms.DateTimePicker() date.Mode = forms.DateTimePickerMode.Date date.Value = current_date_time date.Size = drawing.Size(30, 20) date.ValueChanged += picker_date_event_method date.Enabled = is_enabled # date_label = forms.Label(Text='Day of year:') date_label.Size = drawing.Size(140, 15) date_slider = EtoUtil.create_slider( value=current_date_time.Now.DayOfYear, min=1, max=365, snap_to_tick=False, tick_frequency=31, change_event_method=slider_date_event_method, is_enabled=is_enabled) # Time slider and picker time = forms.DateTimePicker() time.Mode = forms.DateTimePickerMode.Time time.Value = System.DateTime(1, 1, 1, current_date_time.Hour, 0, 0) time.Size = drawing.Size(30, 20) time.ValueChanged += picker_time_event_method time.Enabled = is_enabled # time_label = forms.Label(Text='Hour of day:') time_label.Size = drawing.Size(140, 15) time_slider = EtoUtil.create_slider( value=current_date_time.Hour, min=0, max=23, snap_to_tick=True, tick_frequency=1, change_event_method=slider_time_event_method, is_enabled=is_enabled) layout = EtoUtil.create_layout_from_control_matrix( [[date_label], [date_slider, date], [time_label], [time_slider, time]]) return layout, date, date_slider, time, time_slider
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
def create_global_settings_table(self): # Select button select_center_label = forms.Label(Text='Sun path center point:') select_center_label.Size = drawing.Size(140, 10) select_center_button = EtoUtil.create_button( text='Pick point', click_event_method=self.on_center_button) sun_path_label = forms.Label(Text='Sun path scale:') self.m_sun_path_updown = EtoUtil.create_numeric_stepper(decimal_places = 2, increment = 0.1, value = 1, change_event_method =\ self.on_sun_path_scale_changed) sun_sphere_label = forms.Label(Text='Sun sphere scale:') self.m_sun_sphere_updown = EtoUtil.create_numeric_stepper(decimal_places = 2, increment = 0.1, value = 1, change_event_method =\ self.on_sun_sphere_scale_changed) layout = EtoUtil.create_layout_from_control_matrix( [[select_center_label, select_center_button], [sun_path_label, self.m_sun_path_updown], [sun_sphere_label, self.m_sun_sphere_updown]]) return layout
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
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
def create_list_box(self, size = drawing.Size(200, 100), selected_event_method = None): # Create the listbox listbox = forms.ListBox() listbox.Size = size if selected_event_method : listbox.SelectedIndexChanged += selected_event_method return listbox
def __init__(self): self.Rnd = System.Random() self.Title = "Ladybug Sun System" self.Padding = drawing.Padding(10) self.Resizable = True self.Content = self.create_tabs() # FormClosed event handler self.Closed += self.on_form_closed
def CreateListBox(self): # Create labels listbox = forms.ListBox() listbox.Size = drawing.Size(100, 150) listbox.ItemTextBinding = forms.Binding.Delegate[Fruit, System.String](self.FruitDelegate) listbox.DataStore = self.m_collection listbox.SelectedIndex = 0 self.m_listbox = listbox return self.m_listbox
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