示例#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
示例#3
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)
 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 __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
示例#6
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 __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
示例#8
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)
示例#9
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
示例#10
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 
示例#11
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()
示例#12
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
示例#13
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
示例#14
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
示例#15
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
示例#16
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
 def __init__(self, collection):
     self.m_collection = collection
     # Initialize dialog box properties
     self.Title = 'Sample Eto ListBox'
     self.Padding = drawing.Padding(5)
     self.Resizable = True
     # Create a label control
     label = forms.Label()
     label.Text = 'Select a fruit:'
     # Create dynamic layout control
     layout = forms.DynamicLayout()
     layout.Padding = drawing.Padding(5)
     layout.Spacing = drawing.Size(5, 5)
     # Add controls to layout
     layout.AddRow(label)
     layout.AddRow(self.CreateListBox())
     layout.AddRow(None) # spacer
     layout.AddRow(self.CreateButtons())
     # Set the dialog 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_analysis_objects_group())
     layout.Rows.Add(self.create_global_settings_table())
     layout.Rows.Add(None)
     # Set the content
     self.Content = layout
示例#20
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))
示例#21
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
示例#22
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
示例#23
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
示例#24
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 = ''
示例#25
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
示例#26
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 
示例#27
0
    def create_north_table(self):
        northLabel = forms.Label(Text='North:')
        self.m_north_updown = EtoUtil.create_numeric_stepper(decimal_places = 0,
                                                 increment = 1,
                                                 value = 0,
                                                 min = 0,
                                                 max = 360,
                                                 format_string = "{0}\N{DEGREE SIGN}",
                                                 change_event_method =\
                                                  self.on_north_value_changed)

        #layout.Rows.Add(forms.TableRow()
        return EtoUtil.create_layout_from_control_matrix(
            [[northLabel, self.m_north_updown, None]], drawing.Padding(10, 0))
示例#28
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
示例#29
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
示例#30
0
文件: text.py 项目: yishizu/compas
    def __init__(self, text, title=None):
        self.text = text
        self.textbox = textbox = forms.TextArea()

        textbox.ReadOnly = True
        textbox.Append(text)

        layout = forms.DynamicLayout()
        layout.AddRow(textbox)
        layout.Add(None)
        layout.BeginVertical()
        layout.BeginHorizontal()
        layout.AddRow(None, self.ok, self.cancel)
        layout.EndHorizontal()
        layout.EndVertical()

        self.Title = title
        self.Padding = drawing.Padding(12)
        self.Resizable = False
        self.Content = layout
        self.ClientSize = drawing.Size(400, 600)