示例#1
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)
示例#2
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)
示例#3
0
    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
示例#5
0
 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
示例#7
0
 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 
示例#8
0
    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
示例#9
0
 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
示例#10
0
    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()
示例#11
0
 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
示例#12
0
 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
示例#13
0
 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
示例#14
0
 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
示例#15
0
    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)
示例#17
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
示例#18
0
 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
示例#19
0
    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
示例#20
0
    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 = ''
示例#21
0
 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 
示例#22
0
        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
示例#24
0
    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
示例#25
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
 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
示例#27
0
 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
示例#30
0
    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