예제 #1
0
def createComboBox2(parent, title, labels, selected, row, col):
    textBlock = WPFControls.TextBlock()
    textBlock.Text = title

    textBlock.Margin = System.Windows.Thickness(5.)

    WPFControls.Grid.SetRow(textBlock, row)
    WPFControls.Grid.SetColumn(textBlock, col)

    parent.Children.Add(textBlock)

    comboBox = WPFControls.ComboBox()

    comboBox.Margin = System.Windows.Thickness(5.)

    for label in labels:
        item = WPFControls.ComboBoxItem()
        item.Content = label
        comboBox.Items.Add(item)

    WPFControls.Grid.SetRow(comboBox, row)
    WPFControls.Grid.SetColumn(comboBox, col + 1)

    if selected > len(labels): selected = 0
    comboBox.SelectedIndex = str(selected)

    parent.Children.Add(comboBox)

    return comboBox
예제 #2
0
def updateComboBox(comboBox, comboItems):

    for comboItem in comboItems:
        item = WPFControls.ComboBoxItem()
        item.Content = comboItem
        comboBox.Items.Add(item)

    comboBox.SelectedIndex = "0"
예제 #3
0
def getCustomToolPropertyContent():
    # Create a Grid
    my_Grid = WPFControls.Grid()

    # Add 2 Rows and 1 Column
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())

    currRow = 0

    # -- Horizontal sheet definition
    IDLbl = WPFControls.TextBlock()
    IDLbl.Text = "Hatching definition"
    WPFControls.Grid.SetRow(IDLbl, currRow)
    IDLbl.FontSize = 11

    # Create label and input field
    currRow += 1
    layerLbl = WPFControls.TextBlock()
    layerLbl.Text = "   Trajec. spacing (mm): "
    WPFControls.Grid.SetRow(layerLbl, currRow)
    WPFControls.Grid.SetColumn(layerLbl, 0)

    global distanceLine
    distanceLine = WPFControls.TextBox()
    WPFControls.Grid.SetRow(distanceLine, currRow)
    WPFControls.Grid.SetColumn(distanceLine, 1)

    # Create label and input field
    currRow += 1
    pointSpacing = WPFControls.TextBlock()
    pointSpacing.Text = "   Point spacing (mm):"
    WPFControls.Grid.SetRow(pointSpacing, currRow)
    WPFControls.Grid.SetColumn(pointSpacing, 0)

    global pointSpacingValue
    pointSpacingValue = WPFControls.TextBox()
    WPFControls.Grid.SetRow(pointSpacingValue, currRow)
    WPFControls.Grid.SetColumn(pointSpacingValue, 1)

    # Type of angular cut
    currRow += 1
    angleCutType = WPFControls.TextBlock()
    angleCutType.Text = "   Angular cut:"
    WPFControls.Grid.SetRow(angleCutType, currRow)
    WPFControls.Grid.SetColumn(angleCutType, 0)

    # Create a Combo box
    global angleTypeSelection
    angleTypeSelection = WPFControls.ComboBox()

    item1 = WPFControls.ComboBoxItem()
    item1.Content = "Single angle"
    angleTypeSelection.Items.Add(item1)

    item2 = WPFControls.ComboBoxItem()
    item2.Content = "Incremental"
    angleTypeSelection.Items.Add(item2)

    item3 = WPFControls.ComboBoxItem()
    item3.Content = "Cycle through"
    angleTypeSelection.Items.Add(item3)

    angleTypeSelection.SelectedIndex = "0"
    WPFControls.Grid.SetRow(angleTypeSelection, currRow)
    WPFControls.Grid.SetColumn(angleTypeSelection, 1)
    #angleTypeSelection.SelectionChanged += HandleAngleSelection

    # Create label and input field
    currRow += 1
    global angleLbl
    angleLbl = WPFControls.TextBlock()
    angleLbl.Text = "   Angle (deg):"
    WPFControls.Grid.SetRow(angleLbl, currRow)
    WPFControls.Grid.SetColumn(angleLbl, 0)

    global angleValue
    angleValue = WPFControls.TextBox()
    WPFControls.Grid.SetRow(angleValue, currRow)
    WPFControls.Grid.SetColumn(angleValue, 1)

    # Create checkbox to ask for mesh
    currRow += 1
    global meshCheck
    meshCheck = WPFControls.CheckBox()
    meshCheck.Content = "Mesh the layers for me"
    meshCheck.Height = 25
    WPFControls.Grid.SetRow(meshCheck, currRow)
    WPFControls.Grid.SetColumn(meshCheck, 0)
    WPFControls.Grid.SetColumnSpan(meshCheck, 3)

    # Create a button
    currRow += 1
    getDirectory = WPFControls.Button()
    getDirectory.Content = "Select directory to save"
    WPFControls.Grid.SetRow(getDirectory, currRow)
    WPFControls.Grid.SetColumn(getDirectory, 0)
    getDirectory.Height = 30
    WPFControls.Grid.SetColumnSpan(getDirectory, 3)
    getDirectory.Click += HandleGetDir

    global dialog
    dialog = FolderBrowserDialog()
    dialog.Description = "Choose where to save trajectories"
    dialog.ShowNewFolderButton = True

    # Create a button
    currRow += 1
    goSlice = WPFControls.Button()
    goSlice.Content = "Create hatching"
    WPFControls.Grid.SetRow(goSlice, currRow)
    WPFControls.Grid.SetColumn(goSlice, 0)
    goSlice.Height = 30
    WPFControls.Grid.SetColumnSpan(goSlice, 3)

    # Link a function to the Button "Click" event
    # This function will be called every time the Button is clicked
    goSlice.Click += HandleApplyButton

    # Add the controls to the Grid
    my_Grid.Children.Add(IDLbl)
    my_Grid.Children.Add(layerLbl)
    my_Grid.Children.Add(distanceLine)
    my_Grid.Children.Add(pointSpacing)
    my_Grid.Children.Add(pointSpacingValue)

    my_Grid.Children.Add(angleCutType)
    my_Grid.Children.Add(angleTypeSelection)
    my_Grid.Children.Add(angleLbl)
    my_Grid.Children.Add(angleValue)

    my_Grid.Children.Add(getDirectory)

    my_Grid.Children.Add(meshCheck)
    my_Grid.Children.Add(goSlice)

    # Return the Grid
    return my_Grid
예제 #4
0
def getCustomToolPropertyContent():
    # Create a Grid
    my_Grid = WPFControls.Grid()

    # Add 2 Rows and 1 Column
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())

    # Row 0
    currRow = 0
    # Create a label (TextBlock)
    # Set it's Text value
    # Assign it to Row 0, Column 0
    refineTextBlock = WPFControls.TextBlock()
    refineTextBlock.Text = "Bead leg (mm):"
    WPFControls.Grid.SetRow(refineTextBlock, currRow)
    WPFControls.Grid.SetColumn(refineTextBlock, 0)
    global refineSizeTextBox

    # Create an empty input TextBox assign it to Row 0, Column 1
    refineSizeTextBox = WPFControls.TextBox()
    WPFControls.Grid.SetRow(refineSizeTextBox, currRow)
    WPFControls.Grid.SetColumn(refineSizeTextBox, 1)

    # Create a button and set it's text to "Import"
    # Assign it to Row1, Column 0
    currRow += 1
    importBtn = WPFControls.Button()
    importBtn.Content = "Import CSV files"
    WPFControls.Grid.SetRow(importBtn, currRow)
    WPFControls.Grid.SetColumn(importBtn, 0)
    WPFControls.Grid.SetColumnSpan(importBtn, 2)
    importBtn.Height = 30

    # Link a function to the Button "Click" event
    # This function will be called every time the Button is clicked
    importBtn.Click += HandleimportBtn

    # Create an empty input TextBox
    currRow += 1
    global fileNameTextBox
    fileNameTextBox = WPFControls.TextBlock()
    WPFControls.Grid.SetRow(fileNameTextBox, currRow)
    WPFControls.Grid.SetColumn(fileNameTextBox, 1)
    fileNameTextBox.Text = "None"

    selectedFilesText = WPFControls.TextBlock()
    selectedFilesText.Text = "File(s) selected:"
    WPFControls.Grid.SetRow(selectedFilesText, currRow)
    WPFControls.Grid.SetColumn(selectedFilesText, 0)

    # Create a Combo box
    currRow += 1
    UnitNameLbl = WPFControls.TextBlock()
    UnitNameLbl.Text = "Length unit in file(s):"
    WPFControls.Grid.SetRow(UnitNameLbl, currRow)
    WPFControls.Grid.SetColumn(UnitNameLbl, 0)
    global unitType
    unitType = WPFControls.ComboBox()

    item1 = WPFControls.ComboBoxItem()
    item1.Content = "Millimeters"
    unitType.Items.Add(item1)

    item2 = WPFControls.ComboBoxItem()
    item2.Content = "Meters"
    unitType.Items.Add(item2)

    item3 = WPFControls.ComboBoxItem()
    item3.Content = "Inches"
    unitType.Items.Add(item3)

    unitType.SelectedIndex = "0"
    WPFControls.Grid.SetRow(unitType, currRow)
    WPFControls.Grid.SetColumn(unitType, 1)

    # Create checkbox to extend the weld bead
    currRow += 1
    extendLbl = WPFControls.TextBlock()
    WPFControls.Grid.SetRow(extendLbl, currRow)
    WPFControls.Grid.SetColumn(extendLbl, 0)
    extendLbl.Text = "Extend by diameter:"
    global extendBead
    extendBead = WPFControls.CheckBox()
    extendBead.Content = "Extend"
    extendBead.Height = 20
    WPFControls.Grid.SetRow(extendBead, currRow)
    WPFControls.Grid.SetColumn(extendBead, 1)
    # WPFControls.Grid.SetColumnSpan(extendBead, 2)

    # Create a button and set it's text to "Create beads"
    # Assign it to Row1, Column 0
    currRow += 1
    createBeads = WPFControls.Button()
    createBeads.Content = "Create trajectories"
    WPFControls.Grid.SetRow(createBeads, currRow)
    WPFControls.Grid.SetColumn(createBeads, 0)
    WPFControls.Grid.SetColumnSpan(createBeads, 2)
    createBeads.Height = 30

    # Link a function to the Button "Click" event
    # This function will be called every time the Butto is clicked
    createBeads.Click += CreateBeads

    # Add the controls to the Grid
    my_Grid.Children.Add(refineSizeTextBox)
    my_Grid.Children.Add(extendLbl)
    my_Grid.Children.Add(extendBead)
    my_Grid.Children.Add(importBtn)
    my_Grid.Children.Add(refineTextBlock)
    my_Grid.Children.Add(selectedFilesText)
    my_Grid.Children.Add(fileNameTextBox)
    my_Grid.Children.Add(UnitNameLbl)
    my_Grid.Children.Add(unitType)
    my_Grid.Children.Add(createBeads)

    # Return the Grid
    return my_Grid