Пример #1
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)
Пример #2
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)
Пример #3
0
 def add_column(self, HeaderText=None, Editable=False, checkbox=False):
     column = forms.GridColumn()
     if self.ShowHeader:
         column.HeaderText = HeaderText
     column.Editable = Editable
     if not checkbox:
         column.DataCell = forms.TextBoxCell(self.Columns.Count)
     else:
         column.DataCell = forms.CheckBoxCell(self.Columns.Count)
     column.Sortable = True
     self.Columns.Add(column)
Пример #4
0
 def create_multidata_colum(index, type):
     
     #custom cell create event
     def create_multidata_custom_cell_event(eventArgs):
         try:
             row_values = eventArgs.Item
             control = None
             if type == 'DropDown':
                 control = forms.DropDown() 
             elif type == 'ListBox':
                 control = forms.ListBox()
             else:
                 return
             #drop down delegates
             def multidata_get_item_delegate(multidata_item):
                 return multidata_item.item
                 
             def multidata_get_selected_index_delegate():
                 return row_values.GetItemDataAt(index).SelectedIndex
                 
             def multidata_set_selected_index_delegate(sel_index):
                 row_values.GetItemDataAt(index).SelectedIndex = sel_index
                 #for test log:
                 #name = row_values.GetItemDataAt(0)
                 #num = row_values.GetItemDataAt(index).SelectedIndex 
                 #item = row_values.GetItemDataAt(index).GetItemValueAt(num)
                 #print name + " multidata is now set to " + item                         
                 
             control.ItemTextBinding = \
                 forms.DirectBinding.Delegate[MultiDataItem, System.String]\
                                     (multidata_get_item_delegate)
                                   
             delegate = forms.DirectBinding.Delegate[System.Int32](
                            multidata_get_selected_index_delegate, 
                            multidata_set_selected_index_delegate)
             control.SelectedIndexBinding.Bind(delegate)
             
             control.DataStore = row_values.GetItemDataAt(index)
             #control.BackgroundColor = drawing.Color(0,0,1)
             #control.ShowBorder = False
             #control.SelectedIndexChanged += self.OnSelectedIndexChanged
             print "creating..."
         except Exception as e:
             print e         
         return control        
     
     #create drop down custom cell and drop down column
     cell = forms.CustomCell()
     cell.CreateCell = create_multidata_custom_cell_event
     column = forms.GridColumn(DataCell = cell)
              
     return column              
Пример #5
0
    def __init__(self, settings):
        # super(SettingsForm, self).__init__()
        self._settings = None
        self._names = None
        self._values = None
        self.settings = settings

        self.table = table = forms.GridView()
        table.ShowHeader = True
        table.DataStore = [[name, value]
                           for name, value in zip(self.names, self.values)]
        table.Height = 300

        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)

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

        self.Title = 'RBE: update settings'
        self.Padding = drawing.Padding(12)
        self.Resizable = False
        self.Content = layout
        self.ClientSize = drawing.Size(400, 600)
Пример #6
0
 def create_textbox_column(index):
     try:
         # text box Delegates
         def rowvalues_get_name_delegate(row_values):
             return row_values.GetItemDataAt(index)
             
         def rowvalues_set_name_delegate(row_values, name):
             row_values.SetItemDataAt(index, name)
             #for test log:
             #print row_values.GetItemDataAt(index) + " is new name"
             
         # column with text boxes creation
         column = forms.GridColumn(
             DataCell = forms.TextBoxCell(
             Binding = forms.Binding.Delegate
              [RowValues, System.String](
               rowvalues_get_name_delegate, rowvalues_set_name_delegate)))
     except Exception as e:
         print e                 
     return column
Пример #7
0
 def create_checkbox_column(index):
     try:
         # check box delegates
         def rowvalues_get_check_delegate(row_values):
             return row_values.GetItemDataAt(index)
             
         def rowvalues_set_checked_delegate(row_values, check):
             row_values.SetItemDataAt(index, check)
             #for test log:
             #print row_values.GetItemDataAt(0) + " ckeckbox is now set to " + \
                 #str(row_values.GetItemDataAt(index))
                 
         #column with check boxes creation
         column = forms.GridColumn(
                     DataCell = forms.CheckBoxCell(
                     Binding = forms.Binding.Delegate
                      [RowValues, System.Nullable[System.Boolean]]
                       (rowvalues_get_check_delegate, 
                        rowvalues_set_checked_delegate)))         
     except Exception as e:
         print e                      
     return column
Пример #8
0
    def __init__(self):
        self.Title = "EasyCut"
        self.selected = []
        self.edgeshighlightMode = -1
        self.m_gridview = forms.GridView()
        self.m_gridview.ShowHeader = True
        self.Padding = drawing.Padding(10)
        self.Resizable = True
        num = 0
        for idx in range(len(ATTRS)):
            if num == QUANTITY_COLUMN_POS:
                attr = QUANT_FIELD
                column = forms.GridColumn()
                column.HeaderText = attr.name
                column.Editable = attr.isEditable
                column.DataCell = forms.TextBoxCell(num)
                self.m_gridview.Columns.Add(column)
                num += 1
            attr = ATTRS[idx]
            if attr.isOn:

                column = forms.GridColumn()
                column.HeaderText = attr.name
                column.Editable = attr.isEditable
                column.DataCell = forms.TextBoxCell(num)
                self.m_gridview.Columns.Add(column)
                num += 1

        self.precision_dropdownlist = forms.DropDown()
        self.precision_dropdownlist.DataStore = [
            '1', '0.1', '0.01', '0.001', '0.0001', '0.00001'
        ]
        self.precision_dropdownlist.SelectedIndex = DIM_PRECISION
        self.precision_label = forms.Label(Text="Dimensions precision ")
        self.precision_dropdownlist.DropDownClosed += self.changePrecisionVal

        layout0 = forms.TableLayout()
        cell = forms.TableCell(self.precision_label, scaleWidth=False)
        cell.ScaleWidth = False
        cell2 = forms.TableCell(self.precision_dropdownlist, scaleWidth=False)
        cell2.ScaleWidth = False
        row = forms.TableRow(None, cell, cell2)
        row.ScaleHeight = False
        layout0.Rows.Add(row)

        self.m_gridview.CellClick += self.gridClick
        self.m_gridview.SelectionChanged += self.gridSelChanged
        self.m_gridview.CellEdited += self.gridEdited
        self.m_gridview.CellFormatting += self.OnCellFormatting
        self.buttonAutoNum = forms.Button(self.buttonAutoNumClick)
        self.buttonAutoNum.Text = "Auto number"
        self.button = forms.Button(self.buttonClick)
        self.button.Text = "Export"
        layout = forms.TableLayout()
        layout.Spacing = drawing.Size(5, 5)
        cell = forms.TableCell(self.m_gridview)
        row = forms.TableRow(cell)
        row.ScaleHeight = True
        layout.Rows.Add(layout0)
        layout.Rows.Add(row)

        layout2 = forms.TableLayout()
        layout2.Spacing = drawing.Size(5, 5)

        cell = forms.TableCell(self.button, True)
        cell2 = forms.TableCell(self.buttonAutoNum, True)
        row = forms.TableRow([cell, cell2])

        layout2.Rows.Add(row)
        layout.Rows.Add(layout2)
        layout2 = forms.TableLayout()
        layout2.Spacing = drawing.Size(5, 5)
        self.m_linkbutton = forms.LinkButton(Text='Easycut')
        self.m_linkbutton.Click += self.OnLinkButtonClick
        self.m_donatebutton = forms.LinkButton(Text='Donate',
                                               Style="right-align")
        self.m_donatebutton.Click += self.OnDonateButtonClick
        cell = forms.TableCell(self.m_linkbutton, True)
        cell2 = forms.TableCell(None, False)
        cell3 = forms.TableCell(self.m_donatebutton, False)
        row = forms.TableRow([cell, cell2, cell3])
        layout2.Rows.Add(row)

        layout.Rows.Add(layout2)

        self.Content = layout