Ejemplo n.º 1
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
Ejemplo n.º 3
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)
 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)
Ejemplo n.º 5
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
Ejemplo n.º 6
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
Ejemplo n.º 7
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)
Ejemplo n.º 8
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, 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
Ejemplo n.º 10
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)
Ejemplo n.º 11
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 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
Ejemplo n.º 13
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 
Ejemplo n.º 14
0
        def grid():
            self.grid = forms.GridView()
            self.grid.BackgroundColor = drawing.Colors.LightGrey
            self.grid.Size = drawing.Size(300,470)
            self.grid.GridLines = forms.GridLines.Both
            self.grid.AllowMultipleSelection = True
            self.grid.CellEdited += self.OnCellEdited
            self.grid.CellFormatting += self.OnCellFormatting

            #COLUMNS
            numberColumn = forms.GridColumn()
            numberColumn.HeaderText = "#"
            numberColumn.DataCell = forms.TextBoxCell(0)
            numberColumn.DataCell.TextAlignment = forms.TextAlignment.Right

            nameColumn = forms.GridColumn()
            nameColumn.HeaderText = "Floor\t"
            nameColumn.Editable = True
            nameColumn.DataCell = forms.TextBoxCell(1)

            funcColumn = forms.GridColumn()
            funcColumn.HeaderText = "Program\t\t"
            funcColumn.DataCell = forms.TextBoxCell(2)
            funcColumn.Editable = True
            funcColumn.DataCell.TextAlignment = forms.TextAlignment.Center

            ftfColumn = forms.GridColumn()
            ftfColumn.HeaderText = "FTF\t"
            ftfColumn.DataCell = forms.TextBoxCell(3)
            ftfColumn.Editable = True
            ftfColumn.DataCell.TextAlignment = forms.TextAlignment.Right

            levelColumn = forms.GridColumn()
            levelColumn.HeaderText = "Height\t"
            levelColumn.Editable = True
            levelColumn.DataCell = forms.TextBoxCell(4)
            levelColumn.DataCell.TextAlignment = forms.TextAlignment.Right

            areaColumn = forms.GridColumn()
            areaColumn.HeaderText = "GFA\t"
            areaColumn.Editable = True
            areaColumn.DataCell = forms.TextBoxCell(5)
            areaColumn.DataCell.TextAlignment = forms.TextAlignment.Right

            commentColumn = forms.GridColumn()
            commentColumn.HeaderText = "Comments\t\t"
            commentColumn.Editable = True
            commentColumn.DataCell = forms.TextBoxCell(6)
            commentColumn.DataCell.TextAlignment = forms.TextAlignment.Left

            self.grid.Columns.Add(numberColumn)
            self.grid.Columns.Add(nameColumn)
            self.grid.Columns.Add(funcColumn)
            self.grid.Columns.Add(ftfColumn)
            self.grid.Columns.Add(levelColumn)
            self.grid.Columns.Add(areaColumn)
            self.grid.Columns.Add(commentColumn)
 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
Ejemplo n.º 16
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
Ejemplo n.º 17
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
Ejemplo n.º 18
0
    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
Ejemplo n.º 19
0
 def CreateListBoxRow(self):
     # Create the listbox
     self.m_listbox = forms.ListBox()
     self.m_listbox.Size = drawing.Size(200, 100)
     self.m_listbox.SelectedIndexChanged += self.OnSelectedIndexChanged
     # Create the table row
     table_row = forms.TableRow()
     table_row.ScaleHeight = True
     table_row.Cells.Add(self.m_listbox)
     return table_row
Ejemplo n.º 20
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()
Ejemplo n.º 21
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
 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
Ejemplo n.º 23
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
Ejemplo n.º 24
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
Ejemplo n.º 25
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
Ejemplo n.º 26
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
Ejemplo n.º 27
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
Ejemplo n.º 28
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))
 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
Ejemplo n.º 30
0
 def CreateButtonRow(self):
     # Select button
     select_button = forms.Button(Text='Select All')
     select_button.Click += self.OnSelectClick
     # Clear button
     clear_button = forms.Button(Text='Clear')
     clear_button.Click += self.OnClearClick
     # Create layout
     layout = forms.TableLayout(Spacing=drawing.Size(5, 5))
     layout.Rows.Add(forms.TableRow(None, select_button, clear_button,
                                    None))
     return layout