109 lines
4.1 KiB
VB.net
109 lines
4.1 KiB
VB.net
Imports System.IO
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib
|
|
|
|
Public Class OtherRefTabWD
|
|
Dim m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
|
|
Dim m_RawPartPage As RawPartPageUC
|
|
|
|
Private m_sPosX As String = "0"
|
|
Private m_sPosY As String = "0"
|
|
|
|
Private m_dPrevOffsetX As Double = 0
|
|
Private m_dPrevOffsetY As Double = 0
|
|
|
|
Private m_SelIndex As Integer = 0
|
|
|
|
Sub New(Owner As Window, PosX As String, PosY As String, OffsetX As Double, OffsetY As Double, OtherRefMode As Integer)
|
|
Me.Owner = Owner
|
|
' La chiamata è richiesta dalla finestra di progettazione.
|
|
InitializeComponent()
|
|
|
|
' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
|
|
m_sPosX = PosX
|
|
m_sPosY = PosY
|
|
m_dPrevOffsetX = OffsetX
|
|
m_dPrevOffsetY = OffsetY
|
|
m_SelIndex = OtherRefMode
|
|
End Sub
|
|
|
|
Private Sub OtherRrefTabWD_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
|
|
' costruisco il riferimento alla pagina Raw
|
|
m_RawPartPage = m_MainWindow.m_RawPartPage
|
|
' posiziono la finestra
|
|
Me.Top = Owner.Top + Owner.Height / 4 - Me.Height / 2
|
|
Me.Left = Owner.Left + Owner.Width / 6 - Me.Width / 2
|
|
RefRawTxbl.Text = "Raw reference"
|
|
RefTabXTxbl.Text = "Position X"
|
|
RefTabYTxbl.Text = "Position Y"
|
|
RefTabModeCmBx.ItemsSource = m_RawPartPage.m_OtherRefTabList
|
|
RefTabModeCmBx.SelectedIndex = m_RawPartPage.m_OtherRefTabPos
|
|
End Sub
|
|
|
|
Private Sub OtherRrefTabWD_Load(sender As Object, e As EventArgs) Handles Me.Loaded
|
|
RefTabXTxBx.Text = m_sPosX
|
|
RefTabYTxBx.Text = m_sPosY
|
|
End Sub
|
|
|
|
Private Sub RefTabModeCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles RefTabModeCmBx.SelectionChanged
|
|
m_RawPartPage.m_OtherRefTabPos = RefTabModeCmBx.SelectedIndex
|
|
WritePrivateProfileString(S_RAWPART, K_OTHERREFTABPOS, m_RawPartPage.m_OtherRefTabPos.ToString, m_MainWindow.GetIniFile())
|
|
m_RawPartPage.RefTabModeChange()
|
|
End Sub
|
|
|
|
Private Sub RefTabXTxBx_EgtClosed(sender As Object, e As EventArgs) Handles RefTabXTxBx.EgtClosed
|
|
Dim ptMin, ptMax As Point3d
|
|
If EgtGetTableArea(1, ptMin, ptMax) Then
|
|
Dim dX As Double = 0
|
|
StringToLen(RefTabXTxBx.Text, dX)
|
|
If Not (dX > 0 And dX < ptMax.x - ptMin.x) Then
|
|
If dX > 0 Then
|
|
dX = ptMax.x - ptMin.x
|
|
Else
|
|
dX = 0
|
|
End If
|
|
RefTabXTxBx.Text = LenToString(dX, 2)
|
|
' errore, posizione fuori dalla tavola
|
|
End If
|
|
m_RawPartPage.m_OtherRefTabX = dX
|
|
m_RawPartPage.RefTabModeChange()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub RefTabYTxBx_EgtClosed(sender As Object, e As EventArgs) Handles RefTabYTxBx.EgtClosed
|
|
Dim ptMin, ptMax As Point3d
|
|
If EgtGetTableArea(1, ptMin, ptMax) Then
|
|
Dim dY As Double = 0
|
|
StringToLen(RefTabYTxBx.Text, dY)
|
|
If Not (dY > 0 And dY < ptMax.y - ptMin.y) Then
|
|
If dY > 0 Then
|
|
dY = ptMax.y - ptMin.y
|
|
Else
|
|
dY = 0
|
|
End If
|
|
RefTabYTxBx.Text = LenToString(dY, 2)
|
|
' errore, posizione fuori dalla tavola
|
|
End If
|
|
m_RawPartPage.m_OtherRefTabY = dY
|
|
m_RawPartPage.RefTabModeChange()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub OkBtn_Click() Handles OkBtn.Click
|
|
WritePrivateProfileString(S_RAWPART, K_OTHERREFTABX, DoubleToString(RefTabXTxBx.Text, 2), m_MainWindow.GetIniFile())
|
|
WritePrivateProfileString(S_RAWPART, K_OTHERREFTABY, DoubleToString(RefTabYTxBx.Text, 2), m_MainWindow.GetIniFile())
|
|
WritePrivateProfileString(S_RAWPART, K_OTHERREFTABPOS, m_RawPartPage.m_OtherRefTabPos.ToString, m_MainWindow.GetIniFile())
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub ExitBtn_Click() Handles ExitBtn.Click
|
|
' riposiziono l'origine
|
|
m_RawPartPage.m_OtherRefTabX = m_sPosX
|
|
m_RawPartPage.m_OtherRefTabY = m_sPosY
|
|
' ripristino il valore della combobox
|
|
m_RawPartPage.m_OtherRefTabPos = m_SelIndex
|
|
m_RawPartPage.RefTabModeChange()
|
|
End Sub
|
|
|
|
End Class
|