diff --git a/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdGeneral_ConfigurationPageV.xaml b/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdGeneral_ConfigurationPageV.xaml
new file mode 100644
index 00000000..081a6cd3
--- /dev/null
+++ b/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdGeneral_ConfigurationPageV.xaml
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdGeneral_ConfigurationPageV.xaml.vb b/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdGeneral_ConfigurationPageV.xaml.vb
new file mode 100644
index 00000000..e0827008
--- /dev/null
+++ b/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdGeneral_ConfigurationPageV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdGeneral_ConfigurationPageV
+
+End Class
\ No newline at end of file
diff --git a/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdMachine_ConfigurationPageV.xaml b/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdMachine_ConfigurationPageV.xaml
new file mode 100644
index 00000000..5d3ed6ee
--- /dev/null
+++ b/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdMachine_ConfigurationPageV.xaml
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdMachine_ConfigurationPageV.xaml.vb b/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdMachine_ConfigurationPageV.xaml.vb
new file mode 100644
index 00000000..e543003f
--- /dev/null
+++ b/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdMachine_ConfigurationPageV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdMachine_ConfigurationPageV
+
+End Class
\ No newline at end of file
diff --git a/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdQParameter_ConfigurationPageV.xaml b/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdQParameter_ConfigurationPageV.xaml
new file mode 100644
index 00000000..301d3bdc
--- /dev/null
+++ b/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdQParameter_ConfigurationPageV.xaml
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdQParameter_ConfigurationPageV.xaml.vb b/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdQParameter_ConfigurationPageV.xaml.vb
new file mode 100644
index 00000000..c99af9c6
--- /dev/null
+++ b/EgtBEAMWALL.Core/ConfigurationPage/OnlyProdQParameter_ConfigurationPageV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdQParameter_ConfigurationPageV
+
+End Class
\ No newline at end of file
diff --git a/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj b/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj
index ea729f35..2402341c 100644
--- a/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj
+++ b/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj
@@ -83,12 +83,21 @@
+
+ OnlyProdMachine_ConfigurationPageV.xaml
+
+
+ OnlyProdGeneral_ConfigurationPageV.xaml
+
General_ConfigurationPageV.xaml
Machine_ConfigurationPageV.xaml
+
+ OnlyProdQParameter_ConfigurationPageV.xaml
+
QParameter_ConfigurationPageV.xaml
@@ -211,6 +220,14 @@
MSBuild:Compile
Designer
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
Designer
XamlIntelliSenseFileGenerator
@@ -219,6 +236,10 @@
Designer
XamlIntelliSenseFileGenerator
+
+ MSBuild:Compile
+ Designer
+
Designer
XamlIntelliSenseFileGenerator
diff --git a/EgtBEAMWALL.Core/MachGroupPanel/PartVM.vb b/EgtBEAMWALL.Core/MachGroupPanel/PartVM.vb
index 2240b4e7..2cb43c91 100644
--- a/EgtBEAMWALL.Core/MachGroupPanel/PartVM.vb
+++ b/EgtBEAMWALL.Core/MachGroupPanel/PartVM.vb
@@ -6,6 +6,8 @@ Imports System.Windows.Input
Imports System.Windows.Media
Imports EgtUILib
Imports EgtWPFLib5
+Imports EgtBEAMWALL.Core
+Imports System.Windows.Threading
Public MustInherit Class PartVM
Inherits VMBase
diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLPartList/OnlyProdBTLPartListV.xaml b/EgtBEAMWALL.ViewerOptimizer/BTLPartList/OnlyProdBTLPartListV.xaml
new file mode 100644
index 00000000..fc40db4d
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/BTLPartList/OnlyProdBTLPartListV.xaml
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLPartList/OnlyProdBTLPartListV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/BTLPartList/OnlyProdBTLPartListV.xaml.vb
new file mode 100644
index 00000000..b9adf072
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/BTLPartList/OnlyProdBTLPartListV.xaml.vb
@@ -0,0 +1,137 @@
+Imports System.Reflection
+Imports EgtBEAMWALL.Core.ConstGen
+
+Public Class OnlyProdBTLPartListV
+
+ Private m_BTLPartListVM As BTLPartListVM
+
+ Private m_SelectBtn As MouseButton = MouseButton.Left
+ Private m_HighlightBtn As MouseButton = MouseButton.Right
+
+ Private m_NameDataGridType As Type
+ Private s_isDraggingSelectionField As FieldInfo
+ Private s_endDraggingMethod As MethodInfo
+
+ Sub New()
+ ' This call is required by the designer.
+ InitializeComponent()
+ ' Add any initialization after the InitializeComponent() call.
+ m_BTLPartListVM = DataContext
+ m_NameDataGridType = BTLPart_DataGrid.GetType()
+ s_isDraggingSelectionField = m_NameDataGridType.GetField("_isDraggingSelection", BindingFlags.Instance Or BindingFlags.NonPublic)
+ s_endDraggingMethod = m_NameDataGridType.GetMethod("EndDragging", BindingFlags.Instance Or BindingFlags.NonPublic)
+ SetSelButton(MouseButton.Right)
+ End Sub
+
+ Public Sub SetSelButton(SelButton As MouseButton)
+ Select Case SelButton
+ Case MouseButton.Right
+ m_SelectBtn = MouseButton.Right
+ m_HighlightBtn = MouseButton.Left
+ Case Else ' MouseButton.Left
+ m_SelectBtn = MouseButton.Left
+ m_HighlightBtn = MouseButton.Right
+ End Select
+ End Sub
+
+ Public Sub DataGrid_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs)
+ If e.ChangedButton = MouseButton.Left Then
+ If e.ChangedButton = m_SelectBtn Then
+ If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift OrElse (Keyboard.Modifiers And ModifierKeys.Control) = ModifierKeys.Control Then
+ e.Handled = True
+ Else
+ Map.refProjectVM.BTLStructureVM.SetSelectionType(BTLStructureVM.SelectionTypes.SELECT_)
+ End If
+ ElseIf e.ChangedButton = m_HighlightBtn AndAlso (Map.refProjectVM.BTLStructureVM.SelectionType = BTLStructureVM.SelectionTypes.SELECT_ AndAlso
+ ((Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift OrElse (Keyboard.Modifiers And ModifierKeys.Control) = ModifierKeys.Control)) Then
+ e.Handled = True
+ ElseIf e.ChangedButton = m_HighlightBtn Then
+ Map.refProjectVM.BTLStructureVM.SetSelectionType(BTLStructureVM.SelectionTypes.HIGHLIGHT)
+ End If
+ ' imposto tipo di grid selezionata
+ If Map.refMainMenuVM.SelPage = Pages.ONLYPRODPAGE Then Map.refProjectVM.SetLastSelGridType(ProjectVM.GridSelTypes.PARTLIST)
+ End If
+ End Sub
+
+ Public Sub DataGrid_PreviewMouseUp(sender As Object, e As MouseButtonEventArgs)
+ If e.ChangedButton = MouseButton.Right Then
+ If e.ChangedButton = m_SelectBtn Then
+ If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift OrElse (Keyboard.Modifiers And ModifierKeys.Control) = ModifierKeys.Control Then
+ e.Handled = True
+ Else
+ Map.refProjectVM.BTLStructureVM.SetSelectionType(BTLStructureVM.SelectionTypes.SELECT_)
+ End If
+ ElseIf e.ChangedButton = m_HighlightBtn Then
+ Map.refProjectVM.BTLStructureVM.SetSelectionType(BTLStructureVM.SelectionTypes.HIGHLIGHT)
+ End If
+ ' imposto tipo di grid selezionata
+ If Map.refMainMenuVM.SelPage = Pages.ONLYPRODPAGE Then Map.refProjectVM.SetLastSelGridType(ProjectVM.GridSelTypes.PART)
+ End If
+ End Sub
+
+ Public Shared Function FindVisualParent(Of T As DependencyObject)(ByVal child As DependencyObject) As T
+ Dim parentObject As DependencyObject = VisualTreeHelper.GetParent(child)
+ If parentObject Is Nothing Then Return Nothing
+ Dim parent As T = TryCast(parentObject, T)
+
+ If parent IsNot Nothing Then
+ Return parent
+ Else
+ Return FindVisualParent(Of T)(parentObject)
+ End If
+ End Function
+
+ Public Sub DataGrid_PreviewMouseMove(sender As Object, e As MouseEventArgs)
+ If m_SelectBtn = MouseButton.Left AndAlso e.LeftButton = MouseButtonState.Pressed Then
+ If CBool(If(s_isDraggingSelectionField?.GetValue(BTLPart_DataGrid), False)) Then s_endDraggingMethod.Invoke(BTLPart_DataGrid, New Object(-1) {})
+ End If
+ End Sub
+
+ Private Sub PartList_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs)
+ If TypeOf sender Is DataGridRow Then
+ Dim Row As DataGridRow = DirectCast(sender, DataGridRow)
+ If Not Row.IsSelected Then Return
+ Select Case e.ChangedButton
+ Case MouseButton.Left
+ If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift OrElse (Keyboard.Modifiers And ModifierKeys.Control) = ModifierKeys.Control Then
+ Return
+ Else
+ BTLPart_DataGrid.SelectedItem = Nothing
+ BTLPart_DataGrid.SelectedItem = Row.DataContext
+ End If
+
+ Case MouseButton.Right
+
+
+ End Select
+ End If
+ End Sub
+
+ Private Sub PartList_PreviewMouseUp(sender As Object, e As MouseButtonEventArgs)
+ If TypeOf sender Is DataGridRow Then
+ Dim Row As DataGridRow = DirectCast(sender, DataGridRow)
+ If Not Row.IsSelected Then Return
+ Select Case e.ChangedButton
+ Case MouseButton.Right
+ If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift OrElse (Keyboard.Modifiers And ModifierKeys.Control) = ModifierKeys.Control Then
+ Row.IsSelected = Not Row.IsSelected
+ Else
+ BTLPart_DataGrid.SelectedItem = Nothing
+ BTLPart_DataGrid.SelectedItem = Row.DataContext
+ ' metto focus su cella selezionata per evitare errori di focus del sistema normale
+ Dim dep As DependencyObject = CType(e.OriginalSource, DependencyObject)
+ While (dep IsNot Nothing) AndAlso Not (TypeOf dep Is DataGridCell)
+ dep = VisualTreeHelper.GetParent(dep)
+ End While
+ If dep Is Nothing Then Return
+ If TypeOf dep Is DataGridCell Then
+ Dim cell As DataGridCell = TryCast(dep, DataGridCell)
+ cell.Focus()
+ End If
+ End If
+ End Select
+ End If
+
+ End Sub
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLPartManager/OnlyProdBTLPartManagerV.xaml b/EgtBEAMWALL.ViewerOptimizer/BTLPartManager/OnlyProdBTLPartManagerV.xaml
new file mode 100644
index 00000000..39d4d7ee
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/BTLPartManager/OnlyProdBTLPartManagerV.xaml
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLPartManager/OnlyProdBTLPartManagerV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/BTLPartManager/OnlyProdBTLPartManagerV.xaml.vb
new file mode 100644
index 00000000..9558fa95
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/BTLPartManager/OnlyProdBTLPartManagerV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdBTLPartManagerV
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/CALCPanel/OnlyProdCalcPanelV.xaml b/EgtBEAMWALL.ViewerOptimizer/CALCPanel/OnlyProdCalcPanelV.xaml
new file mode 100644
index 00000000..0568d371
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/CALCPanel/OnlyProdCalcPanelV.xaml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/CALCPanel/OnlyProdCalcPanelV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/CALCPanel/OnlyProdCalcPanelV.xaml.vb
new file mode 100644
index 00000000..79f7176f
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/CALCPanel/OnlyProdCalcPanelV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdCalcPanelV
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/OnlyProdConfigurationPageV.xaml b/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/OnlyProdConfigurationPageV.xaml
new file mode 100644
index 00000000..36995033
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/OnlyProdConfigurationPageV.xaml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/OnlyProdConfigurationPageV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/OnlyProdConfigurationPageV.xaml.vb
new file mode 100644
index 00000000..888405bb
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/OnlyProdConfigurationPageV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdConfigurationPageV
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj b/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj
index a1763412..98d8ae96 100644
--- a/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj
+++ b/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj
@@ -183,14 +183,26 @@
NewAddFeatureWndV.xaml
+
+ OnlyProdBTLPartListV.xaml
+
BTLPartManagerV.xaml
+
+ OnlyProdBTLPartManagerV.xaml
+
+
+ OnlyProdCalcPanelV.xaml
+
ChangeMaterialWndV.xaml
+
+ OnlyProdConfigurationPageV.xaml
+
@@ -198,20 +210,62 @@
FeatureListManagerV.xaml
+
+ OnlyProdFeatureListManagerV.xaml
+
+
+ OnlyProdFeatureManagerV.xaml
+
+
+ OnlyProdFreeContourInputV.xaml
+
+
+ OnlyProdFreeContourManagerV.xaml
+
+
+ OnlyProdInstrumentPanelV.xaml
+
OnlyProdFeatureInPartInRawPartListV.xaml
+
+ OnlyProdPartInRawPartListV.xaml
+
+
+ OnlyProdRawPartListV.xaml
+
NewMacroFeatureWnd.xaml
+
+ OnlyProdPartInRawPartManagerV.xaml
+
PartInRawPartManagerWndV.xaml
+
+ OnlyProdPartManagerV.xaml
+
+
+ OnlyProdRawPartManagerV.xaml
+
RawPartManagerWndV.xaml
+
+ OnlyProdShowBeamPanelV.xaml
+
+
+ OnlyProdShowPanelV.xaml
+
+
+ OnlyProdSpecialPanelV.xaml
+
+
+ OnlyProdStatisticsTimePanelV.xaml
+
ProdWndV.xaml
@@ -380,6 +434,9 @@
+
+ OnlyProdViewPanelV.xaml
+
WarehouseWndV.xaml
@@ -478,22 +535,66 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
MSBuild:Compile
Designer
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
MSBuild:Compile
Designer
@@ -502,6 +603,10 @@
MSBuild:Compile
Designer
+
+ Designer
+ MSBuild:Compile
+
MSBuild:Compile
Designer
@@ -514,6 +619,10 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
MSBuild:Compile
Designer
@@ -526,10 +635,30 @@
MSBuild:Compile
Designer
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile
@@ -666,6 +795,10 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
MSBuild:Compile
Designer
diff --git a/EgtBEAMWALL.ViewerOptimizer/FeatureListManager/OnlyProdFeatureListManagerV.xaml b/EgtBEAMWALL.ViewerOptimizer/FeatureListManager/OnlyProdFeatureListManagerV.xaml
new file mode 100644
index 00000000..910859b8
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/FeatureListManager/OnlyProdFeatureListManagerV.xaml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/FeatureListManager/OnlyProdFeatureListManagerV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/FeatureListManager/OnlyProdFeatureListManagerV.xaml.vb
new file mode 100644
index 00000000..ecb4d0f4
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/FeatureListManager/OnlyProdFeatureListManagerV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdFeatureListManagerV
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/FeatureManager/OnlyProdFeatureManagerV.xaml b/EgtBEAMWALL.ViewerOptimizer/FeatureManager/OnlyProdFeatureManagerV.xaml
new file mode 100644
index 00000000..955de3e5
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/FeatureManager/OnlyProdFeatureManagerV.xaml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/FeatureManager/OnlyProdFeatureManagerV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/FeatureManager/OnlyProdFeatureManagerV.xaml.vb
new file mode 100644
index 00000000..335bc4a1
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/FeatureManager/OnlyProdFeatureManagerV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdFeatureManagerV
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/FreeContourInput/OnlyProdFreeContourInputV.xaml b/EgtBEAMWALL.ViewerOptimizer/FreeContourInput/OnlyProdFreeContourInputV.xaml
new file mode 100644
index 00000000..36a7176c
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/FreeContourInput/OnlyProdFreeContourInputV.xaml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/FreeContourInput/OnlyProdFreeContourInputV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/FreeContourInput/OnlyProdFreeContourInputV.xaml.vb
new file mode 100644
index 00000000..299d8699
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/FreeContourInput/OnlyProdFreeContourInputV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdFreeContourInputV
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/FreeContourManager/OnlyProdFreeContourManagerV.xaml b/EgtBEAMWALL.ViewerOptimizer/FreeContourManager/OnlyProdFreeContourManagerV.xaml
new file mode 100644
index 00000000..4fc166c0
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/FreeContourManager/OnlyProdFreeContourManagerV.xaml
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/FreeContourManager/OnlyProdFreeContourManagerV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/FreeContourManager/OnlyProdFreeContourManagerV.xaml.vb
new file mode 100644
index 00000000..d709879c
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/FreeContourManager/OnlyProdFreeContourManagerV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdFreeContourManagerV
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/InstrumentPanel/InstrumentPanelV.xaml b/EgtBEAMWALL.ViewerOptimizer/InstrumentPanel/InstrumentPanelV.xaml
index a82b4751..fb8a1a00 100644
--- a/EgtBEAMWALL.ViewerOptimizer/InstrumentPanel/InstrumentPanelV.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/InstrumentPanel/InstrumentPanelV.xaml
@@ -45,7 +45,7 @@
-
+ -->
diff --git a/EgtBEAMWALL.ViewerOptimizer/InstrumentPanel/OnlyProdInstrumentPanelV.xaml b/EgtBEAMWALL.ViewerOptimizer/InstrumentPanel/OnlyProdInstrumentPanelV.xaml
new file mode 100644
index 00000000..41672c92
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/InstrumentPanel/OnlyProdInstrumentPanelV.xaml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/InstrumentPanel/OnlyProdInstrumentPanelV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/InstrumentPanel/OnlyProdInstrumentPanelV.xaml.vb
new file mode 100644
index 00000000..222eb955
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/InstrumentPanel/OnlyProdInstrumentPanelV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdInstrumentPanelV
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdFeatureInPartInRawPartListV.xaml b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdFeatureInPartInRawPartListV.xaml
index 75672dfe..34d3aa92 100644
--- a/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdFeatureInPartInRawPartListV.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdFeatureInPartInRawPartListV.xaml
@@ -23,14 +23,6 @@
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:OnlyProdFeatureInPartInRawPartListV}}}"/>
-
-
@@ -96,6 +88,11 @@
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdFeatureInPartInRawPartListV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdFeatureInPartInRawPartListV.xaml.vb
index 0b0c2373..7ffe09bc 100644
--- a/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdFeatureInPartInRawPartListV.xaml.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdFeatureInPartInRawPartListV.xaml.vb
@@ -13,4 +13,13 @@ Public Class OnlyProdFeatureInPartInRawPartListV
End If
End Sub
+ Private Sub FeatureList_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs)
+ If TypeOf sender Is DataGridRow Then
+ Dim Row As DataGridRow = DirectCast(sender, DataGridRow)
+ If Not IsNothing(Row) AndAlso Not IsNothing(Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup.SelPart) Then
+ Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup.SelPart.SelFeatureVM = Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup.SelPart.SelFeatureVM
+ End If
+ End If
+ End Sub
+
End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdPartInRawPartListV.xaml b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdPartInRawPartListV.xaml
new file mode 100644
index 00000000..b5903a48
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdPartInRawPartListV.xaml
@@ -0,0 +1,232 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdPartInRawPartListV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdPartInRawPartListV.xaml.vb
new file mode 100644
index 00000000..85174012
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdPartInRawPartListV.xaml.vb
@@ -0,0 +1,29 @@
+Imports EgtBEAMWALL.Core
+Imports EgtUILib.EgtInterface
+
+Public Class OnlyProdPartInRawPartListV
+
+ ' funzione che permette di selezionare un pezzo anche quando gia' selezionato
+ Private Sub PartInRawPartRow_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs)
+ If TypeOf sender Is DataGridRow Then
+ Dim Row As DataGridRow = DirectCast(sender, DataGridRow)
+ If Not IsNothing(Row) Then
+ Dim MyMachGroup As Core.MyMachGroupVM = Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup
+ If EgtGetCurrMachGroup() = GDB_ID.NULL Then Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup = MyMachGroup
+ MyMachGroup.SelPart = MyMachGroup.SelPart
+ End If
+ End If
+ End Sub
+
+ ' funzione che impedisce di editare le righe che sono gia' in produzione
+ Private Sub PartInRawPartList_BeginningEdit(sender As Object, e As DataGridBeginningEditEventArgs)
+ If IsNothing(e.Row) Then Return
+ Dim RowVM As PartVM = DirectCast(e.Row.DataContext, PartVM)
+ ' se in produzione impedisco modifica dei parametri
+ If RowVM.nProduction_State > ItemState.ND Then
+ 'For Each cell In Row.Item
+ e.Cancel = True
+ End If
+ End Sub
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdRawPartListV.xaml b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdRawPartListV.xaml
new file mode 100644
index 00000000..d3eaa82c
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdRawPartListV.xaml
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdRawPartListV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdRawPartListV.xaml.vb
new file mode 100644
index 00000000..846ac030
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/OnlyProdRawPartListV.xaml.vb
@@ -0,0 +1,28 @@
+Imports EgtBEAMWALL.Core
+
+Public Class OnlyProdRawPartListV
+
+ ' funzione che permette di selezionare un RawPart anche quando gia' selezionato
+ Private Sub RawPartRow_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs)
+ If TypeOf sender Is DataGridRow Then
+ Dim Row As DataGridRow = DirectCast(sender, DataGridRow)
+ Dim RowVM As MyMachGroupVM = DirectCast(Row.DataContext, MyMachGroupVM)
+ ' se gia' selezionato rifaccio selezione perche' potrbbe essere selezionato un BTLPart
+ If Not IsNothing(Row) AndAlso Row.IsSelected Then
+ Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup = Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup
+ End If
+ End If
+ End Sub
+
+ ' funzione che impedisce di editare le righe che sono gia' in produzione
+ Private Sub RawPartList_BeginningEdit(sender As Object, e As DataGridBeginningEditEventArgs)
+ If IsNothing(e.Row) Then Return
+ Dim RowVM As MyMachGroupVM = DirectCast(e.Row.DataContext, MyMachGroupVM)
+ ' se in produzione impedisco modifica dei parametri
+ If RowVM.nProduction_State > ItemState.ND Then
+ 'For Each cell In Row.Item
+ e.Cancel = True
+ End If
+ End Sub
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/LeftPanel/OnlyProdLeftPanelV.xaml b/EgtBEAMWALL.ViewerOptimizer/LeftPanel/OnlyProdLeftPanelV.xaml
index db17f7e0..100131de 100644
--- a/EgtBEAMWALL.ViewerOptimizer/LeftPanel/OnlyProdLeftPanelV.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/LeftPanel/OnlyProdLeftPanelV.xaml
@@ -95,10 +95,10 @@
-
+
-
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/OnlyProdProject/OnlyProdProjectV.xaml b/EgtBEAMWALL.ViewerOptimizer/OnlyProdProject/OnlyProdProjectV.xaml
index 9ff46053..9536e712 100644
--- a/EgtBEAMWALL.ViewerOptimizer/OnlyProdProject/OnlyProdProjectV.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/OnlyProdProject/OnlyProdProjectV.xaml
@@ -10,8 +10,8 @@
Visibility="{Binding DataContext.OnlyProdManager_Visibility, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:OnlyProdProjectV}}}"/>
-
+
@@ -40,16 +40,16 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/PartInRawPartManager/OnlyProdPartInRawPartManagerV.xaml b/EgtBEAMWALL.ViewerOptimizer/PartInRawPartManager/OnlyProdPartInRawPartManagerV.xaml
new file mode 100644
index 00000000..7b8442eb
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/PartInRawPartManager/OnlyProdPartInRawPartManagerV.xaml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/PartInRawPartManager/OnlyProdPartInRawPartManagerV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/PartInRawPartManager/OnlyProdPartInRawPartManagerV.xaml.vb
new file mode 100644
index 00000000..65bbae45
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/PartInRawPartManager/OnlyProdPartInRawPartManagerV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdPartInRawPartManagerV
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/PartInRawPartManager/PartInRawPartManagerWndV.xaml b/EgtBEAMWALL.ViewerOptimizer/PartInRawPartManager/PartInRawPartManagerWndV.xaml
index dfb4b5ad..84b9d231 100644
--- a/EgtBEAMWALL.ViewerOptimizer/PartInRawPartManager/PartInRawPartManagerWndV.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/PartInRawPartManager/PartInRawPartManagerWndV.xaml
@@ -8,10 +8,10 @@
-
+
-
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/PartManager/OnlyProdPartManagerV.xaml b/EgtBEAMWALL.ViewerOptimizer/PartManager/OnlyProdPartManagerV.xaml
new file mode 100644
index 00000000..00218674
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/PartManager/OnlyProdPartManagerV.xaml
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/PartManager/OnlyProdPartManagerV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/PartManager/OnlyProdPartManagerV.xaml.vb
new file mode 100644
index 00000000..9daecf28
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/PartManager/OnlyProdPartManagerV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdPartManagerV
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/RawPartManager/OnlyProdRawPartManagerV.xaml b/EgtBEAMWALL.ViewerOptimizer/RawPartManager/OnlyProdRawPartManagerV.xaml
new file mode 100644
index 00000000..a7621ef9
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/RawPartManager/OnlyProdRawPartManagerV.xaml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/RawPartManager/OnlyProdRawPartManagerV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/RawPartManager/OnlyProdRawPartManagerV.xaml.vb
new file mode 100644
index 00000000..2c280369
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/RawPartManager/OnlyProdRawPartManagerV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdRawPartManagerV
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/RawPartManager/RawPartManagerWndV.xaml b/EgtBEAMWALL.ViewerOptimizer/RawPartManager/RawPartManagerWndV.xaml
index 1d0e9418..a45f2144 100644
--- a/EgtBEAMWALL.ViewerOptimizer/RawPartManager/RawPartManagerWndV.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/RawPartManager/RawPartManagerWndV.xaml
@@ -8,10 +8,10 @@
-
+
-
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/SceneHost/SceneHostV.xaml b/EgtBEAMWALL.ViewerOptimizer/SceneHost/SceneHostV.xaml
index 7210e7b9..22e55479 100644
--- a/EgtBEAMWALL.ViewerOptimizer/SceneHost/SceneHostV.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/SceneHost/SceneHostV.xaml
@@ -1,7 +1,7 @@
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:EgtUILib="clr-namespace:EgtUILib;assembly=EgtUILib">
diff --git a/EgtBEAMWALL.ViewerOptimizer/ShowBeamPanel/OnlyProdShowBeamPanelV.xaml b/EgtBEAMWALL.ViewerOptimizer/ShowBeamPanel/OnlyProdShowBeamPanelV.xaml
new file mode 100644
index 00000000..38175e02
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/ShowBeamPanel/OnlyProdShowBeamPanelV.xaml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/ShowBeamPanel/OnlyProdShowBeamPanelV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/ShowBeamPanel/OnlyProdShowBeamPanelV.xaml.vb
new file mode 100644
index 00000000..db179cf2
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/ShowBeamPanel/OnlyProdShowBeamPanelV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdShowBeamPanelV
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/ShowPanel/OnlyProdShowPanelV.xaml b/EgtBEAMWALL.ViewerOptimizer/ShowPanel/OnlyProdShowPanelV.xaml
new file mode 100644
index 00000000..6229e556
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/ShowPanel/OnlyProdShowPanelV.xaml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/ShowPanel/OnlyProdShowPanelV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/ShowPanel/OnlyProdShowPanelV.xaml.vb
new file mode 100644
index 00000000..5f380de9
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/ShowPanel/OnlyProdShowPanelV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdShowPanelV
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/SpecialPanel/OnlyProdSpecialPanelV.xaml b/EgtBEAMWALL.ViewerOptimizer/SpecialPanel/OnlyProdSpecialPanelV.xaml
new file mode 100644
index 00000000..5522ebf5
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/SpecialPanel/OnlyProdSpecialPanelV.xaml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/SpecialPanel/OnlyProdSpecialPanelV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/SpecialPanel/OnlyProdSpecialPanelV.xaml.vb
new file mode 100644
index 00000000..10cd9476
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/SpecialPanel/OnlyProdSpecialPanelV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdSpecialPanelV
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/StatisticsTimePanel/OnlyProdStatisticsTimePanelV.xaml b/EgtBEAMWALL.ViewerOptimizer/StatisticsTimePanel/OnlyProdStatisticsTimePanelV.xaml
new file mode 100644
index 00000000..6f376332
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/StatisticsTimePanel/OnlyProdStatisticsTimePanelV.xaml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/StatisticsTimePanel/OnlyProdStatisticsTimePanelV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/StatisticsTimePanel/OnlyProdStatisticsTimePanelV.xaml.vb
new file mode 100644
index 00000000..e3f5b133
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/StatisticsTimePanel/OnlyProdStatisticsTimePanelV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdStatisticsTimePanelV
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/TabWnd/ProjWndV.xaml b/EgtBEAMWALL.ViewerOptimizer/TabWnd/ProjWndV.xaml
index 1f451aa1..c4a849b2 100644
--- a/EgtBEAMWALL.ViewerOptimizer/TabWnd/ProjWndV.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/TabWnd/ProjWndV.xaml
@@ -8,11 +8,11 @@
-
-
+
+
@@ -28,7 +28,7 @@
-
+
-
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/ViewPanel/OnlyProdViewPanelV.xaml b/EgtBEAMWALL.ViewerOptimizer/ViewPanel/OnlyProdViewPanelV.xaml
new file mode 100644
index 00000000..4bcf0a29
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/ViewPanel/OnlyProdViewPanelV.xaml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/ViewPanel/OnlyProdViewPanelV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/ViewPanel/OnlyProdViewPanelV.xaml.vb
new file mode 100644
index 00000000..366de359
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/ViewPanel/OnlyProdViewPanelV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class OnlyProdViewPanelV
+
+End Class