Files
OmagCUT/OmagCUTAlternativeDictionary.xaml.vb
T
Renzo Lanza bfd3f21e25 OmagCUT 2.1h1 :
- Aggiunti Dizionari per i temi e ComboBox in OptionsPageUC per il cambio dei temi. Questa versione di OmagCUT funziona esattamente come la precedente, come se non ci fossero i temi, perché la scelta dei temi è nascosta (ThemesGpBx.Visibility = Windows.Visibility.Collapsed in OptionsPageUC.xaml.vb)
2019-08-01 08:44:35 +00:00

311 lines
8.9 KiB
VB.net

Imports System.Collections.ObjectModel
Imports System.ComponentModel
Partial Class OmagCUTAlternativeDictionary
Inherits ResourceDictionary
Dim m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
' Evento della TextBox con Style che permette di aprire in automatico la calcolatrice
'Friend Sub NumericKeyboard_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs)
' ' Recupero dati da sorgente
' Dim sTitle As String = String.Empty
' Dim sText As String = String.Empty
' Dim TxBx As TextBox = CType(e.Source, TextBox)
' If Not IsNothing(TxBx) Then
' sText = TxBx.Text
' Dim AssocLabel As Label = TxBx.Tag
' If Not IsNothing(AssocLabel) Then
' sTitle = AssocLabel.Content
' End If
' End If
' ' Creo calcolatrice
' Dim NumericKeyboardWD As New NumericKeyboardWD(sTitle, sText, e.Source)
' ' La visualizzo
' NumericKeyboardWD.ShowDialog()
'End Sub
' Evento della TextBox con Style che permette di aggiornare in automatico il componente con il nuovo valore
'Private Sub NumericKeyboard_TextChanged(sender As Object, e As TextChangedEventArgs)
' Select Case m_MainWindow.m_ActivePage
' Case MainWindow.Pages.Draw
' If Not m_MainWindow.m_DrawPageUC.m_bShowVar Then
' m_MainWindow.m_DrawPageUC.UpdateView()
' End If
' Case MainWindow.Pages.RawPart
' If Not m_MainWindow.m_RawPartPage.m_bShowVar Then
' m_MainWindow.m_RawPartPage.UpdateRawPart()
' End If
' End Select
'End Sub
End Class
Namespace TreeViewItem
Public Class AlternativeCathegoryItem
Inherits AlternativeTreeViewItemBase
'Private m_sTitle As String
Private m_sPictureString As String
Private m_nFType As Integer
Private m_Items As ObservableCollection(Of CustomItem)
'Public Property Name As String
' Get
' Return m_sTitle
' End Get
' Set(value As String)
' m_sTitle = value
' End Set
'End Property
Public ReadOnly Property PictureString As String
Get
Return "/Resources/ToolsTreeViewImages/Folder.png"
End Get
End Property
Public ReadOnly Property nFType As Integer
Get
Return m_nFType
End Get
End Property
Public Property Items As ObservableCollection(Of CustomItem)
Get
Return m_Items
End Get
Set(value As ObservableCollection(Of CustomItem))
m_Items = value
End Set
End Property
Sub New(sName As String, nType As Integer)
Name = sName
m_nFType = nType
Me.Items = New ObservableCollection(Of CustomItem)
End Sub
End Class
Public Class ALternativeCustomItem
Inherits AlternativeTreeViewItemBase
'Private m_sTitle As String
Private m_nType As Integer
'Public Property Name As String
' Get
' Return m_sTitle
' End Get
' Set(value As String)
' m_sTitle = value
' End Set
'End Property
Public ReadOnly Property nType As Integer
Get
Return m_nType
End Get
End Property
Sub New(Title As String, nType As Integer)
Me.Name = Title
m_nType = nType
End Sub
End Class
Public Class AlternativePartCathegoryItem
Inherits AlternativeTreeViewItemBase
Private m_nFType As Integer
Private m_Items As ObservableCollection(Of PartCustomItem)
Public ReadOnly Property PictureString As String
Get
Return "/Resources/ToolsTreeViewImages/Folder.png"
End Get
End Property
Public ReadOnly Property nFType As Integer
Get
Return m_nFType
End Get
End Property
Public Property Items As ObservableCollection(Of PartCustomItem)
Get
Return m_Items
End Get
Set(value As ObservableCollection(Of PartCustomItem))
m_Items = value
End Set
End Property
Sub New(sName As String, nType As Integer)
Name = sName
m_nFType = nType
Me.Items = New ObservableCollection(Of PartCustomItem)
End Sub
End Class
Public Class AlternativePartCustomItem
Inherits AlternativeTreeViewItemBase
Private m_nType As Integer
Private m_bIsActive As Boolean
Private m_sText1 As String
Private m_sText2 As String
Public Property sText1 As String
Get
Return m_sText1
End Get
Set(value As String)
m_sText1 = value
NotifyPropertyChanged("sText1")
End Set
End Property
Public Property sText2 As String
Get
Return m_sText2
End Get
Set(value As String)
m_sText2 = value
NotifyPropertyChanged("sText2")
End Set
End Property
Public ReadOnly Property nType As Integer
Get
Return m_nType
End Get
End Property
Public Property bIsActive As Boolean
Get
Return m_bIsActive
End Get
Set(value As Boolean)
If value <> m_bIsActive Then
m_bIsActive = value
NotifyPropertyChanged("bIsActive")
End If
End Set
End Property
Sub New(Title As String, nType As Integer, sText1 As String, sText2 As String)
Me.Name = Title
m_nType = nType
m_sText1 = sText1
m_sText2 = sText2
m_bIsActive = True
End Sub
Sub New(Title As String, nType As Integer, sText1 As String, sText2 As String, bIsActive As Boolean)
Me.Name = Title
m_nType = nType
m_sText1 = sText1
m_sText2 = sText2
m_bIsActive = bIsActive
End Sub
End Class
Public Class AlternativeTreeViewItemBase
Implements INotifyPropertyChanged
Private m_Name As String
Public Property Name As String
Get
Return m_Name
End Get
Set(value As String)
If (value <> m_Name) Then
m_Name = value
NotifyPropertyChanged("Name")
End If
End Set
End Property
Private m_isSelected As Boolean
Public Property IsSelected As Boolean
Get
Return m_isSelected
End Get
Set(value As Boolean)
If (value <> m_isSelected) Then
m_isSelected = value
NotifyPropertyChanged("IsSelected")
End If
End Set
End Property
Private m_isExpanded As Boolean
Public Property IsExpanded As Boolean
Get
Return m_isExpanded
End Get
Set(value As Boolean)
If (value <> m_isExpanded) Then
m_isExpanded = value
NotifyPropertyChanged("IsExpanded")
End If
End Set
End Property
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Public Sub NotifyPropertyChanged(propName As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
End Sub
End Class
End Namespace
Namespace ArithmeticConverterNameSpace
Public Class AlternativeCheckboxConverter
Implements IMultiValueConverter
Public Function Convert(values() As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IMultiValueConverter.Convert
If values.Length <> 2 Then
Throw New ArgumentException("There should be three values.")
End If
If String.IsNullOrEmpty(values(0).ToString) Then
values(0) = "0"
End If
If String.IsNullOrEmpty(values(1).ToString()) Then
values(2) = "0"
End If
Dim x As Double
If Not Double.TryParse(values(0).ToString(), x) Then
Throw New ArgumentException("values[0] must parse to double")
End If
Dim y As Double
If Not Double.TryParse(values(1).ToString(), y) Then
Throw New ArgumentException("values[0] must parse to double")
End If
Return (x / y) - 1
End Function
Public Function ConvertBack(value As Object, targetTypes() As Type, parameter As Object, culture As Globalization.CultureInfo) As Object() Implements IMultiValueConverter.ConvertBack
Throw New NotImplementedException()
End Function
End Class
End Namespace